本发明涉及芯片,特别涉及一种芯片仿真方法、装置、设备及介质。
背景技术:
1、伴随着集成电路的发展,芯片的规格和需要应用的场景也愈发复杂,针对于芯片验证的挑战也越来越大。
2、仿真是芯片验证的基础,资源消耗越小,仿真时间越短的仿真是技术人员所期望的。因为这样可以在更短的时间内,以相同的硬件资源并行更多量的仿真,以使得芯片验证更加完备。
3、以具有图像算法处理(isp,image signal processor)功能的芯片为例,常见的仿真环境通常按照以下方式发送图像数据:
4、1.验证环境中以一整帧的数据进行一个单位的包发送;
5、2.验证环境中以一个像素点的数据进行一个单位的包发送。
6、这两种方式的优缺点在于:第一种方式在验证环境中只会进行一次整理,很多函数只会调用一次,仿真时间较少,但占用的动态缓存过多;
7、第二种方式在环境中会进行以点个数的次数整理,函数也会调用对应次数。例如,针对大图如4k(3840x2160)图像,函数会调用八百万次,从而大量增加仿真时间。
8、为此,上述问题亟待本领域技术人员解决。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种芯片仿真方法、装置、设备及介质,能够实现在数据仿真时间和数据缓存大小两方面下的芯片仿真优化设计,兼顾时间和资源,从总体上降低了仿真时间和资源消耗。
2、其具体方案如下:
3、第一方面,本技术公开了一种芯片仿真方法,包括:
4、获取待处理数据;
5、以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,所述数据仿真时间为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计数据仿真时间,所述所需数据缓存大小为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计所需数据缓存大小;
6、按照所述目标数据包大小,将所述待处理数据分为若干个目标数据包;
7、以若干个所述目标数据包进行芯片仿真。
8、可选的,所述以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,包括:
9、计算在各个数据包大小时所述待处理数据的数据仿真时间和所需数据缓存大小,所述备选数据包大小范围包括各个所述数据包大小;
10、将所述数据仿真时间和所需数据缓存大小对应处于最低的n个和m个中的一个时的数据包大小作为所述目标数据包大小,n和m为大于或等于1的整数。
11、可选的,所述计算在各个数据包大小时所述待处理数据的数据仿真时间和所需数据缓存大小,包括:
12、从所述备选数据包大小范围选择多个备选数据包大小;
13、分别计算不同所述备选数据包大小时所述待处理数据的数据仿真时间和所需数据缓存大小;
14、对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果;
15、依据多个所述运算结果,从多个备选数据包大小中选择至少两个,以对所述备选数据包大小范围进行缩减;
16、从缩减后的备选数据包大小范围中继续选择多个备选数据包大小进行运算,直到选择到的备选数据包大小使得处于该数据包大小时的所述待处理数据的数据仿真时间和所需数据缓存大小对应处于最低的n个和m个中的一个时的数据包时止。
17、可选的,所述以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,包括:
18、计算在各个备选数据包大小时所述待处理数据的数据仿真时间和所需数据缓存大小,所述备选数据包大小范围包括各个所述备选数据包大小;
19、对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果;
20、将多个所述运算结果中对应处于最低的p个中的一个时的备选数据包大小作为所述目标数据包大小,p为大于或等于1的整数。
21、可选的,所述对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果,包括:
22、对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行相乘运算,得到多个所述备选数据包大小对应的多个运算结果。
23、可选的,计算所述待处理数据的数据仿真时间和所需数据缓存大小,包括:
24、获取所述待处理数据的实际仿真时间和实际所需数据缓存大小;
25、将基准仿真时间与所述实际仿真时间相加,得到所述待处理数据的所述数据仿真时间;
26、将基准数据缓存大小与所述实际所需数据缓存大小相加,得到所述待处理数据的所需数据缓存大小。
27、可选的,所述对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果,包括:
28、按照以下公式进行相乘运算,得到多个所述备选数据包大小对应的多个运算结果;
29、(x+(p/n)×x1)×(y+n×y1);
30、其中,x表示所述基准仿真时间,p表示所述待处理数据的数据大小,n表示不同所述备选数据包大小,x1表示单位数据包大小所需的数据仿真时间,y表示所述基准数据缓存大小,y1表示单位数据包大小的所需数据缓存大小,(x+(p/n)×x1)表示所述待处理数据的所述数据仿真时间,(y+n×y1)表示所述待处理数据的所述所需数据缓存大小。
31、第二方面,本技术公开了一种芯片仿真装置,包括:
32、数据获取模块,用于获取待处理数据;
33、数据包筛选模块,用于以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,所述数据仿真时间为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计数据仿真时间,所述所需数据缓存大小为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计所需数据缓存大小;
34、数据划分模块,用于按照所述目标数据包大小,将所述待处理数据分为若干个目标数据包;
35、芯片仿真模块,用于以若干个所述目标数据包进行芯片仿真。
36、第三方面,本技术公开了一种电子设备,包括:
37、存储器,用于保存计算机程序;
38、处理器,用于执行所述计算机程序,以实现前述公开的芯片仿真方法。
39、第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的芯片仿真方法。
40、可见,本技术提出一种芯片仿真方法,包括:获取待处理数据;以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,所述数据仿真时间为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计数据仿真时间,所述所需数据缓存大小为按照所述备选数据包大小范围将所述待处理数据分别模拟拆分为不同大小的数据包时,所述待处理数据的总计所需数据缓存大小;按照所述目标数据包大小,将所述待处理数据分为若干个目标数据包;以若干个所述目标数据包进行芯片仿真。
41、综上可见,本技术首先根据待处理数据的数据仿真时间和所需数据缓存大小筛选得到目标数据包大小,而数据仿真时间和所需数据缓存大小分别是模拟拆分为不同大小的数据包时待处理数据总计所需的数据仿真时间和所需数据缓存大小,因此筛选得到的目标数据大小兼顾了芯片仿真的时间和资源,并根据该目标数据包大小对待处理数据进行划分,进一步基于划分后的若干个目标数据包进行芯片仿真,如此一来,实现了对芯片在数据仿真时间和数据缓存大小两方面下的仿真优化设计,降低了仿真时间和资源消耗。
42、也就是说,本技术基于实际情况使用了动态数据包的方式,在综合考虑不同待处理数据的数据仿真时间和数据缓存大小的情况下选择相应的目标数据包大小,使得数据仿真时间和数据缓存大小能够达到一定的均衡。相应的,本技术还提出一种芯片仿真装置、设备及介质,与芯片仿真方法具备相同的技术效果。
1.一种芯片仿真方法,其特征在于,包括:
2.根据权利要求1所述的芯片仿真方法,其特征在于,所述以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,包括:
3.根据权利要求2所述的芯片仿真方法,其特征在于,所述计算在各个数据包大小时所述待处理数据的数据仿真时间和所需数据缓存大小,包括:
4.根据权利要求1所述的芯片仿真方法,其特征在于,所述以所述待处理数据的数据仿真时间和所需数据缓存大小为筛选因素,从备选数据包大小范围中筛选出目标数据包大小,包括:
5.根据权利要求3或4所述的芯片仿真方法,其特征在于,所述对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果,包括:
6.根据权利要求3或4所述的芯片仿真方法,其特征在于,计算所述待处理数据的数据仿真时间和所需数据缓存大小,包括:
7.根据权利要求6所述的芯片仿真方法,其特征在于,所述对不同所述备选数据包大小时的所述数据仿真时间和所需数据缓存大小进行第一运算,得到多个所述备选数据包大小对应的多个运算结果,包括:
8.一种芯片仿真装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的芯片仿真方法。
