FPGA开发之寄存器组管理

在FPGA工程开发过程中,通常会面临大量寄存器的管理与维护,尤其是在与软件进行相应的更新同步时会变得繁琐且耗时。在这里我想介绍一个优秀的GitHub项目,它可以根据人类可读的寄存器映射规范(代码、配置文件或者EXCEL)自动生成与配置寄存器、状态寄存器相关的源代码,例如HDL代码、UVM寄存器模型、C头文件和Wiki文档等,从而方便项目管理与同步。

RgGen, https://github.com/rggen/rggen 是一种用于ASIC/IP/FPGA/RTL的代码生成工具,它具有以下特点:

  1. 寄存器映射规范以可读的格式编写,如Ruby,YAML,JSON,TOML或电子表格(XLSX、XLS、ODS、CSV)
  2. 支持标准总线协议AMBA APB,AXI4-Lite,Wishbone
  3. 支持多种输出格式
  • SystemVerilog,Verilog,VHDL
  • UVM寄存器模型
  • C头文件
  • 用Markdown编写的寄存器映射文档

RgGen的安装

RgGen的运行需要至少Ruby3.0环境,通常有三种方式可以进行Ruby安装,这里以Ubuntu为例。

  1. 如果是Ubuntu22.04或者之后的版本,可以直接安装sudo apt install ruby-full,Ruby安装完成后,您可以使用ruby --version命令检查版本。

在Ruby安装完成后最后使用sudo gem install rggen安装RgGen。由于对verilog和VHDL的支持不是默认安装,还需执行:

$ sudo gem install rggen-verilog
$ sudo gem install rggen-vhdl

对于老版本的Ubuntu,可以选择多种方式安装ruby,这里仅以rbenv方式进行描述。

  1. 通过rbenv安装ruby。

首先使用以下命令安装 Ruby 所需的依赖项和库:

sudo apt install git curl autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev

然后使用rbenv-installer脚本可以系统上安装rbenv。
使用curl:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

或者,使用wget:

wget -q https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer -O- | bash

参考https://github.com/rbenv/rbenv-installer

完成后更新PATH环境:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

source ~/.bashrc

Rbnev 安装完成后,即可使用命令rbenv install -l列出 Ruby 版本,然后使用类似rbenv install 3.3.0的指令安装最新版本的 Ruby。如果需要将安装的 Ruby 版本设置为全局版本,可以执行命令rbenv global 3.3.0

如果要确认Ruby 的版本,可以使用以下命令ruby --version

在Ruby安装完成后最后使用sudo gem install rggen安装RgGen。由于对verilog和VHDL的支持不是默认安装,还需执行:

$ sudo gem install rggen-verilog
$ sudo gem install rggen-vhdl
  1. 使用docker直接使用RgGen,该方法只需安装docker,无需ruby的额外安装。
    docker的安装参考phoenixnap.com/kb/install-docker-on-ubuntu-20-04
    使用docker运行RgGen的流程参考这里https://hub.docker.com/r/rggendev/rggen-docker,后面的叙述将不再以docker方式为例。

RgGen的使用

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值