[source]

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

function new ( string name ) [source]

Create a new instance

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

Functions

function void configure ( uvm_reg_block blk_parent, uvm_reg_file regfile_parent, string hdl_path ) [source]

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

virtual function string get_full_name ( ) [source]

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

virtual function uvm_reg_block get_parent ( ) [source]

Get the parent block. Get_parent

virtual function uvm_reg_block get_block ( ) [source]

Get_block

virtual function uvm_reg_file get_regfile ( ) [source]

Get the parent register file

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

function void clear_hdl_path ( string kind ) [source]

Delete HDL paths

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

function void add_hdl_path ( string path, string kind ) [source]

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

function bit has_hdl_path ( string kind ) [source]

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

function void get_hdl_path ( string paths, string kind ) [source]

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

function void get_full_hdl_path ( string paths, string kind, string separator ) [source]

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

function void set_default_hdl_path ( string kind ) [source]

Set the default design abstraction

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

function string get_default_hdl_path ( ) [source]

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

virtual function void do_print ( uvm_printer printer ) [source]

Do_print

virtual function string convert2string ( ) [source]

Convert2string

virtual function uvm_object clone ( ) [source]

Clone

virtual function void do_copy ( uvm_object rhs ) [source]

Do_copy

virtual function bit do_compare ( uvm_object rhs, uvm_comparer comparer ) [source]

Do_compare

virtual function void do_pack ( uvm_packer packer ) [source]

Do_pack

virtual function void do_unpack ( uvm_packer packer ) [source]

Do_unpack