2016-07-04 4 views
0

포지티브 에지 클록 및 액티브 로우 리셋으로 FF를 합성하고 싶습니다. 나는 다음의 Verilog 코드 작성 :Verilog의 합성 가능한 FF (액티브 로우 리셋 포함)

module dff_rstL (q,qn,clk,d, clearL); 
input clk,d, clearL ; 
output q,qn; 
reg q; 
always @(posedge clk or negedge clearL)   //asynchronous reset 
begin 
    if (clearL) begin 
     q <= d;    
    end 
else begin  
    q <= 1'b0;     
    end   
end 
assign qn=~q; 
endmodule 

을하지만 합성 과정에서 다음과 같은 오류가 발생합니다 :이 이벤트 식이나 극성을 잘못하지 않았기 때문에

변수 'clearL'을 테스트 할 수 없습니다. (ELAB-300) * Presto 컴파일이 1 오류로 종료되었습니다. *

합성 가능하게 할 수 있습니까? 고마워요 !!!

답변

2

테스트 로직은 ~ clearL이어야하며 첫 번째 라인/조건은 리셋 블록이어야합니다.

module dff_rstL (q,qn,clk,d, clearL); 
input clk,d, clearL ; 
output q,qn; 
reg q; 
always @(posedge clk or negedge clearL)   //asynchronous reset 
begin 
    if (~clearL) begin 
    q <= 1'b0; 
    end 
else begin 
     q <= d; 
    end 
end 
assign qn=~q; 
endmodule