用于验证的寄存器随机方法、系统、设备以及存储介质技术方案

技术编号:32780229 阅读:44 留言:0更新日期:2022-03-23 19:38
本公开提供一种用于验证的寄存器随机方法、系统、设备以及存储介质,该方法包括:根据待验证设备建立多个寄存器模块,多个寄存器模块中的每个包括一个或多个寄存器;设置多个寄存器模块中的每个的配置阶段;获取多个寄存器模块中的每个的配置阶段,得到配置阶段集合;串行地对配置阶段集合中至少一部分的配置阶段进行选择,分别随机至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器。本公开的寄存器随机方法通过引入有关寄存器的配置阶段的机制,从而实现串行随机,随机效率提升,可以节约硬件资源,解决了随机困难的问题,调试更加容易,可移植性好。可移植性好。可移植性好。

【技术实现步骤摘要】
用于验证的寄存器随机方法、系统、设备以及存储介质


[0001]本公开的实施例涉及一种用于验证的寄存器随机方法、系统、设备以及存储介质。

技术介绍

[0002]随着集成电路产业的快速发展,芯片的复杂度大大增加,相应寄存器的数量随之日趋庞大,寄存器的属性也越来越复杂,验证寄存器的完备性和高效性,成为验证人员迫切需要解决的问题。寄存器的增加对约束算法和迭代速度也提出更高的要求,使用传统验证方法已无法满足迭代周期和芯片验证难度的要求,与此同时,采用传统的验证方法实现的约束越来越复杂,需要的算法资源也越来越多,但是由于资源有限,容易导致会出现长时间随机解答不出的情况。

技术实现思路

[0003]本公开至少一实施例提供了一种用于验证的寄存器随机方法,包括:根据待验证设备建立多个寄存器模块,其中,所述多个寄存器模块中的每个包括一个或多个寄存器;设置所述多个寄存器模块中的每个的配置阶段;获取所述多个寄存器模块中的每个的配置阶段,得到配置阶段集合;串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器。
[0004]例如,在本公开至少一实施例提供的一种寄存器随机方法中,设置所述多个寄存器模块中的每个的配置阶段,包括:在所述多个寄存器模块中的每个寄存器模块的每个当前寄存器的建立阶段,通过设置配置阶段变量记录所述当前寄存器的配置阶段,并且分别使同一所述寄存器模块中的每个寄存器具有相同的配置阶段。
[0005]例如,在本公开至少一实施例提供的一种寄存器随机方法中,获取所述多个寄存器模块中的每个的配置阶段,得到配置阶段集合,包括:通过设置静态关联数组记录所述多个寄存器模块中的每个的配置阶段;获取所述静态关联数组中被设置过的多个配置阶段,得到所述配置阶段集合。
[0006]例如,在本公开至少一实施例提供的一种寄存器随机方法中,所述至少一部分的配置阶段包括所述配置阶段集合中所有的配置阶段;或者,所述至少一部分的配置阶段包括:所述配置阶段集合中所有的配置阶段除去第一部分的配置阶段后剩余的第二部分的配置阶段,所述第一部分的配置阶段包括被配置为命令行输入模式或性能测试模式的至少一个第一寄存器模块对应的配置阶段。
[0007]例如,在本公开至少一实施例提供的一种寄存器随机方法中,所述配置阶段集合为根据所述多个配置阶段生成的数组队列。
[0008]例如,在本公开至少一实施例提供的一种寄存器随机方法中,响应于所述至少一部分的配置阶段包括所述配置阶段集合中所有的配置阶段,串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选
择的配置阶段对应的寄存器模块的寄存器,包括:根据所述数组队列的长度,依序并串行地选择所述数组队列中的每个配置阶段,并分别随机所述数组队列中的每个当前被选择的配置阶段对应的寄存器模块的每个寄存器。
[0009]例如,在本公开至少一实施例提供的一种寄存器随机方法中,响应于所述配置阶段集合包括所述第一部分的配置阶段,所述寄存器随机方法还包括:在串行地对所述第二部分的配置阶段进行选择且分别随机所述第二部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器之前,直接将所述至少一个第一寄存器模块中的每个第一寄存器模块的寄存器分别约束配置为固定值。
[0010]例如,在本公开至少一实施例提供的一种寄存器随机方法中,串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器,包括:串行地对所述至少一部分的配置阶段进行选择;对于所述至少一部分的配置阶段中的每个当前被选择的配置阶段:将所述当前被选择的配置阶段通过递归方式传递至所述多个寄存器模块中的每个寄存器模块;比较所述当前被选择的配置阶段与所述多个寄存器模块中的每个寄存器模块对应的配置阶段;对所述多个寄存器模块中的具有与所述当前被选择的配置阶段一致的配置阶段的当前目标寄存器模块执行随机,以随机配置所述当前目标寄存器模块中的每个寄存器。
[0011]例如,在本公开至少一实施例提供的一种寄存器随机方法中,响应于所述当前目标寄存器模块包括多个寄存器,对所述当前目标寄存器模块执行随机以随机配置所述当前目标寄存器模块中的每个寄存器包括:并行地随机配置所述当前目标寄存器模块中多个寄存器中的每个寄存器。
[0012]例如,在本公开至少一实施例提供的一种寄存器随机方法中,所述多个寄存器模块中至少一个寄存器模块包括多个子寄存器模块,每个所述子寄存器模块包括多个寄存器。
[0013]例如,在本公开至少一实施例提供的一种寄存器随机方法中,响应于所述当前目标寄存器模块包括多个子寄存器模块,对所述当前目标寄存器模块执行随机以随机配置所述当前目标寄存器模块中的每个寄存器包括:对所述当前目标寄存器模块中的多个子寄存器模块进行并行地随机,以随机配置所述多个子寄存器模块中的每个子寄存器模块的每个寄存器。
[0014]例如,在本公开至少一实施例提供的一种寄存器随机方法中,响应于所述当前目标寄存器模块包括具有交叉约束的多个寄存器,对所述当前目标寄存器模块执行随机以随机配置所述当前目标寄存器模块中的每个寄存器包括:通过增加额外约束,控制所述当前目标寄存器模块中的所述具有交叉约束的多个寄存器按照所述额外约束进行随机配置。
[0015]本公开至少一实施例提供了一种验证方法,包括如上文任一实施例所述的寄存器随机方法。
[0016]本公开至少一实施例提供了一种用于验证的寄存器随机系统,包括:建立模块,被配置为根据待验证设备建立多个寄存器模块,其中,所述多个寄存器模块中的每个包括一个或多个寄存器;设置模块,被配置为设置所述多个寄存器模块中的每个的配置阶段;获取模块,被配置为获取所述多个寄存器模块中的每个的配置阶段以得到配置阶段集合;串行随机模块,被配置为串行地对所述配置阶段集合中至少一部分的配置阶段进行选择且分别
随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器。
[0017]本公开至少一实施例提供了一种电子设备,包括:处理器和存储器,其中,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如上文任一项所述的寄存器随机方法。
[0018]本公开至少一实施例提供了一种计算机可读存储介质,其中,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一示例中所述的寄存器随机方法。
附图说明
[0019]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本公开一些实施例提供的用于验证的寄存器随机方法的流程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于验证的寄存器随机方法,包括:根据待验证设备建立多个寄存器模块,其中,所述多个寄存器模块中的每个包括一个或多个寄存器;设置所述多个寄存器模块中的每个的配置阶段;获取所述多个寄存器模块中的每个的配置阶段,得到配置阶段集合;串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器。2.如权利要求1所述的寄存器随机方法,其中,设置所述多个寄存器模块中的每个的配置阶段,包括:在所述多个寄存器模块中的每个寄存器模块的每个当前寄存器的建立阶段,通过设置配置阶段变量记录所述当前寄存器的配置阶段,并且分别使同一所述寄存器模块中的每个寄存器具有相同的配置阶段。3.如权利要求1所述的寄存器随机方法,其中,获取所述多个寄存器模块中的每个的配置阶段,得到配置阶段集合,包括:通过设置静态关联数组记录所述多个寄存器模块中的每个的配置阶段;获取所述静态关联数组中被设置过的多个配置阶段,得到所述配置阶段集合。4.如权利要求1所述的寄存器随机方法,其中,所述至少一部分的配置阶段包括所述配置阶段集合中所有的配置阶段;或者,所述至少一部分的配置阶段包括:所述配置阶段集合中所有的配置阶段除去第一部分的配置阶段后剩余的第二部分的配置阶段,所述第一部分的配置阶段包括被配置为命令行输入模式或性能测试模式的至少一个第一寄存器模块对应的配置阶段。5.如权利要求4所述的寄存器随机方法,其中,所述配置阶段集合为根据所述多个配置阶段生成的数组队列。6.如权利要求5所述的寄存器随机方法,其中,响应于所述至少一部分的配置阶段包括所述配置阶段集合中所有的配置阶段,串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器,包括:根据所述数组队列的长度,依序并串行地选择所述数组队列中的每个配置阶段,并分别随机所述数组队列中的每个当前被选择的配置阶段对应的寄存器模块的每个寄存器。7.如权利要求4所述的寄存器随机方法,其中,响应于所述配置阶段集合包括所述第一部分的配置阶段,所述寄存器随机方法还包括:在串行地对所述第二部分的配置阶段进行选择且分别随机所述第二部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器之前,直接将所述至少一个第一寄存器模块中的每个第一寄存器模块的寄存器分别约束配置为固定值。8.如权利要求1~7任一所述的寄存器随机方法,其中,串行地对所述配置阶段集合中至少一部分的配置阶段进行选择,分别随机所述至少一部分的配置阶段中的每个当前被选择的配置阶段对应的寄存器模块的寄存器,包...

【专利技术属性】
技术研发人员:张家金李洋
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1