ovm_random_sequence

This sequence randomly selects and executes a sequence from the sequencer¿s sequence library, excluding ovm_random_sequence itself, and ovm_exhaustive_sequence.

The ovm_random_sequence class is a built-in sequence that is preloaded into every sequencer’s sequence library with the name “ovm_random_sequence”.

The number of selections and executions is determined by the count property of the sequencer (or virtual sequencer) on which ovm_random_sequence is operating.  See ovm_sequencer_base for more information.

Summary
ovm_random_sequence
This sequence randomly selects and executes a sequence from the sequencer¿s sequence library, excluding ovm_random_sequence itself, and ovm_exhaustive_sequence.
Class Hierarchy
ovm_sequence#(ovm_sequence_item)
ovm_random_sequence
Class Declaration
class ovm_random_sequence extends ovm_sequence #(
   ovm_sequence_item
)
Methods
get_countReturns the count of the number of sub-sequences which are randomly generated.

get_count

function int unsigned get_count()

Returns the count of the number of sub-sequences which are randomly generated.  By default, count is equal to the value from the sequencer’s count variable.  However, if the sequencer’s count variable is -1, then a random value between 0 and sequencer.max_random_count (exclusive) is chosen.  The sequencer’s count variable is subsequently reset to the random value that was used.  If get_count() is call before the sequence has started, the return value will be sequencer.count, which may be -1.

ovm_exhaustive_sequence

This sequence randomly selects and executes each sequence from the sequencer’s sequence library once, excluding itself and ovm_random_sequence.

The ovm_exhaustive_sequence class is a built-in sequence that is preloaded into every sequencer’s sequence library with the name “ovm_exaustive_sequence”.

Summary
ovm_exhaustive_sequence
This sequence randomly selects and executes each sequence from the sequencer’s sequence library once, excluding itself and ovm_random_sequence.
Class Hierarchy
ovm_sequence#(ovm_sequence_item)
ovm_exhaustive_sequence
Class Declaration
class ovm_exhaustive_sequence extends ovm_sequence #(
   ovm_sequence_item
)

ovm_simple_sequence

This sequence simply executes a single sequence item.

The item parameterization of the sequencer on which the ovm_simple_sequence is executed defines the actual type of the item executed.

The ovm_simple_sequence class is a built-in sequence that is preloaded into every sequencer’s sequence library with the name “ovm_simple_sequence”.

See ovm_sequencer #(REQ,RSP) for more information on running sequences.

Summary
ovm_simple_sequence
This sequence simply executes a single sequence item.
Class Hierarchy
ovm_sequence#(ovm_sequence_item)
ovm_simple_sequence
Class Declaration
class ovm_simple_sequence extends ovm_sequence #(
   ovm_sequence_item
)
class ovm_random_sequence extends ovm_sequence #(ovm_sequence_item)
This sequence randomly selects and executes a sequence from the sequencer¿s sequence library, excluding ovm_random_sequence itself, and ovm_exhaustive_sequence.
function int unsigned get_count()
Returns the count of the number of sub-sequences which are randomly generated.
class ovm_sequencer_base extends ovm_component
Controls the flow of sequences, which generate the stimulus (sequence item transactions) that is passed on to drivers for execution.
class ovm_exhaustive_sequence extends ovm_sequence #(ovm_sequence_item)
This sequence randomly selects and executes each sequence from the sequencer’s sequence library once, excluding itself and ovm_random_sequence.
class ovm_simple_sequence extends ovm_sequence #(ovm_sequence_item)
This sequence simply executes a single sequence item.
class ovm_sequencer #(
   type REQ =  ovm_sequence_item,
   type RSP =  REQ
) extends ovm_sequencer_param_base #(REQ, RSP)