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。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM