Verilog D触发器UP计数器

时间:2014-08-21 12:32:19

标签: logic counter verilog

我在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

我是这种编程语言的新手所以你能给我一些例子吗?

1 个答案:

答案 0 :(得分:0)

Verilog允许在没有声明的情况下推断单位线。这可以帮助减少代码行数,但会增加使用类型对网进行吐出的风险,并且永远不会出现错误或警告。在这种情况下,QNNQ应该是相同的网络。

仅供参考:您实施了D latch,而不是D flip-flop