[source]

Class uvm_sequencer_param_base

uvm_pkg::uvm_sequencer_param_base <REQ, RSP> + m_last_req_buffer[$] : REQ + m_last_rsp_buffer[$] : RSP + m_req_fifo : uvm_tlm_fifo #(REQ) + rsp_export : uvm_analysis_export #(RSP) + sqr_rsp_analysis_fifo : uvm_sequencer_analysis_fifo #(RSP) + analysis_write(): void + build_phase(): void + connect_phase(): void + do_print(): void + get_current_item(): REQ + get_num_last_reqs(): int unsigned + get_num_last_rsps(): int unsigned + get_num_reqs_sent(): int + get_num_rsps_received(): int + last_req(): REQ + last_rsp(): RSP + m_last_req_push_front(): void + m_last_rsp_push_front(): void + put_response(): void + send_request(): void + set_num_last_reqs(): void + set_num_last_rsps(): void uvm_pkg::uvm_sequencer <REQ, RSP> uvm_pkg::uvm_push_sequencer <REQ, RSP> <REQ : REQ, RSP : RSP> <REQ : REQ, RSP : RSP>

Inheritance Diagram of uvm_sequencer_param_base

uvm_pkg::uvm_sequencer_param_base <REQ, RSP> + m_last_req_buffer[$] : REQ + m_last_rsp_buffer[$] : RSP + m_req_fifo : uvm_tlm_fifo #(REQ) + rsp_export : uvm_analysis_export #(RSP) + sqr_rsp_analysis_fifo : uvm_sequencer_analysis_fifo #(RSP) + analysis_write(): void + build_phase(): void + connect_phase(): void + do_print(): void + get_current_item(): REQ + get_num_last_reqs(): int unsigned + get_num_last_rsps(): int unsigned + get_num_reqs_sent(): int + get_num_rsps_received(): int + last_req(): REQ + last_rsp(): RSP + m_last_req_push_front(): void + m_last_rsp_push_front(): void + put_response(): void + send_request(): void + set_num_last_reqs(): void + set_num_last_rsps(): void uvm_pkg::uvm_sequence_item uvm_pkg::uvm_sequencer_analysis_fifo <RSP> uvm_pkg::uvm_analysis_export <T> uvm_pkg::uvm_tlm_fifo <T> m_last_req_buffer[] m_last_rsp_buffer[] sqr_rsp_analysis_fifo rsp_export m_req_fifo

Collaboration Diagram of uvm_sequencer_param_base

CLASS

uvm_sequencer_param_base #(REQ,RSP)

Extends uvm_sequencer_base with an API depending on specific request (REQ) and response (RSP) types.

Parameters

Name

Default value

Description

REQ

uvm_sequence_item

RSP

REQ

Variables

Name

Type

Description

sqr_rsp_analysis_fifo

uvm_sequencer_analysis_fifo#(uvm_sequence_item)

rsp_export

uvm_analysis_export#(uvm_sequence_item)

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)   &lt;--- 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.

Typedefs

Name

Actual Type

Description

this_type

uvm_sequencer_param_base#(REQ, RSP)

req_type

REQ

rsp_type

RSP

Constructors

function new ( string name, uvm_component parent ) [source]

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. New

Functions

virtual function void send_request ( uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize ) [source]

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. Send_request

function REQ get_current_item ( ) [source]

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 requested.

function int get_num_reqs_sent ( ) [source]

Returns the number of requests that have been sent by this sequencer. Get_num_reqs_sent

function void set_num_last_reqs ( int unsigned max ) [source]

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. Set_num_last_reqs

function int unsigned get_num_last_reqs ( ) [source]

Returns the size of the last requests buffer, as set by set_num_last_reqs. Get_num_last_reqs

function REQ last_req ( int unsigned n ) [source]

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 .

function int get_num_rsps_received ( ) [source]

Returns the number of responses received thus far by this sequencer. Get_num_rsps_received

function void set_num_last_rsps ( int unsigned max ) [source]

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. Set_num_last_rsps

function int unsigned get_num_last_rsps ( ) [source]

Returns the max size of the last responses buffer, as set by set_num_last_rsps. Get_num_last_rsps

function RSP last_rsp ( int unsigned n ) [source]

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 .

function void put_response ( uvm_sequence_item t ) [source]

Put_response

virtual function void build_phase ( uvm_phase phase ) [source]

Build_phase

virtual function void connect_phase ( uvm_phase phase ) [source]

Connect_phase

virtual function void do_print ( uvm_printer printer ) [source]

Do_print

virtual function void analysis_write ( uvm_sequence_item t ) [source]

Analysis_write