用于处理器的验证方法、验证装置、设备以及存储介质制造方法及图纸

技术编号:35214138 阅读:17 留言:0更新日期:2022-10-15 10:28
本公开提供一种用于处理器的验证方法、验证装置、设备以及存储介质。该方法包括:在用于处理器的回归验证过程中,获取当前对应于处理器的目标指令集的待验证的第一激励,其中,第一激励包括一个或多个待验证指令;基于第一激励的一个或多个待验证指令,通过操作第一数据库获取当前包括第一激励的功能覆盖率,其中,第一数据库存储有用于核查功能覆盖率的比对数据集合。本公开通过使用数据库,实现验证处理器的回归验证中收集的指令所对应的功能覆盖率收集,从而实现面向指令集的更全面和清晰的功能覆盖率分析,适用于对应复杂程度高的指令集的处理器验证,利用有限成本实现了快速收敛和更加完备的验证工作。敛和更加完备的验证工作。敛和更加完备的验证工作。

【技术实现步骤摘要】
用于处理器的验证方法、验证装置、设备以及存储介质


[0001]本公开的实施例涉及一种用于处理器的验证方法、验证装置、设备以及存储介质。

技术介绍

[0002]随着科学技术的不断发展,人们对处理器的需求也不断增加。比较常用的几类处理器如:中央处理器(CPU)、通用图形处理器(GPGPU)、数字信号处理器(DSP)、专用集成电路(ASIC)。这些处理器在生产出来投入使用之前都要经过验证,验证出产品能实现功能且无损坏才会投入使用。
[0003]在对所设计的处理器进行验证时,需要确定所设计的处理器的功能是否正常,是否存在设计缺陷或生产缺陷等。例如在通过测试程序对处理器进行验证时,处理器功能的验证得到的覆盖率较低,处理器验证所覆盖的功能完备性较低。
[0004]目前,软件对处理器的运算需求越来越高,处理器的规模和复杂度也在不断的提高,由此处理器验证的难度也越来越大,验证的时间也越来越长。在处理器设计过程中,验证工作占据了整个研发周期的一半以上,验证的效率和验证质量等成为处理器设计的重要因素。

技术实现思路

[0005]本公开至少一实施例提供了一种用于处理器的验证方法,包括:在用于所述处理器的回归验证过程中,获取当前对应于所述处理器的目标指令集的待验证的第一激励,其中,所述第一激励包括一个或多个待验证指令;基于所述第一激励的一个或多个待验证指令,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,其中,所述第一数据库存储有用于核查所述功能覆盖率的比对数据集合。
[0006]例如,本公开至少一实施例提供的一种验证方法还包括:响应于获取的第一激励的一个或多个待验证指令中的每个待验证指令为机器码,通过汇编器接收所述机器码并处理形成文本格式的反汇编指令,得到所述第一激励对应的反汇编指令集合;其中,基于所述第一激励的一个或多个待验证指令,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,包括:基于所述第一激励对应的反汇编指令集合,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率。
[0007]例如,在本公开至少一实施例提供的一种验证方法中,基于所述第一激励对应的反汇编指令集合,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,包括:基于所述第一激励对应的反汇编指令集合,获取所述第一激励对应的反汇编指令集合中的每个反汇编指令经过预处理而得到的待验证的中间数据;收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合;操作所述第一数据库,将所述已覆盖数据集合和所述比对数据集合进行比对,获取当前包括所述第一激励的功能覆盖率。
[0008]例如,在本公开至少一实施例提供的一种验证方法中,收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合,包括:将所述第一激励对
应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合。
[0009]例如,在本公开至少一实施例提供的一种验证方法中,操作所述第一数据库,将所述已覆盖数据集合和所述比对数据集合进行比对,获取当前包括所述第一激励的功能覆盖率,包括:利用通过第一编程语言封装的用于所述第一数据库的数据库操作语言的操作指令,以操作所述第一数据库获取当前包括所述第一激励的功能覆盖率;以及,收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合,包括:利用通过第一编程语言封装的用于所述第一数据库的数据库操作语言的操作指令,以使所述第一数据库收录有所述已覆盖数据集合。
[0010]例如,在本公开至少一实施例提供的一种验证方法中,基于所述第一激励对应的反汇编指令集合,获取所述第一激励对应的反汇编指令集合中的每个反汇编指令经过预处理而得到的待验证的中间数据,包括:通过对所述第一激励对应的反汇编指令集合中的每个反汇编指令进行预处理,获取所述反汇编指令集合中的每个反汇编指令的至少一个域段,以获取所述第一激励对应的反汇编指令集合对应的待验证的中间数据。
[0011]例如,在本公开至少一实施例提供的一种验证方法中,所述至少一个域段包括操作码;或者,所述至少一个域段包括操作码以及包括前缀、修饰符、操作数中的至少一种。
[0012]例如,在本公开至少一实施例提供的一种验证方法中,将所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合,包括:检查所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的待录入所述第一数据库的中间数据,使得所述反汇编指令对应的中间数据符合所述第一数据库的通用格式且使得所述反汇编指令对应的中间数据包括对应所述反汇编指令的至少一个域段中的每个域段的信息。
[0013]例如,在本公开至少一实施例提供的一种验证方法中,检查所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的待录入所述第一数据库的中间数据,包括:基于所述反汇编指令的指令码格式,获取原始字符串;获取所述中间数据的中间格式,其中,所述中间格式与所述第一数据库的通用格式一致;将所述中间数据由所述中间格式按照所述指令码格式进行还原,获取所述反汇编指令对应的还原字符串;响应于所述反汇编指令的还原字符串和对应的原始字符串一致,确定所述反汇编指令的中间数据一一对应于对应反汇编指令的至少一个域段中的每个域段,从而确定所述第一数据库收录所述反汇编指令的检查通过。
[0014]例如,在本公开至少一实施例提供的一种验证方法中,所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合,包括:对录入所述第一数据库的所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据进行去重,使得所述第一数据库中的所述已覆盖数据集合中的中间数据对应的反汇编指令唯一。
[0015]例如,在本公开至少一实施例提供的一种验证方法中,在用于所述处理器的回归验证过程中,获取当前对应于所述处理器的目标指令集的待验证的第一激励,包括:基于用于所述处理器的回归验证过程,确定所述回归验证过程的一个或多个测试阶段;基于所述一个或多个测试阶段中的每个当前测试阶段,获取对应于所述当前测试阶段的第二激励,
其中,每个当前测试阶段对应的第二激励为当前的所述第一激励。
[0016]例如,本公开至少一实施例提供的一种验证方法还包括:对于所述多个测试阶段中的每个当前测试阶段,基于所述第一激励对应的反汇编指令集合,通过操作所述第一数据库获取当前包括所述第一激励的功能覆盖率。
[0017]例如,在本公开至少一实施例提供的一种验证方法中,对于所述多个测试阶段中的每个当前测试阶段,基于所述第一激励对应的反汇编指令集合,通过操作所述第一数据库获取当前包括所述第一激励的功能覆盖率,包括:基于所述当前测试阶段对应的第一激励对应的反汇编指令集合,获取所述第一激励对应的反汇编指令集合中的每个反汇编指令经过预处理而得到的待本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理器的验证方法,包括:在用于所述处理器的回归验证过程中,获取当前对应于所述处理器的目标指令集的待验证的第一激励,其中,所述第一激励包括一个或多个待验证指令;基于所述第一激励的一个或多个待验证指令,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,其中,所述第一数据库存储有用于核查所述功能覆盖率的比对数据集合。2.如权利要求1所述的验证方法,还包括:响应于获取的第一激励的一个或多个待验证指令中的每个待验证指令为机器码,通过汇编器接收所述机器码并处理形成文本格式的反汇编指令,得到所述第一激励对应的反汇编指令集合;其中,基于所述第一激励的一个或多个待验证指令,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,包括:基于所述第一激励对应的反汇编指令集合,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率。3.如权利要求2所述的验证方法,其中,基于所述第一激励对应的反汇编指令集合,通过操作第一数据库获取当前包括所述第一激励的功能覆盖率,包括:基于所述第一激励对应的反汇编指令集合,获取所述第一激励对应的反汇编指令集合中的每个反汇编指令经过预处理而得到的待验证的中间数据;收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合;操作所述第一数据库,将所述已覆盖数据集合和所述比对数据集合进行比对,获取当前包括所述第一激励的功能覆盖率。4.如权利要求3所述的验证方法,其中,收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合,包括:将所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合。5.如权利要求4所述的验证方法,其中,操作所述第一数据库,将所述已覆盖数据集合和所述比对数据集合进行比对,获取当前包括所述第一激励的功能覆盖率,包括:利用通过第一编程语言封装的用于所述第一数据库的数据库操作语言的操作指令,以操作所述第一数据库获取当前包括所述第一激励的功能覆盖率;以及收录所述第一激励对应的反汇编指令集合对应的待验证的中间数据,得到已覆盖数据集合,包括:利用通过第一编程语言封装的用于所述第一数据库的数据库操作语言的操作指令,以使所述第一数据库收录有所述已覆盖数据集合。6.如权利要求4所述的验证方法,其中,基于所述第一激励对应的反汇编指令集合,获取所述第一激励对应的反汇编指令集合中的每个反汇编指令经过预处理而得到的待验证的中间数据,包括:通过对所述第一激励对应的反汇编指令集合中的每个反汇编指令进行预处理,获取所述反汇编指令集合中的每个反汇编指令的至少一个域段,以获取所述第一激励对应的反汇
编指令集合对应的待验证的中间数据。7.如权利要求6所述的验证方法,其中,所述至少一个域段包括操作码;或者,所述至少一个域段包括操作码以及包括前缀、修饰符、操作数中的至少一种。8.如权利要求6所述的验证方法,其中,将所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合,包括:检查所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的待录入所述第一数据库的中间数据,使得所述反汇编指令对应的中间数据符合所述第一数据库的通用格式且使得所述反汇编指令对应的中间数据包括对应所述反汇编指令的至少一个域段中的每个域段的信息。9.如权利要求8所述的验证方法,其中,检查所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的待录入所述第一数据库的中间数据,包括:基于所述反汇编指令的指令码格式,获取原始字符串;获取所述中间数据的中间格式,其中,所述中间格式与所述第一数据库的通用格式一致;将所述中间数据由所述中间格式按照所述指令码格式进行还原,获取所述反汇编指令对应的还原字符串;响应于所述反汇编指令的还原字符串和对应的原始字符串一致,确定所述反汇编指令的中间数据一一对应于对应反汇编指令的至少一个域段中的每个域段,从而确定所述第一数据库收录所述反汇编指令的检查通过。10.如权利要求4所述的验证方法,其中,将所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据收录至所述第一数据库,使得所述第一数据库收录有所述已覆盖数据集合,包括:对录入所述第一数据库的所述第一激励对应的反汇编指令集合中的每个反汇编指令对应的中间数据进行去重,使得所述第一数据库中的所述已覆盖数据集合中的中间数据对应的反汇编指令唯一。11.如权利要求2所述的验证方法,其中,在用于所述处理器的回归验证过程中,获取当前对应于所述处理器的目标指令集的待验证的第一激励,包括:基于用于所述处理器的回归验证过程,确定所述回归验证过程的一个或多个测试阶段;基于所述一个或多个测试阶段中的每个当前测试阶段,获取对应于所述当前测试阶段的第二激励,其中,每个当前测试阶段对应的第二激励为当前的...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

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

1