UVM Sequence Item: Presented By: Dileep C P, Nishant S, Sharmila E K
UVM Sequence Item: Presented By: Dileep C P, Nishant S, Sharmila E K
Presented by : Dileep C P,
Nishant S,
Sharmila E K
Content
Introduction
UVM Utility Macros & UVM Field Macros
Sequence item
Sequence item methods
Introduction
The sequence-item - extending the uvm_sequence_item
uvm_sequence_item inherits from the uvm_object via the
uvm_transaction class.
uvm_sequence_item is of an object type.
The uvm_object has a number of virtual methods that are
used to implement common data object functions (copy,
clone, compare, print, transaction, and recording)
uvm_Object has macros defined in it, mainly Utility Macros
and Field Macros.
UVM Utility Macros
The utility macros provide implementations of the create method (needed for
cloning) and the get_type_name method (needed for debugging), etc.
objects with no field macros,
`uvm_object_utils(TYPE)
objects with field macros,
`uvm_object_utils_begin(TYPE)
`uvm_field_*(FIELD,FLAG)
`uvm_object_utils_end
UVM Field Macros
`uvm_field_*(FIELD,FLAG);
Sequence item
It consist of data fields required for generating the stimulus.
In order to generate the stimulus, the sequence items are randomized in
sequences.
Data properties in sequence items should generally be declared as rand and
can have constraints defined.
Data fields consists,
• Control Information – a type of transfer, transfer size, etc
• Payload Information – data content of the transfer
• Configuration Information – mode of operation, error behavior, etc
• Analysis Information – fields used to capture information from DUT, ex:
read data, response, etc
Sequence item example
UVM Sequence item Methods
Create()
Print()
Copy()
Clone()
Compare()
Pack and Unpack
Create() & print() method
Copy() method
Clone() method
Compare() method
PACK and UNPACK