【UVM源码学习】uvm_event

简介: 【UVM源码学习】uvm_event

uvm_event_callback.svh 实现了uvm_event_callback,uvm_event_callback直接从uvm_object扩展而来,是个参数化的类,该类用于uvm_event的callback。该类中,实现了两个function:pre_trigger和post_trigger,使用该类时需重载这两个函数。


pre_trigger中默认返回0,如果如要在触发时间之前做判断,可以重载pre_trigger函数使其返回1,这样就不再触发event且不执行post_trigger。


post_traigger在触发uvm_event之后自动执行,默认返回0,用户可重载该callback函数实现自定义功能。



uvm_event.svh 中实现了uvm_event机制,实现了两个类:uvm_event_base和uvm_event。


 uvm_event_base直接扩展自uvm_object,相当于在SystemVerilog event基础上包了层uvm的外衣。除了sv event支持的属性外,uvm_event_base还能保存waiter的数目且支持callback。uvm_event_base中实现的主要方法有:


image.png


 uvm_event派生自uvm_event_base,其中实现的方法有:

image.png


目录
相关文章
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
1050 0
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_recorder
289 0
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object
144 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_heartbeat
【UVM源码学习】uvm_heartbeat
265 0
【UVM源码学习】uvm_heartbeat
|
测试技术 数据库 容器
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_resource
195 0
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_barrier
【UVM源码学习】uvm_barrier
165 0
【UVM源码学习】uvm_barrier
|
安全
【UVM源码学习】uvm_links
【UVM源码学习】uvm_links
172 0
【UVM源码学习】uvm_links
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_object_globals
154 0
【UVM源码学习】uvm_object_globals
|
存储 C语言
【UVM源码学习】uvm_misc
【UVM源码学习】uvm_misc
150 0
【UVM源码学习】uvm_misc
|
算法
【UVM源码学习】uvm_spell_chkr
【UVM源码学习】uvm_spell_chkr
211 0
【UVM源码学习】uvm_spell_chkr