Extends uvm_sequencer_base with an API depending on specific request (REQ) and response (RSP) types.
uvm_sequencer_param_base #(REQ,RSP) | ||||||||||||||||||||||
Extends uvm_sequencer_base with an API depending on specific request (REQ) and response (RSP) types. | ||||||||||||||||||||||
Class Hierarchy | ||||||||||||||||||||||
| ||||||||||||||||||||||
Class Declaration | ||||||||||||||||||||||
| ||||||||||||||||||||||
new | Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any. | |||||||||||||||||||||
send_request | The send_request function may only be called after a wait_for_grant call. | |||||||||||||||||||||
get_current_item | Returns the request_item currently being executed by the sequencer. | |||||||||||||||||||||
Requests | ||||||||||||||||||||||
get_num_reqs_sent | Returns the number of requests that have been sent by this sequencer. | |||||||||||||||||||||
set_num_last_reqs | Sets the size of the last_requests buffer. | |||||||||||||||||||||
get_num_last_reqs | Returns the size of the last requests buffer, as set by set_num_last_reqs. | |||||||||||||||||||||
last_req | Returns the last request item by default. | |||||||||||||||||||||
Responses | ||||||||||||||||||||||
rsp_export | Drivers or monitors can connect to this port to send responses to the sequencer. | |||||||||||||||||||||
get_num_rsps_received | Returns the number of responses received thus far by this sequencer. | |||||||||||||||||||||
set_num_last_rsps | Sets the size of the last_responses buffer. | |||||||||||||||||||||
get_num_last_rsps | Returns the max size of the last responses buffer, as set by set_num_last_rsps. | |||||||||||||||||||||
last_rsp | Returns the last response item by default. |
function new ( string name, uvm_component parent )
Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
virtual function void send_request( uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize = 0 )
The send_request function may only be called after a wait_for_grant call. This call will send the request item, t, to the sequencer pointed to by sequence_ptr. The sequencer will forward it to the driver. If rerandomize is set, the item will be randomized before being sent to the driver.
function REQ get_current_item()
Returns the request_item currently being executed by the sequencer. If the sequencer is not currently executing an item, this method will return null.
The sequencer is executing an item from the time that get_next_item or peek is called until the time that get or item_done is called.
Note that a driver that only calls get() will never show a current item, since the item is completed at the same time as it is requsted.
function int get_num_reqs_sent()
Returns the number of requests that have been sent by this sequencer.
function void set_num_last_reqs( int unsigned max )
Sets the size of the last_requests buffer. Note that the maximum buffer size is 1024. If max is greater than 1024, a warning is issued, and the buffer is set to 1024. The default value is 1.
function int unsigned get_num_last_reqs()
Returns the size of the last requests buffer, as set by set_num_last_reqs.
function REQ last_req( int unsigned n = 0 )
Returns the last request item by default. If n is not 0, then it will get the n¿th before last request item. If n is greater than the last request buffer size, the function will return null.
Drivers or monitors can connect to this port to send responses to the sequencer. Alternatively, a driver can send responses via its seq_item_port.
seq_item_port.item_done(response) seq_item_port.put(response) rsp_port.write(response) <--- via this export
The rsp_port in the driver and/or monitor must be connected to the rsp_export in this sequencer in order to send responses through the response analysis port.
function int get_num_rsps_received()
Returns the number of responses received thus far by this sequencer.
function void set_num_last_rsps( int unsigned max )
Sets the size of the last_responses buffer. The maximum buffer size is 1024. If max is greater than 1024, a warning is issued, and the buffer is set to 1024. The default value is 1.
function int unsigned get_num_last_rsps()
Returns the max size of the last responses buffer, as set by set_num_last_rsps.
function RSP last_rsp( int unsigned n = 0 )
Returns the last response item by default. If n is not 0, then it will get the nth-before-last response item. If n is greater than the last response buffer size, the function will return null.
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
Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
function new ( string name, uvm_component parent )
The send_request function may only be called after a wait_for_grant call.
virtual function void send_request( uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize = 0 )
Returns the request_item currently being executed by the sequencer.
function REQ get_current_item()
Returns the number of requests that have been sent by this sequencer.
function int get_num_reqs_sent()
Sets the size of the last_requests buffer.
function void set_num_last_reqs( int unsigned max )
Returns the size of the last requests buffer, as set by set_num_last_reqs.
function int unsigned get_num_last_reqs()
Returns the last request item by default.
function REQ last_req( int unsigned n = 0 )
Returns the number of responses received thus far by this sequencer.
function int get_num_rsps_received()
Sets the size of the last_responses buffer.
function void set_num_last_rsps( int unsigned max )
Returns the max size of the last responses buffer, as set by set_num_last_rsps.
function int unsigned get_num_last_rsps()
Returns the last response item by default.
function RSP last_rsp( int unsigned n = 0 )