【问题标题】:Why does this Verilog module show "invalid module item" on the 9th line?为什么这个 Verilog 模块在第 9 行显示“无效模块项”?
【发布时间】:2021-12-25 19:44:39
【问题描述】:

我正在学习 Verilog 中的循环,并想创建一个时间周期为 20ns 的简单时钟。每当我尝试在 EDA Playground 中运行代码时,都会出现以下错误。

module Pulse(clock);
  output reg clock;
  
  initial
    begin
      clock = 1'b0;
    end
  
  forever #10 clock = ~clock;      //Error is here
endmodule

design.sv:9:语法错误 design.sv:9:错误:无效的模块项。

【问题讨论】:

    标签: verilog clock digital edaplayground


    【解决方案1】:

    forever 是程序语句;它不会创建像initialalways 这样的进程。您可以将forever 放在initial 块内,或者直接写

     always #10 clk = ! clk;
    

    【讨论】:

      【解决方案2】:

      forever 不能在程序块之外使用。如果您将其放在初始块中,它将起作用:

      initial
         begin
            clock = 1'b0;
            forever #10 clock = ~clock;  
         end
      

      【讨论】:

        猜你喜欢
        • 2022-01-21
        • 2016-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-10
        • 1970-01-01
        • 2018-06-05
        • 1970-01-01
        相关资源
        最近更新 更多