分享一个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
相关推荐
千寻xun10 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
nuoxin1141 天前
HR4988替代A4988-富利威
网络·人工智能·嵌入式硬件·fpga开发·dsp开发
一口一口吃成大V1 天前
vivado的bit 和 bin的区别
fpga开发
尤老师FPGA2 天前
HDMI数据的接收发送实验(十八)
fpga开发
北京青翼科技2 天前
青翼科技 JFM7K325T FPGA+FT-M6678 DSP 的全国产化信号处理平台丨FPGA开发板
fpga开发·数据采集卡·fmc子卡·fpga开发板·ad采集卡·图像处理卡·dsp信号处理
zlinear数据采集卡2 天前
从0到1硬核拆解:工业级数据采集卡的隔离设计与Modbus通信实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
FakeOccupational3 天前
fpga系列 HDL:Microchip FPGA开发软件 Libero Soc FPGA 在线逻辑分析
fpga开发
FPGA技术联盟3 天前
如何在跨时钟域分析中处理好复位信号?
fpga开发
国科安芯3 天前
基于ASM1042S2S的箭载通信网络抗辐射加固方案研究
服务器·网络·嵌入式硬件·fpga开发·架构·信号处理
YYRAN_ZZU4 天前
Lattice 自定义IP业务逻辑核
嵌入式硬件·fpga开发