peakrdl-svd
A PeakRDL importer plugin that reads CMSIS-SVD (System View Description) register description files and compiles them into the SystemRDL register model.
Installation
pip install peakrdl-svd
Once installed, the plugin registers itself automatically under the svd
importer name, so PeakRDL picks it up with no extra configuration.
Usage
CLI
Import an SVD file and export to another format (e.g. IP-XACT):
peakrdl ipxact path/to/device.svd -o out/
Import only a single peripheral:
peakrdl ipxact path/to/device.svd --svd-peripheral UART0 -o out/
Python API
from systemrdl import RDLCompiler
from peakrdl_svd.importer import SVDImporter
rdlc = RDLCompiler()
imp = SVDImporter(rdlc, peripheral_filter="UART0") # omit filter for full device
imp.import_file("path/to/device.svd")
root = rdlc.elaborate()
for periph in root.children():
print(periph.inst_name)
Features
- Full device or single-peripheral import via
--svd-peripheral derivedFrom— peripherals, registers, clusters, and<enumeratedValues>- Register and cluster arrays via
<dim>/<dimIncrement> - Nested clusters mapped to nested
regfilecomponents - All three SVD bit-range notations:
bitOffset+bitWidth,lsb+msb,[msb:lsb] - Default inheritance —
size,access,resetValue,resetMaskpropagate from device → peripheral → cluster → register <enumeratedValues>mapped toUserEnumencoding propertiesmodifiedWriteValuesandreadActionmapped toonwrite/onread
Development
git clone https://github.com/gkvas/peakrdl-svd
cd peakrdl-svd
pip install -e ".[dev]"
pytest
License
MIT — see LICENSE.
Metadata
Release files for peakrdl-svd 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peakrdl_svd-0.1.0.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peakrdl_svd-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.9 kB
Release files / peakrdl_svd-0.1.0.tar.gz
| Download URL | peakrdl_svd-0.1.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e83212ec16983f007691c5a689ccc7ecdac8e31ad614479c93739d0de41c7ec6
|
|
BLAKE2b-256 checksum How to use checksums |
3da9e3476805a12b6d9551636113362fb101f93900d072f567a5856c86e2f53b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 9, 2026.
Transparency logRelease files / peakrdl_svd-0.1.0-py3-none-any.whl
| Download URL | peakrdl_svd-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0caaba469d0049f615e668b469cae722b578863a3d9740588d0b0f0806a5633a
|
|
BLAKE2b-256 checksum How to use checksums |
b4bc923eb12c48bdf78323adcac228efc33a8caae199a950cdffa5d5c4ae87e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 9, 2026.
Transparency log