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:表明事件是否被触...
提供wait_on/wait_off函数,若当前状态为on/off则立即返回,否则等到对应状态后返回。is_on/is_off函数用来获取当前状态。 virtual task wait_on (bit delta=0); if (on) begin if (delta) #0; return; end num_waiters++; @on; endtask virtual task wait_off (bit delta=0); if (!on) begin if...
注1: uvm_event主要有三类function:trigger函数(如trigger(), get_trigger_data(), get_trigger_time()等),状态函数(is_on(),is_off(),reset(), get_num_waiters()等),callback函数(add_callback(), delete_callback()等); 3.1 wait_on (1) 等待事件处于activated状态,如果事件已经被触发,这个task会...
首先,uvm_event引入了trigger状态标识功能。该标识在事件被首次触发时被设置为1,触发后复位为0,便于追踪事件触发的次数。其次,uvm_event提供了wait_on和wait_off函数,允许直接检查事件当前状态,若状态满足条件,函数立即返回,否则等待至状态满足后返回。is_on和is_off函数进一步用于获取事件当前状态。...
This method calls uvm_event_base::wait_trigger followed by get_trigger_data wait_ptrigger_data This method calls uvm_event_base::wait_ptrigger followed by get_trigger_data uvm_event with parameter example The below example consists of two components comp_a and comp_b. comp_a will trigger ...
->的触发:1)触发方式:event被->触发后,触发使用@等待该事件的对象;uvm_event通过trigger()来触发,触发使用wait_trigger()等待该事件的对象。2)再次等待事件触发,event只需再次用->触发,uvm_event需要通过reset()方法重置初始状态,再使用trigger()触发
// Task: wait_on virtualtaskwait_on (bitdelta=0); if(on)begin if(delta) #0; return; end num_waiters++; @on; endtask // Task: wait_off virtualtaskwait_off (bitdelta=0); if(!on)begin if(delta) #0; return; end num_waiters++; ...
使用trigger+reset和wait_on+wait_off实现电平的触发和等待,trigger函数一方面会形成脉冲,另一方面也会将状态转换为on。module testbench(); class my_test extends uvm_test; `uvm_component_utils(my_test) uvm_event my_event; function new(string name = "my_test", uvm_component parent = null); super...