In dem unten erwähnten Verilog-Code für J-K Flip Flop möchte ich Drahttyp q und q_bar mit einem Wert initialisieren. ZB: Ich initialisiere hier q und q_bar mit 0. Aber in der Ausgabe ist q und q_bar egal (1'hx) Wert. Also, wie Drahttyp mit Konstante zu initialisieren?Wie initialisiert man eine Leitung mit Konstante in Verilog?
module JK_FF(j,k,clk,q,q_bar) ;
input j,k,clk ;
output q , q_bar ;
wire s,r,w,z ;
assign w = q ;
assign z = q_bar ;
nand U1(s,j,clk,z) ;
nand U2(r,k,clk,w) ;
nand U3(q,s,z) ;
nand U4(q_bar,r,w) ;
endmodule
/* TEST BENCH */
module JK_FF_TB ;
reg j,k,clk ;
wire q , q_bar ;
assign q = 1'b0 ;
assign q_bar = 1'b0 ;
initial begin
clk = 1'b1 ;
end
JK_FF DUT(j,k,clk,q,q_bar) ;
initial
begin
j = 1'b0 ;
k = 1'b0 ;
#5
j = 1'b0 ;
k = 1'b1 ;
#5
j = 1'b1 ;
k = 1'b0 ;
#5
j = 1'b1 ;
k = 1'b1 ;
end
endmodule
Alles, was Sie brauchen, ist zu ** Reset ** die Werte von 'q' und' q_bar'. Fügen Sie eine Reset-Logik hinzu. Außerdem wird in Verilog häufig die Methode der Verwendung von 'always' zum Erstellen von Flops verwendet. – sharvil111
Bitte können Sie näher ausführen? Ich bin naiv in Verilog! Plus q und q_bar ist vom Typ Draht, also denke ich, dass wir sie nicht immer blockieren können. Bitte korrigieren Sie mich, wenn ich falsch liege –
Ja. Sie müssen q und qbar als reg haben. Sie können [diesen Link] (http://verilogbynaresh.blogspot.in/2013/07/design-of-jk-flip-flop-using-behavior.html?m=1) für immer Blockflop sehen. – sharvil111