下記のJ-KフリップフロップのVerilogコードで、ワイヤタイプqとq_barをある値で初期化したいと思います。たとえば、qとq_barを0で初期化していますが、出力ではqとq_barにはdo not care(1'hx)の値があります。どのように定数でワイヤータイプを初期化するのですか?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
を。リセットロジックを追加してください。また、「常に」ブロックを使ってフロップを作成する方法は、一般的にVerilogで使用されています。 – sharvil111
詳細を教えてください。私はVerilogで素朴です!プラスqとq_barはタイプのワイヤーなので、私たちはそれらを常にブロック内に置くことはできないと思います。私が間違っていれば私を修正してください –
はい。あなたはregとしてqとqbarを持つ必要があります。あなたはいつもフロップをブロックするために[このリンク](http://verilogbynaresh.blogspot.in/2013/07/design-of-jk-flip-flop-using-behavior.html?m=1)を見ることができます。 – sharvil111