В приведенном ниже коде Verilog для Flip Flop J-K, я хочу инициализировать тип провода q и q_bar с некоторым значением. Например, я инициализирую здесь q и q_bar с 0. Но на выходе q и q_bar не имеют значения (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
Все, что вам нужно, это ** ** сброса значения '' q' и q_bar'. Добавьте логику сброса. Кроме того, метод использования блока 'always' для создания флопов обычно используется в Verilog. – sharvil111
Можете ли вы уточнить? Я наивна в verilog! Плюс q и q_bar имеет тип проводника, поэтому я думаю, что мы не можем установить их внутри всегда. исправьте меня, если я ошибаюсь –
Да. Вы должны иметь q и qbar как reg. Вы можете посмотреть [эту ссылку] (http://verilogbynaresh.blogspot.in/2013/07/design-of-jk-flip-flop-using-behavior.html?m=1), чтобы всегда блокировать флоп. – sharvil111