我正在使用D-Flip Flops編寫一個漣漪計數器。但是下面的代碼給裏面的initial
塊爲q2,q3,q4
變量。這是爲什麼?非法引用錯誤
module RCounter;
reg d,d2,d3,d4,clk;
wire q,q2,q3,q4;
DFlipFlop a(d,q,clk);
DFlipFlop a1(d2,q2,q);
DFlipFlop a2(d3,q3,q2);
DFlipFlop a3(d4,q4,q3);
initial
begin
clk =1;
d=0;d2=0;d3=0;d4=0;q2=0;q3=0;q4=0;
#2 d=1;d2=~q2; d3=~q3; d4=~q4;
#2 d=0;d2=~q2; d3=~q3; d4=~q4;
#2 d=1;d2=~q2; d3=~q3; d4=~q4;
#2 d=0;d2=~q2; d3=~q3; d4=~q4;
#2 d=1;d2=~q2; d3=~q3; d4=~q4;
#2 d=0;d2=~q2; d3=~q3; d4=~q4;
#2 d=1;d2=~q2; d3=~q3; d4=~q4;
end
always
begin
#2 assign clk = ~ clk;
end
endmodule
d觸發器模塊:
module DFlipFlop(d,q,clk);
input d,clk;
output q;
assign q = clk?((d==1)? 1:0) : q;
endmodule
我怎樣才能解決這個問題?
問候
所以我怎麼能解決這個問題?我必須爲它們分配值。 – 2013-02-20 15:13:04
@JamesAfred:不要這樣做?在編寫任何硬件描述之前,您似乎需要學習Verilog。 – 2013-02-20 15:13:57
以及我正在通過製作這樣的程序來學習它。那我該如何解決這個問題?我現在發佈完整的代碼。 – 2013-02-20 15:17:43