一种RISC-VCPU验证中的签名比较方法及装置制造方法及图纸

技术编号:34274970 阅读:17 留言:0更新日期:2022-07-24 16:56
本发明专利技术涉及一种RISC

A signature comparison method and device in risc-vcpu verification

【技术实现步骤摘要】
一种RISC

V CPU验证中的签名比较方法及装置


[0001]本专利技术涉及与验证技术相关的即使领域,特别涉及一种RISC

V CPU验证中的签名比较方法及装置。

技术介绍

[0002]RISC

V是由加州伯克利分校团队设计和开发的一款开源的指令集架构,与x86、ARM等主流指令集架构相比,RISC

V是开源、精简、免费的架构。加上日益完善的生态环境,成为国内发展自主CPU的一个重大的机遇。CPU作为集成电路产业设计最为复杂的芯片,其庞大的设计规模和复杂的结构,也对功能验证提出了更高的要求。更短的验证周期,更少的验证工作人员,才能降低研发成本,提高效率。
[0003]现有的验证技术有静态验证技术和动态验证技术。
[0004]静态验证其主要原理是生成可读的汇编指令,通过编译工具,将生成的汇编指令转变成模拟器和DUT(设计测试)所需要的二进制格式,通过加载到两种设计中执行后,将生成的测试结果保存后进行比较,判断DUT的行为是否符合参考模型,以验证设计的正确性。
[0005]动态验证技术主要原理为通过接口使指令生成器与DUT和参考模型直接通信,动态的运行指令,动态比较结果,根据是否出现错误选择停止仿真还是继续运行。
[0006]现有的验证技术存在以下问题:
[0007]静态验证技术强调的是一种事后验证,实现较为简单,但是无法实时发现错误;
[0008]而动态验证技术可实时比较发现问题,但是结构比较复杂,耗时较长。
[0009]因此,如何将上述问题加以解决,即问本领域技术人员的研究方向所在。

技术实现思路

[0010]专利技术所要解决的问题
[0011]本专利技术的主要目的是解决静态验证技术和动态验证技术的缺点而提供一种RISC

V CPU验证中的签名比较方法及装置。
[0012]用于解决问题的方案
[0013]为了达到上述目的,本专利技术提供一种RISC

V CPU验证中的签名比较方法,包括如下步骤:
[0014]步骤S1:选定签名点,具体为选择一条不影响架构可见状态的指令;
[0015]步骤S2:通过spike模拟器在签名点获取准确的的寄存器状态;
[0016]步骤S3:CPU运行同样的测试用例。
[0017]优选地,步骤S1包括:
[0018]在RISC

V架构下选用了一条汇编指令,该汇编指令为把寄存器zero的值0左移0位,空出的位置填入0。
[0019]优选地,步骤S2包括如下子步骤:
[0020]步骤S21:在spike模拟器中添加签名点时提取寄存器信息到输出文件的代码;
[0021]步骤S22:屏蔽掉测试用例中的对比宏,运行测试用例获取各个签名点寄存器的状态的正确结果数据文件。
[0022]优选地,所述步骤S3包括如下子步骤:
[0023]步骤S31:把正确结果数据文件放入特定内存区域A;
[0024]步骤S32:打开测试用例中的对比宏,运行测试用例;
[0025]步骤S33:每次进入签名点,根据一个包含处理器编号的寄存器找特定的内存位置,找到正确储存数据的内存地址,取出数据进行比较。
[0026]优选地,所述步骤S33包括如下子步骤:
[0027]步骤S331:用一个包含处理器编号的寄存器,一个暂存的寄存器暂存t0,t1,t2寄存器,并根据所述包含处理器编号的寄存器把t0,t1,t2寄存器值先写入一个内存区域B;
[0028]步骤S332:根据所述包含处理器编号的寄存器依次从内存区域A中取出整数寄存器,浮点寄存器进行比对,如果比对一致,则继续运行,否则退出执行;
[0029]步骤S333:恢复t0,t1,t2寄存器到初值;
[0030]步骤S334:继续执行。
[0031]为了达到上述目的,本专利技术还提供一种RISC

V CPU验证中的签名比较装置,包括:
[0032]签名选定单元,用于选定签名点,具体为选择一条不影响架构可见状态的指令;
[0033]寄存器状态获取单元,用于通过spike模拟器在签名点获取准确的的寄存器状态;
[0034]测试用例运行单元,CPU运行同样的测试用例。
[0035]优选地,所述寄存器状态获取单元包括:
[0036]提取寄存器信息子单元,在spike模拟器中添加签名点时提取寄存器信息到输出文件的代码;以及
[0037]正确结构数据文件获取子单元,屏蔽掉测试用例中的对比宏,运行测试用例获取各个签名点寄存器的状态的正确结果数据文件。
[0038]优选地,所述测试用例运行单元包括:
[0039]存放子单元,把正确结果数据文件放入特定内存区域A;
[0040]运行测试用例子单元,打开测试用例中的对比宏,运行测试用例;以及
[0041]内存地址获取子单元,每次进入签名点,根据一个包含处理器编号的寄存器找特定的内存位置,找到正确储存数据的内存地址,取出数据进行比较。
[0042]为了达到上述目的,本专利技术还提供一种电子设备,所述电子设备存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0043]为了达到上述目的,本专利技术还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0044]专利技术的效果
[0045]本专利技术具备简单、快速又具备动态验证技术的实时比较功能。刚开始验证时,signature开始是会较多,但是随着设计的稳定,出错的概率会越来越少,从而可以进一步的减少signature点,进一步的提升了验证速度。
附图说明
[0046]图1是一种RISC

V CPU验证中的签名比较方法的流程图;
[0047]图2是Spike执行case(测试用例)流程的流程图;
[0048]图3是CPU执行case流程;
[0049]图4是一种RISC

V CPU验证中的签名比较装置框图。
[0050]图5是本申请实施例提供的一种电子设备的结构示意图。
[0051]图6是本申请实施例提供的一种用于签名比较方法的程序产品的结构示意图。
具体实施方式
[0052]下面将结合本专利技术实施例中的图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。并且,在此处需要进一步强调的是,以下的具体实施例提供的优选的技术方案,各方案(实施例)之间是可以相互配合或结合使用的。
...

【技术保护点】

【技术特征摘要】
1.一种RISC

V CPU验证中的签名比较方法,其特征在于,包括如下步骤:步骤S1:选定签名点,具体为选择一条不影响架构可见状态的指令;步骤S2:通过spike模拟器在签名点获取准确的的寄存器状态;步骤S3:CPU运行同样的测试用例。2.根据权利要求1所述的RISC

V CPU验证中的签名比较方法,其特征在于,所述步骤S1包括:在RISC

V架构下选用了一条汇编指令,该汇编指令为把寄存器zero的值0左移0位,空出的位置填入0。3.根据权利要求1所述的RISC

V CPU验证中的签名比较方法,其特征在于,所述步骤S2包括如下子步骤:步骤S21:在spike模拟器中添加签名点时提取寄存器信息到输出文件的代码;步骤S22:屏蔽掉测试用例中的对比宏,运行测试用例获取各个签名点寄存器的状态的正确结果数据文件。4.根据权利要求1所述的RISC

V CPU验证中的签名比较方法,其特征在于,所述步骤S3包括如下子步骤:步骤S31:把正确结果数据文件放入特定内存区域A;步骤S32:打开测试用例中的对比宏,运行测试用例;步骤S33:每次进入签名点,根据一个包含处理器编号的寄存器找特定的内存位置,找到正确储存数据的内存地址,取出数据进行比较。5.根据权利要求4所述的RISC

V CPU验证中的签名比较方法,其特征在于,该步骤S33包括如下子步骤:步骤S331:用一个包含处理器编号的寄存器,一个暂存的寄存器暂存t0,t1,t2寄存器,并根据所述包含处理器编号的寄存器把t0,t1,t2寄存器值先写入一个内存区域B;步骤S332:根据所述包含处理器编号的寄存器依...

【专利技术属性】
技术研发人员:岳长进姜志颖王飞
申请(专利权)人:苏州睿芯集成电路科技有限公司
类型:发明
国别省市:

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

1