Blocks¶
-
class
uvm.reg.uvm_reg_block.UVMRegBlock(name='', has_coverage=0)[source]¶ Bases:
uvm.base.uvm_object.UVMObjectBlock abstraction base class
A block represents a design hierarchy. It can contain registers, register files, memories and sub-blocks.
A block has one or more address maps, each corresponding to a physical interface on the block.
-
m_roots: Dict[uvm.reg.uvm_reg_block.UVMRegBlock, int] = {}¶
-
id= 0¶
-
create_map(name: str, base_addr: int, n_bytes: int, endian: int, byte_addressing=True) → Optional[uvm.reg.uvm_reg_map.UVMRegMap][source]¶
-
set_default_map(_map: uvm.reg.uvm_reg_map.UVMRegMap)[source]¶
-
get_default_map() → uvm.reg.uvm_reg_map.UVMRegMap[source]¶
-
set_parent(parent: uvm.reg.uvm_reg_block.UVMRegBlock)[source]¶
-
add_block(blk: uvm.reg.uvm_reg_block.UVMRegBlock)[source]¶
-
add_map(_map: uvm.reg.uvm_reg_map.UVMRegMap)[source]¶
-
add_reg(rg: uvm.reg.uvm_reg.UVMReg)[source]¶
-
add_mem(mem: uvm.reg.uvm_mem.UVMMem)[source]¶
-
get_full_name() → str[source]¶ Objects possessing hierarchy, such as <uvm_components>, override the default implementation. Other objects might be associated with component hierarchy but are not themselves components. For example, <uvm_sequence #(REQ,RSP)> classes are typically associated with a <uvm_sequencer #(REQ,RSP)>. In this case, it is useful to override get_full_name to return the sequencer’s full name concatenated with the sequence’s name. This provides the sequence a full context, which is useful when debugging.
- Returns
The full hierarchical name of this object. The default implementation is the same as <get_name>, as uvm_objects do not inherently possess hierarchy.
- Return type
-
get_parent() → Optional[uvm.reg.uvm_reg_block.UVMRegBlock][source]¶
-
get_map_by_name(name) → Optional[uvm.reg.uvm_reg_map.UVMRegMap][source]¶
-
get_reg_by_name(name) → Optional[uvm.reg.uvm_reg.UVMReg][source]¶
-
async
mirror(status, check=0, path=3, parent=None, prior=- 1, extension=None, fname='', lineno=0)[source]¶
-