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中实现的主要方法有:
uvm_event派生自uvm_event_base,其中实现的方法有: