Inheritance diagram for class svt_xactor:
Class that provides the basic infrastructure common to all SVT transactors.
Public Member Functions | |
| function void | build_phase ( uvm_phase phase ) |
| function void | extract_phase ( uvm_phase phase ) |
| function string | get_instance ( ) |
| function bit | get_is_started ( ) |
| function svt_timer | get_recycled_timer ( string inst, svt_err_check check = null, uvm_report_object reporter = null ) |
| function string | get_suite_name ( ) |
| function void | get_xactor_cfg ( ref svt_configuration cfg ) |
| function void | inform_notify_cb_exec ( string name, svt_notify notify ) |
| function bit | is_cov_complete ( int kind, ref string report ) |
| virtual function void | monitor_xactor_chan ( int chan_id, bit display_as_note = 0 ) |
| function void | new ( string suite_name, string name = "svt_xactor_inst", uvm_component parent = null ) |
| function void | pre_abort ( ) |
| function void | reconfigure ( svt_configuration cfg ) |
| function void | recycle_timer ( ref svt_timer timer ) |
| function void | set_instance ( string inst ) |
Public Attributes | |
| svt_non_abstract_report_object | data_reporter |
| svt_err_check | err_check = null; |
| svt_event_pool | event_pool |
| svt_logger | logger = null; |
| uvm_report_object | reporter |
| static svt_err_check | shared_err_check = null; |
Protected Member Functions | |
| function void | change_dynamic_cfg ( svt_configuration cfg ) |
| function void | change_static_cfg ( svt_configuration cfg ) |
| virtual function void | get_dynamic_cfg ( ref svt_configuration cfg ) |
| virtual function void | get_static_cfg ( ref svt_configuration cfg ) |
| function bit | is_valid_cfg_type ( svt_configuration cfg ) |
| function bit | is_valid_chan ( int chan_id ) |
| function bit | is_valid_xact_type ( int chan_id, svt_sequence_item_base xact ) |
| task | main ( ) |
| function void | monitor_chan ( svt_channel chan, string xact_type, string chan_name, bit display_as_note = 0 ) |
| function void | monitor_chan_activity ( svt_channel chan, string xact_type, string chan_name, svt_channel :: notifications_e chan_activity, bit display_as_note = 0 ) |
| function void | start_cb_exec ( ) |
| function void | stop_cb_exec ( ) |
Protected Attributes | |
| protected bit | is_started |
| protected int | mcd_cb_number = 0; |
| protected int | mcd_id_constructor = 0; |
| protected int | mcd_id_get_xactor_cfg = 0; |
| protected int | mcd_id_reconfigure = 0; |
| protected int | mcd_id_reset_xactor = 0; |
| protected int | mcd_id_start_xactor = 0; |
| protected int | mcd_id_stop_xactor = 0; |
| protected bit | mcd_logging_input_objects_only = 1'b1; |
| protected bit | mcd_logging_on = 1'b0; |
| protected int | mcd_log_file |
| protected int | mcd_n_number = 0; |
| protected bit | mcd_notification_described = 0; |
| protected int | mcd_task_number = 0; |
Member Typedefs | |
| typedef enum | notifications_e |
| typedef enum | reset_e |
|
||||
UVM build phase
| ||||
|
|
||
Copies (deep) the dynamic configuration properties from the argument
into the configuration object stored in the transactor. Used internally
by reconfigure; not to be called directly.
|
|
||
Copies (deep) the static configuration properties from the argument
into the configuration object stored in the transactor. Used internally
by reconfigure; not to be called directly.
|
|
||||
UVM extract phase
| ||||
|
|
||
Copies (deep) the dynamic configuration properties from the configuration
object stored in the transactor into the argument. If cfg is null,
creates configuration object of appropriate type. Used internally by get_xactor_cfg;
not to be called directly.
|
|
||
Returns the instance name associated with this transactor.
|
|
||
Returns the current setting of is_started, indicating whether the transactor has
been started.
Return values - 1 indicates that the subenv has been started, 0 indicates it has not. |
|
||
Method to obtain a previously used timer from recycled_timer for
reuse.
inst - The inst name provided to the timer. check - The checker package to be used by the timer, if desired. reporter - Used to replace the timer's default message report object. Return values - The previously used or newly created timer, ready for use. |
|
||
Copies (deep) the static configuration properties from the configuration
object stored in the transactor into the argument. If cfg is null,
creates config object of appropriate type. Used internally by get_xactor_cfg;
not to be called directly.
|
|
||
Returns the model suite name associated with an object.
|
|
||
Returns a copy of the transactor's configuration object, including the
current configuration settings. If cfg is null, creates configuration object
of appropriate type.
|
|
||
Callback issued for every svt_notify which supports callback based notification
tracking.
This method issues the inform_notify callback. Overriding implementations in extended classes must call the super version of this method.
name - Name identifying the svt_notify if provided, or identifying the transactor if the inform_notify is being issued for the 'notify' field on the transactor. notify - The svt_notify instance that is being provided for use. This field is set to null if the inform_notify is being issued for the 'notify' field on the transactor. |
|
||
|
||
Expected to return a 1 if the supplied configuration object is of the correct
type for the transactor. Extended classes implementing specific transactors
will provide an extended version of this method and call it directly.
|
|
||
Returns a 1 if the specified channel ID is within the range used by the transactor.
|
|
||
Returns a 1 if the supplied transaction object is of the correct type for the channel
with the specified ID.
|
|
||||
VMM main method.
| ||||
|
|
||
Monitors the provided channel, reporting all PUT and GOT activity.
chan - Channel that is to be monitored. xact_type - String representing the channel transaction type. chan_name - String indicating the channel name. display_as_note - Bit indicating whether reporting should occur as a NOTE (display_as_note = 1) or VERBOSE (display_as_note = 0) vmm message. |
|
||
Monitors the provided channel, reporting all channel activity of the type
indicated by chan_activity.
chan - Channel that is to be monitored. xact_type - String representing the channel transaction type. chan_name - String indicating the channel name. chan_activity - vmm_channel enum value indicating which channel activity is to be tracked. Currently only supports monitoring of PUT and GOT activity. display_as_note - Bit indicating whether reporting should occur as a NOTE (display_as_note = 1) or VERBOSE (display_as_note = 0) vmm message. |
|
||
Monitors the indicated transactor channel, reporting all PUT and GOT activity.
chan_id - Channel identifier within the range used by the transactor. display_as_note - Bit indicating whether reporting should occur as a NOTE (display_as_note = 1) or VERBOSE (display_as_note = 0) vmm message. |
|
||
CONSTRUCTOR: Creates a new instance of the svt_xactor class.
suite_name - Identifies the product suite to which the xactor object belongs.
name - Instance name of this object.
parent - Parent for this object. |
|
||||
UVM pre_abort callback
| ||||
|
|
||
Updates the transactors configuration with data from the supplied object.
This method always results in a call to change_dynamic_cfg. If the transactor
has not been started calling this method also results in a call to
change_static_cfg.
|
|
||
Method to add this timer to recycled_timer, which is a queue of
recycled timers. Timers should only be recycled if the client
is sure that the timer is no longer in use, and only if the timer was
created via a call to get_recycled_timer.
timer - The timer to be recycled. Passed as a ref so it can be set to null before return. |
|
||
Sets the instance name associated with this transactor.
inst - The new instance name to be associated with this subenv. |
|
||
Called by main to allow callbacks to initiate activities. This callback
is issued during main so that any processes initiated by this callback
will be torn down if reset_xactor() is called.
This method issues the start callback. Overriding implementations in extended classes must call the super version of this method. |
|
||
Called to allow callbacks to suspend activities.
This method issues the stop callback. Overriding implementations in extended classes must call the super version of this method. |
|
|
Shared log instance used for internally generated data objects.
|
|
|
Local svt_err_check instance that may be specific to the transactor, or
otherwise shared across a subeystem (e.g., subenv).
|
|
|
Event pool associated with this agent
|
|
|
Flag that indicates the transactor has been started.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SVT message macros route messages through this reference
|
|
|
Common svt_err_check instance shared by all SVT-based transactors.
Individual transactors may alternatively choose to store svt_err_check_stats in a
local svt_err_check instance, check_mgr, that may be specific to the transactor,
or otherwise shared across a subeystem (e.g., subenv).
|
|
|