芯片电路功能验证系统、方法、设备及存储介质转让专利
申请号 : CN202110853924.6
文献号 : CN113312879B
文献日 : 2021-11-09
发明人 : 杨兵 , 毕金琼 , 郑晓萌 , 李春红 , 帅晋 , 李振
申请人 : 北京燧原智能科技有限公司
摘要 :
权利要求 :
1.一种芯片电路功能验证系统,其特征在于,包括:激励生成模块、执行模块、待测电路、参考模型和检验器;其中:所述激励生成模块与所述执行模块、所述参考模型电连接,用于获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至所述执行模块和所述参考模型;
所述执行模块还与所述待测电路电连接,用于根据所述目标验证激励对所述待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;
所述待测电路,用于根据参数配置结果和所述目标激励信号生成测试输出结果;
所述参考模型,用于根据所述目标验证激励模拟生成参考输出结果;
所述检验器与所述待测电路、所述参考模型电连接,用于获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果;
其中,所述激励生成模块,包括:软件仿真器和自动化脚本,所述软件仿真器与所述自动化脚本通信连接;其中:
所述软件仿真器,用于根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿真结果中的指令流数据输入至所述自动化脚本;所述软件场景指令通过在软件中追加打印的方法获取;
所述自动化脚本,用于根据所述指令流数据确定对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函数调用关联数据生成所述目标验证激励;
其中,所述软件仿真器,具体用于在所述芯片软件仿真结果中打印出所述指令流数据,输入至所述自动化脚本中。
2.根据权利要求1所述的系统,其特征在于,所述执行模块包括至少一个定义接口函数,具体用于:
根据所述函数调用策略,在所述定义接口函数中获取分别与各所述函数调用关联数据匹配的目标定义接口函数;
将各所述函数调用关联数据输入至匹配的所述目标定义接口函数中,以调用所述目标定义接口函数对所述待测电路进行参数配置,并生成所述目标激励信号输入至所述待测电路。
3.根据权利要求1所述的系统,其特征在于,所述目标验证激励,包括寄存器配置激励、数据配置激励和信号配置激励。
4.根据权利要求3所述的系统,其特征在于,还包括:寄存器接口驱动器、数据接口驱动器和控制信号接口模块;
所述执行模块,具体用于:
根据所述寄存器配置激励调用所述寄存器接口驱动器,以对所述待测电路进行寄存器配置;
根据所述数据配置激励调用所述数据接口驱动器,以对所述待测电路进行存储器配置;
根据所述信号配置激励生成所述目标激励信号,并调用所述控制信号接口模块将所述目标激励信号输入至所述待测电路。
5.根据权利要求1所述的系统,其特征在于,还包括:监视模块;
所述监视模块,用于获取所述待测电路的所述测试输出结果,并将所述测试输出结果输入至所述检验器。
6.根据权利要求5所述的系统,其特征在于,还包括:状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访问接口模块;其中:所述状态信号接口模块,用于获取所述待测电路的状态信号信息并发送至所述监视模块;
所述寄存器接口监视器,用于根据寄存器接口通信协议获取目标寄存器信息,并发送至所述监视模块;
所述数据接口监视器,用于根据数据接口通信协议获取目标数据信息,并发送至所述监视模块;
所述存储器后门访问接口模块,用于获取所述待测电路的存储器数据信息,并发送至所述监视模块。
7.一种芯片电路功能验证方法,其特征在于,应用于芯片电路功能验证系统,包括:通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至执行模块和参考模型;
通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;
通过所述待测电路根据参数配置结果和所述目标激励信号生成测试输出结果;
通过所述参考模型根据所述目标验证激励模拟生成参考输出结果;
通过检验器获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果;
其中,所述通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,包括:
通过软件仿真器根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿真结果中的指令流数据输入至自动化脚本;所述软件场景指令通过在软件中追加打印的方法获取;
通过所述自动化脚本根据所述指令流数据确定对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函数调用关联数据生成所述目标验证激励;
其中,所述将所述芯片软件仿真结果中的指令流数据输入至自动化脚本,包括:在所述芯片软件仿真结果中打印出所述指令流数据,输入至所述自动化脚本中。
8.一种电子设备,其特征在于,包括权利要求1‑6任一项所述的芯片电路功能验证系统。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序实现如权利要求
1‑6任一项所述的芯片电路功能验证系统。
说明书 :
芯片电路功能验证系统、方法、设备及存储介质
技术领域
背景技术
超大规模芯片的出现和发展,芯片在软件应用场景中的测试规模越来越大,并且越来越复
杂。
对应硬件电路验证阶段。如图1和图2所示,在现有技术中,普遍采用的在应用场景中验证芯
片功能的方法是在设计人员解析软件做成应用场景的规格书之后,验证人员根据应用场景
规格书做成应用场景验证规格书,然后编写验证激励和搭建验证环境,包括编写参考模型。
和理解场景信息根据场景信息,并手动编写验证激励,造成验证工作周期长、人工工作量较
大。同时,验证人员在理解应用场景规格书时,由于应用场景信息复杂繁多,容易导致编写
的验证激励和与软件应用场景有偏差。综上,现有技术所提供的芯片电路功能验证方法难
以实现大规模应用场景的验证。
发明内容
所述执行模块和所述参考模型;
果获取所述待测电路的功能验证结果。
验证激励控制待测电路输出测试输出结果,并通过检验器,将其与参考模型根据目标验证
激励输出的参考输出结果进行匹配,最终根据匹配结果得到待测电路的功能验证结果,在
无需应用场景规格书的情况下,实现基于软件仿真结果自动化生成验证激励,避免了现有
技术中人力资源浪费、验证耗时长以及人工编写激励易产生误差的问题,提高芯片电路功
能验证的时间效率、资源利用率以及准确性,促进大规模应用场景验证的实现。
附图说明
具体实施方式
成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但
是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新
安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。
所述处理可以对应于方法、函数、规程、子例程、子程序等等。
以由软件和/或硬件的方式来实现,例如,可以包括采用Verilog语言、VHDL(Veri‑High‑
Speed Integrate Circuit Hardware Description Language,超高速集成电路硬件描述
语言)或者两者编译后生成的可以用于仿真的电路网表、由其他语言编写生成的Verilog代
码或者VHDL代码、由其他语言编写以Verilog代码或者VHDL代码为中间产物生成的电路网
表等,也可以是根据硬件描述语言或网表实现的硬件电路。
块120和参考模型140。
于推动待测电路130工作的数据,可选的,目标验证激励可以包括控制流和数据流,其中,控
制流可以用于推动待测电路130实现任意功能需要执行的动作,数据流可以用于提供待测
电路130实现任意功能需要的数据。
该芯片软件仿真结果即可以生成在软件应用场景中,待测电路130的目标验证激励。进一步
的,基于激励生成模块110与执行模块120、参考模型140之间的电连接,生成的目标验证激
励可以被输入至执行模块120和参考模型140中。
以包括生成目标激励信号并输入至待测电路130,从而可以使参数配置完成的待测电路130
根据输入的目标激励信号得到相应的输出,即待测电路130可以在目标验证激励的推动下
工作,并基于待测电路130实际功能得到相应的输出结果。
自动采集验证环境参数信息,也可以通过人工方法将验证环境参数信息编写至回调接口,
或可以是其他任意可实现的方法,在此不做限定。进一步的,可以根据验证环境参数信息对
执行模块120进行配置,从而实现在不同验证环境中底层接口电路的调用,确保执行模块
120可以在不同验证环境中复用。
据目标验证激励配置完成的待测电路130将目标激励信号作为输入所得到的结果,可以包
括待测电路130的功能实现后得到的任意参数。
和控制电路模块,用于执行数据搬移、数据变换和运算、以及模块间同步控制等。数据处理
和控制电路模块中可以包括寄存器电路,用于控制电路的运行方式,同时反映该模块的运
行状态;还可以包括一个或多个存储器,用于存储数据。待测电路130在上电后,可以完成初
始化配置,包括复位、时钟开关和数据初始化等。待测电路130还可以根据执行模块120通过
执行目标验证激励对其执行的参数配置,进一步完成电路配置,得到参数配置结果。
中需要待测电路130实现的功能。
标验证激励的推动实现模拟出的功能,从而得到参考输出结果,则参考输出结果可以反映
参考模型140的功能,即为芯片设计中需要待测电路130实现的功能。
路130的功能验证结果。
要。
果进行匹配并得到匹配结果。若匹配结果反映测试输出结果和参考输出结果之间的匹配程
度较高,则可以说明待测电路130实际可以实现的功能与参考模型140实现的功能一致,即
可以得到相应的功能验证结果为待测电路130实际可以实现的功能满足芯片设计中的需
要。若匹配结果反映测试输出结果和参考输出结果之间的匹配程度较低,则可以说明待测
电路130实际可以实现的功能与参考模型140实现的功能不一致,即可以得到相应的功能验
证结果为待测电路130实际可以实现的功能无法满足芯片设计中的需要。具体的,判断匹配
程度较高或较低的标准可以根据需要确定,在此不做限定。
中,继而通过参考模型可以得到参考输出结果,通过执行模块可以控制待测电路得到测试
输出结果。验证环境中的检验器可以获取参考输出结果和测试输出结果,并对二者进行匹
配,完成芯片电路功能验证系统的工作流程。
否在待测电路130中得以实现。待测电路模式覆盖信息可以用于描述电路的各种工作模式
和各种工作模式的交叉状态是否在待测电路130中得以实现。
和完善。
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
块110的进一步细化为软件仿真器1101和自动化脚本1102,软件仿真器1101与自动化脚本
1102通信连接。
于描述由软件场景指令所控制的数据操作过程。示例性的,语句“cf_trans id: 9; type:
CF_TRANS_SET_MAILBOX; slave_id: 0x700; mWaitMinusRef; cre_mode: kCreditZero;”
为示例性的指令流数据,对应的指令类型是type:CF_TRANS_SET_MAILBOX,为控制和同步指
令中的模式配置指令。
搬运指令、数据加载指令和数据存储指令等;可以包括控制和同步指令,具体包括等待同步
指令、触发同步指令、模块开关指令和模式配置指令等;还可以包括计算和操作指令,具体
包括逻辑运算指令和数学运算指令等。
“Use ";" to separate property”即可以包括于指令流格式文件中,用于规定指令分隔
符。
据。
用关联数据,并相应生成目标验证激励。因此,目标验证激励可以由执行模块120执行,从而
对执行模块120中定义的函数进行相应的调用,以使执行模块120执行函数以推动待测电路
130工作。
限于寄存器配置、数据和目标激励信号的信息。
据搬运的目标数据。
应用场景的规格书未完成前开展验证工作,使得验证工作启动大幅提前。相应的,图6为本
发明实施例提供的一种基于芯片电路功能验证系统进行功能验证的流程示意图,图7为本
发明实施例提供的一种基于芯片电路功能验证系统进行功能验证所需资源的示意图,其
中,虚线框对应非硬件电路验证阶段,实线框对应硬件电路验证阶段,则如图6和图7所示,
其验证周期比如图1和图2所示的现有技术中的验证周期缩短40%以上。
时的人为因素导致的差错。
的目标定义接口函数;将各函数调用关联数据输入至匹配的目标定义接口函数中,以调用
目标定义接口函数对待测电路130进行参数配置,并生成目标激励信号输入至待测电路
130。
验证激励,其对应的目标定义接口函数可以是cluster _api::cf_trans_set_mbx()函数。
口函数中确定一个或多个目标定义接口函数。根据函数调用策略还可以确定各目标定义接
口函数匹配的函数调用关联数据,从而将函数调用关联数据作为匹配的目标定义接口函数
的输入数据,以调用各目标定义接口函数根据目标验证激励控制待测电路130。
从而根据应用场景验证激励调用相应的接口函数。
器电路的寄存器地址,配置值和配置顺序,用于控制数据处理和控制电路模块按照顺序和
执行数据搬移,变换和运算。数据配置激励可以是用于指示执行模块120对待测电路130进
行数据配置的激励,可以包括但不限于需要写入存储器的数据地址和数据值。信号配置激
励可以是用于指示执行模块120生成目标激励信号的激励,可以包括目标激励信号配置值,
具体可以包括但不限于复位信号,时钟使能,测试模式使能,存储器存储模式和模块标识
码。
存器接口驱动器,以对待测电路130进行寄存器配置;根据数据配置激励调用数据接口驱动
器,以对待测电路130进行存储器配置;根据信号配置激励生成目标激励信号,并调用控制
信号接口模块将目标激励信号输入至待测电路130。
合数据访问接口通信协议的电路信号,以对待测电路130的存储器执行读写操作。控制信号
接口模块可以用于将目标激励信号配置值转换为目标激励信号,以输入到待测电路130。
对应的完成对待测电路130的寄存器配置和存储器配置,以及生成目标激励信号输入至待
测电路130。
到功能验证结果。
模块。数据接口监视器,用于根据数据接口通信协议获取目标数据信息,并发送至监视模
块。存储器后门访问接口模块,用于获取待测电路130的存储器数据信息,并发送至监视模
块。
信息可以是从符合数据接口通信协议的数据访问中获得的信息。存储器数据信息可以是通
过电路层级获得的存储器中的数据信息。
器信息、目标数据信息和存储器数据信息,从而可以将上述信息确定为测试输出结果,并提
供至检测器150与参考输出结果进行匹配。
驱动器、数据接口驱动器和控制信号接口模块、监视模块以及用于获取测试输出结果并提
供至监视模块的状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访
问接口模块、参考模型和检验器。待测电路中包括状态信号、一个或多个数据处理和控制电
路、以及一个或多个存储器。将应用场景验证激励输入至验证环境中的执行模块和参考模
型,即可开始对待测电路的功能验证流程。应用场景验证激励可以通过图9中未示出的激励
生成模块得到。
应用场景指令流并输入至自动化脚本;再通过自动化脚本根据应用场景指令流生成应用场
景验证激励。因此,该应用场景验证激励可以用于输入至图9提供的验证环境中,以对待测
电路进行功能验证。
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
的芯片电路功能验证系统来执行,该系统可以由软件和/或硬件的方式来实现。相应的,如
图11所示,该方法包括如下操作:
根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿
真结果中的指令流数据输入至自动化脚本;通过所述自动化脚本根据所述指令流数据确定
对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函
数调用关联数据生成所述目标验证激励。
括:通过所述执行模块根据所述函数调用策略,在定义接口函数中获取分别与各所述函数
调用关联数据匹配的目标定义接口函数;通过所述执行模块将各所述函数调用关联数据输
入至匹配的所述目标定义接口函数中,以调用所述目标定义接口函数对所述待测电路进行
参数配置,并生成所述目标激励信号输入至所述待测电路。
括:通过所述执行模块根据所述寄存器配置激励调用所述寄存器接口驱动器,以对所述待
测电路进行寄存器配置;通过所述执行模块根据所述数据配置激励调用所述数据接口驱动
器,以对所述待测电路进行存储器配置;通过所述执行模块根据所述信号配置激励生成所
述目标激励信号,并调用所述控制信号接口模块将所述目标激励信号输入至所述待测电
路。
根据寄存器接口通信协议获取目标寄存器信息,并发送至所述监视模块;通过数据接口监
视器根据数据接口通信协议获取目标数据信息,并发送至所述监视模块;通过存储器后门
访问接口模块获取所述待测电路的存储器数据信息,并发送至所述监视模块。
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
量可以是一个或多个,图12中以一个处理器400为例;电子设备中的处理器400、存储器410、
输入装置420和输出装置430可以通过总线或其他方式连接,图12中以通过总线连接为例。
芯片电路功能验证系统中的激励生成模块110、执行模块120、待测电路130、参考模型140和
检验器150)。处理器400通过运行存储在存储器410中的软件程序、指令以及模块,从而执行
电子设备的各种功能应用以及数据处理,即实现上述的芯片电路功能验证系统。
外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一
步包括相对于处理器400远程设置的存储器,这些远程存储器可以通过网络连接至电子设
备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
统,该系统包括:激励生成模块、执行模块、待测电路、参考模型和检验器;其中:所述激励生
成模块与所述执行模块、所述参考模型电连接,用于获取芯片软件仿真结果,并根据所述芯
片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至所述执行模块和所述参
考模型;所述执行模块还与所述待测电路电连接,用于根据所述目标验证激励对所述待测
电路进行参数配置,并生成目标激励信号输入至所述待测电路;所述待测电路,用于根据参
数配置结果和所述目标激励信号生成测试输出结果;所述参考模型,用于根据所述目标验
证激励模拟生成参考输出结果;所述检验器与所述待测电路、所述参考模型电连接,用于获
取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进
行匹配,根据匹配结果获取所述待测电路的功能验证结果。
验证系统。
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory, ROM)、随机存取存储器(Random
Access Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设
备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范
围。
调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较
为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以
包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。