[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

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2011 Cadence Design Systems, Inc. Copyright 2010-2011 Synopsys, Inc. All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

m_last_req_buffer

uvm_sequence_item

m_last_rsp_buffer

uvm_sequence_item

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.

m_req_fifo

uvm_tlm_fifo#(uvm_sequence_item)

local

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

m_last_rsp_push_front(uvm_sequence_item item)

Internal methods and variables; do not use directly, not part of standard. M_last_rsp_push_front

Parameters:

item (uvm_sequence_item) --

local

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

m_last_req_push_front(uvm_sequence_item item)

M_last_req_push_front

Parameters:

item (uvm_sequence_item) --

local