前言
本文以组织一个系统(或模块)寄存器为例,进行寄存器与ral生成相关的全流程展示。内容包括如下几个部分:
-
寄存器文档组织
-
描述文件与辅助RTL代码结构
-
ralf/ral/rtl文件代码结构
-
UVM RAL访问环境组织
寄存器文档组织
在windows路径下组织寄存器文档,格式为excel表格。文档命名需要与系统名保持一致,如本次demo的模块名为REG_PRJ,因此表格命名为REG_PRJ.xlsx。表格内分为两个部分:readme页和一众block_name页。readme页是对系统内不同模块寄存器或不同用途寄存器的区间和地址划分,demo中划分了三块独立的寄存器:sys_cfg、sys_status和sys_irq,分别用来承载不同的功能:
BLOCK | OFFSET | RANGE |
---|---|---|
sys_cfg | 0x0 | 512 |
sys_status | 0x200 | 1024 |
sys_irq | 0x600 | 5 |