uvm_event_callback

The uvm_event_callback class is an abstract class that is used to create callback objects which may be attached to uvm_events.  To use, you derive a new class and override any or both pre_trigger and post_trigger.

Callbacks are an alternative to using processes that wait on events.  When a callback is attached to an event, that callback object’s callback function is called each time the event is triggered.

Summary
uvm_event_callback
The uvm_event_callback class is an abstract class that is used to create callback objects which may be attached to uvm_events.
Class Hierarchy
uvm_event_callback
Class Declaration
virtual class uvm_event_callback extends uvm_object
Methods
newCreates a new callback object.
pre_triggerThis callback is called just before triggering the associated event.
post_triggerThis callback is called after triggering the associated event.

new

function new ( string  name  =  "" )

Creates a new callback object.

pre_trigger

virtual function bit pre_trigger ( uvm_event  e,   
uvm_object  data  =  null )

This callback is called just before triggering the associated event.  In a derived class, override this method to implement any pre-trigger functionality.

If your callback returns 1, then the event will not trigger and the post-trigger callback is not called.  This provides a way for a callback to prevent the event from triggering.

In the function, e is the uvm_event that is being triggered, and data is the optional data associated with the event trigger.

post_trigger

virtual function void post_trigger ( uvm_event  e,   
uvm_object  data  =  null )

This callback is called after triggering the associated event.  In a derived class, override this method to implement any post-trigger functionality.

In the function, e is the uvm_event that is being triggered, and data is the optional data associated with the event trigger.

The uvm_void class is the base class for all UVM classes.
virtual class uvm_object extends uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_event_callback extends uvm_object
The uvm_event_callback class is an abstract class that is used to create callback objects which may be attached to uvm_events.
class uvm_event extends uvm_object
The uvm_event class is a wrapper class around the SystemVerilog event construct.
function new ( string  name  =  "" )
Creates a new callback object.
virtual function bit pre_trigger ( uvm_event  e,   
uvm_object  data  =  null )
This callback is called just before triggering the associated event.
virtual function void post_trigger ( uvm_event  e,   
uvm_object  data  =  null )
This callback is called after triggering the associated event.