芯片电路功能验证系统、方法、设备及存储介质转让专利

申请号 : CN202110853924.6

文献号 : CN113312879B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨兵毕金琼郑晓萌李春红帅晋李振

申请人 : 北京燧原智能科技有限公司

摘要 :

本发明实施例公开了一种芯片电路功能验证系统、方法、设备及存储介质。其中,系统包括:激励生成模块、执行模块、待测电路、参考模型和检验器;激励生成模块获取芯片软件仿真结果并生成目标验证激励,将目标验证激励输入至执行模块和参考模型;执行模块根据目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至待测电路;待测电路根据参数配置结果和目标激励信号生成测试输出结果;参考模型根据目标验证激励模拟生成参考输出结果;检验器对测试输出结果和参考输出结果进行匹配以获取待测电路的功能验证结果。本发明实施例可以提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规模应用场景验证的实现。

权利要求 :

1.一种芯片电路功能验证系统,其特征在于,包括:激励生成模块、执行模块、待测电路、参考模型和检验器;其中:所述激励生成模块与所述执行模块、所述参考模型电连接,用于获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至所述执行模块和所述参考模型;

所述执行模块还与所述待测电路电连接,用于根据所述目标验证激励对所述待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;

所述待测电路,用于根据参数配置结果和所述目标激励信号生成测试输出结果;

所述参考模型,用于根据所述目标验证激励模拟生成参考输出结果;

所述检验器与所述待测电路、所述参考模型电连接,用于获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果;

其中,所述激励生成模块,包括:软件仿真器和自动化脚本,所述软件仿真器与所述自动化脚本通信连接;其中:

所述软件仿真器,用于根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿真结果中的指令流数据输入至所述自动化脚本;所述软件场景指令通过在软件中追加打印的方法获取;

所述自动化脚本,用于根据所述指令流数据确定对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函数调用关联数据生成所述目标验证激励;

其中,所述软件仿真器,具体用于在所述芯片软件仿真结果中打印出所述指令流数据,输入至所述自动化脚本中。

2.根据权利要求1所述的系统,其特征在于,所述执行模块包括至少一个定义接口函数,具体用于:

根据所述函数调用策略,在所述定义接口函数中获取分别与各所述函数调用关联数据匹配的目标定义接口函数;

将各所述函数调用关联数据输入至匹配的所述目标定义接口函数中,以调用所述目标定义接口函数对所述待测电路进行参数配置,并生成所述目标激励信号输入至所述待测电路。

3.根据权利要求1所述的系统,其特征在于,所述目标验证激励,包括寄存器配置激励、数据配置激励和信号配置激励。

4.根据权利要求3所述的系统,其特征在于,还包括:寄存器接口驱动器、数据接口驱动器和控制信号接口模块;

所述执行模块,具体用于:

根据所述寄存器配置激励调用所述寄存器接口驱动器,以对所述待测电路进行寄存器配置;

根据所述数据配置激励调用所述数据接口驱动器,以对所述待测电路进行存储器配置;

根据所述信号配置激励生成所述目标激励信号,并调用所述控制信号接口模块将所述目标激励信号输入至所述待测电路。

5.根据权利要求1所述的系统,其特征在于,还包括:监视模块;

所述监视模块,用于获取所述待测电路的所述测试输出结果,并将所述测试输出结果输入至所述检验器。

6.根据权利要求5所述的系统,其特征在于,还包括:状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访问接口模块;其中:所述状态信号接口模块,用于获取所述待测电路的状态信号信息并发送至所述监视模块;

所述寄存器接口监视器,用于根据寄存器接口通信协议获取目标寄存器信息,并发送至所述监视模块;

所述数据接口监视器,用于根据数据接口通信协议获取目标数据信息,并发送至所述监视模块;

所述存储器后门访问接口模块,用于获取所述待测电路的存储器数据信息,并发送至所述监视模块。

7.一种芯片电路功能验证方法,其特征在于,应用于芯片电路功能验证系统,包括:通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至执行模块和参考模型;

通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;

通过所述待测电路根据参数配置结果和所述目标激励信号生成测试输出结果;

通过所述参考模型根据所述目标验证激励模拟生成参考输出结果;

通过检验器获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果;

其中,所述通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,包括:

通过软件仿真器根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿真结果中的指令流数据输入至自动化脚本;所述软件场景指令通过在软件中追加打印的方法获取;

通过所述自动化脚本根据所述指令流数据确定对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函数调用关联数据生成所述目标验证激励;

其中,所述将所述芯片软件仿真结果中的指令流数据输入至自动化脚本,包括:在所述芯片软件仿真结果中打印出所述指令流数据,输入至所述自动化脚本中。

8.一种电子设备,其特征在于,包括权利要求1‑6任一项所述的芯片电路功能验证系统。

9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序实现如权利要求

1‑6任一项所述的芯片电路功能验证系统。

说明书 :

芯片电路功能验证系统、方法、设备及存储介质

技术领域

[0001] 本发明实施例涉及芯片技术领域,尤其涉及一种芯片电路功能验证系统、方法、设备及存储介质。

背景技术

[0002] 在芯片设计中,在软件应用场景中对芯片集成电路进行功能验证,能够在电路开发前期测试芯片核心功能,是确保芯片设计成功所必不可少的环节。随着5G和人工智能等
超大规模芯片的出现和发展,芯片在软件应用场景中的测试规模越来越大,并且越来越复
杂。
[0003] 图1为现有技术中的芯片电路功能验证方法的流程示意图,图2为现有技术中的芯片电路功能验证各阶段所需资源的示意图,其中,虚线框对应非硬件电路验证阶段,实线框
对应硬件电路验证阶段。如图1和图2所示,在现有技术中,普遍采用的在应用场景中验证芯
片功能的方法是在设计人员解析软件做成应用场景的规格书之后,验证人员根据应用场景
规格书做成应用场景验证规格书,然后编写验证激励和搭建验证环境,包括编写参考模型。
[0004] 然而,上述现有技术中提供的方法存在以下缺陷:首先,在应用场景的规格书未完成前,验证工作无法开展,造成验证人员的人力资源未充分调动。其次,验证人员需要收集
和理解场景信息根据场景信息,并手动编写验证激励,造成验证工作周期长、人工工作量较
大。同时,验证人员在理解应用场景规格书时,由于应用场景信息复杂繁多,容易导致编写
的验证激励和与软件应用场景有偏差。综上,现有技术所提供的芯片电路功能验证方法难
以实现大规模应用场景的验证。

发明内容

[0005] 本发明实施例提供一种芯片电路功能验证系统、方法、设备及存储介质,以提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规模应用场景验证的实现。
[0006] 第一方面,本发明实施例提供了一种芯片电路功能验证系统,包括:激励生成模块、执行模块、待测电路、参考模型和检验器;其中:
[0007] 所述激励生成模块与所述执行模块、所述参考模型电连接,用于获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至
所述执行模块和所述参考模型;
[0008] 所述执行模块还与所述待测电路电连接,用于根据所述目标验证激励对所述待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;
[0009] 所述待测电路,用于根据参数配置结果和所述目标激励信号生成测试输出结果;
[0010] 所述参考模型,用于根据所述目标验证激励模拟生成参考输出结果;
[0011] 所述检验器与所述待测电路、所述参考模型电连接,用于获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结
果获取所述待测电路的功能验证结果。
[0012] 第二方面,本发明实施例还提供了一种芯片电路功能验证方法,应用于芯片电路功能验证系统,包括:
[0013] 通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至执行模块和参考模型;
[0014] 通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路;
[0015] 通过所述待测电路根据参数配置结果和所述目标激励信号生成测试输出结果;
[0016] 通过所述参考模型根据所述目标验证激励模拟生成参考输出结果;
[0017] 通过检验器获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果。
[0018] 第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括本发明任意实施例所提供的芯片电路功能验证系统。
[0019] 第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序实现本发明任意实施例所提供的芯片电路功能验证系统。
[0020] 本发明实施例通过激励生成模块获取芯片软件仿真结果,并根据该软件仿真结果自动生成目标验证激励,并将激励输入至执行模块和参考模型中,以使执行模块根据目标
验证激励控制待测电路输出测试输出结果,并通过检验器,将其与参考模型根据目标验证
激励输出的参考输出结果进行匹配,最终根据匹配结果得到待测电路的功能验证结果,在
无需应用场景规格书的情况下,实现基于软件仿真结果自动化生成验证激励,避免了现有
技术中人力资源浪费、验证耗时长以及人工编写激励易产生误差的问题,提高芯片电路功
能验证的时间效率、资源利用率以及准确性,促进大规模应用场景验证的实现。

附图说明

[0021] 图1为现有技术中的芯片电路功能验证方法的流程示意图。
[0022] 图2为现有技术中的芯片电路功能验证各阶段所需资源的示意图。
[0023] 图3为本发明实施例一提供的一种芯片电路功能验证系统的示意图。
[0024] 图4为本发明实施例一提供的一种芯片电路功能验证系统的工作流程示意图。
[0025] 图5为本发明实施例二提供的一种芯片电路功能验证系统的示意图。
[0026] 图6为本发明实施例二提供的一种基于芯片电路功能验证系统进行功能验证的流程示意图。
[0027] 图7为本发明实施例二提供的一种基于芯片电路功能验证系统进行功能验证所需资源的示意图。
[0028] 图8为本发明实施例二提供的一种接口函数调用过程的流程示意图。
[0029] 图9为本发明实施例二提供的一种芯片电路功能验证系统的工作流程示意图。
[0030] 图10为本发明实施例二提供的一种激励生成模块的工作流程示意图。
[0031] 图11为本发明实施例三提供的一种芯片电路功能验证方法的流程图。
[0032] 图12为本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

[0033] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
[0034] 另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述
成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但
是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新
安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。
所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0035] 实施例一
[0036] 图3是本发明实施例一提供的一种芯片电路功能验证系统的示意图,本实施例提供的芯片电路功能验证系统可适用于基于应用环境对芯片电路的功能进行验证的情况,可
以由软件和/或硬件的方式来实现,例如,可以包括采用Verilog语言、VHDL(Veri‑High‑
Speed Integrate Circuit Hardware Description Language,超高速集成电路硬件描述
语言)或者两者编译后生成的可以用于仿真的电路网表、由其他语言编写生成的Verilog代
码或者VHDL代码、由其他语言编写以Verilog代码或者VHDL代码为中间产物生成的电路网
表等,也可以是根据硬件描述语言或网表实现的硬件电路。
[0037] 相应的,如图3所示,该芯片电路功能验证系统,包括:激励生成模块110、执行模块120、待测电路130、参考模型140和检验器150。
[0038] 其中,激励生成模块110与执行模块120、参考模型140电连接,用于获取芯片软件仿真结果,并根据芯片软件仿真结果生成目标验证激励,并将目标验证激励输入至执行模
块120和参考模型140。
[0039] 具体的,芯片软件仿真结果可以是对待测电路130的软件应用场景对应的软件进行仿真所得到的结果。目标验证激励可以是在芯片软件仿真结果对应的软件应用场景中用
于推动待测电路130工作的数据,可选的,目标验证激励可以包括控制流和数据流,其中,控
制流可以用于推动待测电路130实现任意功能需要执行的动作,数据流可以用于提供待测
电路130实现任意功能需要的数据。
[0040] 相应的,待测电路130的软件应用场景可以是芯片设计中预先确定的,激励生成模块110则可以根据待测电路130的软件应用场景,获取对应的芯片软件仿真结果,从而根据
该芯片软件仿真结果即可以生成在软件应用场景中,待测电路130的目标验证激励。进一步
的,基于激励生成模块110与执行模块120、参考模型140之间的电连接,生成的目标验证激
励可以被输入至执行模块120和参考模型140中。
[0041] 相应的,执行模块120还与待测电路130电连接,用于根据目标验证激励对待测电路130进行参数配置,并生成目标激励信号输入至待测电路130。
[0042] 具体的,参数配置可以是对待测电路130中各元件参数进行配置的操作。目标激励信号可以是用于输入至待测电路130以得到相应输出的信号。
[0043] 相应的,执行模块120接收到输入的目标验证激励,可以执行该目标验证激励以推动待测电路130工作,具体可以包括根据目标验证激励对待测电路130进行参数配置,还可
以包括生成目标激励信号并输入至待测电路130,从而可以使参数配置完成的待测电路130
根据输入的目标激励信号得到相应的输出,即待测电路130可以在目标验证激励的推动下
工作,并基于待测电路130实际功能得到相应的输出结果。
[0044] 在本发明的一个可选实施例中,执行模块120可以包括回调接口,用于获取验证环境参数信息,并根据所述验证环境参数信息对执行模块120进行配置。
[0045] 具体的,验证环境参数信息可以用于描述执行模块120所运行的环境的各参数的配置情况。
[0046] 相应的,执行模块120包括回调接口,当使用任意验证环境时,该回调接口可以获取该验证环境的验证环境参数信息。回调接口获取验证环境参数信息的方法,例如可以是
自动采集验证环境参数信息,也可以通过人工方法将验证环境参数信息编写至回调接口,
或可以是其他任意可实现的方法,在此不做限定。进一步的,可以根据验证环境参数信息对
执行模块120进行配置,从而实现在不同验证环境中底层接口电路的调用,确保执行模块
120可以在不同验证环境中复用。
[0047] 相应的,待测电路130,用于根据参数配置结果和目标激励信号生成测试输出结果。
[0048] 具体的,参数配置结果可以是根据目标验证激励对待测电路130进行参数配置所得到的结果,例如可以包括待测电路130的元件参数和存储数据等。测试输出结果可以是根
据目标验证激励配置完成的待测电路130将目标激励信号作为输入所得到的结果,可以包
括待测电路130的功能实现后得到的任意参数。
[0049] 相应的,待测电路130可以是芯片中的计算单元集群,其中可以配置有标识其状态的状态信号,可以包括工作状态、时钟使能和工作模式等;还可以包括一个或多个数据处理
和控制电路模块,用于执行数据搬移、数据变换和运算、以及模块间同步控制等。数据处理
和控制电路模块中可以包括寄存器电路,用于控制电路的运行方式,同时反映该模块的运
行状态;还可以包括一个或多个存储器,用于存储数据。待测电路130在上电后,可以完成初
始化配置,包括复位、时钟开关和数据初始化等。待测电路130还可以根据执行模块120通过
执行目标验证激励对其执行的参数配置,进一步完成电路配置,得到参数配置结果。
[0050] 进一步的,待测电路130可以将目标激励信号作为输入开始工作,最终得到测试输出结果,则测试输出结果可以反映待测电路130实际可以实现的功能。
[0051] 相应的,参考模型140,用于根据目标验证激励模拟生成参考输出结果。
[0052] 具体的,参考输出结果可以是参考模型140根据目标验证激励的推动实现模拟出的功能所得到的结果,其可以与测试输出结果包括相同类型的参数,可以反映在芯片设计
中需要待测电路130实现的功能。
[0053] 相应的,参考模型140可以是根据芯片设计的需求编写的模拟模型,可以实现芯片设计所需要的芯片电路功能。因此,参考模型140接收到输入的目标验证激励,可以根据目
标验证激励的推动实现模拟出的功能,从而得到参考输出结果,则参考输出结果可以反映
参考模型140的功能,即为芯片设计中需要待测电路130实现的功能。
[0054] 相应的,检验器150与待测电路130、参考模型140电连接,用于获取测试输出结果和参考输出结果,并对测试输出结果和参考输出结果进行匹配,根据匹配结果获取待测电
路130的功能验证结果。
[0055] 具体的,匹配结果可以用于描述测试输出结果和参考输出结果之间的匹配程度。功能验证结果可以用于描述待测电路130实际实现的功能是否可以满足芯片设计中的需
要。
[0056] 相应的,检验器150可以基于与待测电路130的电连接,获取测试输出结果,还可以基于与参考模型140的电连接,获取参考输出结果,从而可以对测试输出结果和参考输出结
果进行匹配并得到匹配结果。若匹配结果反映测试输出结果和参考输出结果之间的匹配程
度较高,则可以说明待测电路130实际可以实现的功能与参考模型140实现的功能一致,即
可以得到相应的功能验证结果为待测电路130实际可以实现的功能满足芯片设计中的需
要。若匹配结果反映测试输出结果和参考输出结果之间的匹配程度较低,则可以说明待测
电路130实际可以实现的功能与参考模型140实现的功能不一致,即可以得到相应的功能验
证结果为待测电路130实际可以实现的功能无法满足芯片设计中的需要。具体的,判断匹配
程度较高或较低的标准可以根据需要确定,在此不做限定。
[0057] 示例性的,图4为本发明实施例提供的一种芯片电路功能验证系统的工作流程示意图。如图4所示,应用场景验证激励可以输入至验证环境中部署的参考模型和执行模块
中,继而通过参考模型可以得到参考输出结果,通过执行模块可以控制待测电路得到测试
输出结果。验证环境中的检验器可以获取参考输出结果和测试输出结果,并对二者进行匹
配,完成芯片电路功能验证系统的工作流程。
[0058] 在本发明的一个可选实施例中,所述系统,还可以包括功能覆盖统计模块,用于采集功能覆盖点信息。
[0059] 其中,所述功能覆盖点信息包括配置模式覆盖信息和待测电路模式覆盖信息。
[0060] 具体的,功能覆盖点信息可以用于描述芯片设计中需要的各功能是否在待测电路130中得以实现。配置目标覆盖信息可以用于描述硬件配置和软件配置的各种工作模式是
否在待测电路130中得以实现。待测电路模式覆盖信息可以用于描述电路的各种工作模式
和各种工作模式的交叉状态是否在待测电路130中得以实现。
[0061] 相应的,功能覆盖统计模块可以在对待测电路130进行芯片电路功能验证的过程中采集功能覆盖点信息,从而得到待测电路130的功能覆盖率,以使功能验证结果更为全面
和完善。
[0062] 本发明实施例提供了一种芯片电路功能验证系统,通过激励生成模块获取芯片软件仿真结果,并根据该软件仿真结果自动生成目标验证激励,并将激励输入至执行模块和
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
[0063] 实施例二
[0064] 图5是本发明实施例二提供的一种芯片电路功能验证系统的示意图。如图5所示,在上述实施例的基础上,本实施例对激励生成模块的内部结构进行具体化,将激励生成模
块110的进一步细化为软件仿真器1101和自动化脚本1102,软件仿真器1101与自动化脚本
1102通信连接。
[0065] 其中,软件仿真器1101,用于根据软件场景指令和指令流格式文件,生成芯片软件仿真结果,并将芯片软件仿真结果中的指令流数据输入至自动化脚本1102。
[0066] 具体的,软件场景指令可以是待测电路130的软件应用场景中的指令。指令流格式文件可以是用于规定软件应用场景中的指令流数据的编写格式的文件。指令流数据可以用
于描述由软件场景指令所控制的数据操作过程。示例性的,语句“cf_trans id: 9; type: 
CF_TRANS_SET_MAILBOX; slave_id: 0x700; mWaitMinusRef; cre_mode: kCreditZero;”
为示例性的指令流数据,对应的指令类型是type:CF_TRANS_SET_MAILBOX,为控制和同步指
令中的模式配置指令。
[0067] 可选的,软件场景指令可以通过软件开发人员在软件中追加打印的方法获取,可以包括任意类型的指令。具体的,软件中的指令类型可以包括数据传输指令,具体包括数据
搬运指令、数据加载指令和数据存储指令等;可以包括控制和同步指令,具体包括等待同步
指令、触发同步指令、模块开关指令和模式配置指令等;还可以包括计算和操作指令,具体
包括逻辑运算指令和数学运算指令等。
[0068] 可选的,指令流格式文件可以包括但不限于指令分隔符、属性名称和属性值分隔符的规则,多维属性名定义格式,多维属性值定义格式和数值前缀规则。示例性的,语句
“Use ";" to separate property”即可以包括于指令流格式文件中,用于规定指令分隔
符。
[0069] 相应的,软件仿真器1101可以根据输入的软件场景指令和指令流格式文件进行仿真,并在输出芯片软件仿真结果中打印出指令流数据,输入至自动化脚本1102中。
[0070] 相应的,自动化脚本1102,用于根据指令流数据确定对执行模块120的函数调用策略和函数调用关联数据,并根据函数调用策略和函数调用关联数据生成目标验证激励。
[0071] 具体的,函数调用策略可以用于描述对执行模块120中定义的各函数的调用操作。函数调用关联数据可以是对执行模块120中定义的任意函数执行的调用操作中需要的数
据。
[0072] 相应的,自动化脚本1102接收到指令流数据,可以根据指令流数据确定待测电路130的软件应用场景中的数据操作过程,从而确定对执行模块120的函数调用策略和函数调
用关联数据,并相应生成目标验证激励。因此,目标验证激励可以由执行模块120执行,从而
对执行模块120中定义的函数进行相应的调用,以使执行模块120执行函数以推动待测电路
130工作。
[0073] 可选的,函数调用策略可以是用于对执行模块120中的激励接口函数进行调用的策略,激励接口函数可以预先在执行模块120中进行定义;函数调用关联数据可以包括但不
限于寄存器配置、数据和目标激励信号的信息。
[0074] 示例性的,指令流数据可以是数据搬运指令对应的指令流数据,自动化脚本1102可以确定出需要调用执行模块120中预先定义的数据搬运方法的激励接口函数,并确定数
据搬运的目标数据。
[0075] 上述实施方式通过软件仿真器和自动化脚本,实现根据软件仿真结果生成目标验证激励,从而使芯片电路功能验证过程不再依赖于应用场景规格书,从而验证人员可以在
应用场景的规格书未完成前开展验证工作,使得验证工作启动大幅提前。相应的,图6为本
发明实施例提供的一种基于芯片电路功能验证系统进行功能验证的流程示意图,图7为本
发明实施例提供的一种基于芯片电路功能验证系统进行功能验证所需资源的示意图,其
中,虚线框对应非硬件电路验证阶段,实线框对应硬件电路验证阶段,则如图6和图7所示,
其验证周期比如图1和图2所示的现有技术中的验证周期缩短40%以上。
[0076] 此外,基于软件仿真结果生成的目标验证激励不依赖于人工对场景信息的理解以及相应的编写,而是直接来源于软件,可以更加逼近真实应用场景,避免手动编写验证激励
时的人为因素导致的差错。
[0077] 在本发明的一个可选实施例中,执行模块120可以包括至少一个定义接口函数,具体可以用于:根据函数调用策略,在定义接口函数中获取分别与各函数调用关联数据匹配
的目标定义接口函数;将各函数调用关联数据输入至匹配的目标定义接口函数中,以调用
目标定义接口函数对待测电路130进行参数配置,并生成目标激励信号输入至待测电路
130。
[0078] 其中,定义接口函数可以是执行模块120中预先定义的函数,用于控制待测电路130。目标定义接口函数可以是根据函数调用策略需要调用的定义接口函数。
[0079] 示例性的,语句“cluster.cf_trans_set_mbx(0x700,0,0,0,0,0x0,1, kIncrementRef, kTriggerPositive, kCreditZero, kWaitMinusOne);”为示例性的目标
验证激励,其对应的目标定义接口函数可以是cluster _api::cf_trans_set_mbx()函数。
[0080] 相应的,执行模块120中可以预先定义有一个或多个定义接口函数,可以根据电路设计规格书进行定义,从而其在接收到函数调用策略后,可以根据函数调用策略在定义接
口函数中确定一个或多个目标定义接口函数。根据函数调用策略还可以确定各目标定义接
口函数匹配的函数调用关联数据,从而将函数调用关联数据作为匹配的目标定义接口函数
的输入数据,以调用各目标定义接口函数根据目标验证激励控制待测电路130。
[0081] 示例性的,图8为本发明实施例提供的一种接口函数调用过程的流程示意图。如图8所示,基于软件打印的指令生成应用场景指令流,再根据指令流生成应用场景验证激励,
从而根据应用场景验证激励调用相应的接口函数。
[0082] 在本发明的一个可选实施例中,所述目标验证激励,可以包括寄存器配置激励、数据配置激励和信号配置激励。
[0083] 其中,寄存器配置激励可以是用于指示执行模块120对待测电路130进行寄存器配置的激励,可以包括但不限于需要写入待测电路130中的数据处理和控制电路模块的寄存
器电路的寄存器地址,配置值和配置顺序,用于控制数据处理和控制电路模块按照顺序和
执行数据搬移,变换和运算。数据配置激励可以是用于指示执行模块120对待测电路130进
行数据配置的激励,可以包括但不限于需要写入存储器的数据地址和数据值。信号配置激
励可以是用于指示执行模块120生成目标激励信号的激励,可以包括目标激励信号配置值,
具体可以包括但不限于复位信号,时钟使能,测试模式使能,存储器存储模式和模块标识
码。
[0084] 在本发明的一个可选实施例中,所述系统,还可以包括:寄存器接口驱动器、数据接口驱动器和控制信号接口模块;执行模块120具体可以用于:根据寄存器配置激励调用寄
存器接口驱动器,以对待测电路130进行寄存器配置;根据数据配置激励调用数据接口驱动
器,以对待测电路130进行存储器配置;根据信号配置激励生成目标激励信号,并调用控制
信号接口模块将目标激励信号输入至待测电路130。
[0085] 其中,寄存器接口驱动器可以用于将寄存器配置转换为符合寄存器接口通信协议的电路信号来配置待测电路130的寄存器。数据接口驱动器可以用于将数据配置转换为符
合数据访问接口通信协议的电路信号,以对待测电路130的存储器执行读写操作。控制信号
接口模块可以用于将目标激励信号配置值转换为目标激励信号,以输入到待测电路130。
[0086] 相应的,执行模块120可以分别根据目标验证激励中的寄存器配置激励、数据配置激励和信号配置激励,调用寄存器接口驱动器、数据接口驱动器和控制信号接口模块,从而
对应的完成对待测电路130的寄存器配置和存储器配置,以及生成目标激励信号输入至待
测电路130。
[0087] 在本发明的一个可选实施例中,所述系统,还可以包括监视模块,用于获取待测电路130的测试输出结果,并将测试输出结果输入至检验器150。
[0088] 相应的,监视模块可以实时监测待测电路130中得到的测试输出结果,从而输入至检验器150,以使检验器150可以将接收到的测试输出结果与参考数据结果进行匹配,以得
到功能验证结果。
[0089] 上述实施方式通过部署监视模块,可以简化检验器的功能设计,提高检验器获取测试输出结果的效率。
[0090] 在本发明的一个可选实施例中,所述系统,还可以包括:状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访问接口模块。
[0091] 其中,状态信号接口模块,用于获取待测电路130的状态信号信息并发送至监视模块。寄存器接口监视器,用于根据寄存器接口通信协议获取目标寄存器信息,并发送至监视
模块。数据接口监视器,用于根据数据接口通信协议获取目标数据信息,并发送至监视模
块。存储器后门访问接口模块,用于获取待测电路130的存储器数据信息,并发送至监视模
块。
[0092] 具体的,状态信号信息可以是描述待测电路130在工作过程中的状态信号的信息。目标寄存器信息可以是从符合寄存器接口通信协议的寄存器访问中获得的信息。目标数据
信息可以是从符合数据接口通信协议的数据访问中获得的信息。存储器数据信息可以是通
过电路层级获得的存储器中的数据信息。
[0093] 相应的,监视模块可以根据相应的通信协议,接收状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访问接口模块分别发送的状态信号信息、目标寄存
器信息、目标数据信息和存储器数据信息,从而可以将上述信息确定为测试输出结果,并提
供至检测器150与参考输出结果进行匹配。
[0094] 示例性的,图9为本发明实施例提供的一种芯片电路功能验证系统的工作流程示意图。如图9所示,该系统在验证环境中部署了执行模块以及由执行模块调用的寄存器接口
驱动器、数据接口驱动器和控制信号接口模块、监视模块以及用于获取测试输出结果并提
供至监视模块的状态信号接口模块、寄存器接口监视器、数据接口监视器和存储器后门访
问接口模块、参考模型和检验器。待测电路中包括状态信号、一个或多个数据处理和控制电
路、以及一个或多个存储器。将应用场景验证激励输入至验证环境中的执行模块和参考模
型,即可开始对待测电路的功能验证流程。应用场景验证激励可以通过图9中未示出的激励
生成模块得到。
[0095] 相应的,图10为本发明实施例提供的一种激励生成模块的工作流程示意图。如图10所示,通过软件仿真器可以根据软件打印的指令和应用场景指令流格式进行仿真,得到
应用场景指令流并输入至自动化脚本;再通过自动化脚本根据应用场景指令流生成应用场
景验证激励。因此,该应用场景验证激励可以用于输入至图9提供的验证环境中,以对待测
电路进行功能验证。
[0096] 本发明实施例提供了一种芯片电路功能验证系统,通过激励生成模块获取芯片软件仿真结果,并根据该软件仿真结果自动生成目标验证激励,并将激励输入至执行模块和
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
[0097] 实施例三
[0098] 图11为本发明实施例三提供的一种芯片电路功能验证方法的流程图,本实施例可适用于基于应用环境对芯片电路的功能进行验证的情况,该方法可以由本发明实施例提供
的芯片电路功能验证系统来执行,该系统可以由软件和/或硬件的方式来实现。相应的,如
图11所示,该方法包括如下操作:
[0099] S310、通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至执行模块和参考模型。
[0100] S320、通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路。
[0101] S330、通过所述待测电路根据参数配置结果和所述目标激励信号生成测试输出结果。
[0102] S340、通过所述参考模型根据所述目标验证激励模拟生成参考输出结果。
[0103] S350、通过检验器获取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进行匹配,根据匹配结果获取所述待测电路的功能验证结果。
[0104] 在本发明实施例的一个可选实施方式中,所述通过激励生成模块获取芯片软件仿真结果,并根据所述芯片软件仿真结果生成目标验证激励,具体可以包括:通过软件仿真器
根据软件场景指令和指令流格式文件,生成所述芯片软件仿真结果,并将所述芯片软件仿
真结果中的指令流数据输入至自动化脚本;通过所述自动化脚本根据所述指令流数据确定
对所述执行模块的函数调用策略和函数调用关联数据,并根据所述函数调用策略和所述函
数调用关联数据生成所述目标验证激励。
[0105] 在本发明实施例的一个可选实施方式中,所述通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路,具体可以包
括:通过所述执行模块根据所述函数调用策略,在定义接口函数中获取分别与各所述函数
调用关联数据匹配的目标定义接口函数;通过所述执行模块将各所述函数调用关联数据输
入至匹配的所述目标定义接口函数中,以调用所述目标定义接口函数对所述待测电路进行
参数配置,并生成所述目标激励信号输入至所述待测电路。
[0106] 在本发明实施例的一个可选实施方式中,所述目标验证激励,可以包括寄存器配置激励、数据配置激励和信号配置激励。
[0107] 在本发明实施例的一个可选实施方式中,所述通过所述执行模块根据所述目标验证激励对待测电路进行参数配置,并生成目标激励信号输入至所述待测电路,具体可以包
括:通过所述执行模块根据所述寄存器配置激励调用所述寄存器接口驱动器,以对所述待
测电路进行寄存器配置;通过所述执行模块根据所述数据配置激励调用所述数据接口驱动
器,以对所述待测电路进行存储器配置;通过所述执行模块根据所述信号配置激励生成所
述目标激励信号,并调用所述控制信号接口模块将所述目标激励信号输入至所述待测电
路。
[0108] 在本发明实施例的一个可选实施方式中,所述方法还可以包括:通过监视模块获取所述待测电路的所述测试输出结果,并将所述测试输出结果输入至所述检验器。
[0109] 在本发明实施例的一个可选实施方式中,所述方法还可以包括:通过状态信号接口模块获取所述待测电路的状态信号信息并发送至所述监视模块;通过寄存器接口监视器
根据寄存器接口通信协议获取目标寄存器信息,并发送至所述监视模块;通过数据接口监
视器根据数据接口通信协议获取目标数据信息,并发送至所述监视模块;通过存储器后门
访问接口模块获取所述待测电路的存储器数据信息,并发送至所述监视模块。
[0110] 本发明实施例提供了一种芯片电路功能验证方法,通过激励生成模块获取芯片软件仿真结果,并根据该软件仿真结果自动生成目标验证激励,并将激励输入至执行模块和
参考模型中,以使执行模块根据目标验证激励控制待测电路输出测试输出结果,并通过检
验器,将其与参考模型根据目标验证激励输出的参考输出结果进行匹配,最终根据匹配结
果得到待测电路的功能验证结果,在无需应用场景规格书的情况下,实现基于软件仿真结
果自动化生成验证激励,避免了现有技术中人力资源浪费、验证耗时长以及人工编写激励
易产生误差的问题,提高芯片电路功能验证的时间效率、资源利用率以及准确性,促进大规
模应用场景验证的实现。
[0111] 实施例四
[0112] 图12为本发明实施例四提供的一种电子设备的结构示意图,如图12所示,该电子设备包括处理器400、存储器410、输入装置420和输出装置430;电子设备中处理器400的数
量可以是一个或多个,图12中以一个处理器400为例;电子设备中的处理器400、存储器410、
输入装置420和输出装置430可以通过总线或其他方式连接,图12中以通过总线连接为例。
[0113] 存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的芯片电路功能验证系统中的程序指令和/或模块(例如,
芯片电路功能验证系统中的激励生成模块110、执行模块120、待测电路130、参考模型140和
检验器150)。处理器400通过运行存储在存储器410中的软件程序、指令以及模块,从而执行
电子设备的各种功能应用以及数据处理,即实现上述的芯片电路功能验证系统。
[0114] 存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一
步包括相对于处理器400远程设置的存储器,这些远程存储器可以通过网络连接至电子设
备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0115] 输入装置420可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置430可包括显示屏等显示设备。
[0116] 实施例五
[0117] 本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本发明实施例提供的一种芯片电路功能验证系
统,该系统包括:激励生成模块、执行模块、待测电路、参考模型和检验器;其中:所述激励生
成模块与所述执行模块、所述参考模型电连接,用于获取芯片软件仿真结果,并根据所述芯
片软件仿真结果生成目标验证激励,并将所述目标验证激励输入至所述执行模块和所述参
考模型;所述执行模块还与所述待测电路电连接,用于根据所述目标验证激励对所述待测
电路进行参数配置,并生成目标激励信号输入至所述待测电路;所述待测电路,用于根据参
数配置结果和所述目标激励信号生成测试输出结果;所述参考模型,用于根据所述目标验
证激励模拟生成参考输出结果;所述检验器与所述待测电路、所述参考模型电连接,用于获
取所述测试输出结果和所述参考输出结果,并对所述测试输出结果和所述参考输出结果进
行匹配,根据匹配结果获取所述待测电路的功能验证结果。
[0118] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的系统,还可以实现本发明任意实施例所提供的芯片电路功能
验证系统。
[0119] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory, ROM)、随机存取存储器(Random 
Access Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设
备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0120] 值得注意的是,上述芯片电路功能验证系统的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即
可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范
围。
[0121] 上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新
调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较
为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以
包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。