首页 > 代码库 > systemverilog/event.triggered

systemverilog/event.triggered

1. event.triggered只会保持一个time_slot,在下一个time_slot将会丢失这个标记,如果不能保证在每一个time_slot都会检测到这个标志,那么将会丢失这个标志。

2. 必须保证在->event的同一个或之前的time_slot开始检测triggered.

3.virtual task wait_trigger ();如果和->event在同一个time_slot发生,那么可能丢失triggered
   num_waiters++;
   @m_event;
  endtask

4. virtual task wait_ptrigger();如果和->event在同一个time_slot发生,那么不会丢失triggered
    if(m_event.triggered)
     return;
   num_waiters++;
   @m_event;
  endtask

5.上诉问题的引起主要是由于->event,@event都是在reactiveset区,不能保证->event在@event前发生,只有通过triggered来记录,但是triggered到下一个time_slot会丢失。

systemverilog/event.triggered