module D_flip_flop(CLK,D,Q,CLRn,SET); //寄存器生成
input CLK,D,CLRn,SET;
output reg Q;
always @ (posedge CLK or negedge CLRn or negedge SET)
begin
if(~CLRn)
Q<=1'b0;
else if(~SET)
Q<=1'b1;
else
Q<=D;
end
endmodule
module shiyan9_Latch(CLK,D,Q,CLRn,SET);//锁存器代码
input CLK,D,CLRn,SET;
output reg Q;
always @ (CLK or CLRn or SET or D)
begin
if(~CLRn)
Q<=1'b0;
else if(~SET)
Q<=1'b1;
else if(CLK)
Q<=D;
end
endmodule
区别是:一个if 后面没有丢失else,一个if后面丢失了else