[source]

Class uvm_pkg::uvm_reg_adapter

uvm_pkg::uvm_reg_adapter + parent_sequence : uvm_sequence_base + provides_responses : bit + supports_byte_enable : bit + bus2reg(): void + get_item(): uvm_reg_item + m_set_item(): void + reg2bus(): uvm_sequence_item uvm_pkg::uvm_reg_tlm_adapter

Inheritance Diagram of uvm_reg_adapter

uvm_pkg::uvm_reg_adapter + parent_sequence : uvm_sequence_base + provides_responses : bit + supports_byte_enable : bit + bus2reg(): void + get_item(): uvm_reg_item + m_set_item(): void + reg2bus(): uvm_sequence_item uvm_pkg::uvm_sequence_base parent_sequence

Collaboration Diagram of uvm_reg_adapter

Copyright 2004-2009 Synopsys, Inc. Copyright 2010 Mentor Graphics Corporation 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_reg_adapter

This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction.

Variables

Name

Type

Description

supports_byte_enable

bit

Variable

supports_byte_enable

Set this bit in extensions of this class if the bus protocol supports byte enables.

provides_responses

bit

Variable

provides_responses

Set this bit in extensions of this class if the bus driver provides separate response items.

parent_sequence

uvm_sequence_base

Variable

parent_sequence

Set this member in extensions of this class if the bus driver requires bus items be executed via a particular sequence base type. The sequence assigned to this member must implement do_clone().

Constructors

new(string name = "")

Function

new

Create a new instance of this type, giving it the optional name .

Parameters:

name (string)

Functions

reg2bus(uvm_reg_bus_op rw)

Function

reg2bus

Extensions of this class must implement this method to convert the specified uvm_reg_bus_op to a corresponding uvm_sequence_item subtype that defines the bus transaction.

The method must allocate a new bus-specific uvm_sequence_item, assign its members from the corresponding members from the given generic rw bus operation, then return it.

Parameters:

rw (uvm_reg_bus_op)

Return type:

uvm_sequence_item

bus2reg(uvm_sequence_item bus_item, uvm_reg_bus_op rw)

Function

bus2reg

Extensions of this class must implement this method to copy members of the given bus-specific bus_item to corresponding members of the provided bus_rw instance. Unlike reg2bus, the resulting transaction is not allocated from scratch. This is to accommodate applications where the bus response must be returned in the original request.

Parameters:
get_item()

function

get_item

Returns the bus-independent read/write information that corresponds to the generic bus transaction currently translated to a bus-specific transaction. This function returns a value reference only when called in the uvm_reg_adapter::reg2bus() method. It returns null at all other times. The content of the return uvm_reg_item instance must not be modified and used strictly to obtain additional information about the operation.

Return type:

uvm_reg_item

m_set_item(uvm_reg_item item)
Parameters:

item (uvm_reg_item)