一种基于同步执行的处理器核验证方法、系统及介质技术方案

技术编号:24854673 阅读:25 留言:0更新日期:2020-07-10 19:08
本发明专利技术公开了一种基于同步执行的处理器核验证方法、系统及介质,本发明专利技术基于同步执行的处理器核验证方法步骤包括:向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。本发明专利技术能够快速、精确定位处理器核系统验证过程中的出错点,能够有效提升验证环节的效率,减少验证环节花费的时间,且易于实现。

【技术实现步骤摘要】
一种基于同步执行的处理器核验证方法、系统及介质
本专利技术涉及处理器微体系结构设计领域,具体涉及一种基于同步执行的处理器核验证方法、系统及介质。
技术介绍
在微处理器设计中,验证为关键一环,验证的程度直接关系到最终芯片的成败。对于复杂的微处理器,通常验证过程在较小的模块级进行单元级验证,然后集成进行系统级验证。单元级验证可以通过搭建单独的验证环境进行,例如当前流行的UVM(通用验证方法学)方法。在单元级进行充分验证后,将所有模块集成在一起进行系统级验证。系统级验证通常从短小的程序开始,由于程序较小,通常指令数目在几十万,此时可以在模拟环境中进行程序的运行。验证的方法可以是待程序运行完后,看程序运行的结果,判断是否通过验证。对于不通过的程序,可以查看波形,查找错误原因。也可以在每条指令提交时,和事先用模拟器软件生成的指令执行踪迹进行对比,确定当前指令执行的结果是否正确,从而及时发现运行出错的程序。当较小的程序测试完毕后,处理器一般要进行引导操作系统,并运行一些真实应用,测试处理器的正确性和性能。但是该引导操作系统和运行真实应用通常涉及到上百亿的指令数,该过程无法在模拟环境中解决,所以通常采用高性能的仿真器和FPGA进行。这种验证条件下,无法采用对比事先生成的指令踪迹,一方面几百亿条指生成指令踪迹太大,无法保存;另一方面模拟器软件的环境和仿真器和FPGA的环境也有区别,有些外部事件发生的时机可能无法控制,从而造成结果无法对应。此时的验证难题就是:在程序运行出错时,如何进行调试。通常的调试方法是根据软件出错信息分析软件可能出错的原因,然后在仿真器上获取可能相关的波形,由于测试程序太大,只能获取很小一段波形进行分析。通常这种分析过程需要反复多次,耗时以多周甚至多月。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于同步执行的处理器核验证方法、系统及介质,本专利技术能够快速、精确定位处理器核系统验证过程中的出错点,能够有效提升验证环节的效率,减少验证环节花费的时间,且易于实现。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于同步执行的处理器核验证方法,实施步骤包括:1)向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;2)通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。可选地,步骤2)中自主锁步执行指令的步骤包括:S1)从程序的指针处取指令,并依次进行指令的执行过程,包括译码、分派、执行;S2)在指令执行完成后进行指令提交,并输出指令运行结果;S3)判断程序是否运行结束,如果结束则进入等待状态,否则跳转执行步骤S1)。可选地,所述指令运行结果包括:指令程序指针、指令写寄存器数据、指令执行的异常信息中的至少一种。可选地,步骤2)中将参考核、设计核的指令运行结果进行对比的步骤包括:当收到参考核、设计核两者中一者提交的针对某一指令的指令运行结果时,首先检查另一者对应的存储中间中是否已经存在该指令的指令运行结果,如果存在该指令的指令运行结果则将参考核、设计核执行该指令的指令运行结果进行对比,如果两者不一致则将指令运行结果中不一致的内容输出;如果不存在该指令的指令运行结果,则将收到的指令运行结果存储到发送该指令运行结果的参考核或设计核所对应的存储空间中。可选地,步骤2)中将指令运行结果中不一致的内容输出具体是指将指令运行结果中不一致的内容输出写出到串口或者写入到指定的存储器中。可选地,步骤2)之后还包括根据指令运行结果中不一致的内容针对被验证的设计核进行错误分析的步骤。此外,本专利技术还提供一种基于同步执行的处理器核验证系统,包括:初始化程序模块,用于向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;指令运行结果比对程序模块,用于通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。此外,本专利技术还提供一种基于同步执行的处理器核验证系统,包括参考核、设计核以及锁步运行控制器,所述参考核、设计核分别与锁步运行控制器相连,所述参考核、设计核上连接有相同的外围设备并输入接相同或等价的时钟信号,所述锁步运行控制器被编程或配置以执行所述基于同步执行的处理器核验证方法的步骤。此外,本专利技术还提供一种基于同步执行的处理器核验证系统,包括控制部件,所述控制部件被编程或配置以执行所述基于同步执行的处理器核验证方法的步骤,或者所述控制部件的存储器上存储有被编程或配置以执行所述基于同步执行的处理器核验证方法的计算机程序。此外,本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述基于同步执行的处理器核验证方法的计算机程序。和现有技术相比,本专利技术具有下述优点:1.错误点定位精确。本专利技术通过两个处理器核同步执行,在对应的指令提交时进行指令结果的对比,可以第一时间发现指令出错时间点,从而可以获取该时间点附近的波形,加速定位出错的原因。2.对验证速度的影响较小。可以通过设置同步执行的时间间隔,灵活控制结果对比的时机,从而减小对验证系统运行速度的影响。3.易于实现。该验证过程可在目前已有的验证环境中实现。对于RISC-V类的处理器,同步执行的参考核可以使用开源核实现。附图说明图1为本专利技术实施例方法的基本流程示意图。图2为本专利技术实施例系统的组成结构示意图。图3为本专利技术实施例系统的工作流程示意图。具体实施方式如图1所示,本实施例基于同步执行的处理器核验证方法的实施步骤包括:1)向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;2)通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。本实施例中涉及的设计核、参考核的定义解释如下:设计核:是需要验证的设计,该设计核是完整功能的处理器核,可以取指令执行,从主存中读取数据,进行计算,并将数据写入主存中。参考核:参考核和是功能正确的核,和设计核具有相同的外部特性(例如指令级架构),但是内部微体系结构可能完全不同。通常参考核是经过验证后的完整处理器核,不只是功能模型,而是可综合的逻辑设计。参考核的来源同系列产品的设计,也可以来自相同指令集结构的开源核。本实施例中,步骤2)中自主锁步执行指令的步骤包括:S1)从程序的指针处取指令,并依次进行指令的执行过程,包括译码、分派、执行;S2)在指令执行完成后进行指令提交,并输出指令运行结果;S3)判断程序是否运行结束,如果结束则进入等待状态,否则跳转执行步骤S1)。本实施例中,指令运行本文档来自技高网
...

【技术保护点】
1.一种基于同步执行的处理器核验证方法,其特征在于实施步骤包括:/n1)向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;/n2)通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。/n

【技术特征摘要】
1.一种基于同步执行的处理器核验证方法,其特征在于实施步骤包括:
1)向参考核和被验证的设计核发送初始化信号完成参考核、设计核的初始化;
2)通过参考核和被验证的设计核自主锁步执行指令,且在参考核、设计核同步执行指令过程中分别将参考核、设计核的指令运行结果进行对比,将指令运行结果中不一致的内容输出。


2.根据权利要求1所述的基于同步执行的处理器核验证方法,其特征在于,步骤2)中自主锁步执行指令的步骤包括:
S1)从程序的指针处取指令,并依次进行指令的执行过程,包括译码、分派、执行;
S2)在指令执行完成后进行指令提交,并输出指令运行结果;
S3)判断程序是否运行结束,如果结束则进入等待状态,否则跳转执行步骤S1)。


3.根据权利要求1或2所述的基于同步执行的处理器核验证方法,其特征在于,所述指令运行结果包括:指令程序指针、指令写寄存器数据、指令执行的异常信息中的至少一种。


4.根据权利要求1所述的基于同步执行的处理器核验证方法,其特征在于,步骤2)中将参考核、设计核的指令运行结果进行对比的步骤包括:当收到参考核、设计核两者中一者提交的针对某一指令的指令运行结果时,首先检查另一者对应的存储中间中是否已经存在该指令的指令运行结果,如果存在该指令的指令运行结果则将参考核、设计核执行该指令的指令运行结果进行对比,如果两者不一致则将指令运行结果中不一致的内容输出;如果不存在该指令的指令运行结果,则将收到的指令运行结果存储到发送该指令运行结果的参考核或设计核所对应的存储空间中。


5.根据权利要求1所述的基于同步执行的处理器核验证方法,其特征在于,步骤2...

【专利技术属性】
技术研发人员:施军叶晨
申请(专利权)人:超验信息科技长沙有限公司
类型:发明
国别省市:湖南;43

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

1