# rdl2ot cli tool
<!--
# SPDX-FileCopyrightText: lowRISC contributors.
# SPDX-License-Identifier: Apache-2.0
-->
A PeakRDL extension to generate OpenTitan register block SystemVerilog from SystemRDL files.
## Using as a standalone tool
### How to generate the OpenTitan register interfaces from a RDL file
```sh
rdl2ot export-rtl <input_rdl> <output_dir>
```
Example:
```sh
mkdir -p /tmp/lc_ctrl
rdl2ot export-rtl tests/snapshots/lc_ctrl.rdl /tmp/lc_ctrl/
```
## Using as a PeakRDL pluggin
### Installing
```sh
pip install peakrdl rdl2ot
```
### Running
```sh
mkdir -p /tmp/lc_ctrl
peakrdl rdl2ot tests/snapshots/lc_ctrl.rdl -o /tmp/lc_ctrl/
```
## Contributing
### How to run tests
```sh
cd rdl2ot
pytest
```
Raw data
{
"_id": null,
"home_page": null,
"name": "rdl2ot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "Codegen, OpenTitan, SystemRDL",
"author": "lowRISC contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/29/7c/18042ebbe63adc602438ece4a5b05e9b8bf0b571bfacfd101bcd50ea8437/rdl2ot-0.2.0.tar.gz",
"platform": null,
"description": "# rdl2ot cli tool\n<!--\n# SPDX-FileCopyrightText: lowRISC contributors.\n# SPDX-License-Identifier: Apache-2.0\n-->\n\nA PeakRDL extension to generate OpenTitan register block SystemVerilog from SystemRDL files.\n\n## Using as a standalone tool\n### How to generate the OpenTitan register interfaces from a RDL file\n```sh\nrdl2ot export-rtl <input_rdl> <output_dir>\n```\n\nExample:\n```sh\nmkdir -p /tmp/lc_ctrl\nrdl2ot export-rtl tests/snapshots/lc_ctrl.rdl /tmp/lc_ctrl/\n```\n\n## Using as a PeakRDL pluggin \n### Installing\n```sh\npip install peakrdl rdl2ot\n```\n### Running\n```sh\nmkdir -p /tmp/lc_ctrl\npeakrdl rdl2ot tests/snapshots/lc_ctrl.rdl -o /tmp/lc_ctrl/\n```\n\n## Contributing\n### How to run tests\n```sh\ncd rdl2ot\npytest\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "An extension of PeakRDL to generate OpenTitan RTL.",
"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": [
"codegen",
" opentitan",
" systemrdl"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d8c241bff4460a05239a52298a6737f8d8ad18d0d115a2e3c6005a714e5c67d1",
"md5": "911b05212c563ac11ddde3a63a406474",
"sha256": "d05c799a7c4f6b92bd0c66372afbc47cc8270e076beb1f0b28b7139224aa0ca8"
},
"downloads": -1,
"filename": "rdl2ot-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "911b05212c563ac11ddde3a63a406474",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 19102,
"upload_time": "2025-08-22T15:51:30",
"upload_time_iso_8601": "2025-08-22T15:51:30.705398Z",
"url": "https://files.pythonhosted.org/packages/d8/c2/41bff4460a05239a52298a6737f8d8ad18d0d115a2e3c6005a714e5c67d1/rdl2ot-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "297c18042ebbe63adc602438ece4a5b05e9b8bf0b571bfacfd101bcd50ea8437",
"md5": "a7614ca1f511486f43752bcc5e0b9198",
"sha256": "12be1d7de5a4acfbd6cdcc30dfff51aa34663b659ca5232048ae230bc6707ca1"
},
"downloads": -1,
"filename": "rdl2ot-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "a7614ca1f511486f43752bcc5e0b9198",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 37067,
"upload_time": "2025-08-22T15:51:31",
"upload_time_iso_8601": "2025-08-22T15:51:31.969448Z",
"url": "https://files.pythonhosted.org/packages/29/7c/18042ebbe63adc602438ece4a5b05e9b8bf0b571bfacfd101bcd50ea8437/rdl2ot-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 15:51:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lowrisc",
"github_project": "benevisrdl",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rdl2ot"
}