In the context of UVM (Universal Verification Methodology), a "sequence item" is a basic data structure used to represent a specific transaction that is to be exchanged between the testbench and the design under test (DUT). Sequence items play a crucial role in UVM's stimulus generation and response checking process during verification.
Method | Description |
---|---|
get_type_name() | Returns the string representation of the sequence item's type name. |
do_copy() | Provides a deep copy of the sequence item, including all of its fields and properties. |
do_compare() | Compares two sequence items for equality. |
convert2string() | Returns a string representation of the sequence item's data. |
do_pack() | Packs the data fields of the sequence item into a uvm_packer for transaction recording and communication. |
do_unpack() | Unpacks the data fields from a uvm_packer into the sequence item. |
do_print() | Prints information about the sequence item to the UVM default report file. |
do_record() | Records the sequence item in a database for coverage and analysis purposes. |
do_copy_with() | Similar to do_copy() , but allows users to customize the copy process with a context. |
// Filename : basic_transaction.sv class basic_transaction extends uvm_sequence_item; bit [7:0] random_var; `uvm_object_utils_begin(basic_transaction) `uvm_field_int(random_var,UVM_ALL_ON|UVM_BIN) `uvm_object_utils_end extern function new(string name = "No_Name_Item"); endclass //------------------------------------------------------------------// function basic_transaction::new(string name = "No_Name_Item"); super.new(name); endfunction: new