分享一个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
相关推荐
FPGA小徐16 小时前
数字IC/FPGA设计基础_ILA原理与使用
fpga开发
FPGA小徐17 小时前
FPGA 部署 YOLO 完整指南:从模型量化到 Zynq PS+PL 硬件加速
yolo·fpga开发
dadaobusi1 天前
学习:chiesel,scala
学习·fpga开发·scala
爱吃汽的小橘1 天前
异步FIFO核心揭秘:格雷码与指针同步
fpga开发
璞致电子1 天前
基于 P201Pro | 接收端基础知识——Costas环锁定后为何仍会错?DQPSK与前导码相位校正(6)
经验分享·fpga开发·ad9361·软件无线电·sdr·qpsk·pzsdr
璞致电子2 天前
基于 AD9361 (PZSDR‑P201Pro) 软件无线电实战综述:从板卡选型、硬件平台升级到 GNU Radio QPSK 完整收发链路
经验分享·嵌入式硬件·fpga开发·软件无线电·sdr·璞致电子
炎龙铠甲会合体2 天前
从 SPEC 到上板:在 Zynq-7020 上用 RTL 手写一个 YOLO 卷积加速器(完整教程)
yolo·fpga开发·axi·芯片验证
FPGA小徐2 天前
Vivado 按键消抖与复位模块代码修复详解:KEY_TOP、key、rst_gen 完整实战
fpga开发
炎龙铠甲会合体2 天前
AXI2ICACHE— AXI4-Full 四路组相联指令 Cache 设计与 UVM 验证
fpga开发·面试·芯片验证
bingcheby2 天前
FMQL15/20/45 (复旦微青龙系列 PSOC)新手使用说明
fpga开发