verilog event 用法
在testbench中,可以使用event变量触发事件。
event变量声明为:
event var;
event触发为:
->var;
捕获触发为:
@(var);
实例代码如下:
event reset_trigger; event reset_done_trigger; initial begin forever begin @(reset_trigger); @(negedge clk); reset = 1; @(negedge clk); reset = 0; -> reset_done_trigger; end end initial begin : TEST_CASE #10 -> reset_trigger; @(reset_done_trigger); fork repeat (10) begin @(negedge clk); enable = $random; end repeat (10) begin @(negedge clk); reset = $random; end join end
10个时间单位后reset_trigger事件被触发,捕获后将reset设置一个时钟周期在触发reset_done_trigger。之后再分别设置10个周期的随机信号给enable和reset。