Skip to content
@SystemRDL

SystemRDL

Free & open-source SystemRDL tools

banner

Welcome to the SystemRDL open source community!

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 Command Line Application

PeakRDL is a command-line application that provides a ready-to-use register automation toolchain.

See the PeakRDL Documentation for more details.

Individual PeakRDL Components

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.

Be sure to also check out the growing list of tools others in the community have made.

SystemRDL language front-end compiler

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.

How do I use my proprietary register specs with PeakRDL?

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

  1. This SystemRDL GitHub group is not affiliated with Accellera.

Popular repositories

  1. systemrdl-compiler systemrdl-compiler Public

    SystemRDL 2.0 language compiler front-end

    Python 222 57

  2. PeakRDL PeakRDL Public

    Control and status register code generator toolchain

    Python 72 15

  3. PeakRDL-regblock PeakRDL-regblock Public

    Generate SystemVerilog RTL that implements a register block from compiled SystemRDL input.

    Python 46 29

  4. PeakRDL-uvm PeakRDL-uvm Public

    Generate UVM register model from compiled SystemRDL input

    Python 45 23

  5. PeakRDL-html PeakRDL-html Public

    Generate address space documentation HTML from compiled SystemRDL input

    JavaScript 44 12

  6. PeakRDL-ipxact PeakRDL-ipxact Public

    Import and export IP-XACT XML register models

    Python 31 10

Repositories

Showing 10 of 15 repositories