0.0
The project is in a healthy, maintained state
SystemRDL loader plugin for RgGen
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 0.2.0
 Project Readme

Gem Version CI Discord

RgGen::SystemRDL

RgGen::SystemRDL is a RgGen plugin to load register map descriptions written in SystemRDL 2.0.

Installation

To install RgGen::SystemRDL, use the following command:

$ gem install rggen-systemrdl

Usage

You need to tell RgGen to load the RgGen::SystemRDL plugin. There are two ways.

Using the --plugin runtime option

$ rggen --plugin rggen-systemrdl your_register_map.rdl

Using the RGGEN_PLUGINS environment variable

$ export RGGEN_PLUGINS=${RGGEN_PLUGINS}:rggen-systemrdl
$ rggen your_register_map.rdl

Supported features and limitations

The plugin converts SystemRDL addrmap, regfile, reg, field, and mem components into the corresponding RgGen register map layers, including a wide range of field access types. Some SystemRDL constructs have no corresponding concept in RgGen. These are not supported and cause an error.

For the detailed component-to-layer correspondence, the full SystemRDL-property to RgGen-type mapping, and the complete list of unsupported constructs with the reasons behind each decision, see the design notes:

Precedence handling

RgGen fixes precedence to hardware, whereas SystemRDL's precedence is variable and defaults to software. A field is therefore rejected unless its precedence is explicitly set to hw.

To accept a SystemRDL description without changing it, set the ignore_precedence configuration option (default false) to true. Then the precedence property in the SystemRDL description is ignored and every field is treated as hardware precedence.

Contact

Feedbacks, bug reports, questions and etc. are welcome! You can post them by using the following ways:

Copyright & License

Copyright © 2026 Taichi Ishitani. RgGen::SystemRDL is licensed under the MIT License, see LICENSE for further details.