{"categories":[{"label":"Electronic Design Automation (EDA)","url":"https://skillfed.io/packages/category/scientific-engineering-electronic-design-automation-eda"}],"enrichment":{"capability":"Generates a Python Register Access Layer (RAL) from SystemRDL specifications, enabling programmatic access to hardware registers through Python classes and a built-in simulator.","skillfed_tags":["hardware-design","register-generation","systemrdl"],"use_cases":["Generate type-safe Python register models from SystemRDL specs for hardware verification and testing.","Build a simulator-based test harness for register behavior without connecting to real hardware.","Create a Python-based firmware interface layer that abstracts hardware register access behind generated classes.","Validate register specifications by generating executable Python code and running test suites.","Integrate hardware register definitions into Python-based design automation or verification workflows."],"what_it_does":"peakrdl-python is a code generator that transforms SystemRDL register specifications into Python classes representing a Register Access Layer. It reads a SystemRDL file (a standard hardware description format for registers) and outputs a Python package with typed classes for each register, field, and memory region, plus a built-in simulator for testing without real hardware.\n\nThe generated code provides callback-based read and write access, allowing you to plug in your own hardware communication layer or use the included simulator. It handles register arrays, memory entries, field enumerations, and other SystemRDL constructs. Recent versions (2.0+) optimize generated code size by deduplicating identical classes, and version 3.0+ refactored test generation to reduce code bloat and improve performance.","worth_installing":"Yes, if you work with SystemRDL and need Python register access. The package is actively maintained, supports modern Python versions (3.9 through 3.14), has no known vulnerabilities, and low install friction. LGPLv3 is permissive for library use. The main consideration is whether your workflow already uses SystemRDL; if not, the value depends on adopting that specification format."},"id":"peakrdl-python","links":{"html":"https://skillfed.io/packages/peakrdl-python","md":"https://skillfed.io/packages/peakrdl-python.md","pypi":"https://pypi.org/project/peakrdl-python/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-24","license_spdx":null,"license_treatment":"copyleft","name":"peakrdl-python","python_support":"supports_current","summary":"Generate Python Register Access Layer (RAL) from SystemRDL"},"popularity":{"monthly_downloads":118891,"position":12101,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"3.1.2"}
