Hier ist meine Gate-Level-Beschreibung eines SR-Latch:SystemVerilog: SR Latch funktioniert nicht richtig
module SR_Latch_Nand(input S, R, C, output Q, QB);
wire s1, r1;
nand #8 n1(r1, R, C);
nand #8 n2(s1, S, C);
nand #8 n3(QB, R, Q);
nand #8 n4(Q, S, QB);
endmodule
und hier ist Prüfstand für diesen SR-Latch:
module SR_Latch_Nand_TB();
logic s, r, clk;
wire q, qb;
SR_Latch_Nand sr(s, r, clk, q, qb);
initial begin
s = 0; r = 0; clk = 0;
#100 s = 1;
#100 clk = 1;
#100 clk = 0;
#100 clk = 1;
#100 s = 0;
#100;
end
endmodule
Als ich Überprüfen Sie die Waverform, der Wert von Q ist meistens X. Andere Male ist es meistens falsch. Ich habe versucht, Werte von Q, QB voreinzustellen, aber es scheint immer noch nicht zu funktionieren.
Also können Sie sagen, was ist das Problem mit diesem Code?