增加trigger状态标识(on),若该uvm_event被第一次触发后,该标识会被赋值为1,reset操作后该标识被复位为0。 提供wait_on/wait_off函数,若当前状态为on/off则立即返回,否则等到对应状态后返回。is_on/is_off函数用来获取当前状态。 virtualtaskwait_on(bitdelta=0);if(on)beginif(delta)#0;return;endnum_waite...
1.wait_on:等待事件第一次被触发; 2.wait_off:如果事件已经被触发且保持on的状态,这个任务等待通过调用reset关闭; 3.wait_trigger:等待事件被触发; 4.wait_ptrgiger:等待事件的持久触发; 5.get_trigger_time:返回事件最后一次被触发的时间; 6.is_on:表明reset以后事件是否被触发; 7.is_off:表明事件是否被触...
1.event被->触发之后,会触发使用@等待该事件的对象;uvm_event通过trigger()来触发,会触发使用wait_trigger()等待的对象。如果要再次等待事件触发,event只需要再次用->来触发,而uvm_event需要先通过reset()方法重置初始状态,再使用trigger()来触发。 2.event无法携带更多的信息,而uvm_event可以通过trigger(uvm_event...
->的触发:1)触发方式:event被->触发后,触发使用@等待该事件的对象;uvm_event通过trigger()来触发,触发使用wait_trigger()等待该事件的对象。2)再次等待事件触发,event只需再次用->触发,uvm_event需要通过reset()方法重置初始状态,再使用trigger()触发 信息的携带:event无法携带信息。uvm_event可以通过trigger(T da...
需要同步的地方,可以在seq里同步用来控制仿真结束。而不需要用到 start_phase.raise/drop_objection; 尤其是 uvm_do调用的sequence。 axi_busy_flag_ev.wait_ptrigger();while(axi_busy_flag_ev.is_on())begin axi_busy_flag_ev.reset();#1ms;end ...
那reset有什么用?reset其实是为了on这个变量准备的,会将on清零,所以如果使用的是wait_on,或者is_on,就需要在trigger过后,使用reset做一次清空,才能再次使用,否则wait_on将不会阻塞,直接pass。 另外再来看看wait_ptrigger()。和wait_trigger的区别就是多了个对m_event.triggered的判断。这个triggered的标记,会保持一...
event被->触发之后,会触发使用@等待该事件的对象;uvm_event通过trigger()来触发,会触发使用wait_trigger()等待的对象。如果要再次等待事件触发,event只需要再次用->来触发,而uvm_event需要先通过reset()方法重置初始状态,再使用trigger()来触发。 event无法携带更多的信息,而uvm_event可以通过trigger(uvm_event data...
3.8 reset 3.9 is_on 3.10 is_off 3.11 get_trigger_time 4.uvm_event与event的区别 (1)uvm_event的基础是event,只不过对event的触发与等待进行了扩展; (2)event被->触发后,会触发用@/wait(event.triggered())等待该事件的对象;uvm_event通过trigger()来触发,会触发使用wait_trigger()/wait_ptrigger()/...
不支持动态复位,可能意味着其driver使用run_phase而不是main_phase,并不会实现phase跳转。 因此,在复位的时候,需要跳转到reset_phase后,等待一段时间,保证其item_done执行结束,再开始执行诸如stop_sequences的函数。Le vent se lève! . . . il faut tenter de vivre! Le vent se lève! . . . il faut...
2)在wait_trigger被trigger过一次之后,并不用调用event.reset()重置event。依然可以使用wait_trigger阻塞并等待下一次的trigger。 wait_ptrigger的用法: 与wait_trigger的区别就是多了个对m_event.triggered的判断。这个triggered的标记,会保持一个time slot,下一个time slot就会丢失。如果触发过,会立即返回。