【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
534 0
【UVM源码学习】uvm_comparer
【UVM源码学习】uvm_comparer
414 0
【UVM源码学习】uvm_comparer
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_recorder
153 0
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_coreservice
【UVM源码学习】uvm_coreservice
183 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object
85 0
【UVM源码学习】uvm_object
|
存储
【UVM源码学习】uvm_queue
【UVM源码学习】uvm_queue
399 0
【UVM源码学习】uvm_barrier
【UVM源码学习】uvm_barrier
78 0
【UVM源码学习】uvm_barrier
|
安全
【UVM源码学习】uvm_links
【UVM源码学习】uvm_links
108 0
【UVM源码学习】uvm_links
|
测试技术
【UVM源码学习】uvm_globals
【UVM源码学习】uvm_globals
451 0
【UVM源码学习】uvm_resource_specializations
【UVM源码学习】uvm_resource_specializations
67 0