Python abstraction layer for registerfile access
Project description
regfile_generics
Installation
From PyPI
python3 -m pip install --upgrade regfile_generics
From source
git clone https://github.com/icglue/regfile_generics
cd regfile_generics
python3 -m pip install .
Usage
Setup Regfile and Regfile Device for Access
See tests/fixtures.py how to create a regfile by deriving from the Regfile class. Implement read/write functions and pass them (or overwrite while deriving) to an adequate RegfileDevice class.
Accessing Registers
# dict like:
regfile["reg1_high"] = {"cfg": 0x0AA, "cfg_trigger": 0x0, "cfg_trigger_mode": 0x0}
# or single field (might issue read-modify-write)
regfile["reg1_high"]["cfg"] = 0xB
# uvm like:
regfile.reg2_r.config_f.set(2)
regfile.reg2_r.update()
# write_update
regfile["reg_addr40_r"].write_update(start=1, enable_feature0=0, enable_feature1=0)
# read (can be int or dict or string context)
assert entry["cfg"] == 0x22
print(entry["cfg"])
# read entire entry to an variable, so that no further read request will be issued
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
regfile_generics-0.1.0.tar.gz
(14.5 kB
view hashes)
Built Distribution
Close
Hashes for regfile_generics-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d38b3a4886d0020d678c2d9bcbf1205e6a202ff82b7a44897bd0a1a2c0a5ed51 |
|
MD5 | b12b77a2ad01e8440b8e1bf4d8352d89 |
|
BLAKE2b-256 | ea169e35f4549b46f800099c0597001838d6fedf0bb1624e50e9db82e6d16166 |