分享一个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
相关推荐
北京青翼科技10 小时前
青翼科技PCIe总线架构的2路10G光纤通道适配器丨数据采集卡丨PCIe接口板卡 2 路 SFP+光纤收发器
fpga开发·采集卡·fpga板卡·pcie接口·多功能板卡
9527华安11 小时前
2026年FPGA就业培训,临时抱佛脚版本
fpga开发
水云桐程序员11 小时前
Quartus II集成开发环境 |FPGA
笔记·fpga开发·硬件工程·创业创新
XINVRY-FPGA2 天前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
Terasic友晶科技2 天前
【案例展示】友晶科技全息传感器桥接解决方案
科技·fpga开发·holoscan·agilex 5·terasic
学习永无止境@2 天前
Verilog中有符号数计算
图像处理·算法·fpga开发
学习永无止境@2 天前
Sobel边缘检测的MATLAB实现
图像处理·opencv·算法·计算机视觉·fpga开发
fei_sun2 天前
数字芯片流程
fpga开发
YaraMemo2 天前
射频链的构成
5g·fpga开发·信息与通信·信号处理·射频工程
fei_sun2 天前
逻辑设计工程技术基础
fpga开发