Class uvm_pkg::uvm_reg_indirect_data
Collaboration Diagram of uvm_reg_indirect_data
Constructors
- new(string name = "uvm_reg_indirect", int unsigned n_bits, int has_cover)
Function
new
Create an instance of this class
Should not be called directly, other than via super.new(). The value of n_bits must match the number of bits in the indirect register array.
- Parameters:
name (string)
n_bits (int unsigned)
has_cover (int)
Functions
- build()
- configure(uvm_reg idx, uvm_reg reg_a, uvm_reg_block blk_parent, uvm_reg_file regfile_parent = null)
Function
configure
Configure the indirect data register.
The idx register specifies the index, in the reg_a register array, of the register to access. The idx must be written to first. A read or write operation to this register will subsequently read or write the indexed register in the register array.
The number of bits in each register in the register array must be equal to n_bits of this register.
See uvm_reg::configure() for the remaining arguments.
- Parameters:
idx (uvm_reg)
reg_a (uvm_reg)
blk_parent (uvm_reg_block)
regfile_parent (uvm_reg_file)
- add_map(uvm_reg_map map)
- Parameters:
map (uvm_reg_map) --
Local
- do_predict(uvm_reg_item rw, uvm_predict_e kind = UVM_PREDICT_DIRECT, uvm_reg_byte_en_t be = -1)
- Parameters:
rw (uvm_reg_item)
kind (uvm_predict_e)
be (uvm_reg_byte_en_t)
- get_local_map(uvm_reg_map map, string caller = "")
- Parameters:
map (uvm_reg_map)
caller (string)
- Return type:
- add_field(uvm_reg_field field)
Just for good measure, to catch and short-circuit non-sensical uses
- Parameters:
field (uvm_reg_field)
- set(uvm_reg_data_t value, string fname = "", int lineno = 0)
- Parameters:
value (uvm_reg_data_t)
fname (string)
lineno (int)
- get(string fname = "", int lineno = 0)
- Parameters:
fname (string)
lineno (int)
- Return type:
- get_indirect_reg(string fname = "", int lineno = 0)
- Parameters:
fname (string)
lineno (int)
- Return type:
- needs_update()
Tasks
- write(uvm_status_e status, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- read(uvm_status_e status, uvm_reg_data_t value, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
value (uvm_reg_data_t)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- poke(uvm_status_e status, uvm_reg_data_t value, string kind = "", uvm_sequence_base parent = null, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
value (uvm_reg_data_t)
kind (string)
parent (uvm_sequence_base)
extension (uvm_object)
fname (string)
lineno (int)
- peek(uvm_status_e status, uvm_reg_data_t value, string kind = "", uvm_sequence_base parent = null, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
value (uvm_reg_data_t)
kind (string)
parent (uvm_sequence_base)
extension (uvm_object)
fname (string)
lineno (int)
- update(uvm_status_e status, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
- mirror(uvm_status_e status, uvm_check_e check = UVM_NO_CHECK, uvm_path_e path = UVM_DEFAULT_PATH, uvm_reg_map map = null, uvm_sequence_base parent = null, int prior = -1, uvm_object extension = null, string fname = "", int lineno = 0)
- Parameters:
status (uvm_status_e)
check (uvm_check_e)
path (uvm_path_e)
map (uvm_reg_map)
parent (uvm_sequence_base)
prior (int)
extension (uvm_object)
fname (string)
lineno (int)
CLASS
uvm_reg_indirect_data
Indirect data access abstraction class
Models the behavior of a register used to indirectly access a register array, indexed by a second address register.
This class should not be instantiated directly. A type-specific class extension should be used to provide a factory-enabled constructor and specify the n_bits and coverage models.