2014-12-04 63 views
0

這是來自Cavanagh的Verilog HDL:數字設計和建模。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 

其解釋的一部分說是

[...]總是對帳單週期時鐘每10個時間單位爲20個時間單位時鐘週期。

我迷路了20個單位。那個是從哪裏來的?

回答

0

總是阻止每10個時間單位更改時鐘信號狀態(從高到低和從低到高)。如果時鐘每改變10個時間單位,則週期將是20個時間單位,例如時鐘每10秒改變一次,其半週期將是10秒,其週期將是20秒。

1

它需要兩個切換時鐘產生一個週期