【芯片前端】一文搞定|寄存器组织生成与uvm ral_model环境全流程

前言

本文以组织一个系统(或模块)寄存器为例,进行寄存器与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 512

readme页签内分三列,BLOCK列为寄存器模块名,建议与系统内的模块名一致;OFFSET列为某一个寄存器模块在整个寄存器系统内的起始地址,采用十六进制表示;RANGE列为寄存器模块的占用空间,OFFSET列和RANGE列需要配置使用,

你可能感兴趣的:(uvm,ral_model与寄存器集成,前端,verilog,uvm,芯片)