我在Verilog中使用D触发器制作一个简单的向上计数器。 模块必须用结构(盖子像AND OR NOT等......)
制作module dff (Q,D, CK);
input CK,D;
output Q;
wire NM,NCK;
wire NQ,M;
nand DN1 (NM,D,CK);
nand DN2 (M,NM,CK);
nand DN3 (Q,NQ,NM);
nand ND4 (QN,Q,M);
endmodule
这就是我所拥有的。但是我甚至没能使用testbench来测试DFF
module tb;
reg D, CK;
wire Q;
dff p0(Q, D, CK);
//jkstruct m0(q, qn, t, cp);
initial begin
D = 0;
CK = 1;
#100;
$display(Q);
D = 0;
CK = 1;
#50
$display(Q);
D = 1;
CK = 0;
#50
$display(Q);
D = 1;
CK = 1;
$display(Q);
$finish;
end
endmodule
我是这种编程语言的新手所以你能给我一些例子吗?
答案 0 :(得分:0)
Verilog允许在没有声明的情况下推断单位线。这可以帮助减少代码行数,但会增加使用类型对网进行吐出的风险,并且永远不会出现错误或警告。在这种情况下,QN
和NQ
应该是相同的网络。
仅供参考:您实施了D latch,而不是D flip-flop。