始终阻止-作业中的RHS信号是否在内部始终阻止将添加到灵敏度列表中?

时间:2018-07-02 08:44:28

标签: verilog system-verilog

RHS信号是否在分配中,总是在内部阻塞将被添加到灵敏度列表中?如果是这样,我是否可以知道,以下代码为何不起作用?

 `timescale 1ns/1ps

  module tb();

    reg clk=0;

    initial begin
      #10 clk = 1;
      #1000;
      $finish();
  end

  always@(*)begin
    #10 clk=!clk;
  end

  initial begin
    $recordfile("wave.trn");
    $recordvars();
  end

 endmodule

1 个答案:

答案 0 :(得分:2)

您的代码因其他原因无法正常工作:
在完成所有操作之前,始终块对信号变化不敏感。

因此之后,您的时钟已切换,始终锁定块等待新的时钟事件,但此事件即将到来。

要生成时钟,您应该使用类似以下内容的

initial
begin
   clk = 1'b0;
   forever
      #(CLK_PERIOD/2) clk = ~clk;
end