CN111931161B - 基于risc-v处理器的芯片验证方法、设备及存储介质 - Google Patents
基于risc-v处理器的芯片验证方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111931161B CN111931161B CN202010944745.9A CN202010944745A CN111931161B CN 111931161 B CN111931161 B CN 111931161B CN 202010944745 A CN202010944745 A CN 202010944745A CN 111931161 B CN111931161 B CN 111931161B
- Authority
- CN
- China
- Prior art keywords
- risc
- processor
- expected value
- value sequence
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于RISC‑V处理器的芯片验证方法、设备及存储介质,步骤包括:获取精简指令集计算机RISC‑V处理器中的RISC‑V测试激励,基于所述RISC‑V处理器中的RISC‑V参考模型确定所述RISC‑V测试激励对应的预期值序列;基于所述RISC‑V处理器中的寄存器转换级电路RTL代码确定所述RISC‑V测试激励对应的匹配值序列;基于所述匹配值序列和所述预期值序列对所述RISC‑V处理器进行验证。由此可知,本发明实现通过实时获取RISC‑V测试激励,通过RISC‑V参考模型确定RISC‑V测试激励对应的预期值序列,并通过RTL代码确定RISC‑V测试激励对应的匹配值序列,基于匹配值序列和预期值序列将RISC‑V处理器进行芯片验证,从而减少了芯片验证的不相干信息,降低了log文件容量,从而提升了芯片验证的验证效率。
Description
技术领域
本发明涉及芯片验证领域,尤其涉及一种基于RISC-V处理器的芯片验证方法、设备及存储介质。
背景技术
目前基于RISC-V(精简指令集计算机)处理器芯片验证方法主要是先将RISC-V测试激励转成ELF文件,然后通过对比RISC-V参考模型和RTL(Register Transfer Level,寄存器转换级电路)代码仿真全流程log信息来验证芯片功能的正确性。在芯片验证工作过程中,尤其是芯片压力测试和芯片性能测试中,RISC-V测试激励中的指令数量巨大,仿真过程中的log文件容量也等比例的增加。如果此时有芯片问题暴露,验证工程师通过log文件寻找问题线索时,关键信息隐藏着大量无关的log信息中,容量巨大的log文件就会产生阅读困难、编辑卡顿等问题,需要通过额外的批处理脚本才能得到有效的参考信息。同时,芯片开发过程中,高频率的回归测试也会产生非常多大容量的log文件,对磁盘容量也有巨大的冲击,导致了验证效率低。由此可知,目前基于RISC-V处理器芯片验证方法的验证效率低。
发明内容
本发明的主要目的在于提供一种基于RISC-V处理器的芯片验证方法、设备及计算机可读存储介质,旨在解决目前基于RISC-V处理器芯片验证方法的验证效率低的技术问题。
为实现上述目的,本发明提供一种基于RISC-V处理器的芯片验证方法,所述基于RISC-V处理器的芯片验证方法包括以下步骤:
获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列;
基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列;
基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。
可选地,所述基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证的步骤包括:
检测在所述预期值序列中是否存在目标预期值,其中,所述目标预期值与所述匹配值序列中的目标匹配值相同;
若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过;
若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过。
可选地,所述若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过的步骤之后,还包括:
检测所述预期值序列中目标预期值的个数是否大于预设数量;
若检测到所述目标预期值的个数大于所述预设数量,则删除所述预期值序列中列首对应的目标预期值;
若检测到所述目标预期值的个数等于所述预设数量,则删除所述目标预期值。
可选地,所述若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过的步骤之后,还包括:
基于所述目标匹配值确定对应的错误数据,并基于checker程序将所述错误数据上报至用户终端,以供用户通过所述用户终端并基于所述错误数据确定所述RISC-V处理器对应的错误芯片数据。
可选地,所述获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列的步骤包括:
获取所述RISC-V测试激励,基于所述RISC-V参考模型监控在所述RISC-V测试激励中是否存在发生变化的第一RISC-V测试激励;
若监控到存在所述第一RISC-V测试激励,则将各个所述第一RISC-V测试激励确定为预期值;
将所述预期值依次存储至对应的checker程序中,确定所述checker程序对应的预期值序列。
可选地,所述基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列的步骤包括:
基于所述RTL代码监控在所述RISC-V测试激励中是否存在发生变化的第二RISC-V测试激励;
若监控到存在所述第二RISC-V测试激励,则将各个所述第二RISC-V测试激励确定为匹配值;
将所述匹配值依次存储至对应的checker程序中,确定所述checker程序对应的匹配值序列。
可选地,所述获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列的步骤之前,还包括:
获取所述RISC-V处理器中的整数寄存器数据、浮点寄存器数据和程序计数器PC值,基于所述整数寄存器数据、所述浮点寄存器数据和所述PC值确定所述RISC-V测试激励。
可选地,所述基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证的步骤之后,还包括:
基于所述checker程序检测所述预期值序列中是否存在预期值;
若基于所述checker程序检测到所述预期值序列中存在预期值,则确定RTL代码错误,并确定所述RTL代码对应的错误信息,基于所述checker程序将对应的错误信息上报至用户终端。
此外,为实现上述目的,本发明还提供一种基于RISC-V处理器的芯片验证设备,所述基于RISC-V处理器的芯片验证设备包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的基于RISC-V处理器的芯片验证程序,所述基于RISC-V处理器的芯片验证程序被所述处理器完成时实现如上所述的基于RISC-V处理器的芯片验证方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于RISC-V处理器的芯片验证程序,所述基于RISC-V处理器的芯片验证程序被处理器完成时实现如上所述的基于RISC-V处理器的芯片验证方法的步骤。
本发明实现获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列;基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列;基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。由此可知,本发明在芯片验证的过程中,实时获取RISC-V测试激励,通过RISC-V参考模型确定RISC-V测试激励对应的预期值序列,并通过RTL代码确定RISC-V测试激励对应的匹配值序列,基于匹配值序列和预期值序列将RISC-V处理器进行芯片验证,而不需要将RISC-V测试激励中全部的指令,以及将全部的log文件进行仿真验证,从而减少了芯片验证的不相干信息,降低了log文件容量,从而提升了芯片验证的验证效率。
附图说明
图1是本发明基于RISC-V处理器的芯片验证方法第一实施例的流程示意图;
图2是本发明基于RISC-V处理器的芯片验证装置较佳的结构示意图;
图3是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于RISC-V处理器的芯片验证方法,参照图1,图1为本发明基于RISC-V处理器的芯片验证方法第一实施例的流程示意图。
本发明实施例提供了基于RISC-V处理器的芯片验证方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
基于RISC-V处理器的芯片验证方法包括:
步骤S10,获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列。
寄存器获取RISC-V(精简指令集计算机)处理器中的RISC-V测试激励,然后RISC-V处理器中的RISC-V参考模型通过事件监控机制实时监控RISC-V测试激励是否发生变化,若检测到RISC-V测试激励发生变化,RISC-V参考模型则提取发生变化的RISC-V测试激励,并将所有发生变化的RISC-V测试激励存储至对应的checker(检查)程序中,得到checker程序对应的预期值序列。
其中,RISC-V测试激励包括但不限制于整数寄存器数据、浮点寄存器数据和PC(Program Counter,程序计数器)值,PC值表示下一条指令所在单元的地址。整数寄存器和浮点寄存器可以是32位的寄存器,也可以是64位的寄存器,是由微架构决定整数寄存器和浮点寄存器是32位还是64位,本实施例不作限制。预期值序列的数据深度是不限的,即预设值序列中可存储多个发生变化的RISC-V测试激励。
需要说明的是,RISC-V参考模型在仿真过程模拟RISC-V架构指令的处理过程,RISC-V参考模型中设置有监控RISC-V测试激励变化的事件监控机制。不同的RISC-V测试激励对应不同的checker程序,整数寄存器数据对应整数寄存器checker程序,浮点寄存器数据对应浮点寄存器checker程序,PC值对应PC checker程序。
进一步地,所述步骤S10包括:
步骤a,获取所述RISC-V测试激励,基于所述RISC-V参考模型监控在所述RISC-V测试激励中是否存在发生变化的第一RISC-V测试激励;
步骤b,若监控到存在所述第一RISC-V测试激励,则将各个所述第一RISC-V测试激励确定为预期值;
步骤c,将所述预期值依次存储至对应的checker程序中,确定所述checker程序对应的预期值序列。
具体地,寄存器获取RISC-V处理器中的RISC-V测试激励,然后RISC-V参考模型通过事件监控机制实时监控在RISC-V测试激励中是否存在发生变化的第一RISC-V测试激励,若监控到在RISC-V测试激励中存在发生变化的第一RISC-V测试激励,RISC-V参考模型则提取各个第一RISC-V测试激励,并将各个第一RISC-V测试激励确定为RISC-V参考模型中的预期值,然后将各个预期值依次存储至对应的checker程序中,得到checker程序对应的预期值序列。RISC-V参考模型若监控到在RISC-V测试激励中未存在发生变化的第一RISC-V测试激励参考,则按照RISC-V架构正常处理现有指令。
在本实施例中,比如,RISC-V测试激励有30个浮点寄存器,分别为浮点寄存器1、浮点寄存器2至浮点寄存器30,RISC-V参考模型监控到在RISC-V测试激励中发生变化的第一RISC-V测试激励为浮点寄存器1、浮点寄存器2至浮点寄存器20,RISC-V参考模型得到的checker程序对应的预期值序列为浮点寄存器checker_1、浮点寄存器checker_2至浮点寄存器checker_20。
步骤S20,基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列。
RISC-V处理器中的RTL(Register Transfer Level,寄存器转换级电路)代码通过事件监控机制实时监控RISC-V测试激励是否发生变化,若检测到RISC-V测试激励发生变化,RTL代码则摸取发生变化的RISC-V测试激励,并将发生变化的RISC-V测试激励存储至对应的checker程序中,得到checker程序对应的匹配值序列。
其中,匹配值序列的数据深度为1,即匹配值序列中只能存储一个发生变化的RISC-V测试激励,RTL代码在监控到新的发生变化的RISC-V测试激励时,则将新的发生变化的RISC-V测试激励替换存储在匹配值序列中的RISC-V测试激励。
需要说明的是,RTL代码在将匹配值序列中的RISC-V测试激励之前,需要将匹配值序列中的RISC-V测试激励与预期值序列中的RISC-V测试激励进行匹配。
在本实施例中,比如,匹配值序列中有RISC-V测试激励位PC_1,RTL代码在监控到发生变化的PC_2时,将PC_2替换PC_1存储于匹配值序列中。
进一步地,所述步骤S20包括:
步骤d,基于所述RTL代码监控在所述RISC-V测试激励中是否存在发生变化的第二RISC-V测试激励;
步骤e,若监控到存在所述第二RISC-V测试激励,则将各个所述第二RISC-V测试激励确定为匹配值;
步骤f,将所述匹配值依次存储至对应的checker程序中,确定所述checker程序对应的匹配值序列。
具体地,RTL代码通过事件监控机制实时监控在RISC-V测试激励中是否存在发生变化的第二RISC-V测试激励,若监控到在RISC-V测试激励中存在发生变化的第二RISC-V测试激励,RTL代码则摸取各个第二RISC-V测试激励,并将各个第二RISC-V测试激励确定为RTL代码中的匹配值,然后将各个匹配值依次替换存储至对应的checker程序中,得到checker程序对应的匹配值序列。RTL代码若监控到在RISC-V测试激励中未存在发生变化的第二RISC-V测试激励参考,则不作任何处理。
步骤S30,基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。
寄存器检测到RISC-V处理器匹配值序列中的匹配值有更新时,则获取对应的待更新匹配值,并在对应的checker程序的预期值序列中查找是否存在与待更新匹配值相同的预期值,若在对应的checker程序的预期值序列中查找存在与待更新匹配值相同的预期值,寄存器则确定RISC-V参考模型已经预期到了待更新匹配值的变化,确定RISC-V处理器中的待更新匹配值验证通过。若在对应的checker程序的预期值序列中未查找存在与待更新匹配值相同的预期值,寄存器则确定RISC-V参考模型没有预期到待更新匹配值的变化,确定RISC-V处理器的待更新匹配值验证未通过。
需要说明的是,无论对应的预期值序列中是否存在这个匹配值,匹配值序列都不需要做额外的处理,因为匹配值序列深度为1,每次RTL代码摸取到新的匹配值后,最新的匹配值都会替代匹配值序列中原来的匹配值,然后启动最新匹配值在预期值序列中查找是否存在相同的预期值。
进一步地,所述步骤S30包括:
步骤g,检测在所述预期值序列中是否存在目标预期值,其中,所述目标预期值与所述匹配值序列中的目标匹配值相同;
步骤h,若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过;
步骤i,若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过。
具体地,寄存器检测到RISC-V处理器匹配值序列中的匹配值有更新时,获取待更新匹配值,并将该待更新匹配值确定为目标匹配值,然后在检测在对应的checker程序的预期值序列中是否存在与目标匹配值相同的目标预期值,若检测到在预期值序列中存在目标预期值与目标匹配值相同,寄存器则确定RISC-V处理器匹配值序列和预期值序列匹配成功,并确定RISC-V处理器中的匹配值序列验证通过,若检测到在预期值序列中未存在目标预期值与目标匹配值相同,寄存器则确定RISC-V处理器匹配值序列和预期值序列未匹配成功,并确定RISC-V处理器中的匹配值序列验证未通过。
进一步地,基于RISC-V处理器的芯片验证方法还包括:
步骤j,获取所述RISC-V处理器中的整数寄存器数据、浮点寄存器数据和程序计数器PC值,基于所述整数寄存器数据、所述浮点寄存器数据和所述PC值确定所述RISC-V测试激励。
具体地,寄存器获取RISC-V处理器中的整数寄存器数据、浮点寄存器数据和PC值,然后将整数寄存器数据、浮点寄存器数据和PC值确定为RISC-V处理器芯片验证的RISC-V测试激励,将RISC-V测试激励作为检查项数据验证RISC-V处理器。
进一步地,基于RISC-V处理器的芯片验证方法还包括:
步骤l,检测所述预期值序列中目标预期值的个数是否大于预设数量;
步骤m,若检测到所述目标预期值的个数大于所述预设数量,则删除所述预期值序列中列首对应的目标预期值;
步骤n,若检测到所述目标预期值的个数等于所述预设数量,则删除所述目标预期值。
具体地,寄存器确定RISC-V处理器中的匹配值序列验证通过后,在对应的预期值序列中获取与目标匹配值相同的目标预期值的个数,并检测目标预期值的个数是否大于预设数量,若检测到目标预期值的个数大于预设数量,寄存器则删除预期值序列中列首对应的目标预期值,即删除预期值序列中中最靠近队头的目标预期值,若检测到目标预期值的个数等于预设数量,寄存器则直接删除与目标匹配值相同的目标预期值。其中,在本实施例中,预设数量为1。
进一步地,基于RISC-V处理器的芯片验证方法还包括:
步骤o,基于所述目标匹配值确定对应的错误数据,并基于checker程序将所述错误数据上报至用户终端,以供用户通过所述用户终端并基于所述错误数据确定所述RISC-V处理器对应的错误芯片数据。
具体地,寄存器确定RISC-V处理器中的匹配值序列验证未通过后,通过目标匹配值确定RISC-V处理器中对应的错误数据,然后通过checker程序将对应的错误数据上报至用户终端对应的数据系统,接着用户通过数据系统接收到checker程序上报的错误数据后,根据错误数据分析RISC-V处理器,并确定RISC-V处理器对应的错误芯片数据。
本实施例实现获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列;基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列;基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。由此可知,本发明在芯片验证的过程中,实时获取RISC-V测试激励,通过RISC-V参考模型确定RISC-V测试激励对应的预期值序列,并通过RTL代码确定RISC-V测试激励对应的匹配值序列,实时基于匹配值序列和预期值序列进行对比,将RISC-V处理器进行芯片验证,而不需要将RISC-V测试激励中全部的指令,以及将全部的log文件进行仿真验证,从而减少了芯片验证的不相干信息,降低了log文件容量,从而提升了芯片验证的验证效率。
进一步地,提出本发明基于RISC-V处理器的芯片验证方法第二实施例。
所述基于RISC-V处理器的芯片验证方法第二实施例与所述基于RISC-V处理器的芯片验证方法第一施例的区别在于,所述基于RISC-V处理器的芯片验证方法还包括:
步骤p,基于所述checker程序检测所述预期值序列中是否存在预期值;
步骤q,若基于所述checker程序检测到所述预期值序列中存在预期值,则确定RTL代码错误,并确定所述RTL代码对应的错误信息,基于所述checker程序将对应的错误信息上报至用户终端。
具体地,RISC-V处理器中对应的checker程序检测在预期值序列中是否存在预期值,即预期值序列中的预期值是否已经全部清空,若检测到预期值序列中还存在预期值,即预期值序列中的预期值未全部清空,checker程序则确定RTL代码没有产生足够多的匹配值,确定RISC-V处理器中对应的RTL代码错误,确定RTL代码对应的错误信息,并将RTL代码对应的错误信息上报至用户终端,用户通过用户终端接收到checker程序发送的错误信息后,根据错误信息分析RTL代码并优化RTL代码。
本实施例通过基于所述checker程序检测所述预期值序列中是否存在预期值;若基于所述checker程序检测到所述预期值序列中存在预期值,则确定RTL代码错误,并确定所述RTL代码对应的错误信息,基于所述checker程序将对应的错误信息上报至用户终端。由此可知,本实施例RISC-V处理器中对应的checker程序检测在预期值序列中是否存在预期值,即预期值序列中的预期值是否已经全部清空,若检测到预期值序列中还存在预期值,即预期值序列中的预期值未全部清空,checker程序则确定RTL代码没有产生足够多的匹配值,确定RISC-V处理器中对应的RTL代码错误,确定RTL代码对应的错误信息,并将RTL代码对应的错误信息上报至用户终端,用户通过用户终端接收到checker程序发送的错误信息后,根据错误信息分析RTL代码并优化RTL代码,从而优化RISC-V处理器中对应的RTL代码,提升芯片验证的验证效率。
此外,本发明还提供一种基于RISC-V处理器的芯片验证装置,参照图2,所述基于RISC-V处理器的芯片验证装置包括:
获取模块10,用于获取精简指令集计算机RISC-V处理器中的RISC-V测试激励;
确定模块20,用于基于所述RISC-V处理器中的RISC-V参考模型确定所述RISC-V测试激励对应的预期值序列;基于所述RISC-V处理器中的寄存器转换级电路RTL代码确定所述RISC-V测试激励对应的匹配值序列;
验证模块30,用于基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。
进一步地,所述验证模块30包括:
检测单元,用于检测在所述预期值序列中是否存在目标预期值,其中,所述目标预期值与所述匹配值序列中的目标匹配值相同。
确定单元,用于若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过;若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过。
进一步地,所述基于RISC-V处理器的芯片验证装置还包括:
第一检测模块,用于检测所述预期值序列中目标预期值的个数是否大于预设数量;
删除模块,用于若检测到所述目标预期值的个数大于所述预设数量,则删除所述预期值序列中列首对应的目标预期值;若检测到所述目标预期值的个数等于所述预设数量,则删除所述目标预期值;
所述确定模块20还用于基于所述目标匹配值确定对应的错误数据;
第一上报模块,用于基于checker程序将所述错误数据上报至用户终端,以供用户通过所述用户终端并基于所述错误数据确定所述RISC-V处理器对应的错误芯片数据。
进一步地,所述获取模块10还用于获取所述RISC-V测试激励。
进一步地,所述确定模块20包括:
监控单元,用于基于所述RISC-V参考模型监控在所述RISC-V测试激励中是否存在发生变化的第一RISC-V测试激励;
确定单元,用于若监控到存在所述第一RISC-V测试激励,则将各个所述第一RISC-V测试激励确定为预期值;
存储单元,用于将所述预期值依次存储至对应的checker程序中,确定所述checker程序对应的预期值序列;
所述监控单元还用于基于所述RTL代码监控在所述RISC-V测试激励中是否存在发生变化的第二RISC-V测试激励;
所述确定单元还用于若监控到存在所述第二RISC-V测试激励,则将各个所述第二RISC-V测试激励确定为匹配值;
所述存储单元还用于将所述匹配值依次存储至对应的checker程序中,确定所述checker程序对应的匹配值序列。
进一步地,所述获取模块10还用于获取所述RISC-V处理器中的整数寄存器数据、浮点寄存器数据和程序计数器PC值;
所述确定模块20还用于基于所述整数寄存器数据、所述浮点寄存器数据和所述PC值确定所述RISC-V测试激励。
进一步地,所述基于RISC-V处理器的芯片验证装置还包括:
第二检测模块,用于基于所述checker程序检测所述预期值序列中是否存在预期值;
所述确定模块20还用于若基于所述checker程序检测到所述预期值序列中存在预期值,则确定RTL代码错误,并确定所述RTL代码对应的错误信息;
第二上报模块,用于基于所述checker程序将对应的错误信息上报至用户终端。
本发明基于基于RISC-V处理器的芯片验证装置具体实施方式与上述基于基于RISC-V处理器的芯片验证方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种基于RISC-V处理器的芯片验证设备。如图3所示,图3是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图3即可为基于RISC-V处理器的芯片验证设备的硬件运行环境的结构示意图。
如图3所示,该基于RISC-V处理器的芯片验证设备可以包括:处理器1001,例如CPU(Central Processing Unit,中央处理器),存储器1005,用户接口1003,网络接口1004,通信总线1002。通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(board),可选地,用户接口1003还可以包括标准的有线接口(如USB(Universal Serial Bus,通用串行总线)接口)、无线接口(如蓝牙接口)。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI((Wireless-Fidelity))接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,基于RISC-V处理器的芯片验证设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块等等。
本领域技术人员可以理解,图3中示出的基于RISC-V处理器的芯片验证设备结构并不构成对基于RISC-V处理器的芯片验证设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作设备、网络通信模块、用户接口模块以及基于RISC-V处理器的芯片验证程序。其中,操作设备是管理和控制基于RISC-V处理器的芯片验证设备硬件和软件资源的程序,支持基于RISC-V处理器的芯片验证程序以及其它软件或程序的运行。
在图所示的基于RISC-V处理器的芯片验证设备中,用户接口1003主要用于用户终端,以供用户通过用户终端接收checker程序上报目标匹配值对应的错误数据和RTL代码对应的错误信息;网络接口1004主要用于寄存器,以与用户终端进行数据通信;处理器1001可以用于调用存储器1005中存储的基于RISC-V处理器的芯片验证程序,并完成如上所述的基于RISC-V处理器的芯片验证设备的控制方法的步骤。
本发明基于RISC-V处理器的芯片验证设备具体实施方式与上述基于RISC-V处理器的芯片验证方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于RISC-V处理器的芯片验证程序,所述基于RISC-V处理器的芯片验证程序被处理器完成时实现如上所述的基于RISC-V处理器的芯片验证方法的步骤。
本发明计算机可读存储介质具体实施方式与上述基于RISC-V处理器的芯片验证方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的数据下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多数据下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件货物的形式体现出来,该计算机软件货物存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台基于RISC-V处理器的芯片验证设备完成本发明各个实施例所述的方法。
Claims (10)
1.一种基于RISC-V处理器的芯片验证方法,其特征在于,所述基于RISC-V处理器的芯片验证方法包括以下步骤:
获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,其中,所述RISC-V测试激励包括整数寄存器数据、浮点寄存器数据和PC值;基于所述RISC-V处理器中的RISC-V参考模型通过事件监控机制实时监控RISC-V测试激励是否发生变化;若检测到RISC-V测试激励发生变化,RISC-V参考模型则提取发生变化的RISC-V测试激励;将所有发生变化的RISC-V测试激励存储至对应的检查checker程序中,确定所述RISC-V测试激励对应的预期值序列;
基于所述RISC-V处理器中的寄存器转换级电路RTL代码通过事件监控机制实时监控RISC-V测试激励是否发生变化,若检测到RISC-V测试激励发生变化,RTL代码则摸取发生变化的RISC-V测试激励;将发生变化的RISC-V测试激励存储至对应的checker程序中,确定所述RISC-V测试激励对应的匹配值序列,其中,所述匹配值序列的数据深度为1,RTL代码摸取到新的匹配值后,最新的匹配值都会替代匹配值序列中原来的匹配值;
基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证。
2.如权利要求1所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证的步骤包括:
检测在所述预期值序列中是否存在目标预期值,其中,所述目标预期值与所述匹配值序列中的目标匹配值相同;
若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过;
若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过。
3.如权利要求2所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述若检测到在所述预期值序列中存在所述目标预期值,则确定所述匹配值序列和所述预期值序列匹配成功,并确定所述RISC-V处理器验证通过的步骤之后,还包括:
检测所述预期值序列中目标预期值的个数是否大于预设数量;
若检测到所述目标预期值的个数大于所述预设数量,则删除所述预期值序列中列首对应的目标预期值;
若检测到所述目标预期值的个数等于所述预设数量,则删除所述目标预期值。
4.如权利要求2所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述若检测到在所述预期值序列中未存在所述目标预期值,则确定所述匹配值序列和所述预期值序列未匹配成功,并确定所述RISC-V处理器中验证未通过的步骤之后,还包括:
基于所述目标匹配值确定对应的错误数据,并基于checker程序将所述错误数据上报至用户终端,以供用户通过所述用户终端并基于所述错误数据确定所述RISC-V处理器对应的错误芯片数据。
5.如权利要求1所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,其中,所述RISC-V测试激励包括整数寄存器数据、浮点寄存器数据和PC值;基于所述RISC-V处理器中的RISC-V参考模型通过事件监控机制实时监控RISC-V测试激励是否发生变化;若检测到RISC-V测试激励发生变化,RISC-V参考模型则提取发生变化的RISC-V测试激励;将所有发生变化的RISC-V测试激励存储至对应的checker(检查)程序中,确定所述RISC-V测试激励对应的预期值序列的步骤包括:
获取所述RISC-V测试激励,基于所述RISC-V参考模型监控在所述RISC-V测试激励中是否存在发生变化的第一RISC-V测试激励;
若监控到存在所述第一RISC-V测试激励,则将各个所述第一RISC-V测试激励确定为预期值;
将所述预期值依次存储至对应的checker程序中,确定所述checker程序对应的预期值序列。
6.如权利要求1所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述基于所述RISC-V处理器中的寄存器转换级电路RTL代码通过事件监控机制实时监控RISC-V测试激励是否发生变化,若检测到RISC-V测试激励发生变化,RTL代码则摸取发生变化的RISC-V测试激励;将发生变化的RISC-V测试激励存储至对应的checker程序中,确定所述RISC-V测试激励对应的匹配值序列的步骤包括:
基于所述RTL代码监控在所述RISC-V测试激励中是否存在发生变化的第二RISC-V测试激励;
若监控到存在所述第二RISC-V测试激励,则将各个所述第二RISC-V测试激励确定为匹配值;
将所述匹配值依次存储至对应的checker程序中,确定所述checker程序对应的匹配值序列。
7.如权利要求1所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述获取精简指令集计算机RISC-V处理器中的RISC-V测试激励,其中,所述RISC-V测试激励包括整数寄存器数据、浮点寄存器数据和PC值;基于所述RISC-V处理器中的RISC-V参考模型通过事件监控机制实时监控RISC-V测试激励是否发生变化;若检测到RISC-V测试激励发生变化,RISC-V参考模型则提取发生变化的RISC-V测试激励;将所有发生变化的RISC-V测试激励存储至对应的checker(检查)程序中,确定所述RISC-V测试激励对应的预期值序列的步骤之前,还包括:
获取所述RISC-V处理器中的整数寄存器数据、浮点寄存器数据和程序计数器PC值,基于所述整数寄存器数据、所述浮点寄存器数据和所述PC值确定所述RISC-V测试激励。
8.如权利要求1至7任一项所述的基于RISC-V处理器的芯片验证方法,其特征在于,所述基于所述匹配值序列和所述预期值序列对所述RISC-V处理器进行验证的步骤之后,还包括:
基于所述checker程序检测所述预期值序列中是否存在预期值;
若基于所述checker程序检测到所述预期值序列中存在预期值,则确定RTL代码错误,并确定所述RTL代码对应的错误信息,基于所述checker程序将对应的错误信息上报至用户终端。
9.一种基于RISC-V处理器的芯片验证设备,其特征在于,所述基于RISC-V处理器的芯片验证设备包括存储器、处理器和存储在所述存储器上并在所述处理器上运行的基于RISC-V处理器的芯片验证程序,所述基于RISC-V处理器的芯片验证程序被所述处理器完成时实现如权利要求1至8中任一项所述的基于RISC-V处理器的芯片验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于RISC-V处理器的芯片验证程序,所述基于RISC-V处理器的芯片验证程序被处理器完成时实现如权利要求1至8中任一项所述的基于RISC-V处理器的芯片验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010944745.9A CN111931161B (zh) | 2020-09-10 | 2020-09-10 | 基于risc-v处理器的芯片验证方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010944745.9A CN111931161B (zh) | 2020-09-10 | 2020-09-10 | 基于risc-v处理器的芯片验证方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111931161A CN111931161A (zh) | 2020-11-13 |
CN111931161B true CN111931161B (zh) | 2021-01-12 |
Family
ID=73309941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010944745.9A Active CN111931161B (zh) | 2020-09-10 | 2020-09-10 | 基于risc-v处理器的芯片验证方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931161B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231164B (zh) * | 2020-12-11 | 2021-08-27 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684047A (zh) * | 2004-12-24 | 2005-10-19 | 清华大学 | 基于边界条件和自检查随机测试的cpu约束生成验证法 |
CN106528364A (zh) * | 2016-12-15 | 2017-03-22 | 盛科网络(苏州)有限公司 | 基于存储器访问驱动的自动化协同验证平台的搭建方法 |
CN109802864A (zh) * | 2017-11-16 | 2019-05-24 | 中兴通讯股份有限公司 | 芯片设计验证方法、装置及芯片测试器 |
CN110727584A (zh) * | 2019-09-10 | 2020-01-24 | 无锡江南计算技术研究所 | 一种处理器硅前验证用的rtl与参考模型实时比较方法 |
-
2020
- 2020-09-10 CN CN202010944745.9A patent/CN111931161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684047A (zh) * | 2004-12-24 | 2005-10-19 | 清华大学 | 基于边界条件和自检查随机测试的cpu约束生成验证法 |
CN106528364A (zh) * | 2016-12-15 | 2017-03-22 | 盛科网络(苏州)有限公司 | 基于存储器访问驱动的自动化协同验证平台的搭建方法 |
CN109802864A (zh) * | 2017-11-16 | 2019-05-24 | 中兴通讯股份有限公司 | 芯片设计验证方法、装置及芯片测试器 |
CN110727584A (zh) * | 2019-09-10 | 2020-01-24 | 无锡江南计算技术研究所 | 一种处理器硅前验证用的rtl与参考模型实时比较方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111931161A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783898B (zh) | 移动应用的测试方法及测试设备 | |
CN109634837B (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN110474900B (zh) | 一种游戏协议测试方法及装置 | |
US7373576B2 (en) | Apparatus, method, and signal-bearing medium embodying a program for verifying logic circuit design | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN111813845B (zh) | 基于etl任务的增量数据抽取方法、装置、设备及介质 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN109815697B (zh) | 误报行为处理方法及装置 | |
CN113032792A (zh) | 系统业务漏洞检测方法、系统、设备及存储介质 | |
CN115033894B (zh) | 一种基于知识图谱的软件组件供应链安全检测方法及装置 | |
CN112634973A (zh) | 存储介质的数据重读方法、系统、终端设备以及存储介质 | |
CN103810222A (zh) | 样本文件的处理方法及装置 | |
CN111931161B (zh) | 基于risc-v处理器的芯片验证方法、设备及存储介质 | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN110874475A (zh) | 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质 | |
US20140143745A1 (en) | Techniques for segmenting of hardware trace and verification of individual trace segments | |
CN114969759B (zh) | 工业机器人系统的资产安全评估方法、装置、终端及介质 | |
CN108763053B (zh) | 埋点名称的生成方法及终端设备 | |
CN112068713B (zh) | 事件处理方法、装置、电子设备及可读介质 | |
US9824175B1 (en) | Method and system of evaluation of validity of a refinement rule for a hardware emulation | |
CN115543816A (zh) | 软件回归测试结果验证方法、装置、设备及存储介质 | |
CN110096888B (zh) | 一种加快验证及分析smm安全隐患的方法及系统 | |
CN115408244A (zh) | 网页性能测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |