# {py:mod}`pyuvm._reg.uvm_vreg` ```{py:module} pyuvm._reg.uvm_vreg ``` ```{autodoc2-docstring} pyuvm._reg.uvm_vreg :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`uvm_vreg ` - * - {py:obj}`uvm_vreg_cbs ` - * - {py:obj}`uvm_vreg_cb ` - * - {py:obj}`uvm_vreg_cb_iter ` - ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cb_iter :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: pyuvm._reg.uvm_vreg.__all__ :value: > ['uvm_vreg', 'uvm_vreg_cbs', 'uvm_vreg_cb', 'uvm_vreg_cb_iter'] ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.__all__ ``` ```` `````{py:class} uvm_vreg(name: str, n_bits: int) :canonical: pyuvm._reg.uvm_vreg.uvm_vreg Bases: {py:obj}`pyuvm._s05_base_classes.uvm_object` ````{py:method} configure(parent: pyuvm._reg.uvm_reg_block.uvm_reg_block, mem: pyuvm._reg.uvm_mem.uvm_mem = None, size: int = 0, offset: pyuvm._reg.uvm_reg_model.uvm_reg_addr_t = 0, incr: int = 0) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.configure :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.configure ``` ```` ````{py:method} implement(mem: pyuvm._reg.uvm_mem.uvm_mem = None, offset: pyuvm._reg.uvm_reg_model.uvm_reg_addr_t = 0, incr: int = 0) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.implement :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.implement ``` ```` ````{py:method} allocate(n: int, mam: pyuvm._reg.uvm_mem_mam.uvm_mem_mam, alloc: pyuvm._reg.uvm_mem_mam.uvm_mem_mam_policy = None) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.allocate :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.allocate ``` ```` ````{py:method} get_region() -> pyuvm._reg.uvm_mem_mam.uvm_mem_region :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_region :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_region ``` ```` ````{py:method} release_region() -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.release_region :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.release_region ``` ```` ````{py:method} get_full_name() -> str :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_full_name :abstractmethod: ```` ````{py:method} get_parent() -> pyuvm._reg.uvm_reg_block.uvm_reg_block :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_parent :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_parent ``` ```` ````{py:method} get_block() -> pyuvm._reg.uvm_reg_block.uvm_reg_block :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_block :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_block ``` ```` ````{py:method} get_memory() -> pyuvm._reg.uvm_mem.uvm_mem :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_memory :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_memory ``` ```` ````{py:method} get_n_maps() -> int :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_n_maps :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_n_maps ``` ```` ````{py:method} is_in_map(map: pyuvm._reg.uvm_reg_map.uvm_reg_map) -> bool :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.is_in_map :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.is_in_map ``` ```` ````{py:method} get_maps(maps: list[pyuvm._reg.uvm_reg_map.uvm_reg_map]) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_maps :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_maps ``` ```` ````{py:method} get_rights(map: pyuvm._reg.uvm_reg_map.uvm_reg_map = None) -> str :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_rights :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_rights ``` ```` ````{py:method} get_access(map: pyuvm._reg.uvm_reg_map.uvm_reg_map = None) -> str :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_access :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_access ``` ```` ````{py:method} get_size() -> int :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_size :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_size ``` ```` ````{py:method} get_n_bytes() -> int :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_n_bytes :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_n_bytes ``` ```` ````{py:method} get_incr() -> int :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_incr :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_incr ``` ```` ````{py:method} get_n_memlocs() -> int :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_n_memlocs :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_n_memlocs ``` ```` ````{py:method} get_fields(fields: list[pyuvm._reg.uvm_vreg_field.uvm_vreg_field]) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_fields :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_fields ``` ```` ````{py:method} get_field_by_name(name: str) -> pyuvm._reg.uvm_vreg_field.uvm_vreg_field :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_field_by_name :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_field_by_name ``` ```` ````{py:method} get_offset_in_memory(idx: int) -> pyuvm._reg.uvm_reg_model.uvm_reg_addr_t :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_offset_in_memory :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_offset_in_memory ``` ```` ````{py:method} get_address(idx: int, map: pyuvm._reg.uvm_reg_map.uvm_reg_map = None) -> pyuvm._reg.uvm_reg_model.uvm_reg_addr_t :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.get_address :abstractmethod: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.get_address ``` ```` ````{py:method} write(idx: int, value: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e = uvm_door_e.UVM_DEFAULT_DOOR, map: pyuvm._reg.uvm_reg_map.uvm_reg_map = None, parent: pyuvm._s14_15_python_sequences.uvm_sequence_base = None, extension: pyuvm._s05_base_classes.uvm_object = None, fname: str = '', lineno: int = 0) -> pyuvm._reg.uvm_reg_model.uvm_status_e :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.write :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.write ``` ```` ````{py:method} read(idx: int, path: pyuvm._reg.uvm_reg_model.uvm_door_e = uvm_door_e.UVM_DEFAULT_DOOR, map: pyuvm._reg.uvm_reg_map.uvm_reg_map = None, parent: pyuvm._s14_15_python_sequences.uvm_sequence_base = None, extension: pyuvm._s05_base_classes.uvm_object = None, fname: str = '', lineno: int = 0) -> tuple[pyuvm._reg.uvm_reg_model.uvm_status_e, pyuvm._reg.uvm_reg_model.uvm_reg_data_t] :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.read :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.read ``` ```` ````{py:method} poke(idx: int, value: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, parent: pyuvm._s14_15_python_sequences.uvm_sequence_base = None, extension: pyuvm._s05_base_classes.uvm_object = None, fname: str = '', lineno: int = 0) -> pyuvm._reg.uvm_reg_model.uvm_status_e :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.poke :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.poke ``` ```` ````{py:method} peek(idx: int, parent: pyuvm._s14_15_python_sequences.uvm_sequence_base = None, extension: pyuvm._s05_base_classes.uvm_object = None, fname: str = '', lineno: int = 0) -> tuple[pyuvm._reg.uvm_reg_model.uvm_status_e, pyuvm._reg.uvm_reg_model.uvm_reg_data_t] :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.peek :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.peek ``` ```` ````{py:method} pre_write(idx: int, wdata: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.pre_write :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.pre_write ``` ```` ````{py:method} post_write(idx: int, wdat: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map, status: pyuvm._reg.uvm_reg_model.uvm_status_e) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.post_write :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.post_write ``` ```` ````{py:method} pre_read(idx: int, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.pre_read :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.pre_read ``` ```` ````{py:method} post_read(idx: int, rdat: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map, status: pyuvm._reg.uvm_reg_model.uvm_status_e) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg.post_read :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg.post_read ``` ```` ````` `````{py:class} uvm_vreg_cbs(name: str = 'uvm_vreg_cbs') :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cbs Bases: {py:obj}`pyuvm._s10_synchronization_classes.uvm_callback` ````{py:method} pre_write(rg: pyuvm._reg.uvm_vreg.uvm_vreg, idx: int, wdat: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cbs.pre_write :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cbs.pre_write ``` ```` ````{py:method} post_write(rg: pyuvm._reg.uvm_vreg.uvm_vreg, idx: int, wdat: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map, status: pyuvm._reg.uvm_reg_model.uvm_status_e) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cbs.post_write :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cbs.post_write ``` ```` ````{py:method} pre_read(rg: pyuvm._reg.uvm_vreg.uvm_vreg, idx: int, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cbs.pre_read :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cbs.pre_read ``` ```` ````{py:method} post_read(rg: pyuvm._reg.uvm_vreg.uvm_vreg, idx: int, rdat: pyuvm._reg.uvm_reg_model.uvm_reg_data_t, path: pyuvm._reg.uvm_reg_model.uvm_door_e, map: pyuvm._reg.uvm_reg_map.uvm_reg_map, status: pyuvm._reg.uvm_reg_model.uvm_status_e) -> None :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cbs.post_read :abstractmethod: :async: ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cbs.post_read ``` ```` ````` ```{py:class} uvm_vreg_cb(name: str = 'uvm_callbacks') :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cb Bases: {py:obj}`pyuvm._s10_synchronization_classes.uvm_callbacks` ``` ````{py:class} uvm_vreg_cb_iter(obj: type[pyuvm._s05_base_classes.uvm_object] | pyuvm._s05_base_classes.uvm_object) :canonical: pyuvm._reg.uvm_vreg.uvm_vreg_cb_iter Bases: {py:obj}`pyuvm._s10_synchronization_classes.uvm_callback_iter` ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cb_iter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} pyuvm._reg.uvm_vreg.uvm_vreg_cb_iter.__init__ ``` ````