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)
Copyright 2010 Synopsys, Inc. Copyright 2010 Cadence Design Systems, Inc. Copyright 2011 Mentor Graphics Corporation All Rights Reserved Worldwide
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
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.