直接使用行为级描述太简单了,没有一点挑战性,还是用门级描述还有点意思。直接附代码,如果你看代码可以在脑袋里面显示出完整的触发器及锁存器的图,那么你的锁存器和触发器学的很ok啊!
1、D触发器代码:
module D_flip_flop(clk,d,q,qn);
input clk,d;
output q,qn;
wire q0,qn0;
d_latch dlatch1(~clk,d,q0,qn0);
d_latch dlatch2(clk,q0,q,qn);
endmodule
2、D锁存器代码:
module d_latch(c,d,q,qn);
input c,d;
output q,qn;
wire r,s;
nand nand1 (s,d,c);
nand nand2 (r,~d,c);
RS_latch rs (s,r,q,qn);
endmodule
3、RS锁存器代码:
module RS_latch(r,s,q,qn);
input s,r;
output q,qn;
nand nand1(qn,q,r);
nand nand2(q,qn,s);
endmodule