0

我正在学习 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:错误:无效的模块项。

4

2 回答 2

3

forever是程序陈述;它不会创建类似initialor的过程always 。你可以把forever里面的initial块`或者只是写

 always #10 clk = ! clk;
于 2021-11-14T04:34:49.010 回答
2

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

initial
   begin
      clock = 1'b0;
      forever #10 clock = ~clock;  
   end
于 2021-11-14T12:01:04.180 回答