skillfed

systemrdl-compiler

Parse and elaborate front-end for SystemRDL 2.0

systemrdl-compiler v1.32.2 779.5K downloads/30d#5,086 on PyPI282
Permissive license MIT Active released

What it is and what it does

SystemRDL Compiler is a free, open-source front-end for Accellera's SystemRDL 2.0 register description language. It reads SystemRDL files and produces an elaborated in-memory register model that you can traverse and query programmatically. The primary use case is as a foundation for building custom register space generators—tools that produce documentation, hardware interfaces, software drivers, or verification models from a single register specification.

The package depends on antlr4-python3-runtime for parsing, colorama for terminal output, markdown for documentation rendering, and typing-extensions for type hints. It targets Python 3.7 and later, is actively maintained, and carries no known security vulnerabilities. The classifier tree marks it as Production/Stable and positions it in the Electronic Design Automation (EDA) and Code Generators categories.

Use it for:

  • Generate hardware register documentation and data sheets from a single SystemRDL source file.
  • Build custom register space view generators for FPGA or ASIC design flows.
  • Parse and validate register definitions in a CI/CD pipeline before hardware synthesis.
  • Create software register access layers (drivers, HALs) from register specifications.
  • Integrate register elaboration into larger EDA tool chains or design automation frameworks.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Parses and elaborates SystemRDL 2.0 register description language into a traversable register model, enabling custom code generation for hardware register spaces.

Yes. This is a stable, actively maintained compiler for an industry-standard register description language with no security issues and permissive licensing. Install it if you need to parse SystemRDL files or build custom register generators. Medium install friction is offset by broad platform coverage and solid maintenance signal.

Install

systemrdl-compiler on PyPI

pip

pip install systemrdl-compiler

uv

uv add systemrdl-compiler

poetry

poetry add systemrdl-compiler

Installing systemrdl-compiler

Before you install

Medium install friction due to compiled wheels across multiple platforms (cp37-abi3 stable ABI), but active maintenance with recent release (168 days ago) and 282 repository stars suggest solid upkeep.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install systemrdl-compiler

from systemrdl import RDLCompiler

compiler = RDLCompiler()
compiler.compile_file('registers.rdl')
root = compiler.elaborate()

Requires Python 3.7 or later; depends on antlr4-python3-runtime, colorama, markdown, and typing-extensions.

Verify before relying

  • Whether the elaborated register model API is stable and well-documented for custom generator development.
  • Performance characteristics when parsing large or complex register hierarchies.
  • Ecosystem maturity: how many third-party generators or tools integrate with this compiler.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies 4 — antlr4-python3-runtime, colorama, markdown, typing-extensions
Maintenance actively maintained — 168 days since the last release
Last repo commit
First released
Downloads 779,469/month — #5,086 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: systemrdl_compiler-1.32.2-cp37-abi3-macosx_11_0_arm64.whl; systemrdl_compiler-1.32.2-cp37-abi3-macosx_11_0_x86_64.whl; systemrdl_compiler-1.32.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; systemrdl_compiler-1.32.2-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; systemrdl_compiler-1.32.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; systemrdl_compiler-1.32.2-cp37-abi3-musllinux_1_2_aarch64.whl; systemrdl_compiler-1.32.2-cp37-abi3-musllinux_1_2_i686.whl; systemrdl_compiler-1.32.2-cp37-abi3-musllinux_1_2_x86_64.whl; systemrdl_compiler-1.32.2-cp37-abi3-win32.whl; systemrdl_compiler-1.32.2-cp37-abi3-win_amd64.whl

Keywords: SystemRDL, CSR, compiler, tool, registers, generator, register abstraction layer, FPGA, ASIC

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyTopic :: Scientific/Engineering :: Electronic Design Automation (EDA)Topic :: Software Development :: Code GeneratorsTopic :: Software Development :: Compilers

Tags

systemrdl compilerregister description languagehardware register generationsystemrdl parserregister abstraction layercsr compilerregister model elaboration
edaregister-designcode-generation

More Code Generators packages