[source]

Class uvm_pkg::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)

Port

rsp_export

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.

Typedefs

Name

Actual Type

Description

this_type

uvm_sequencer_param_base#(REQ, RSP)

req_type

REQ

rsp_type

RSP

Constructors

new(string name, uvm_component parent)

Function

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

Parameters:

Functions

send_request(uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize = 0)

Function

send_request

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

Parameters:
get_current_item()

Function

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

Return type:

REQ

get_num_reqs_sent()

Function

get_num_reqs_sent

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

set_num_last_reqs(int unsigned max)

Function

set_num_last_reqs

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

Parameters:

max (int unsigned)

get_num_last_reqs()

Function

get_num_last_reqs

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

last_req(int unsigned n = 0)

Function

last_req

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 .

Parameters:

n (int unsigned)

Return type:

REQ

get_num_rsps_received()

Function

get_num_rsps_received

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

set_num_last_rsps(int unsigned max)

Function

set_num_last_rsps

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

Parameters:

max (int unsigned)

get_num_last_rsps()

Function

get_num_last_rsps

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

last_rsp(int unsigned n = 0)

Function

last_rsp

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 .

Parameters:

n (int unsigned)

Return type:

RSP

put_response(uvm_sequence_item t)

Put_response

Parameters:

t (uvm_sequence_item) --

local

build_phase(uvm_phase phase)

Build_phase

Parameters:

phase (uvm_phase) --

local

connect_phase(uvm_phase phase)

Connect_phase

Parameters:

phase (uvm_phase) --

local

do_print(uvm_printer printer)

Do_print

Parameters:

printer (uvm_printer) --

local

analysis_write(uvm_sequence_item t)

Analysis_write

Parameters:

t (uvm_sequence_item) --

local