[source]

Class uvm_pkg::uvm_sequence

uvm_pkg::uvm_sequence <REQ, RSP> + param_sequencer : sequencer_t + req : REQ + rsp : RSP + do_print(): void + get_current_item(): REQ + get_response() + put_response(): void + send_request(): void uvm_pkg::uvm_sequence_library <REQ, RSP> uvm_pkg::uvm_random_sequence uvm_pkg::uvm_exhaustive_sequence uvm_pkg::uvm_simple_sequence uvm_pkg::uvm_reg_sequence <BASE> dv_lib_pkg::dv_base_seq <REQ, RSP, CFG_T, SEQUENCER_T> dv_lib_pkg::dv_base_vseq <RAL_T, CFG_T, COV_T, VIRTUAL_SEQUENCER_T> ibex_mem_intf_agent_pkg::ibex_mem_intf_response_seq core_ibex_test_pkg::core_ibex_vseq core_ibex_test_pkg::core_base_seq <REQ> core_ibex_test_pkg::core_base_new_seq <REQ> <REQ : REQ, RSP : RSP> <REQ : uvm_sequence_item, RSP : uvm_sequence_item> <REQ : uvm_sequence_item, RSP : uvm_sequence_item> <REQ : uvm_sequence_item, RSP : uvm_sequence_item> <REQ : REQ, RSP : RSP> <REQ : uvm_sequence_item, RSP : uvm_sequence_item> <REQ : ibex_mem_intf_seq_item, RSP : ibex_mem_intf_seq_item> <REQ : uvm_sequence_item, RSP : uvm_sequence_item> <REQ : REQ, RSP : REQ> <REQ : REQ, RSP : REQ>

Inheritance Diagram of uvm_sequence

uvm_pkg::uvm_sequence <REQ, RSP> + param_sequencer : sequencer_t + req : REQ + rsp : RSP + do_print(): void + get_current_item(): REQ + get_response() + put_response(): void + send_request(): void uvm_pkg::uvm_sequence.sequencer_t uvm_pkg::uvm_sequencer_param_base <REQ, RSP> uvm_pkg::uvm_sequence_item param_sequencer req rsp [typedef]

Collaboration Diagram of uvm_sequence

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2010 Cadence Design Systems, Inc. Copyright 2010 Synopsys, Inc. Copyright 2013 Cisco Systems, 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_sequence #(REQ,RSP)

The uvm_sequence class provides the interfaces necessary in order to create streams of sequence items and/or other sequences.

Parameters

Name

Default value

Description

REQ

uvm_sequence_item

RSP

REQ

Variables

Name

Type

Description

param_sequencer

sequencer_t

req

uvm_sequence_item

Variable

req

The sequence contains a field of the request type called req. The user can use this field, if desired, or create another field to use. The default do_print will print this field.

rsp

uvm_sequence_item

Variable

rsp

The sequence contains a field of the response type called rsp. The user can use this field, if desired, or create another field to use. The default do_print will print this field.

Typedefs

Name

Actual Type

Description

sequencer_t

uvm_sequencer_param_base#(REQ, RSP)

Constructors

new(string name = "uvm_sequence")

Function

new

Creates and initializes a new sequence object.

Parameters:

name (string)

Functions

send_request(uvm_sequence_item request, bit rerandomize = 0)

Function

send_request

This method will send the request item to the sequencer, which will forward it to the driver. If the rerandomize bit is set, the item will be randomized before being sent to the driver. The send_request function may only be called after uvm_sequence_base::wait_for_grant returns.

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

put_response(uvm_sequence_item response_item)

Function- put_response

Internal method.

Parameters:

response_item (uvm_sequence_item)

do_print(uvm_printer printer)

Function- do_print

Parameters:

printer (uvm_printer)

Tasks

get_response(uvm_sequence_item response, int transaction_id = -1)

Task

get_response

By default, sequences must retrieve responses by calling get_response. If no transaction_id is specified, this task will return the next response sent to this sequence. If no response is available in the response queue, the method will block until a response is received.

If a transaction_id is parameter is specified, the task will block until a response with that transaction_id is received in the response queue.

The default size of the response queue is 8. The get_response method must be called soon enough to avoid an overflow of the response queue to prevent responses from being dropped.

If a response is dropped in the response queue, an error will be reported unless the error reporting is disabled via set_response_queue_error_report_disabled.

Parameters: