一种寄存器设计方法及装置、电子设备和存储介质制造方法及图纸

技术编号:37151222 阅读:13 留言:0更新日期:2023-04-06 22:07
本公开涉及一种寄存器设计方法及装置、电子设备和存储介质,所述方法包括:获取第一寄存器文档,所述第一寄存器文档用于描述寄存器模块的信息;对所述第一寄存器文档进行检查,得到所述第一寄存器文档的错误信息;获取第二寄存器文档,所述第二寄存器文档为基于所述错误信息对所述第一寄存器文档进行修改后得到的寄存器文档;根据所述第二寄存器文档生成寄存器设计代码,所述寄存器设计代码用于设计所述寄存器模块。本公开实施例能够提高寄存器设计的自动化程度,从而提升寄存器设计的效率。从而提升寄存器设计的效率。从而提升寄存器设计的效率。

【技术实现步骤摘要】
一种寄存器设计方法及装置、电子设备和存储介质


[0001]本公开涉及芯片开发领域,尤其涉及一种寄存器设计方法及装置、电子设备和存储介质。

技术介绍

[0002]芯片的寄存器设计和验证已经实现了自动化方法,即根据统一的寄存器文档,来自动生成设计和验证的代码,以及测试序列及测试序列发生器。这极大的提高了验证人员的工作效率,同时减轻了设计人员撰写寄存器设计和验证代码的工作量,还提高了准确率。
[0003]通用验证方法学(Universal Verification Methodology,UVM)提供了成熟的寄存器验证环境的验证方法,包括验证环境的组件、内建的测试序列等可以实现对整个寄存器的健康检查。在UVM验证方法学的基础上,业界已经实现了一定程度的寄存器自动化验证,但自动化实现的程度各不相同。同时,实现寄存器验证的自动化程度相对较高,但寄存器设计相关的自动化实现相对较弱。
[0004]当芯片包含上千甚至上万个寄存器时,需要更高程度的寄存器设计和验证自动化来进一步提高验证效率。并且现有技术可验证寄存器故障较单一,效率比较低,且复用性较差。

技术实现思路

[0005]有鉴于此,本公开提出了一种寄存器设计方法及装置、电子设备和存储介质,提高了寄存器设计的自动化程度,从而提升了寄存器设计效率。
[0006]根据本公开的一方面,提供了一种寄存器设计方法,包括:获取第一寄存器文档,所述第一寄存器文档用于描述寄存器模块的信息;
[0007]对所述第一寄存器文档进行检查,得到所述第一寄存器文档的错误信息;
[0008]获取第二寄存器文档,所述第二寄存器文档为基于所述错误信息对所述第一寄存器文档进行修改后得到的寄存器文档;
[0009]根据所述第二寄存器文档生成寄存器设计代码,所述寄存器设计代码用于设计所述寄存器模块。
[0010]在一种可能的实现方式中,所述错误信息包括格式错误信息和内容错误信息,所述对所述第一寄存器文档进行检查,得到错误信息,包括:
[0011]对所述第一寄存器文档进行格式检查,得到所述格式错误信息;
[0012]对所述第一寄存器文档进行内容检查,得到所述内容错误信息。
[0013]在一种可能的实现方式中,所述对所述第一寄存器文档进行格式检查,得到所述格式错误信息,包括:
[0014]检查所述第一寄存器文档中的偏移地址区域中是否存在大写字母以及所述第一寄存器文档中的域名区域中是否存在空格;
[0015]在所述偏移地址区域中存在大写字母的情况下和/或所述域名区域中存在空格的
情况下,生成所述格式错误信息,所述格式错误信息用于指示出现格式错误的位置以及出现的格式错误的类型。
[0016]在一种可能的实现方式中,所述寄存器模块包括至少一个寄存器,每个寄存器包括至少一个寄存器域,每个寄存器域包括至少一个比特位,所述第一寄存器文档包括第一识别信息、第二识别信息和第三识别信息,其中,所述第一识别信息用于识别所述每个寄存器的数据宽度,所述第二识别信息用于识别所述寄存器模块中包括的寄存器的数量,所述第三识别信息用于识别所述每个寄存器中每个寄存器域的起始比特位和截止比特位;
[0017]所述对所述第一寄存器文档进行内容检查,得到所述内容错误信息,包括:
[0018]基于所述第一识别信息、所述第二识别信息和所述寄存器模块的预设数据宽度,检查所述第一寄存器文档中的地址范围是否正确;
[0019]在确定所述第一寄存器文档中的地址范围存在错误的情况下,生成所述内容错误信息,所述内容错误信息用于指示出现内容错误的位置以及出现的内容错误的类型;
[0020]和/或,
[0021]基于所述第一识别信息和所述第三识别信息,获取所述寄存器模块的数据宽度和所述寄存器模块的比特位范围是否一致;
[0022]在所述寄存器模块的数据宽度和所述寄存器模块的比特位范围不一致的情况下,生成所述内容错误信息;
[0023]和/或,
[0024]基于所述第三识别信息检查所述第一寄存器文档中比特位是否连续;
[0025]在所述第一寄存器文档中比特位不连续的情况下,生成所述内容错误信息。
[0026]在一种可能的实现方式中,所述方法还包括:
[0027]基于所述第一识别信息、所述第二识别信息和所述第三识别信息对所述第二寄存器文档中的各寄存器域进行拆分,得到拆分后的各寄存器域的起始比特位和截止比特位;
[0028]采用所述拆分后的各寄存器域的起始比特位和截止比特位,更新所述第二寄存器文档。
[0029]在一种可能的实现方式中,所述获取第二寄存器文档包括:
[0030]读取第一文本文档,所述第一文本文档中包括所述第二寄存器文档的存储地址和名称;
[0031]按照所述存储地址和名称获取所述第二寄存器文档;
[0032]所述根据所述第二寄存器文档生成寄存器设计代码,包括:
[0033]读取第二文本文档,所述第二文本文档中包括所述寄存器模块的硬件地址;
[0034]根据所述第二寄存器文档和所述寄存器模块的硬件地址,生成所述寄存器设计代码。
[0035]在一种可能的实现方式中,所述方法还包括:
[0036]获取第一测试用例,所述第一测试用例用于存放所述寄存器模块验证需要的测试序列以及将测试序列挂载到序列发生器上;
[0037]根据所述第一测试用例和所述第一文本文档,生成针对所述寄存器模块的第二测试用例。
[0038]在一种可能的实现方式中,所述方法还包括:
[0039]读取第三文本文档,所述第三文本文档中包括寄存器验证代码,所述寄存器验证代码用于验证所述寄存器模块;
[0040]根据所述第二测试用例和所述寄存器验证代码对寄存器进行验证。
[0041]在一种可能的实现方式中,所述方法还包括:
[0042]根据所述第三文本文档,生成寄存器模型层次化结构代码,所述寄存器模型层次化结构代码用于生成层次化寄存器模型。
[0043]根据本公开的一方面,提供了一种寄存器设计装置,包括:
[0044]第一获取模块,获取第一寄存器文档,所述第一寄存器文档用于描述寄存器模块的信息;
[0045]检测模块,对所述第一寄存器文档进行检查,得到所述第一寄存器文档的错误信息;
[0046]第二获取模块,获取第二寄存器文档,所述第二寄存器文档为基于所述错误信息对所述第一寄存器文档进行修改后得到的寄存器文档;
[0047]第一生成模块,根据所述第二寄存器文档生成寄存器设计代码,所述寄存器设计代码用于设计所述寄存器模块。
[0048]在一种可能的实现方式中,所述错误信息包括格式错误信息和内容错误信息,所述检测模块用于:
[0049]对所述第一寄存器文档进行格式检查,得到所述格式错误信息;
[0050]对所述第一寄存器文档进行内容检查,得到所述内容错误信息。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种寄存器设计方法,其特征在于,所述方法包括:获取第一寄存器文档,所述第一寄存器文档用于描述寄存器模块的信息;对所述第一寄存器文档进行检查,得到所述第一寄存器文档的错误信息;获取第二寄存器文档,所述第二寄存器文档为基于所述错误信息对所述第一寄存器文档进行修改后得到的寄存器文档;根据所述第二寄存器文档生成寄存器设计代码,所述寄存器设计代码用于设计所述寄存器模块。2.根据权利要求1所述的方法,其特征在于,所述错误信息包括格式错误信息和内容错误信息,所述对所述第一寄存器文档进行检查,得到错误信息,包括:对所述第一寄存器文档进行格式检查,得到所述格式错误信息;对所述第一寄存器文档进行内容检查,得到所述内容错误信息。3.根据权利要求2所述的方法,其特征在于,所述对所述第一寄存器文档进行格式检查,得到所述格式错误信息,包括:检查所述第一寄存器文档中的偏移地址区域中是否存在大写字母以及所述第一寄存器文档中的域名区域中是否存在空格;在所述偏移地址区域中存在大写字母的情况下和/或所述域名区域中存在空格的情况下,生成所述格式错误信息,所述格式错误信息用于指示出现格式错误的位置以及出现的格式错误的类型。4.根据权利要求2所述的方法,其特征在于,所述寄存器模块包括至少一个寄存器,每个寄存器包括至少一个寄存器域,每个寄存器域包括至少一个比特位,所述第一寄存器文档包括第一识别信息、第二识别信息和第三识别信息,其中,所述第一识别信息用于识别所述每个寄存器的数据宽度,所述第二识别信息用于识别所述寄存器模块中包括的寄存器的数量,所述第三识别信息用于识别所述每个寄存器中每个寄存器域的起始比特位和截止比特位;所述对所述第一寄存器文档进行内容检查,得到所述内容错误信息,包括:基于所述第一识别信息、所述第二识别信息和所述寄存器模块的预设数据宽度,检查所述第一寄存器文档中的地址范围是否正确;在确定所述第一寄存器文档中的地址范围存在错误的情况下,生成所述内容错误信息,所述内容错误信息用于指示出现内容错误的位置以及出现的内容错误的类型;和/或,基于所述第一识别信息和所述第三识别信息,获取所述寄存器模块的数据宽度和所述寄存器模块的比特位范围是否一致;在所述寄存器模块的数据宽度和所述寄存器模块的比特位范围不一致的情况下,生成所述内容错误信息;和/或,基于所述第三识别信息检查所述第一寄存器文档中比特位是否连续;在所述第一寄存器文档中比特位不连续的情况下,生成所述内容错误信息。5.根据...

【专利技术属性】
技术研发人员:庄凯欣王炳浩王年李志鑫
申请(专利权)人:北京集创北方科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1