rggen by taichi-ishitani

Code generation tool for control/status registers in a SoC design

Gem Version Build Status Maintainability codecov Join the chat at https://gitter.im/taichi-ishitani/rggen


RgGen is a code generator tool for SoC/IP/FPGA/RTL engineers. It will automatically generate source code for control/status registers, e.g. RTL, UVM RAL model, C header file, from its register map document. Also RgGen is customizable so you can build your specific generate tool.


RgGen is written in the Ruby programing language and supports version 2.3 or later. If you don't have above version of Ruby, you need to install the Ruby at first. To install the Ruby, see this page.


To install RgGen and required libraries, use the following command:

$ gem install rggen

RgGen will be installed under your system root.

If you want to install them on other location, you need to specify the install directory and set the GEM_PATH environment variable like below:

$ gem install --install-dir YOUR_INSTALL_DIRECTORY rggen


See this page


After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.


If you have any questions, problems, ideas or somethings, you can post them on the following ways:

  1. Issue tracker
  2. Chat room
  3. Mail


Bug reports and pull requests are welcome on GitHub at https://github.com/taichi-ishitani/rggen. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.


Copyright © 2015-2018 Taichi Ishitani. See LICENSE.txt for further details.

The MIT License (MIT) Copyright (c) 2015-2017 Taichi Ishitani Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Project Meta

  • Registered 2 years ago
  • Started 4 years ago
  • Last commit 2 years ago



Commits per year



Unique contributors per year


v0.8.2 is is the latest of 25 releases.

  • v0.8.2
    May 26, 2019 99eebc1
  • v0.8.1
    May 15, 2019 9b4cdf3
  • v0.8.0
    Jan 31, 2019 0f79434
  • v0.7.2
    Jan 14, 2019 6e51324
  • v0.7.1
    Dec 20, 2018 decf093
  • v0.7.0
    Dec 20, 2018 7e53c9c
  • v0.6.4
    Feb 9, 2018 5a7e432
  • v0.6.3
    Jun 6, 2017 4b624dc
  • v0.6.2
    Jun 2, 2017 f0d1341
  • v0.6.1
    May 31, 2017 d326cd3
  • v0.6.0
    May 25, 2017 8ad8711
  • v0.5.1
    Apr 26, 2017 8c02ae0
  • v0.5.0
    Apr 26, 2017 245d0fa
  • v0.4.4
    Nov 14, 2016 0207d10
  • v0.4.3
    Aug 23, 2016 25f8d54
  • v0.4.2
    Jul 14, 2016 85c072b
  • v0.4.1
    Jun 7, 2016 5bb2485
  • v0.4.0
    May 24, 2016 5cfa1ea
  • v0.3.3
    Apr 20, 2016 fdbfbee
  • v0.3.2
    Apr 15, 2016 3c2efec
  • v0.3.1
    Apr 14, 2016 a0d7622
  • v0.3.0
    Apr 13, 2016 c9c50e0
  • v0.2.0
    Apr 12, 2016 7b1d99a
  • v0.1.1
    Jan 26, 2016 67d3950
  • v0.1.0
    Dec 15, 2015 3ee8184



Share of languages used

Data Sheet
Project Web Site
Issue Tracker
Last updated 19 days ago
v0.8.2 released 23 days ago
Language: Ruby
3 open issues
3 forks
6 watchers
14 stars
802 commits by 3 contributors
taichi taichi Taichi Ishitani

Activity in last 1 year

Updated 18 days ago