regfile-generics


Nameregfile-generics JSON
Version 0.1.0 PyPI version JSON
download
home_page
SummaryPython abstraction layer for registerfile access
upload_time2023-07-28 07:51:21
maintainer
docs_urlNone
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"
}
        
Elapsed time: 0.37507s