ovm_sequencer #(REQ,RSP)

Summary
ovm_sequencer #(REQ,RSP)
Class Hierarchy
Class Declaration
class ovm_sequencer #(
   type REQ =  ovm_sequence_item,
   type RSP =  REQ
) extends ovm_sequencer_param_base #(REQ, RSP)
Variables
seq_item_exportThis export provides access to this sequencer’s implementation of the sequencer interface, sqr_if_base #(REQ,RSP), which defines the following methods:
Methods
newCreates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
stop_sequencesTells the sequencer to kill all sequences and child sequences currently operating on the sequencer, and remove all requests, locks and responses that are currently queued.

seq_item_export

ovm_seq_item_pull_imp #(REQ,
RSP,
this_type) seq_item_export

This export provides access to this sequencer’s implementation of the sequencer interface, sqr_if_base #(REQ,RSP), which defines the following methods:

virtual task          get_next_item      (output REQ request);
virtual task          try_next_item      (output REQ request);
virtual function void item_done          (input RSP response=null);
virtual task          wait_for_sequences ();
virtual function bit  has_do_available   ();
virtual task          get                (output REQ request);
virtual task          peek               (output REQ request);
virtual task          put                (input RSP response);

See sqr_if_base #(REQ,RSP) for information about this interface.

new

function new (string name,
ovm_component parent)

Creates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

stop_sequences

virtual function void stop_sequences()

Tells the sequencer to kill all sequences and child sequences currently operating on the sequencer, and remove all requests, locks and responses that are currently queued.  This essentially resets the sequencer to an idle state.

virtual class ovm_object extends ovm_void
The ovm_object class is the base class for all OVM data and hierarchical classes.
class ovm_report_object extends ovm_object
The ovm_report_object provides an interface to the OVM reporting facility.
virtual class ovm_component extends ovm_report_object
The ovm_component class is the root base class for OVM components.
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_sequencer_param_base #(
   type REQ =  ovm_sequence_item,
   type RSP =  REQ
) extends ovm_sequencer_base
Provides base functionality used by the ovm_sequencer and ovm_push_sequencer.
class ovm_sequencer #(
   type REQ =  ovm_sequence_item,
   type RSP =  REQ
) extends ovm_sequencer_param_base #(REQ, RSP)
ovm_seq_item_pull_imp #(REQ,
RSP,
this_type) seq_item_export
This export provides access to this sequencer’s implementation of the sequencer interface, sqr_if_base #(REQ,RSP), which defines the following methods:
virtual class sqr_if_base #(type T1 = ovm_object,
 T2 = T1)
This class defines an interface for sequence drivers to communicate with sequencers.
function new (string name,
ovm_component parent)
Creates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
virtual function void stop_sequences()
Tells the sequencer to kill all sequences and child sequences currently operating on the sequencer, and remove all requests, locks and responses that are currently queued.