rdlexporter


Namerdlexporter JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryLibrary to export rdl files
upload_time2025-08-22 15:51:33
maintainerNone
docs_urlNone
authorlowRISC contributors
requires_python>=3.10
licenseNone
keywords systemrdl exporter library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # rdlexporter
<!--
# SPDX-FileCopyrightText: lowRISC contributors.
# SPDX-License-Identifier: Apache-2.0
-->

A library to generate SystemRDL files from the Hierarchical Register Model.

How to use it: 
```sh
uv pip install rdlexporter
```
Example:
```python
from rdlexporter import RdlExporter
from systemrdl import RDLCompiler, RDLImporter
from systemrdl.rdltypes import AccessType

rdlc = RDLCompiler()

imp = RDLImporter(rdlc)
imp.default_src_ref = None

addrmap = imp.create_addrmap_definition("generic")

field_en = imp.create_field_definition("EN")
field_en = imp.instantiate_field(field_en, "EN", 0, 1)
imp.assign_property(field_en, "reset", 0x00)
imp.assign_property(field_en, "swmod", value=True)
imp.assign_property(field_en, "desc", "Enable the ip")

imp.assign_property(field_mode, "reset", 0x7)
imp.assign_property(field_mode, "desc", "Define the mode.")
imp.assign_property(field_mode, "sw", AccessType.rw)

reg = imp.create_reg_definition("CTRL")
imp.add_child(reg, field_en)
imp.add_child(reg, field_mode)

reg = imp.instantiate_reg(reg, "CTRL", 0x04, [4], 0x04)
imp.add_child(addrmap, reg)

imp.register_root_component(addrmap)
RdlExporter(rdlc).export("./generic.rdl")
```

## Contributing
### How to run tests
```sh
cd rdlexporter
uv run pytest
```

### How to build the package and install it locally
Install dev dependencies
```sh
uv sync --all-extras 
```
Build package
```sh
uv build --all
```
Install the package locally
```sh
uv pip install dist/rdlexporter-0.1.0-py3-none-any.whl
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rdlexporter",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "SystemRDL, exporter, library",
    "author": "lowRISC contributors",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/81/e7/286b3443cbb955095d223b18a3612dd1825f347c0e4ad2e01314d2dcc589/rdlexporter-0.2.0.tar.gz",
    "platform": null,
    "description": "# rdlexporter\n<!--\n# SPDX-FileCopyrightText: lowRISC contributors.\n# SPDX-License-Identifier: Apache-2.0\n-->\n\nA library to generate SystemRDL files from the Hierarchical Register Model.\n\nHow to use it: \n```sh\nuv pip install rdlexporter\n```\nExample:\n```python\nfrom rdlexporter import RdlExporter\nfrom systemrdl import RDLCompiler, RDLImporter\nfrom systemrdl.rdltypes import AccessType\n\nrdlc = RDLCompiler()\n\nimp = RDLImporter(rdlc)\nimp.default_src_ref = None\n\naddrmap = imp.create_addrmap_definition(\"generic\")\n\nfield_en = imp.create_field_definition(\"EN\")\nfield_en = imp.instantiate_field(field_en, \"EN\", 0, 1)\nimp.assign_property(field_en, \"reset\", 0x00)\nimp.assign_property(field_en, \"swmod\", value=True)\nimp.assign_property(field_en, \"desc\", \"Enable the ip\")\n\nimp.assign_property(field_mode, \"reset\", 0x7)\nimp.assign_property(field_mode, \"desc\", \"Define the mode.\")\nimp.assign_property(field_mode, \"sw\", AccessType.rw)\n\nreg = imp.create_reg_definition(\"CTRL\")\nimp.add_child(reg, field_en)\nimp.add_child(reg, field_mode)\n\nreg = imp.instantiate_reg(reg, \"CTRL\", 0x04, [4], 0x04)\nimp.add_child(addrmap, reg)\n\nimp.register_root_component(addrmap)\nRdlExporter(rdlc).export(\"./generic.rdl\")\n```\n\n## Contributing\n### How to run tests\n```sh\ncd rdlexporter\nuv run pytest\n```\n\n### How to build the package and install it locally\nInstall dev dependencies\n```sh\nuv sync --all-extras \n```\nBuild package\n```sh\nuv build --all\n```\nInstall the package locally\n```sh\nuv pip install dist/rdlexporter-0.1.0-py3-none-any.whl\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Library to export rdl files",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://github.com/lowrisc/benevisrdl",
        "Homepage": "https://github.com/lowrisc/benevisrdl",
        "Issues": "https://github.com/lowrisc/benevisrdl/issues"
    },
    "split_keywords": [
        "systemrdl",
        " exporter",
        " library"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6fe427bbadacbf88c3f515f15fbc177738898a63bbeec3fad8965244cb748be2",
                "md5": "0e1572022001fb72ae44344edfd1776e",
                "sha256": "38d2dbdda140d9d6aa2977aa49a8857b564a011dd79f774afa50d9b8ebb2ec17"
            },
            "downloads": -1,
            "filename": "rdlexporter-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0e1572022001fb72ae44344edfd1776e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 4595,
            "upload_time": "2025-08-22T15:51:32",
            "upload_time_iso_8601": "2025-08-22T15:51:32.685841Z",
            "url": "https://files.pythonhosted.org/packages/6f/e4/27bbadacbf88c3f515f15fbc177738898a63bbeec3fad8965244cb748be2/rdlexporter-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "81e7286b3443cbb955095d223b18a3612dd1825f347c0e4ad2e01314d2dcc589",
                "md5": "c1b4816cbd2f32f2e3f5f936f338d68c",
                "sha256": "b20af613f7fe81115ae6a948bd8f4752a8a7adc97594e6689c2703f53cd03b3e"
            },
            "downloads": -1,
            "filename": "rdlexporter-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c1b4816cbd2f32f2e3f5f936f338d68c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 10996,
            "upload_time": "2025-08-22T15:51:33",
            "upload_time_iso_8601": "2025-08-22T15:51:33.839658Z",
            "url": "https://files.pythonhosted.org/packages/81/e7/286b3443cbb955095d223b18a3612dd1825f347c0e4ad2e01314d2dcc589/rdlexporter-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-22 15:51:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lowrisc",
    "github_project": "benevisrdl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rdlexporter"
}
        
Elapsed time: 1.02215s