0% found this document useful (0 votes)
150 views23 pages

UVM Sequence Item: Presented By: Dileep C P, Nishant S, Sharmila E K

This document discusses UVM sequence items. It introduces UVM utility macros and field macros that provide implementations for common methods like copy and compare. A sequence item contains the data fields needed to generate stimulus and can have random fields with constraints. Key sequence item methods include create, print, copy, clone, compare, and pack/unpack. Pack/unpack methods bitwise concatenate/extract property values and can work with bits, bytes, or integers.

Uploaded by

Nishant Shukla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
150 views23 pages

UVM Sequence Item: Presented By: Dileep C P, Nishant S, Sharmila E K

This document discusses UVM sequence items. It introduces UVM utility macros and field macros that provide implementations for common methods like copy and compare. A sequence item contains the data fields needed to generate stimulus and can have random fields with constraints. Key sequence item methods include create, print, copy, clone, compare, and pack/unpack. Pack/unpack methods bitwise concatenate/extract property values and can work with bits, bytes, or integers.

Uploaded by

Nishant Shukla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

UVM Sequence Item

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

 The `uvm_field_* macros are invoked inside of the `uvm_*_utils_begin and


`uvm_*_utils_end, for the implementations of the methods: copy, compare,
pack, unpack, record, print, and etc.
 Each `uvm_field_* macro is named to correspond to a particular data type:
integrals, strings, objects, queues, etc., and each has at least two arguments:
FIELD and FLAG.

`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

 The pack methods bitwise-concatenate this object’s properties into an array


of bits, bytes, or int
 The unpack methods extract property values from an array of bits, bytes, or
int
 Pack and Unpack bits
The packing is done in bitwise
 Pack and Unpack Bytes
The packing is done in bytes(8)
 Pack and Unpack int
The packing is done as int(32 bit)
Pack and Unpack bits
Pack and Unpack Bytes
Pack and Unpack int
THANK YOU

You might also like