uvm_sequencer #(REQ,RSP) | ||||||||||||||||||||||
Class Hierarchy | ||||||||||||||||||||||
| ||||||||||||||||||||||
Class Declaration | ||||||||||||||||||||||
| ||||||||||||||||||||||
new | Standard component constructor that creates an instance of this class using the given name and parent, if any. | |||||||||||||||||||||
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. | |||||||||||||||||||||
Sequencer Interface | This is an interface for communicating with sequencers. | |||||||||||||||||||||
seq_item_export | This export provides access to this sequencer’s implementation of the sequencer interface. | |||||||||||||||||||||
get_next_item | Retrieves the next available item from a sequence. | |||||||||||||||||||||
try_next_item | Retrieves the next available item from a sequence if one is available. | |||||||||||||||||||||
item_done | Indicates that the request is completed. | |||||||||||||||||||||
put | Sends a response back to the sequence that issued the request. | |||||||||||||||||||||
get | Retrieves the next available item from a sequence. | |||||||||||||||||||||
peek | Returns the current request item if one is in the FIFO. | |||||||||||||||||||||
wait_for_sequences | Waits for a sequence to have a new item available. | |||||||||||||||||||||
has_do_available | Returns 1 if any sequence running on this sequencer is ready to supply a transaction, 0 otherwise. |
function new ( string name, uvm_component parent = null )
Standard component constructor that creates an instance of this class using the given name and 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. This essentially resets the sequencer to an idle state.
This is an interface for communicating with sequencers.
Requests: virtual task get_next_item (output REQ request); virtual task try_next_item (output REQ request); virtual task get (output REQ request); virtual task peek (output REQ request); Responses: virtual function void item_done (input RSP response=null); virtual task put (input RSP response); Sync Control: virtual task wait_for_sequences (); virtual function bit has_do_available ();
See uvm_sqr_if_base #(REQ,RSP) for information about this interface.
uvm_seq_item_pull_imp #( REQ, RSP, this_type ) seq_item_export
This export provides access to this sequencer’s implementation of the sequencer interface.
virtual task get_next_item ( output REQ t )
Retrieves the next available item from a sequence.
virtual task try_next_item ( output REQ t )
Retrieves the next available item from a sequence if one is available.
virtual function void item_done ( RSP item = null )
Indicates that the request is completed.
Waits for a sequence to have a new item available.
Returns 1 if any sequence running on this sequencer is ready to supply a transaction, 0 otherwise.
The uvm_void class is the base class for all UVM classes.
virtual class uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
The uvm_report_object provides an interface to the UVM reporting facility.
class uvm_report_object extends uvm_object
The uvm_component class is the root base class for UVM components.
virtual class uvm_component extends uvm_report_object
Controls the flow of sequences, which generate the stimulus (sequence item transactions) that is passed on to drivers for execution.
class uvm_sequencer_base extends uvm_component
Extends uvm_sequencer_base with an API depending on specific request (REQ) and response (RSP) types.
class uvm_sequencer_param_base #( type REQ = uvm_sequence_item, type RSP = REQ ) extends uvm_sequencer_base
class uvm_sequencer #( type REQ = uvm_sequence_item, RSP = REQ ) extends uvm_sequencer_param_base #(REQ, RSP)
Standard component constructor that creates an instance of this class using the given name and parent, if any.
function new ( string name, uvm_component parent = null )
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.
virtual function void stop_sequences()
This export provides access to this sequencer’s implementation of the sequencer interface.
uvm_seq_item_pull_imp #( REQ, RSP, this_type ) seq_item_export
Retrieves the next available item from a sequence.
virtual task get_next_item ( output REQ t )
Retrieves the next available item from a sequence if one is available.
virtual task try_next_item ( output REQ t )
Indicates that the request is completed.
virtual function void item_done ( RSP item = null )
Sends a response back to the sequence that issued the request.
virtual task put ( RSP t )
Retrieves the next available item from a sequence.
task get ( output REQ t )
Returns the current request item if one is in the FIFO.
task peek ( output REQ t )
This class defines an interface for sequence drivers to communicate with sequencers.
virtual class uvm_sqr_if_base #( type T1 = uvm_object, T2 = T1 )