The goal of this GitHub organization is to build high-quality free and open-source tools for control & status register (CSR) automation, and to promote Accellera's SystemRDL as the language of choice for CSR design entry. 1
If you are new to SystemRDL, check out this quick language tutorial.
PeakRDL is a command-line application that provides a ready-to-use register automation toolchain.
See the PeakRDL Documentation for more details.
If the command line tool isn't your style, you can use the PeakRDL components individually. Each component is installable as a separate Python package and has a documented API you can use to integrate it into your own custom workflow.
- PeakRDL-regblock generates synthesizable SystemVerilog RTL.
- PeakRDL-html produces intuitive and dynamic HTML documentation.
- PeakRDL-uvm generates a UVM register model.
- PeakRDL-ipxact lets you import and export IP-XACT XML.
- PeakRDL-cheader outputs a software abstraction layer C header.
Be sure to also check out the growing list of tools others in the community have made.
Need to build something custom? Don't invent your own janky input format - Use SystemRDL! The SystemRDL compiler front-end handles all the heavy-lifting of processing the SystemRDL language so you don't have to. The compiler provides a rich and intuitive Python API that you can use for your own custom register automation.
See the SystemRDL Compiler Documentation for more details.
If you are just ramping up the use of SystemRDL and still need to support other internal register spec formats, it is pretty easy to create an importer to help transition your workflow from non-SystemRDL spec formats.
To learn how this works, check out the tutorial on PeakRDL importer plugins.
Footnotes
-
This SystemRDL GitHub group is not affiliated with Accellera. ↩