天天看點

【晶片前端】一文搞定|寄存器組織生成與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列需要配置使用,