【问题标题】:Clock period in Verilog HDL always blockVerilog HDL 中的时钟周期总是阻塞
【发布时间】:2014-12-05 06:41:42
【问题描述】:

这是来自 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 个时间单位迷路了。这是哪里来的?

【问题讨论】:

    标签: verilog hdl


    【解决方案1】:

    它需要两次时钟切换来生成一个周期

    【讨论】:

      【解决方案2】:

      总是阻塞每 10 个时间单位改变时钟信号状态(从高到低,从低到高)。如果时钟每 10 个时间单位更改一次,则其周期为 20 个时间单位,例如时钟每 10 秒更改一次,其半周期为 10 秒,其周期为 20 秒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多