This document provides an overview of sequences in UVM. It discusses sequence items, sequencers, and how sequences are used to drive items to a driver. Sequences are derived from sequence items and contain a body method. They utilize a sequencer handle to send items to a driver. The document outlines how to create, configure, and start a sequence as well as the typical flow of a sequence item being sent from the sequencer to a driver.
4. Sequence Item Content
Sequence Item consists of the following
Ø Control : What type of transfer, what size
Ø Payload : The main data content of the transfer
Ø Configuration : Setting up a new mode of operation,
error behavior etc
Ø Analysis : Convenience fields which aid analysis - time
stamps, rolling checksums etc
Arrow Devices Pvt Ltd
5.
Arrow Devices Pvt Ltd
Randomiza7on
Considera7ons
Ø Request properties should be rand
Ø Response properties should not be rand
9. Arrow Devices Pvt Ltd
Sequencer
Characteris7cs
Sequencer has the following characteristics:
Ø Provides coordination between sequence
and driver
Ø Sends transactions to driver
Ø Gets the response from the driver
Ø Responsible for arbitrating between the
parallel sequences
16.
Arrow Devices Pvt Ltd
Sequences
Ø Derived from an uvm_sequence_item
Ø Parameterized with the type of seq_item
Ø Body method
Ø m_sequencer handle
Sequences have the following characteristics:
20. Arrow Devices Pvt Ltd
Step
2:
Configure
Sequence
Ø Set up start values
Ø Set up generation loop variables
Ø Set up pointers to test-bench
resources
21. Arrow Devices Pvt Ltd
Step
3:
Start
Sequence
• Call
to
its
start()
method
22. Arrow Devices Pvt Ltd
Sequence
Item
To
A
Driver:
The
Flow
Ø Creation of seq item
Ø Ready - start_item()
Ø Set - Randomization
Ø Go - finish_item()
Ø Response - get_response()
23. Arrow Devices Pvt Ltd
Sequence
Execu7on
Flow
Sequences have two types of execution
Ø Linear Execution Flow
Ø Parallel Execution Flow
24. Arrow Devices Pvt Ltd
Coding
Guideline
Ø Do not use fork, join_any, disable fork
Ø Do not use fork join_none to exit a body
method
Ø Do not fork join a sequence which
contains a forever loop without
terminating condition
25. Arrow Devices Pvt Ltd
Sequences
Overrides
Two types of overrides:
Ø Sequence Type Factory Override
Ø Sequence Instance Factory Override