Register file abstraction base class
A register file is a collection of register files and registers used to create regular repeated structures.
Register files are usually instantiated as arrays.
uvm_reg_file | ||||
Register file abstraction base class | ||||
Class Hierarchy | ||||
| ||||
Class Declaration | ||||
| ||||
Initialization | ||||
new | Create a new instance | |||
configure | Configure a register file instance | |||
Introspection | ||||
get_name | Get the simple name | |||
get_full_name | Get the hierarchical name | |||
get_parent | Get the parent block | |||
get_regfile | Get the parent register file | |||
Backdoor | ||||
clear_hdl_path | Delete HDL paths | |||
add_hdl_path | Add an HDL path | |||
has_hdl_path | Check if a HDL path is specified | |||
get_hdl_path | Get the incremental HDL path(s) | |||
get_full_hdl_path | Get the full hierarchical HDL path(s) | |||
set_default_hdl_path | Set the default design abstraction | |||
get_default_hdl_path | Get the default design abstraction |
function new ( string name = "" )
Create a new instance
Creates an instance of a register file abstraction class with the specified name.
function void configure ( uvm_reg_block blk_parent, uvm_reg_file regfile_parent, string hdl_path = "" )
Configure a register file instance
Specify the parent block and register file of the register file instance. If the register file is instantiated in a block, regfile_parent is specified as null. If the register file is instantiated in a register file, blk_parent must be the block parent of that register file and regfile_parent is specified as that register file.
If the register file corresponds to a hierarchical RTL structure, it’s contribution to the HDL path is specified as the hdl_path. Otherwise, the register file does not correspond to a hierarchical RTL structure (e.g. it is physically flattened) and does not contribute to the hierarchical HDL path of any contained registers.
Get the simple name
Return the simple object name of this register file.
virtual function string get_full_name()
Get the hierarchical name
Return the hierarchal name of this register file. The base of the hierarchical name is the root block.
virtual function uvm_reg_file get_regfile ()
Get the parent register file
Returns null if this register file is instantiated in a block.
function void clear_hdl_path ( string kind = "RTL" )
Delete HDL paths
Remove any previously specified HDL path to the register file instance for the specified design abstraction.
function void add_hdl_path ( string path, string kind = "RTL" )
Add an HDL path
Add the specified HDL path to the register file instance for the specified design abstraction. This method may be called more than once for the same design abstraction if the register file is physically duplicated in the design abstraction
function bit has_hdl_path ( string kind = "" )
Check if a HDL path is specified
Returns TRUE if the register file instance has a HDL path defined for the specified design abstraction. If no design abstraction is specified, uses the default design abstraction specified for the nearest enclosing register file or block
If no design asbtraction is specified, the default design abstraction for this register file is used.
function void get_hdl_path ( ref string paths[$], input string kind = "" )
Get the incremental HDL path(s)
Returns the HDL path(s) defined for the specified design abstraction in the register file instance. If no design abstraction is specified, uses the default design abstraction specified for the nearest enclosing register file or block. Returns only the component of the HDL paths that corresponds to the register file, not a full hierarchical path
If no design asbtraction is specified, the default design abstraction for this register file is used.
function void get_full_hdl_path ( ref string paths[$], input string kind = "", input string separator = "." )
Get the full hierarchical HDL path(s)
Returns the full hierarchical HDL path(s) defined for the specified design abstraction in the register file instance. If no design abstraction is specified, uses the default design abstraction specified for the nearest enclosing register file or block. There may be more than one path returned even if only one path was defined for the register file instance, if any of the parent components have more than one path defined for the same design abstraction
If no design asbtraction is specified, the default design abstraction for each ancestor register file or block is used to get each incremental path.
function void set_default_hdl_path ( string kind )
Set the default design abstraction
Set the default design abstraction for this register file instance.
function string get_default_hdl_path ()
Get the default design abstraction
Returns the default design abstraction for this register file instance. If a default design abstraction has not been explicitly set for this register file instance, returns the default design absraction for the nearest register file or block ancestor. Returns “” if no default design abstraction has been specified.
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
Register file abstraction base class
virtual class uvm_reg_file extends uvm_object
Create a new instance
function new ( string name = "" )
Configure a register file instance
function void configure ( uvm_reg_block blk_parent, uvm_reg_file regfile_parent, string hdl_path = "" )
Get the hierarchical name
virtual function string get_full_name()
Get the parent block
virtual function uvm_reg_block get_parent ()
Get the parent register file
virtual function uvm_reg_file get_regfile ()
Delete HDL paths
function void clear_hdl_path ( string kind = "RTL" )
Add an HDL path
function void add_hdl_path ( string path, string kind = "RTL" )
Check if a HDL path is specified
function bit has_hdl_path ( string kind = "" )
Get the incremental HDL path(s)
function void get_hdl_path ( ref string paths[$], input string kind = "" )
Get the full hierarchical HDL path(s)
function void get_full_hdl_path ( ref string paths[$], input string kind = "", input string separator = "." )
Set the default design abstraction
function void set_default_hdl_path ( string kind )
Get the default design abstraction
function string get_default_hdl_path ()