Virtual Register Field Classes

UVMkit » 1800.2-2020

This section defines the virtual field and callback classes.

A virtual field is set of contiguous bits in one or more memory locations.  The semantics and layout of virtual fields comes from an agreement between the software and the hardware, not any physical structures in the DUT.

Contents
Virtual Register Field ClassesThis section defines the virtual field and callback classes.
uvm_vreg_fieldVirtual field abstraction class
uvm_vreg_field_cbsPre/post read/write callback facade class

uvm_vreg_field

Virtual field abstraction class

A virtual field represents a set of adjacent bits that are logically implemented in consecutive memory locations.

Summary
uvm_vreg_field
Virtual field abstraction class
Class Hierarchy
uvm_vreg_field
Class Declaration
class uvm_vreg_field extends uvm_object
initialization
Introspection
get_nameGet the simple name
get_full_nameGet the hierarchical name
get_lsb_pos_in_registerReturn the position of the virtual field / Returns the index of the least significant bit of the virtual field in the virtual register that instantiates it.
get_n_bitsReturns the width, in bits, of the virtual field.
HDL Access
Callbacks

get_name

Get the simple name

Return the simple object name of this virtual field

get_full_name

virtual function string get_full_name()

Get the hierarchical name

Return the hierarchal name of this virtual field The base of the hierarchical name is the root block.

get_lsb_pos_in_register

virtual function int unsigned get_lsb_pos_in_register()

Return the position of the virtual field / Returns the index of the least significant bit of the virtual field in the virtual register that instantiates it.  An offset of 0 indicates a field that is aligned with the least-significant bit of the register.

get_n_bits

virtual function int unsigned get_n_bits()

Returns the width, in bits, of the virtual field.

uvm_vreg_field_cbs

Pre/post read/write callback facade class

Summary
uvm_vreg_field_cbs
Pre/post read/write callback facade class
Class Hierarchy
uvm_vreg_field_cbs
Class Declaration
virtual class uvm_vreg_field_cbs extends uvm_callback
Types
uvm_vreg_field_cbConvenience callback type declaration
uvm_vreg_field_cb_iterConvenience callback iterator type declaration

uvm_vreg_field_cb

Convenience callback type declaration

Use this declaration to register virtual field callbacks rather than the more verbose parameterized class

uvm_vreg_field_cb_iter

Convenience callback iterator type declaration

Use this declaration to iterate over registered virtual field callbacks rather than the more verbose parameterized class

class uvm_vreg_field extends uvm_object
Virtual field abstraction class
virtual class uvm_vreg_field_cbs extends uvm_callback
Pre/post read/write callback facade class
virtual class uvm_void
The uvm_void class is the base class for all UVM classes.
virtual class uvm_object extends uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual function string get_full_name()
Get the hierarchical name
virtual function int unsigned get_lsb_pos_in_register()
Return the position of the virtual field / Returns the index of the least significant bit of the virtual field in the virtual register that instantiates it.
virtual function int unsigned get_n_bits()
Returns the width, in bits, of the virtual field.
class uvm_callback extends uvm_object
The uvm_callback class is the base class for user-defined callback classes.