Aquí está mi descripción de nivel de puerta de un pestillo S-R:
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
y aquí está el banco de pruebas para este pestillo S-R:
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
Cuando compruebo waverform, el valor de Q es x la mayoría de las veces. otras veces es mayormente incorrecto. He intentado preestablecer valores de q, qb, pero todavía no parece funcionar.
Entonces, ¿puedes decir cuál es el problema con este código?