分享一个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
相关推荐
星夜离尘5612 小时前
FPGA 32 位字拆成 8 位字节:keep、last 与 ready/valid 背压下的多拍序列化
fpga开发·verilog
花月mmc2 天前
【FPGA】神经网络内容简介预告
嵌入式硬件·深度学习·神经网络·fpga开发
LabVIEW开发4 天前
LabVIEW FPGA 编程:少编译几次的办法(系列 04/05)
fpga开发·labview
cmc10284 天前
318.关于在ip内部封装PLL,MMCM的注意事项
fpga开发
LabVIEW开发4 天前
LabVIEW CompactRIO 编程模式怎么选(系列 02/05)
fpga开发·labview
FPGA小迷弟5 天前
FPGA 与千兆以太网校验和:从原理到 Verilog 实现
嵌入式硬件·fpga开发·无人机·ai编程·fpga
码农小韩5 天前
FPGA学习(二)——LED闪烁
fpga开发·verilog·fpga·led·组合逻辑·分频设计
9527华安6 天前
FPGA纯verilog实现DP视频接口,支持2K60帧分辨率,提供3套工程源码和技术支持
fpga开发·音视频·dp
ChaseVLSI7 天前
FPGA与ASIC的区别详解:内部结构、开发成本与适用场景,项目选型到底该选哪个
嵌入式硬件·fpga开发·硬件架构·硬件工程
9527华安8 天前
FPGA实现ARINC818总线协议,基于GT Transceivers Wizard高速收发器,提供7套工程源码和技术支持
fpga开发·transceivers·arinc818