Inheritance diagram for class svt_sequence:
Class that provides the basic infrastructure common to all SVT sequences.
Public Member Functions | |
| function void | drop_phase_objection ( ) |
| function string | get_phase_name ( ) |
| function string | get_suite_name ( ) |
| function bit | is_supported ( svt_configuration cfg, bit silent = 0 ) |
| function void | new ( string name = "svt_sequence", string suite_name = "" ) |
| task | post_body ( ) |
| task | pre_body ( ) |
| task | priority_finish ( ovm_sequence_base parent_sequence = null, int set_priority = -1 ) |
| task | priority_start ( ovm_sequence_base parent_sequence = null, int set_priority = -1 ) |
| function void | raise_phase_objection ( ) |
Class Parameters | |
| type | REQ = ovm_sequence_item; |
| type | RSP |
Public Attributes | |
| bit | manage_objection = 0; |
| static ovm_report_object | reporter = ovm_root; |
Protected Attributes | |
| protected string | suite_name = ""; |
|
||
Drop the previously-raised objection for the run-time phase
|
|
||
Returns the phase name that this sequence is executing in. If the sequence is not configured as the default sequence for a phase then this method returns a null string. This can be used to retrieve information from the configuration database like this:
void'(`SVT_XVM(config_db) #(int unsigned)::get(m_sequencer, get_phase_name, "default_sequence.sequence_length", sequence_length)); |
|
||
Returns the model suite name associated with an object.
|
|
||
Determines if this sequence can reasonably be expected to function correctly on the supplied cfg object.
cfg - The svt_configuration to examine for supportability. silent - Indicates whether issues with the configuration should be reported.
Return values - Returns '1' if sequence is supported by the configuration, '0' otherwise. |
|
||||||||||
CONSTRUCTOR: Create a new SVT sequence object
| ||||||||||
|
|
||||||||
callback implementation to drop an objection
| ||||||||
|
|
||||||||
callback implementation to raise an objection
| ||||||||
|
|
||
Utility method used to finish a sequence based on the provided priority.
parent_sequence - Containing sequence which is executing this sequence. set_priority - The priority provided to the sequencer for this sequence. |
|
||
Utility method used to start a sequence based on the provided priority.
parent_sequence - Containing sequence which is executing this sequence. set_priority - The priority provided to the sequencer for this sequence. |
|
||
Raise the objection for the current run-time phase
|
|
|
A flag that enables automatic objection management. If this is set to 1 in an extended sequence class then an objection will be raised when the pre_body is called and dropped when the post_body method is called. Can be set explicitley or via a bit-type configuration entry named " For backwards compatibility reasons the sequence default value is '0' while the sequencer default value is '1'. So by default the sequencer will manage objections, but the sequence will not. This does not, however, reflect what happens if any client VIP or testbench sets the manage_objection value on the sequence or the sequencer. If the manage_objection value is set locally, then it replaces the default. It can, however, be overridden by configuration settings. If a manage_objection value is provided for the sequence in the configuration then it will replace the locally specified value. If a manage_objection value is provided for the sequencer in the configuration and there was not a manage_objection value provided for the sequence in the configuration then the sequencer setting will replace the locally specified value. If a non-default value (i.e., 0) is set on the sequencer, it will be propagated into the configuration to be accessed by the sequence. This will force the manage_objection value of '0' for all svt_sequence sequences on the sequencer. This will have no impact on sequences which have a manage_objection value provided for them in the configuration, but should override the manage_objection value in all other situations. |
|
|
All messages originating from data objects are routed through this reporter
|
|
|
Identifies the product suite with which a derivative class is associated. Can be accessed through 'get_suite_name', but cannot be altered after object creation.
|