systemrdl-compiler
Parse and elaborate front-end for SystemRDL 2.0
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; depends on antlr4-python3-runtime, colorama, markdown, and typing-extensions.
- 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 · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-02-27 (168 days) · last repo commit 2026-04-10 · 282 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 779,469 downloads/mo, #5,086 on PyPI
Alternatives
Verify before relying
pip install systemrdl-compiler
from systemrdl import RDLCompiler
compiler = RDLCompiler()
compiler.compile_file('registers.rdl')
root = compiler.elaborate()- 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.
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 on it.
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
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.
Requires Python 3.7 or later; depends on antlr4-python3-runtime, colorama, markdown, and typing-extensions.
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()
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 packagesantlr4-python3-runtimecoloramamarkdowntyping-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 |
| Classifiers | 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 |
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
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “systemrdl compiler”
- systemrdl-compilerParses and elaborates SystemRDL 2.0 register description language…
- peakrdl-regblockCompiles SystemRDL register descriptions into synthesizable…
- peakrdl-systemrdlExports a compiled register model into SystemRDL code, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Code Generators packages
Proto Plus wraps protocol buffers to provide Python classes that behave like native Python types while maintaining protocol buffer serialization and schema validation.
Install it if you're working with protocol buffers in Python and want a more Pythonic interface, or if you're using Google Cloud libraries that depend on it.
Cython is a source code translator that compiles Python code to C, enabling optional static typing and direct C/C++ interoperability to generate efficient native extensions.
Install it if you need to optimize Python performance, wrap C/C++ libraries, or build fast native extensions.
Annotates Python abstract syntax trees with the positions of tokens and source code text, enabling tools to map AST nodes back to their originating code for refactoring, analysis, and transformation.
Beartype is a runtime type checker that validates Python type hints at function call time, catching type violations before they cause downstream bugs.
Install it if you want runtime type safety for your annotated code or need to validate type hints on third-party packages.
llvmlite provides a lightweight Python binding to LLVM's IR builder, optimizer, and JIT compiler APIs, enabling you to write JIT compilers and code generators without needing the full LLVM C++ API surface.
astor converts Python abstract syntax trees (ASTs) back to readable source code and provides tools for AST manipulation, inspection, and non-recursive tree traversal.
Install it if you need AST round-tripping or advanced tree inspection.
See also peakrdl-regblock · peakrdl-cli · peakrdl-systemrdl · peakrdl · peakrdl-cheader · peakrdl-ipxact · siliconcompiler · lambdalib · pyslang · xdsl