分享一个FPGA寄存器接口自动化工具

FPGA模块越写越多,规范性和可移植性却堪忧。要是有一个工具可以根据模块接口描述文件生成verilog和c头文件就好了。苦苦搜寻找到了几款免费的工具,SystemRDL、cheby和rggen。笔者学习了下cheby和reksio,reksio是gui版的cheby,这是是欧洲核子研究中心 (CERN)的控制电子和机电一体化 (CEM) 部门开源的接口生成工具,使用体验非常棒,直接看效果。

1、使用reksio图形软件描述寄存器属性

  • Noders tree面板中是寄存器的树形结构描述,可以灵活添加各种对象,如block、reg

  • Attributes面板是每个对象具有的属性,可以在此界面修改属性

  • 右下角的Children overview中是子对象的的整体预览

2、生成sv格式接口包装

使用cheby命令自动生成sv代码,sdma.sv中将axi总线命令转换成了寄存器的读写

bash 复制代码
cheby --hdl=sv --gen-hdl=sdma.sv -i sdma.yaml


3、生成c头文件

使用cheby命令自动生成c头文件代码

bash 复制代码
cheby --gen-c=sdma.h -i sdma.yaml

4、生成模块接口文档

这个功能就niub了,能直接生成接口文档,再也不用担心接口文档写错了。

复制代码
cheby --gen-doc=sdma.html -i sdma.yaml

最后,附上以上工具源码位置

复制代码
https://gitlab.cern.ch/be-cem-edl/common/cheby
https://gitlab.cern.ch/Cheburashka/reksio
相关推荐
9527华安3 小时前
FPGA实现AD9361采集转SRIO与DSP交互,FPGA+DSP多核异构信号处理架构,提供2套工程源码和技术支持
fpga开发·架构·信号处理·dsp·ad9361·多核异构
小眼睛FPGA4 小时前
【盘古100Pro+开发板实验例程】FPGA学习 | 基于紫光 FPGA 的键控 LED 流水灯
科技·学习·ai·fpga开发·fpga
hahaha60161 天前
FPGA(或者数字电路)中组合逻辑和时序逻辑是怎么划分的
fpga开发
FPGA小迷弟1 天前
京微齐力系列FPGA---- Debugware IP核使用教程!!!
物联网·fpga开发·硬件架构·verilog·fpga
乌恩大侠2 天前
USRP X440 和USRP X410 直接RF采样架构的优势
5g·fpga开发·架构·usrp·usrp x440·usrp x410
嵌入式-老费2 天前
再谈fpga开发(怎么写verilog)
fpga开发
数字芯片实验室2 天前
继FPGA之后,英特尔拆了又拆
fpga开发
Runner.DUT3 天前
基于FPGA和DDS原理的任意波形发生器(含仿真)
fpga开发
雾削木3 天前
TI 2025全国电赛猜题
fpga开发