Class uvm_pkg::uvm_sequence_item
Inheritance Diagram of uvm_sequence_item
Collaboration Diagram of uvm_sequence_item
Name |
Type |
Description |
---|---|---|
issued1 |
bit |
|
issued2 |
bit |
|
print_sequence_info |
bit |
Constructors
- new(string name = "uvm_sequence_item")
Function
new
The constructor method for uvm_sequence_item.
- Parameters:
name (string)
Functions
- get_type_name()
- set_sequence_id(int id)
Function- set_sequence_id
- Parameters:
id (int)
- get_sequence_id()
Function
get_sequence_id
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.
- set_item_context(uvm_sequence_base parent_seq, uvm_sequencer_base sequencer = null)
Function
set_item_context
Set the sequence and sequencer execution context for a sequence item
- Parameters:
parent_seq (uvm_sequence_base)
sequencer (uvm_sequencer_base)
- set_use_sequence_info(bit value)
Function
set_use_sequence_info
- Parameters:
value (bit)
- get_use_sequence_info()
Function
get_use_sequence_info
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.
- set_id_info(uvm_sequence_item item)
Function
set_id_info
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.
- Parameters:
item (uvm_sequence_item)
- set_sequencer(uvm_sequencer_base sequencer)
Function
set_sequencer
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.
- Parameters:
sequencer (uvm_sequencer_base)
- get_sequencer()
Function
get_sequencer
Returns a reference to the default sequencer used by this sequence.
- Return type:
- set_parent_sequence(uvm_sequence_base parent)
Function
set_parent_sequence
Sets the parent sequence of this sequence_item. This is used to identify the source sequence of a sequence_item.
- Parameters:
parent (uvm_sequence_base)
- get_parent_sequence()
Function
get_parent_sequence
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 .
- Return type:
- set_depth(int value)
Function
set_depth
The depth of any sequence is calculated automatically. However, the user may use set_depth to specify the depth of a particular sequence. This method will override the automatically calculated depth, even if it is incorrect.
- Parameters:
value (int)
- get_depth()
Function
get_depth
Returns the depth of a sequence from its parent. A parent sequence will have a depth of 1, its child will have a depth of 2, and its grandchild will have a depth of 3.
- is_item()
Function
is_item
This function may be called on any sequence_item or sequence. It will return 1 for items and 0 for sequences (which derive from this class).
- get_full_name()
Function- get_full_name
Internal method; overrides must follow same naming convention
- get_root_sequence_name()
Function
get_root_sequence_name
Provides the name of the root sequence (the top-most parent sequence).
- get_root_sequence()
Function
get_root_sequence
Provides a reference to the root sequence (the top-most parent sequence).
- Return type:
- get_sequence_path()
Function
get_sequence_path
Provides a string of names of each sequence in the full hierarchical path. A "." is used as the separator between each sequence.
- uvm_get_report_object()
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.
- Return type:
- uvm_report_enabled(int verbosity, uvm_severity severity = UVM_INFO, string id = "")
- Parameters:
verbosity (int)
severity (uvm_severity)
id (string)
- uvm_report(uvm_severity severity, string id, string message, int verbosity = (severity==uvm_severity'(UVM_ERROR))?UVM_LOW:(severity==uvm_severity'(UVM_FATAL))?UVM_NONE:UVM_MEDIUM, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0)
Function
uvm_report
- Parameters:
severity (uvm_severity)
id (string)
message (string)
verbosity (int)
filename (string)
line (int)
context_name (string)
report_enabled_checked (bit)
- uvm_report_info(string id, string message, int verbosity = UVM_MEDIUM, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0)
Function
uvm_report_info
- Parameters:
id (string)
message (string)
verbosity (int)
filename (string)
line (int)
context_name (string)
report_enabled_checked (bit)
- uvm_report_warning(string id, string message, int verbosity = UVM_MEDIUM, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0)
Function
uvm_report_warning
- Parameters:
id (string)
message (string)
verbosity (int)
filename (string)
line (int)
context_name (string)
report_enabled_checked (bit)
- uvm_report_error(string id, string message, int verbosity = UVM_LOW, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0)
Function
uvm_report_error
- Parameters:
id (string)
message (string)
verbosity (int)
filename (string)
line (int)
context_name (string)
report_enabled_checked (bit)
- uvm_report_fatal(string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0)
Function
uvm_report_fatal
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.
- Parameters:
id (string)
message (string)
verbosity (int)
filename (string)
line (int)
context_name (string)
report_enabled_checked (bit)
- uvm_process_report_message(uvm_report_message report_message)
- Parameters:
report_message (uvm_report_message)
- do_print(uvm_printer printer)
Function- do_print
Internal method
- Parameters:
printer (uvm_printer)
CLASS
uvm_sequence_item
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.