仿真验证方法、装置及计算设备与流程

文档序号:29140566发布日期:2022-03-05 02:38阅读:92来源:国知局
仿真验证方法、装置及计算设备与流程

1.本技术涉及芯片领域,尤其涉及一种仿真验证方法、装置及计算设备。


背景技术:

2.随着大规模集成电路门数增多,系统级芯片(system on chip,简称soc)仿真验证时间越来越慢,为了解决这一问题通常采用硬件加速器对系统级芯片进行仿真验证来提高仿真验证的速度。
3.仿真验证脚本调用硬件加速器在对系统级芯片的算法进行验证时,将包含该算法的顶层仿真文件发送至硬件加速器,硬件加速器需要利用验证平台的验证模块,如复位模块、时钟模块等,对顶层仿真文件中的算法进行验证,因此,在验证过程中,硬件加速器需要与验证平台进行多次交互,验证效率低下。


技术实现要素:

4.本技术实施例提供一种仿真验证方法、装置及计算设备,用以解决现有技术中硬件加速器需要与验证平台进行多次交互,验证效率低下的问题。
5.第一方面,本技术实施例中提供了一种仿真验证方法,应用于仿真验证脚本,所述方法包括:
6.确定所述仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
7.从验证平台获取与待验证算法相关的多个目标验证模块;
8.基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
9.将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。
10.第二方面,本技术实施例提供了一种仿真验证方法,应用于硬件加速器,所述方法包括:
11.接收包含有多个目标验证模块以及所述顶层仿真文件的待验证文件,所述顶层仿真文件包括待验证算法;
12.利用所述多个目标验证模块对所述待验证算法进行验证;
13.返回对应的验证结果。
14.第三方面,本技术实施例提供了一种仿真验证装置,应用于仿真验证脚本,包括:
15.确定模块,用于确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
16.获取模块,用于从验证平台获取与待验证算法相关的多个目标验证模块;
17.生成模块,用于基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
18.发送模块,用于将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。
19.第四方面,本技术实施例提供了一种仿真验证装置,应用于硬件加速器,包括:
20.接收模块,用于接收包含有多个目标验证模块以及所述顶层仿真文件的待验证文件,所述顶层仿真文件包括待验证算法;
21.验证模块,用于利用所述多个目标验证模块对所述待验证算法进行验证;
22.返回模块,用于返回对应的验证结果。
23.第五方面,本技术实施例提供了一种计算设备,包括处理组件以及存储组件;所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;所述处理组件用于:
24.确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
25.从验证平台获取与待验证算法相关的多个目标验证模块;
26.基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
27.将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。
28.第六方面,本技术实施例提供了一种计算设备,包括处理组件以及存储组件;所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
29.所述处理组件用于:
30.接收包含有多个目标验证模块以及所述顶层仿真文件的待验证文件,所述顶层仿真文件包括待验证算法;
31.利用所述多个目标验证模块对所述待验证算法进行验证;
32.返回对应的验证结果。
33.第七方面,本技术实施例提供了一种非暂时性机器可读存储介质,非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使处理器至少可以实现如第一方面所述的仿真验证方法。
34.第八方面,本技术实施例提供了一种非暂时性机器可读存储介质,非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使处理器至少可以实现如第二方面所述的仿真验证方法。
35.本技术实施例提供一种仿真验证方法、装置及计算设备。该方法包括:确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;从验证平台获取与待验证算法相关的多个目标验证模块;基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。本技术实施例通过将待验证算法和多个目标验证模块一同发送给硬件加速器,可以在硬件加速器上利用多个目标验证模块对目标算法模块进行验证,提升了验证的效率。
36.本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申
请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1示出了本技术提供的仿真验证方法的一种实施例的流程示意图;
39.图2示出了本技术提供的仿真验证方法的另一种实施例的流程示意图;
40.图3示出了本技术提供的仿真验证方法的另一种实施例的流程示意图;
41.图4示出了本技术提供的仿真验证装置一个实施例的结构示意图;
42.图5示出了本技术提供的仿真验证装置另一个实施例的结构示意图;
43.图6示出了与图4所示的仿真验证装置对应的计算设备的结构示意图;
44.图7示出了与图5所示的仿真验证装置对应的计算设备的结构示意图。
具体实施方式
45.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
46.在本技术的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
47.如背景技术所述,随着大规模集成电路门数增多,soc芯片仿真验证时间越来越慢,为了解决这一问题通常采用硬件加速器对系统级芯片进行仿真验证来提高仿真验证的速度。
48.目前采用硬件加速器对芯片的算法仿真验证的一般流程为:仿真验证脚本调用硬件加速器在对系统级芯片的算法进行验证时,将包含该算法的顶层仿真文件发送至硬件加速器,硬件加速器需要利用验证平台的验证模块,如复位模块、时钟模块等,对顶层仿真文件中的算法进行验证。
49.由于验证平台的验证不存在于硬件加速器上,因此,在验证过程中,硬件加速器需要与验证模块所在的验证平台进行多次交互,验证效率低下。
50.为了解决上述技术问题,本技术实施例提供一种仿真验证方法、装置及计算设备。该方法包括:确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;从验证平台获取与待验证算法相关的多个目标验证模块;基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。本技术实施例通过将待验证算法和多个目标验证模块一同发送给硬件加速器,可以在硬件加速器上利用多个目标验证模块对目标算法模块进行验证,提升了验证的效率。
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.图1示出了本技术提供的仿真验证方法的一种实施例的流程示意图,其中,本技术实施例的执行主体可以为仿真验证脚本,也可以是可以调用仿真验证脚本的仿真验证系统。如图1所示,该方法包括:
53.101、确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件。
54.其中,待验证算法可以是待验证芯片中某一系统对应的算法,比如,可以是图像信号处理(image signal processing,简称isp)系统对应的算法,也可以是神经网络处理器(neural-network processing unit,简称npu)系统对应的算法等等。
55.确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件的过程可以实现为:接收用户在仿真验证脚本输入的算法,将该算法确定为待验证算法。
56.102、从验证平台获取与待验证算法相关的多个目标验证模块。
57.可选地,验证平台可以是硬件加速器对应的验证平台,多个目标验证模块可以是复位模块、时钟模块和主设备验证组件和从设备验证组件等。
58.获取与待验证算法相关的多个目标验证模块的过程可以实现为:通过多个目标验证模块对应的调用接口,在仿真验证脚本中调用多个目标验证模块。
59.获取与待验证算法相关的多个目标验证模块的过程还可以实现为:将用户输入的多个验证模块确定为多个目标验证模块。
60.103、基于多个目标验证模块以及顶层仿真文件,生成待验证文件。
61.可选地,基于多个目标验证模块以及顶层仿真文件,生成待验证文件包括:在顶层仿真文件外部增加外包层;在外包层中添加多个目标验证模块,生成待验证文件。
62.104、将待验证文件发送至硬件加速器,以供硬件加速器利用多个目标验证模块对待验证算法进行仿真验证。
63.待验证文件在验证过程的执行步骤可以是:实例化验证平台所需的主设备验证组件和从设备验证组件,由于待验证算法中包括多个算法,可以通过主设备验证组件和从设备验证组件确定此次仿真验证中验证的算法。还可以通过主设备验证组件和从设备验证组件确定存储器的地址,从而在进行验证算法的过程中从存储器中获取相应的数据;进一步的,进行时钟模块和复位模块的定义和赋值,即确定此次仿真验证运行的时钟频率以及复位的频率和时间;截断总线信号,即禁止其他信号传输至该待验证文件,保证对待验证算法仿真的准确性;封装用户接口函数,即可以通过该用户接口函数改变待验证算法。
64.本技术实施例提供一种仿真验证方法。该方法包括:确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;从验证平台获取与待验证算法相关的多个目标验证模块;基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。本技术实施例通过将待验证算法和多个目标验证模块一同发送给硬件加速器,可以在硬件加速器上利用多个目标验证模块对目标算法模块进行验证,提升了验证的效率。
65.进一步的,由于硬件加速器编译一次要8小时左右,比较慢,多个目标验证模块一旦出现问题,纠错的过程比较复杂,且浪费的时间比较多,因此,在通过硬件加速器对待验证模块进行仿真验证之前,需要对多个目标验证模块进行验证。
66.图2示出了本技术提供的仿真验证方法的另一种实施例的流程示意图,该方法包
括:
67.201、根据仿真验证脚本中预先配置的仿真选项,确定验证模式。
68.202、若验证模式为普通仿真器模式,则将多个验证模块以及测试算法发送至普通仿真器,以便普通仿真器对多个验证模块的功能进行验证。
69.其中,多个验证模块为硬件加速器对应的验证平台包括的多个验证模块
70.仿真验证脚本在将待验证文件发送至硬件加速器,对待验证文件中的待验证算法进行验证之前,需要对多个验证模块的连通性进行验证,由于普通仿真器编译一次时间比较短,因此,仿真验证脚本通过预先配置的仿真选项,确定验证模式为普通仿真器模式,从而将多个验证模块以及测试算法发送至普通仿真器,以便普通仿真器对多个验证模块的功能进行验证。
71.其中测试算法为比较简单的算法,且测试算法不会出现任何错误,因此普通仿真器利用多个验证模块对测试算法进行验证的过程比较简单,从而可以在较短的时间内确定出多个验证模块的功能是否正常以及多个验证模块的连通性是否正常。
72.203、接收普通仿真器返回的验证结果。
73.204、若验证结果无误,则将多个验证模块确定为多个目标验证模块。
74.在多个验证模块的功能正常以及多个验证模块的连通性正常的情况下,将多个验证模块确定为多个目标验证模块,用于在硬件加速器中对待验证算法进行验证。
75.205、若验证模式为加速器模式,则将待验证文件发送至硬件加速器,以供硬件加速器利用多个目标验证模块对待验证算法进行仿真验证。
76.本技术实施例中,通过在普通加速器中对硬件加速器对应的验证平台包括的多个验证模块进行验证,有效提高了对多个验证模块进行验证的效率,在多个验证模块的功能正常以及多个验证模块的连通性正常的情况下,将多个验证模块确定为多个目标验证模块,用于在硬件加速器中对待验证算法进行验证,从而避免了在硬件加速器中利用多个目标验证模块待验证算法进行验证的过程中多个目标验证模块出错的情况。
77.图3示出了本技术提供的仿真验证方法的另一种实施例的流程示意图,本技术实施例的执行主体为一硬件加速器,该方法包括:
78.301、接收包含有多个目标验证模块以及顶层仿真文件的待验证文件,顶层仿真文件包括待验证算法。
79.302、利用多个目标验证模块对待验证算法进行验证。
80.303、返回对应的验证结果。
81.图3所示的仿真验证方法的执行过程与图1-2所示的仿真验证方法的执行过程大体一致,在此不再赘述。
82.图4示出了本技术提供的仿真验证装置一个实施例的结构示意图,如图4所述,该装置包括:确定模块41、获取模块42、生成模块43、发送模块44。
83.确定模块41,用于确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
84.获取模块42,用于从验证平台获取与待验证算法相关的多个目标验证模块;
85.生成模块43,用于基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
86.发送模块44,用于将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。
87.可选地,确定模块41还用于根据所述仿真验证脚本中预先配置的仿真选项,确定验证模式。
88.可选地,确定模块41还用于若所述验证模式为普通仿真器模式,则将多个验证模块以及测试算法发送至所述普通仿真器,以便所述普通仿真器对所述多个验证模块的功能进行验证;
89.接收所述普通仿真器返回的验证结果;
90.若所述验证结果无误,则将所述多个验证模块确定为多个目标验证模块。
91.可选地,确定模块41若所述验证模式为加速器模式,则将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。
92.图4所述的仿真验证装置可以执行图1-图2所示实施例所述的仿真验证方法,其实现原理和技术效果不再赘述。对于上述实施例中的仿真验证装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
93.图5示出了本技术提供的仿真验证装置另一个实施例的结构示意图,应用于安卓车机系统中的应用程序,如图5所述,该装置包括:接收模块51、验证模块52、返回模块53。
94.接收模块51,用于接收包含有多个目标验证模块以及所述顶层仿真文件的待验证文件,所述顶层仿真文件包括待验证算法;
95.验证模块52,用于利用所述多个目标验证模块对所述待验证算法进行验证;
96.返回模块53,用于返回对应的验证结果。
97.图5所述的仿真验证装置可以执行图3所示实施例所述的仿真验证方法,其实现原理和技术效果不再赘述。对于上述实施例中的仿真验证装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
98.在一个可能的设计中,图4所示实施例的仿真验证装置可以实现为计算设备,如图6所示,该计算设备可以包括存储组件601以及处理组件602;
99.所述存储组件601存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件602调用执行。
100.所述处理组件602用于:
101.确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
102.从验证平台获取与待验证算法相关的多个目标验证模块;
103.基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
104.将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目标验证模块对所述待验证算法进行仿真验证。确定仿真验证脚本中待验证芯片中的待验证算法对应的顶层仿真文件;
105.从验证平台获取与待验证算法相关的多个目标验证模块;
106.基于所述多个目标验证模块以及所述顶层仿真文件,生成待验证文件;
107.将所述待验证文件发送至所述硬件加速器,以供所述硬件加速器利用所述多个目
标验证模块对所述待验证算法进行仿真验证。
108.在一个可能的设计中,图5所示实施例的仿真验证装置可以实现为计算设备,如图7所示,该计算设备可以包括存储组件701以及处理组件702;
109.所述存储组件701存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件702调用执行。
110.所述处理组件702用于:
111.接收包含有多个目标验证模块以及所述顶层仿真文件的待验证文件,所述顶层仿真文件包括待验证算法;
112.利用所述多个目标验证模块对所述待验证算法进行验证;
113.返回对应的验证结果。
114.另外,本技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1-图2所示实施例中提供的仿真验证方法。
115.本技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图3所示实施例中提供的仿真验证方法。
116.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
117.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一种地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
118.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
119.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1