一种寄存器管理方法、装置、电子设备及存储介质与流程

摘要: 本发明涉及电子设计自动化,尤其涉及一种寄存器管理方法、装置、电子设备及存储介质。背景技术:1、随着集成电路设计复杂度持续攀升,系统级芯片中的寄存器数量呈现爆炸式...
一种寄存器管理方法、装置、电子设备及存储介质与流程

本发明涉及电子设计自动化,尤其涉及一种寄存器管理方法、装置、电子设备及存储介质。

背景技术:

1、随着集成电路设计复杂度持续攀升,系统级芯片中的寄存器数量呈现爆炸式增长,寄存器管理已成为芯片前端设计流程中的关键环节。目前现有技术是以“系统层-模块层-寄存器层-域层”四层层级结构为核心组织寄存器规格。然而,传统的寄存器管理方式主要依赖设计人员手工编写和维护寄存器文件,当寄存器数量增大时,该方式暴露出诸多缺陷。

2、人力成本居高不下,设计人员需在设计文档、通用验证方法学验证模型、软件代码三处同时维护同一份寄存器规格信息,任一环节修改均需人工同步至其余两处,工作量成倍增长。人工操作极易在地址分配、位域划分、访问权限设定等环节产生错误,且难以保证设计文档、寄存器传输级代码、验证模型之间的一致性——当寄存器定义发生修改时,工程师容易遗漏某一处更新,导致软硬件规格失配,这是芯片流片失败的重要诱因之一。

3、此外,寄存器规格变更后,工程师需在验证环境、rtl代码等多个文件中手工逐一同步修改,过程繁琐且易遗漏,设计迭代周期被大幅拉长。且部分电子设计自动化工具通常局限于单一输出场景,缺乏贯通“文档-验证-软件”全流程的系统性解决方案,各输出文件之间仍处于割裂状态,无法从根本上解决数据不一致的问题。

4、因此,亟需一种能够根据统一输入自动化生成多类型寄存器输出文件并确保各输出之间严格一致的寄存器管理方法。

技术实现思路

1、本发明各实施例提供一种寄存器管理方法,以解决现有技术人力成本高、重复工作量大,且人工操作易错误,文件更新繁琐易遗漏,迭代周期长的问题。所述技术方案如下:

2、根据本发明的一个方面,一种寄存器管理方法,所述方法包括:通过定制解析器读取ralf格式的寄存器描述文件,提取系统层、模块层、寄存器层、域层四个层级的参数信息,并转换为统一数据结构作为数据源;所述参数信息包括地址、位宽、访问权限、复位值;根据所述参数信息的数据属性和目标文件的生成规则构建所述系统层、模块层、寄存器层、域层与所述目标文件之间的映射规则;所述目标文件包括uvm验证模型、寄存器描述头文件、说明文档;根据所述数据源和所述映射规则生成uvm寄存器模型、寄存器描述头文件及结构化寄存器规格书作为输出文件;所述uvm寄存器模型包括硬件描述及验证语言;所述寄存器描述头文件包括全局基地址宏、寄存器偏移地址宏、掩码宏、移位宏、复位值宏;对所述输出文件进行语法合法性校验、属性校验与完整性校验,比对所述输出文件中的地址、位宽、访问权限与所述数据源中的对应数据是否一致,若不一致则重新生成或修改所述输出文件。

3、在其中一个实施例中,通过定制解析器读取ralf格式的寄存器描述文件,提取系统层、模块层、寄存器层、域层四个层级的参数信息,并转换为统一数据结构作为数据源通过以下步骤实现:构建ralf解析器,通过所述ralf解析器读取标准ralf格式的寄存器描述文件,提取系统层、模块层、寄存器层、域层四个层级及对应的参数信息;将所述系统层、模块层、寄存器层、域层的参数信息转化为结构化的内部类数据构建软件对象模型,形成统一的内部数据结构作为数据源;所述ralf解析器用于解析寄存器描述文件语法中的关键字。

4、在其中一个实施例中,根据所述参数信息的数据属性和目标文件的生成规则构建所述系统层、模块层、寄存器层、域层与所述目标文件之间的映射规则通过以下步骤实现:若目标文件为uvm验证模型,则映射规则为将所述系统层和模块层映射为寄存器块,将所述寄存器层映射为寄存器,将所述域层映射为寄存器域,并在构建函数中配置所述寄存器域的位宽、复位值、访问类型;若目标文件为寄存器描述头文件,则映射规则为将所述系统层映射为全局基地址宏定义,将所述模块层映射为模块相对系统层的偏移地址宏,将所述寄存器层映射为寄存器绝对地址宏,将所述域层映射为字段的掩码宏、移位宏及复位值宏;若目标文件为说明文档,则映射规则为将所述系统层、模块层、寄存器层、域层映射为所述说明文档中结构化的章节与表格条目;所述映射规则是根据各层级参数信息的数据属性及目标文件的生成语法构建的。

5、在其中一个实施例中,根据所述数据源和所述映射规则生成uvm寄存器模型、寄存器描述头文件及结构化寄存器规格书作为输出文件通过以下步骤实现:根据所述数据源和映射规则遍历所述模块层列表生成寄存器块,遍历所述寄存器层列表生成寄存器,遍历所述域层列表在构建函数中配置寄存器域的配置参数,生成符合标准的硬件描述与验证语言寄存器模型代码,输出uvm寄存器模型文件。

6、在其中一个实施例中,根据所述数据源和所述映射规则生成uvm寄存器模型、寄存器描述头文件及结构化寄存器规格书作为输出文件通过以下步骤实现:根据所述数据源和映射规则基于嵌入式软件开发需求编写头文件模板,根据寄存器描述头文件生成逻辑将所述系统层定义为全局基地址宏,将所述模块层定义为模块相对系统层的偏移地址宏;将所述寄存器层定义为寄存器绝对地址宏,将所述域层定义字段的掩码宏、移位宏及复位值宏,使用易失性结构体定义寄存器映射,使用所述位域定义各个域层,结合所述头文件模板输出寄存器描述头文件。

7、在其中一个实施例中,根据所述数据源和所述映射规则生成uvm寄存器模型、寄存器描述头文件及结构化寄存器规格书作为输出文件通过以下步骤实现:根据所述数据源和所述映射规则读取各层级的参数信息;所述参数信息包括寄存器偏移地址、名称、宽度、读写属性、复位值、详细功能描述;通过模板引擎将所述参数信息填充至寄存器规格书模板中,生成结构化的寄存器规格书作为输出文件;所述寄存器规格书模板包括word或html模板。

8、在其中一个实施例中,对所述输出文件进行语法合法性校验、属性校验与完整性校验,比对所述输出文件中的地址、位宽、访问权限与所述数据源中的对应数据是否一致,若不一致则重新生成或修改所述输出文件通过以下步骤实现:通过校验函数对所述输出文件进行语法合法性校验,检查所述输出文件的语法合法性,对所述输出文件进行属性校验,从所述输出文件中提取寄存器属性参数与所述数据源对应的参数进行一一比对,验证两者是否一致;检查所述寄存器描述文件中所有层级及属性是否均已完整生成到所述输出文件中,若任一校验存在不一致,则重新生成或修改相应的所述输出文件;所述校验还包括地址是否对齐、域层位宽总和是否符合要求及配置与软件定义是否存在冲突。

9、根据本发明的一个方面,一种寄存器管理装置,所述装置包括:数据源解析构建模块,用于通过定制解析器读取ralf格式的寄存器描述文件,提取系统层、模块层、寄存器层、域层四个层级的参数信息,并转换为统一数据结构作为数据源;所述参数信息包括地址、位宽、访问权限、复位值;映射规则配置模块,用于根据所述参数信息的数据属性和目标文件的生成规则构建所述系统层、模块层、寄存器层、域层与所述目标文件之间的映射规则;所述目标文件包括uvm验证模型、寄存器描述头文件、说明文档;多类文件生成模块,用于根据所述数据源和所述映射规则生成uvm寄存器模型、寄存器描述头文件及结构化寄存器规格书作为输出文件;所述uvm寄存器模型包括硬件描述及验证语言;所述寄存器描述头文件包括全局基地址宏、寄存器偏移地址宏、掩码宏、移位宏、复位值宏;文件多重校验模块,用于对所述输出文件进行语法合法性校验、属性校验与完整性校验,比对所述输出文件中的地址、位宽、访问权限与所述数据源中的对应数据是否一致,若不一致则重新生成或修改所述输出文件。

10、根据本发明的一个方面,一种电子设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器上存储有计算机可读指令;所述计算机可读指令被一个或多个所述处理器执行,使得电子设备实现如上所述的寄存器管理方法。

11、根据本发明的一个方面,一种存储介质,其上存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行,以实现如上所述的寄存器管理方法。

12、本发明提供的技术方案带来的有益效果是:

13、在上述技术方案,本发明通过构建ralf解析器读取标准ralf格式的寄存器描述文件,提取系统层、模块层、寄存器层、域层四个层级的参数信息并转换为统一数据结构作为单一数据源,根据各层级参数信息的数据属性和目标文件的生成规则,构建四层级与通用验证方法学验证模型、寄存器描述头文件、说明文档之间的映射规则,确保各输出文件的生成逻辑与寄存器规格严格对应。基于统一数据源和映射规则,一键生成符合通用验证方法学标准的寄存器模型代码、包含全局基地址宏、寄存器偏移地址宏、掩码宏、移位宏、复位值宏的寄存器描述头文件,以及通过模板引擎填充生成的结构化寄存器规格书,实现“文档-验证-软件”全流程输出。对输出文件进行语法合法性校验、属性校验与完整性校验,将输出文件中的地址、位宽、访问权限与数据源进行比对,若不一致则重新生成或修改,并辅以地址对齐校验、域层位宽校验及验证模型预测器配置与软件定义冲突校验,确保寄存器传输级设计、验证模型与软件定义之间无失配风险。本发明实现了寄存器管理的全流程自动化与数据一致性保障,不仅显著降低了人力成本、消除了人工操作的错误风险,而且大幅缩短了寄存器规格变更时的迭代周期,从而能够有效解决现有技术中手工维护效率低下、多文件间数据不一致、迭代周期长的突出问题。