The ovm_transaction class is the root base class for OVM transactions. Inheriting all the methods of ovm_object, ovm_transaction adds a timing and recording interface.
ovm_transaction | |||
The ovm_transaction class is the root base class for OVM transactions. | |||
Class Hierarchy | |||
| |||
Class Declaration | |||
| |||
Methods | |||
new | Creates a new transaction object. | ||
accept_tr | Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver. | ||
do_accept_tr | This user-definable callback is called by accept_tr just before the accept event is triggered. | ||
begin_tr | This function indicates that the transaction has been started and is not the child of another transaction. | ||
begin_child_tr | This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle. | ||
do_begin_tr | This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered. | ||
end_tr | This function indicates that the transaction execution has ended. | ||
do_end_tr | This user-definable callback is called by end_tr just before the end event is triggered. | ||
get_tr_handle | Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled. | ||
disable_recording | Turns off recording for the transaction stream. | ||
enable_recording | Turns on recording to the stream specified by stream, whose interpretation is implementation specific. | ||
is_recording_enabled | Returns 1 if recording is currently on, 0 otherwise. | ||
is_active | Returns 1 if the transaction has been started but has not yet been ended. | ||
get_event_pool | Returns the event pool associated with this transaction. | ||
set_initiator | Sets initiator as the initiator of this transaction. | ||
get_initiator | Returns the component that produced or started the transaction, as set by a previous call to set_initiator. | ||
get_accept_time | |||
get_begin_time | |||
get_end_time | Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr. | ||
set_transaction_id | Sets this transaction’s numeric identifier to id. | ||
get_transaction_id | Returns this transaction’s numeric identifier, which is -1 if not set explicitly by set_transaction_id. |
function new ( string name = "", ovm_component initiator = null )
Creates a new transaction object. The name is the instance name of the transaction. If not supplied, then the object is unnamed.
function void accept_tr ( time accept_time = )
Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver. With some protocols, the transaction may not be started immediately after it is accepted. For example, a bus driver may have to wait for a bus grant before starting the transaction.
virtual protected function void do_accept_tr ()
This user-definable callback is called by accept_tr just before the accept event is triggered. Implementations should call super.do_accept_tr to ensure correct operation.
function integer begin_tr ( time begin_time = )
This function indicates that the transaction has been started and is not the child of another transaction. Generally, a consumer component begins execution of the transactions it receives.
The return value is a transaction handle, which is valid (non-zero) only if recording is enabled. The meaning of the handle is implementation specific.
function integer begin_child_tr ( time begin_time = 0, integer parent_handle = 0 )
This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle. Generally, a consumer component begins execution of the transactions it receives.
The parent handle is obtained by a previous call to begin_tr or begin_child_tr. If the parent_handle is invalid (=0), then this function behaves the same as begin_tr.
The return value is a transaction handle, which is valid (non-zero) only if recording is enabled. The meaning of the handle is implementation specific.
virtual protected function void do_begin_tr ()
This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered. Implementations should call super.do_begin_tr to ensure correct operation.
function void end_tr ( time end_time = 0, bit free_handle = 1 )
This function indicates that the transaction execution has ended. Generally, a consumer component ends execution of the transactions it receives.
virtual protected function void do_end_tr ()
This user-definable callback is called by end_tr just before the end event is triggered. Implementations should call super.do_end_tr to ensure correct operation.
function integer get_tr_handle ()
Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.
function void disable_recording ()
Turns off recording for the transaction stream. This method does not effect a component’s recording streams.
function void enable_recording ( string stream )
Turns on recording to the stream specified by stream, whose interpretation is implementation specific.
If transaction recording is on, then a call to record is made when the transaction is started and when it is ended.
function bit is_recording_enabled()
Returns 1 if recording is currently on, 0 otherwise.
function bit is_active ()
Returns 1 if the transaction has been started but has not yet been ended. Returns 0 if the transaction has not been started.
function ovm_event_pool get_event_pool ()
Returns the event pool associated with this transaction.
By default, the event pool contains the events: begin, accept, and end. Events can also be added by derivative objects. See ovm_event_pool for more information.
function void set_initiator ( ovm_component initiator )
Sets initiator as the initiator of this transaction.
The initiator can be the component that produces the transaction. It can also be the component that started the transaction. This or any other usage is up to the transaction designer.
function ovm_component get_initiator ()
Returns the component that produced or started the transaction, as set by a previous call to set_initiator.
function time get_accept_time ()
function time get_begin_time ()
function time get_end_time ()
Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.
function void set_transaction_id( integer id )
Sets this transaction’s numeric identifier to id. If not set via this method, the transaction ID defaults to -1.
When using sequences to generate stimulus, the transaction ID is used along with the sequence ID to route responses in sequencers and to correlate responses to requests.
function integer get_transaction_id()
Returns this transaction’s numeric identifier, which is -1 if not set explicitly by set_transaction_id.
When using sequences to generate stimulus, the transaction ID is used along with the sequence ID to route responses in sequencers and to correlate responses to requests.
The ovm_object class is the base class for all OVM data and hierarchical classes.
virtual class ovm_object extends ovm_void
The ovm_transaction class is the root base class for OVM transactions.
virtual class ovm_transaction extends ovm_object
Creates a new transaction object.
function new ( string name = "", ovm_component initiator = null )
Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver.
function void accept_tr ( time accept_time = )
This user-definable callback is called by accept_tr just before the accept event is triggered.
virtual protected function void do_accept_tr ()
This function indicates that the transaction has been started and is not the child of another transaction.
function integer begin_tr ( time begin_time = )
This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle.
function integer begin_child_tr ( time begin_time = 0, integer parent_handle = 0 )
This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered.
virtual protected function void do_begin_tr ()
This function indicates that the transaction execution has ended.
function void end_tr ( time end_time = 0, bit free_handle = 1 )
This user-definable callback is called by end_tr just before the end event is triggered.
virtual protected function void do_end_tr ()
Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.
function integer get_tr_handle ()
Turns off recording for the transaction stream.
function void disable_recording ()
Turns on recording to the stream specified by stream, whose interpretation is implementation specific.
function void enable_recording ( string stream )
Returns 1 if recording is currently on, 0 otherwise.
function bit is_recording_enabled()
Returns 1 if the transaction has been started but has not yet been ended.
function bit is_active ()
Returns the event pool associated with this transaction.
function ovm_event_pool get_event_pool ()
Sets initiator as the initiator of this transaction.
function void set_initiator ( ovm_component initiator )
Returns the component that produced or started the transaction, as set by a previous call to set_initiator.
function ovm_component get_initiator ()
function time get_accept_time ()
function time get_begin_time ()
Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.
function time get_end_time ()
Sets this transaction’s numeric identifier to id.
function void set_transaction_id( integer id )
Returns this transaction’s numeric identifier, which is -1 if not set explicitly by set_transaction_id.
function integer get_transaction_id()