门电平模型中的D触发器

时间:2019-05-28 06:16:41

标签: verilog hdl flip-flop

这是我在门级模型中的上升沿D触发器:

module Lab3_Pos_Edge_D_FF_gatelevel(Q,NQ,D,clock);

        output Q,NQ;
        input D,clock;
        wire G1_Output,G2_Output,G3_Output,G4_Output;

        nand #(2) G1(G1_Output,D,G2_Output);
        nand #(2) G2(G2_Output,G3_Output,G1_Output,clock);
        nand #(2) G3(G3_Output,G4_Output,clock);
        nand #(2) G4(G4_Output,G3_Output,G1_Output);
        Lab3_SbRb_Latch_gatelevel G5(Q,NQ,G3_Output,G2_Output);

    endmodule

这是我的Sbar Rbar闩锁,用于D触发器:

module Lab3_SbRb_Latch_gatelevel(Q,NQ,Sb,Rb);

    output Q,NQ;
    input Sb,Rb;

    nand  #(2) G1(Q,Sb,NQ);
    nand  #(2) G2(NQ,Rb,Q);

endmodule 

这是我对该模块的测试平台:

module t_Lab3_Pos_Edge_D_FF_gatelevel;

    wire Q,NQ;
    reg D,clock;

    Lab3_Pos_Edge_D_FF_gatelevel M(Q,NQ,D,clock);

    initial 
        begin
            clock=0;
            forever #10 clock=~clock;
        end 

    initial 
        fork
            #0 D=0;
            #15 D=1;
            #35 D=0;
            #65 D=1;
            #88 D=0;
            #125 D=1;
            #130 D=0;
        join

    initial #140 $finish;
endmodule 

我认为我没有做错任何事!

但是,我的波形图(结果)很奇怪... 波形图:enter image description here

也许我的门级模型D触发器或Sbar Rbar闩锁有误

请帮助我...

非常感谢您!

0 个答案:

没有答案