Name | regfile-generics JSON |
Version |
0.1.0
JSON |
| download |
home_page | |
Summary | Python abstraction layer for registerfile access |
upload_time | 2023-07-28 07:51:21 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | |
keywords |
registerfile
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
# regfile\_generics
[![BSD License][bsdlicense-button]][bsdlicense]
[![Build Status][build-button]][build]
[![Coverage Status][codecov-button]][codecov]
[![Code style: black][black-button]][black]
[bsdlicense-button]: https://img.shields.io/github/license/icglue/regfile_generics
[bsdlicense]: https://opensource.org/license/bsd-2-clause/
[build-button]: https://github.com/icglue/regfile_generics/workflows/CI/badge.svg?event=push
[build]: https://github.com/icglue/regfile_generics/actions?query=workflow%3ACI+event%3Apush
[codecov-button]: https://codecov.io/gh/icglue/regfile_generics/branch/master/graph/badge.svg
[codecov]: https://codecov.io/gh/icglue/regfile_generics/tree/master
[black-button]: https://img.shields.io/badge/code%20style-black-000000.svg
[black]: https://github.com/psf/black
## Installation
### From PyPI
```bash
python3 -m pip install --upgrade regfile_generics
```
### From source
```bash
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](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](src/regfile_generics/regfile_device.py) class.
## Accessing Registers
```python
# 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
```
Raw data
{
"_id": null,
"home_page": "",
"name": "regfile-generics",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Felix Neum\u00e4rker <felix.neumaerker@icglue.org>, Andreas Dixius <andreas.dixius@icglue.org>",
"keywords": "registerfile",
"author": "",
"author_email": "Felix Neum\u00e4rker <felix.neumaerker@icglue.org>, Andreas Dixius <andreas.dixius@icglue.org>",
"download_url": "https://files.pythonhosted.org/packages/92/82/61246afebfbad4da08532f3ca61d923bb8b31ff6d0e62b6911d031f3e80c/regfile_generics-0.1.0.tar.gz",
"platform": null,
"description": "# regfile\\_generics\n\n[![BSD License][bsdlicense-button]][bsdlicense]\n[![Build Status][build-button]][build]\n[![Coverage Status][codecov-button]][codecov]\n[![Code style: black][black-button]][black]\n\n[bsdlicense-button]: https://img.shields.io/github/license/icglue/regfile_generics\n[bsdlicense]: https://opensource.org/license/bsd-2-clause/\n[build-button]: https://github.com/icglue/regfile_generics/workflows/CI/badge.svg?event=push\n[build]: https://github.com/icglue/regfile_generics/actions?query=workflow%3ACI+event%3Apush\n[codecov-button]: https://codecov.io/gh/icglue/regfile_generics/branch/master/graph/badge.svg\n[codecov]: https://codecov.io/gh/icglue/regfile_generics/tree/master\n[black-button]: https://img.shields.io/badge/code%20style-black-000000.svg\n[black]: https://github.com/psf/black\n\n## Installation\n\n### From PyPI\n\n```bash\npython3 -m pip install --upgrade regfile_generics\n```\n\n### From source\n\n```bash\ngit clone https://github.com/icglue/regfile_generics\ncd regfile_generics\npython3 -m pip install .\n```\n\n## Usage\n\n## Setup Regfile and Regfile Device for Access\n\nSee [tests/fixtures.py](tests/fixtures.py) how to create a regfile by deriving from the Regfile class.\nImplement read/write functions and pass them (or overwrite while deriving) to an adequate [RegfileDevice](src/regfile_generics/regfile_device.py) class.\n\n## Accessing Registers\n\n```python\n # dict like:\n regfile[\"reg1_high\"] = {\"cfg\": 0x0AA, \"cfg_trigger\": 0x0, \"cfg_trigger_mode\": 0x0}\n # or single field (might issue read-modify-write)\n regfile[\"reg1_high\"][\"cfg\"] = 0xB\n\n # uvm like:\n regfile.reg2_r.config_f.set(2)\n regfile.reg2_r.update()\n\n # write_update\n regfile[\"reg_addr40_r\"].write_update(start=1, enable_feature0=0, enable_feature1=0)\n\n # read (can be int or dict or string context)\n assert entry[\"cfg\"] == 0x22\n print(entry[\"cfg\"])\n\n # read entire entry to an variable, so that no further read request will be issued\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Python abstraction layer for registerfile access",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/icglue/regfile_generics"
},
"split_keywords": [
"registerfile"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea169e35f4549b46f800099c0597001838d6fedf0bb1624e50e9db82e6d16166",
"md5": "b12b77a2ad01e8440b8e1bf4d8352d89",
"sha256": "d38b3a4886d0020d678c2d9bcbf1205e6a202ff82b7a44897bd0a1a2c0a5ed51"
},
"downloads": -1,
"filename": "regfile_generics-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b12b77a2ad01e8440b8e1bf4d8352d89",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 12647,
"upload_time": "2023-07-28T07:51:20",
"upload_time_iso_8601": "2023-07-28T07:51:20.382627Z",
"url": "https://files.pythonhosted.org/packages/ea/16/9e35f4549b46f800099c0597001838d6fedf0bb1624e50e9db82e6d16166/regfile_generics-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "928261246afebfbad4da08532f3ca61d923bb8b31ff6d0e62b6911d031f3e80c",
"md5": "67b4bb787598136eb1af4e1326ef64a5",
"sha256": "420158ed715511d8cf23dad3f91fde5fdff19c9bb6f61f403886c89dec9fd2a2"
},
"downloads": -1,
"filename": "regfile_generics-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "67b4bb787598136eb1af4e1326ef64a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14548,
"upload_time": "2023-07-28T07:51:21",
"upload_time_iso_8601": "2023-07-28T07:51:21.293207Z",
"url": "https://files.pythonhosted.org/packages/92/82/61246afebfbad4da08532f3ca61d923bb8b31ff6d0e62b6911d031f3e80c/regfile_generics-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-28 07:51:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "icglue",
"github_project": "regfile_generics",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "regfile-generics"
}