[source]

Class uvm_pkg::uvm_reg_file

CLASS

uvm_reg_file

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.

Constructors

new(string name = "")

Function

new

Create a new instance

Creates an instance of a register file abstraction class with the specified name. New

Parameters:

name (string)

Functions

configure(uvm_reg_block blk_parent, uvm_reg_file regfile_parent, string hdl_path = "")

Function

configure

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, its 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. Configure

Parameters:
get_full_name()

Function

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. Get_full_name

get_parent()

Function

get_parent

Get the parent block. Get_parent

Return type:

uvm_reg_block

get_block()

Get_block

Return type:

uvm_reg_block

get_regfile()

Function

get_regfile

Get the parent register file

Returns null if this register file is instantiated in a block. Get_regfile

Return type:

uvm_reg_file

clear_hdl_path(string kind = "RTL")

Function

clear_hdl_path

Delete HDL paths

Remove any previously specified HDL path to the register file instance for the specified design abstraction. Clear_hdl_path

Parameters:

kind (string)

add_hdl_path(string path, string kind = "RTL")

Function

add_hdl_path

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. Add_hdl_path

Parameters:
  • path (string)

  • kind (string)

has_hdl_path(string kind = "")

Function

has_hdl_path

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 abstraction is specified, the default design abstraction for this register file is used. Has_hdl_path

Parameters:

kind (string)

get_hdl_path(string paths, string kind = "")

Function

get_hdl_path

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 abstraction is specified, the default design abstraction for this register file is used. Get_hdl_path

Parameters:
  • paths (string)

  • kind (string)

get_full_hdl_path(string paths, string kind = "", string separator = ".")

Function

get_full_hdl_path

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 abstraction is specified, the default design abstraction for each ancestor register file or block is used to get each incremental path. Get_full_hdl_path

Parameters:
  • paths (string)

  • kind (string)

  • separator (string)

set_default_hdl_path(string kind)

Function

set_default_hdl_path

Set the default design abstraction

Set the default design abstraction for this register file instance. Set_default_hdl_path

Parameters:

kind (string)

get_default_hdl_path()

Function

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 abstraction for the nearest register file or block ancestor. Returns "" if no default design abstraction has been specified. Get_default_hdl_path

do_print(uvm_printer printer)

Do_print

Parameters:

printer (uvm_printer)

convert2string()

Convert2string

clone()

Clone

Return type:

uvm_object

do_copy(uvm_object rhs)

Do_copy

Parameters:

rhs (uvm_object)

do_compare(uvm_object rhs, uvm_comparer comparer)

Do_compare

Parameters:
do_pack(uvm_packer packer)

Do_pack

Parameters:

packer (uvm_packer)

do_unpack(uvm_packer packer)

Do_unpack

Parameters:

packer (uvm_packer)