在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。