Class uvm_reg_adapter
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 |
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
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.
This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction.