这是来自Cavanagh的Verilog HDL:数字设计和建模。
//clock generation using initial and always statements
module clk_gen2 (clk);
output clk;
reg clk;
//initialize clock to 0
initial
clk = 1'b0;
//toggle clock every 10 time units
always
#10 clk =~ clk;
//determine length of simulation
initial
#100 $finish;
endmodule
其部分解释说
[...] always语句每10个时间单位循环一次,时钟周期为20个单位。
我迷失了20个单位。这是从哪里来的?
答案 0 :(得分:1)
需要两次时钟切换才能生成一个周期。
答案 1 :(得分:0)
总是阻止每10个时间单位改变时钟信号状态(从高到低和从低到高)。如果时钟每10个时间单位改变一次,那么它的周期将是20个时间单位,例如时钟每10秒钟改变一次,它的半周期为10秒,其周期为20秒。