Class uvm_sequence_item
Name |
Type |
Description |
---|---|---|
issued1 |
bit |
|
issued2 |
bit |
|
print_sequence_info |
bit |
Constructors
Functions
- function int get_sequence_id ( ) [source]
private
Get_sequence_id is an internal method that is not intended for user code. The sequence_id is not a simple integer. The get_transaction_id is meant for users to identify specific transactions.
These methods allow access to the sequence_item sequence and transaction IDs. get_transaction_id and set_transaction_id are methods on the uvm_transaction base_class. These IDs are used to identify sequences to the sequencer, to route responses back to the sequence that issued a request, and to uniquely identify transactions.
The sequence_id is assigned automatically by a sequencer when a sequence initiates communication through any sequencer calls (i.e. uvm_do_*, wait_for_grant). A sequence_id will remain unique for this sequence until it ends or it is killed. However, a single sequence may have multiple valid sequence ids at any point in time. Should a sequence start again after it has ended, it will be given a new unique sequence_id.
The transaction_id is assigned automatically by the sequence each time a transaction is sent to the sequencer with the transaction_id in its default (-1) value. If the user sets the transaction_id to any non-default value, that value will be maintained.
Responses are routed back to this sequences based on sequence_id. The sequence may use the transaction_id to correlate responses with their requests.
- function void set_item_context ( uvm_sequence_base parent_seq, uvm_sequencer_base sequencer ) [source]
Set the sequence and sequencer execution context for a sequence item
- function bit get_use_sequence_info ( ) [source]
These methods are used to set and get the status of the use_sequence_info bit. Use_sequence_info controls whether the sequence information (sequencer, parent_sequence, sequence_id, etc.) is printed, copied, or recorded. When use_sequence_info is the default value of 0, then the sequence information is not used. When use_sequence_info is set to 1, the sequence information will be used in printing and copying.
- function void set_id_info ( uvm_sequence_item item ) [source]
Copies the sequence_id and transaction_id from the referenced item into the calling item. This routine should always be used by drivers to initialize responses for future compatibility.
- virtual function void set_sequencer ( uvm_sequencer_base sequencer ) [source]
Sets the default sequencer for the sequence to sequencer. It will take effect immediately, so it should not be called while the sequence is actively communicating with the sequencer.
- function uvm_sequencer_base get_sequencer ( ) [source]
Returns a reference to the default sequencer used by this sequence.
- function void set_parent_sequence ( uvm_sequence_base parent ) [source]
Sets the parent sequence of this sequence_item. This is used to identify the source sequence of a sequence_item.
- function uvm_sequence_base get_parent_sequence ( ) [source]
Returns a reference to the parent sequence of any sequence on which this method was called. If this is a parent sequence, the method returns null .
- function uvm_sequence_base get_root_sequence ( ) [source]
Provides a reference to the root sequence (the top-most parent sequence).
- virtual function uvm_report_object uvm_get_report_object ( ) [source]
Group
Reporting Interface
Sequence items and sequences will use the sequencer which they are associated with for reporting messages. If no sequencer has been set for the item/sequence using set_sequencer or indirectly via uvm_sequence_base::start_item or uvm_sequence_base::start), then the global reporter will be used.
- function int uvm_report_enabled ( int verbosity, uvm_severity severity, string id ) [source]
- virtual function void uvm_report ( uvm_severity severity, string id, string message, int verbosity, string filename, int line, string context_name, bit report_enabled_checked ) [source]
- virtual function void uvm_report_fatal ( string id, string message, int verbosity, string filename, int line, string context_name, bit report_enabled_checked ) [source]
These are the primary reporting methods in the UVM. uvm_sequence_item derived types delegate these functions to their associated sequencer if they have one, or to the global reporter. See <uvm_report_object::Reporting> for details on the messaging functions.
- virtual function void uvm_process_report_message ( uvm_report_message report_message ) [source]
- virtual function void do_print ( uvm_printer printer ) [source]
Function- do_print
Internal method
The base class for user-defined sequence items and also the base class for the uvm_sequence class. The uvm_sequence_item class provides the basic functionality for objects, both sequence items and sequences, to operate in the sequence mechanism.