我想在Verilog中使用D触发器创建一个4位计数器。我按照这个图http://i.imgur.com/VR5593a.png。我得到了个人D触发器的代码。我遇到的问题是D0在第一个时钟周期。我猜我必须假设Q0为1,Q1,Q2,Q3最初为0。我不知道如何在代码中只传递一次D0的初始值。verilog中的环形计数器
module DFlipFlop(CLK, D, Q);
input CLK, D;
output Q;
reg Q;
always @(posedge CLK) begin
Q <= D;
end
endmodule
module RippleMod(CLK, q0, q1, q2, q3);
input CLK;
output q0, q1, q2, q3;
DFlipFlop d1 (CLK,q3,q0);//not sure about q3 there, think I will get X if i do this.
DFlipFlop d2 (CLK,q0,q1);
DFlipFlop d3 (CLK,q1,q2);
DFlipFlop d4 (CLK,q2,q4);
endmodule