寄存器File在SOC中的应用非常普遍;
CPU通過控制寄存器从而控制IC逻辑的功能软件的SDK开发几乎都是针对这些寄存器的开发;
然而寄存器的设计无论从文档角度还是代码角度都是一堆重复的工作;这些工作繁琐而易于出错;给开发过程带来了不少的困难;
本文利用excel完成寄存器文档的开发,然后通过VBA将表格转JSON格式:
- 对設计工作而言可以开发脚本从JSON转verilog文件
- 对验证工作而言,可以开发脚本从JSON转ralf文件
EXCEL表单如上图需要注意的是:
- Width内容一定要填写正确,即表礻除最高位的Reserved filed外的寄存器实际宽度;
- Field部分也要填写正确即不能不填写,只支持单个数字或a:b的格式;
- mem通常用于RALF生成RTL不会产生mem类代码;
- 建議将mem类型和reg类型分开;
- REG CLASS的各种方法对应打印RTL的不同部分(需要调用FLD的方法);
产生的RALF文件一瞥: