1.uvm_event的使用 在uvm中只需要将 uvm_event放到 uvm_event_pool中即可,这在进行移植验证环境时,是非常便利的事情,并且我们在使用时,也不需要关心event的路径,只需要从event_pool中get到这个event就可以了。比如说,我们在tc里的main_phase中发完包之后,一般都会设置drain_time来等待dut将数据吐完,我们就可以...
uvm_event_pool是一个参数为uvm_event类型的uvm_object_string_pool,而uvm_object_string_pool又是继承于uvm_pool。 typedefuvm_object_string_pool#(T)this_type; staticprotectedthis_type m_global_pool; protectedT pool[KEY];// type KEY = string ... staticfunctionthis_type get_global_pool (); if...
在UVM中,通过将uvm_event添加到uvm_event_pool,使得在移植验证环境时更加便捷。使用uvm_event_pool时,无需关注事件路径,直接从池中获取事件即可。例如,假若在测试案例(tc)的main_phase阶段完成数据发送后,通常会设置drain_time等待DUT完成数据输出。此时,在scoreboard中设置一个uvm_event等待数据接收...
(1)通过uvm_event_pool::get_global_pool()函数获取全局的单实例类uvm_event_pool类型对象的句柄; (2)两个initial块中调用get_global_pool返回同一个uvm_event_pool类型对象的句柄; (3)通过uvm_event_pool.get(“ev”)可以得到一个名字为”ev”的uvm_event对象的句柄;如果名字为"ev"的uvm_event对象不存在,...
uvm_event获取操作方便 uvm环境提供uvm_event_pool类,借助该类可以在任意组件中实现uvm_event实例的获取。 uvm_event_pool::get_global_pool(),该函数返回一个全局的uvm_event_pool句柄,可以通过get函数获取到输入字符串对应的uvm_event句柄,在uvm_event_pool中uvm_event都有唯一对应的字符串。
// 使用uvm_event_pool创建事件。 uvm_event_pool event_pool; uvm_event another_event; initial begin. event_pool = uvm_event_pool::get_global_pool(); another_event = event_pool.get("another_event"); end. 2. 事件触发方法。 `trigger()`. 功能:触发事件,通知所有等待该事件的进程。 示例: ...
uvm_event是sv中event的class warpper,内建了很多方法。 # uvm_pool.svh class uvm_object_string_pool #(type T=uvm_object) extends uvm_pool #(string,T); ... typedef class uvm_barrier; typedef class uvm_event; typedef uvm_object_string_pool #(uvm_barrier) uvm_barrier_pool; typedef...
uvm_event是使用sv event创建的参数化包装类,其继承关系如下: class uvm_event #(type T=uvm_object) extends uvm_object 四、uvm_event Methods 五、uvm_event_pool uvm_event_pool是围绕uvm_events的关联数组构建的一个单例类,该关联数组由字符串 索引,这允许在整个验证环境 Hierarchy中的组件之间共享项。
uvm_event_pool. The uvm_event_pool is a pool that stores the uvm_events.uvm_event synchronize the two processes processes to trigger and wait for a trigger
event实例。通过uvm_event_pool::get_global_pool()函数,可获取全局uvm_event_pool句柄,随后使用get函数按字符串获取对应的uvm_event。在实际应用中,合理利用上述特性,将显著提升调试效率,简化代码维护。通过示例代码与仿真log分析,可以更直观地理解uvm_event在实际场景中的应用。