[source]

Class 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

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

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

provides_responses

bit

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

parent_sequence

uvm_sequence_base

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

function new ( string name ) [source]

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

Functions

virtual function uvm_sequence_item reg2bus ( uvm_reg_bus_op rw ) [source]

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.

virtual function void bus2reg ( uvm_sequence_item bus_item, uvm_reg_bus_op rw ) [source]

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.

virtual function uvm_reg_item get_item ( ) [source]

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.