针对FPGA综合工具的性能评估方法、装置和计算机设备与流程

文档序号:32205360发布日期:2022-11-16 04:29阅读:79来源:国知局
针对FPGA综合工具的性能评估方法、装置和计算机设备与流程
针对fpga综合工具的性能评估方法、装置和计算机设备
技术领域
1.本技术涉及fpga技术领域,特别是涉及一种针对fpga综合工具的性能评估方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.现场可编程门阵列(field programmable gate array,fpga)作为一类重要的集成电路产品,近年来取得了快速发展。鉴于fpga具有可编程、灵活性强及吞吐量高等特点,使其在移动通信、边缘计算、物联网等领域获得了广泛应用。
3.在fpga开发的整个流程中,fpga综合工具(例如vivado、quartus等fpga综合工具)是实现fpga从代码输入到硬件实现的关键要素和基础软件平台,其在保障fpga的推广应用及市场竞争力方面具有不可或缺的重要作用。
4.然而,随着fpga综合工具越来越多,各类fpga综合工具在性能上也存在参差不齐的情况。目前,缺少一种对fpga综合工具进行性能评估的方法,这成为本领域技术人员亟待解决的技术问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够实现对fpga综合工具进行性能评估的针对fpga综合工具的性能评估方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种针对fpga综合工具的性能评估方法。所述方法包括:
7.获取测试用例集合;
8.针对所述测试用例集合中的每个测试用例,采用待测fpga综合工具对所述测试用例进行综合,得到所述待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对所述测试用例进行综合,得到所述参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
9.针对所述测试用例集合中的每个测试用例,基于第一测试参数对所述第一待验证性能参数进行测试验证,得到所述待测fpga综合工具对应的第三性能参数,以及基于第二测试参数对所述第二待验证性能参数进行验证,得到所述参考fpga综合工具对应的第四性能参数;其中,所述第一测试参数是基于所述第一待验证性能参数中的部分待验证性能参数确定的,所述第二测试参数是基于所述第二待验证性能参数中的部分待验证性能参数确定的;
10.根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果。
11.在其中一个实施例中,所述根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测
fpga综合工具的性能评估结果,包括:
12.计算由所述第一性能参数和所述第二性能参数确定的第一frobenius范数;
13.计算由所述第三性能参数和所述第四性能参数确定的第二frobenius范数;
14.若所述第一frobenius范数和所述第二frobenius范数满足预设的等效性条件,则输出所述待测fpga综合工具的第一性能评估结果;其中,所述第一性能评估结果用于表征所述待测fpga综合工具与所述参考fpga综合工具之间具有等效性。
15.在其中一个实施例中,所述根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果,包括:
16.计算由所述第一性能参数和所述第二性能参数确定的第一frobenius范数;
17.比较所述第一性能参数和所述第二性能参数的大小,得到第一比较结果;
18.计算由所述第三性能参数和所述第四性能参数确定的第二frobenius范数;
19.比较所述第三性能参数和所述第四性能参数的大小,得到第二比较结果;
20.若所述第一frobenius范数、所述第一比较结果、所述第二frobenius范数和所述第二比较结果满足预设的可替代性条件,则输出所述待测fpga综合工具的第二性能评估结果;其中,所述第二性能评估结果用于表征所述待测fpga综合工具与所述参考fpga综合工具之间具有可替代性。
21.在其中一个实施例中,所述第一性能参数包括所述待测fpga综合工具综合所述测试用例所需的时间信息或所述待测fpga综合工具综合所述测试用例所需的面积信息中的一种或多种;
22.所述第二性能参数包括所述参考fpga综合工具综合所述测试用例所需的时间信息或所述参考fpga综合工具综合所述测试用例所需的面积信息中的一种或多种;
23.所述第三性能参数包括在所述第一测试参数下所述测试用例测试通过的速度信息或在所述第一测试参数下所述测试用例测试通过的功耗信息中的一种或多种;
24.所述第四性能参数包括在所述第二测试参数下所述测试用例测试通过的速度信息或在所述第二测试参数下所述测试用例测试通过的功耗信息中的一种或多种。
25.在其中一个实施例中,所述第一测试参数包括信号源的第一输出工作频率,所述第一输出工作频率为所述待测fpga综合工具综合所述测试用例所需的速度信息;
26.所述第二测试参数包括信号源的第二输出工作频率,所述第二输出工作频率为所述参考fpga综合工具综合所述测试用例所需的速度信息。
27.在其中一个实施例中,所述获取测试用例集合,包括:
28.确定所述参考fpga综合工具所采用的参考fpga器件;
29.获取所述参考fpga器件的最大资源规模信息;
30.根据所述最大资源规模信息和预设的资源利用率集合,计算测试用例集合中每个测试用例的资源规模信息;
31.根据所述每个测试用例的资源规模信息和所述参考fpga器件,生成测试用例集合。
32.第二方面,本技术还提供了一种针对fpga综合工具的性能评估装置。所述装置包括:
33.用例获取模块,用于获取测试用例集合;
34.用例综合模块,用于针对所述测试用例集合中的每个测试用例,采用待测fpga综合工具对所述测试用例进行综合,得到所述待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对所述测试用例进行综合,得到所述参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
35.参数验证模块,用于针对所述测试用例集合中的每个测试用例,基于第一测试参数对所述第一待验证性能参数进行测试验证,得到所述待测fpga综合工具对应的第三性能参数,以及基于第二测试参数对所述第二待验证性能参数进行验证,得到所述参考fpga综合工具对应的第四性能参数;其中,所述第一测试参数是基于所述第一待验证性能参数中的部分待验证性能参数确定的,所述第二测试参数是基于所述第二待验证性能参数中的部分待验证性能参数确定的;
36.性能评估模块,用于根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果。
37.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38.获取测试用例集合;
39.针对所述测试用例集合中的每个测试用例,采用待测fpga综合工具对所述测试用例进行综合,得到所述待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对所述测试用例进行综合,得到所述参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
40.针对所述测试用例集合中的每个测试用例,基于第一测试参数对所述第一待验证性能参数进行测试验证,得到所述待测fpga综合工具对应的第三性能参数,以及基于第二测试参数对所述第二待验证性能参数进行验证,得到所述参考fpga综合工具对应的第四性能参数;其中,所述第一测试参数是基于所述第一待验证性能参数中的部分待验证性能参数确定的,所述第二测试参数是基于所述第二待验证性能参数中的部分待验证性能参数确定的;
41.根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果。
42.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
43.获取测试用例集合;
44.针对所述测试用例集合中的每个测试用例,采用待测fpga综合工具对所述测试用例进行综合,得到所述待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对所述测试用例进行综合,得到所述参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
45.针对所述测试用例集合中的每个测试用例,基于第一测试参数对所述第一待验证性能参数进行测试验证,得到所述待测fpga综合工具对应的第三性能参数,以及基于第二
测试参数对所述第二待验证性能参数进行验证,得到所述参考fpga综合工具对应的第四性能参数;其中,所述第一测试参数是基于所述第一待验证性能参数中的部分待验证性能参数确定的,所述第二测试参数是基于所述第二待验证性能参数中的部分待验证性能参数确定的;
46.根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果。
47.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
48.获取测试用例集合;
49.针对所述测试用例集合中的每个测试用例,采用待测fpga综合工具对所述测试用例进行综合,得到所述待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对所述测试用例进行综合,得到所述参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
50.针对所述测试用例集合中的每个测试用例,基于第一测试参数对所述第一待验证性能参数进行测试验证,得到所述待测fpga综合工具对应的第三性能参数,以及基于第二测试参数对所述第二待验证性能参数进行验证,得到所述参考fpga综合工具对应的第四性能参数;其中,所述第一测试参数是基于所述第一待验证性能参数中的部分待验证性能参数确定的,所述第二测试参数是基于所述第二待验证性能参数中的部分待验证性能参数确定的;
51.根据所述第一性能参数、所述第二性能参数、所述第三性能参数和所述第四性能参数,对所述待测fpga综合工具进行性能评估,得到所述待测fpga综合工具的性能评估结果。
52.上述针对fpga综合工具的性能评估方法、装置、计算机设备、存储介质和计算机程序产品,首先采用待测fpga综合工具和参考fpga综合工具分别对各测试用例进行综合,得到第一性能参数和第一待验证性能参数,以及第二性能参数和第二待验证性能参数。然后基于第一测试参数对第一待验证性能参数进行测试验证,得到第三性能参数,以及基于第二测试参数对第二待验证性能参数进行测试验证,得到第四性能参数。最后采用第一性能参数、第二性能参数、第三性能参数和第四性能参数对待测fpga综合工具进行性能评估,确定待测fpga综合工具的性能评估结果。由此可知,本技术通过考虑待测fpga综合工具的性能参数与参考fpga综合工具的性能参数,来反映出待测fpga综合工具与参考fpga综合工具在性能上的优劣,因而实现了对fpga综合工具进行性能评估的目的。
附图说明
53.图1为一个实施例中针对fpga综合工具的性能评估方法的流程示意图;
54.图2为一个实施例中测试用例的基本结构示意图;
55.图3为一个实施例中针对fpga综合工具的性能评估装置的结构框图;
56.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.在一个实施例中,如图1所示,提供了一种针对fpga综合工具的性能评估方法,包括以下步骤:
59.步骤s102,获取测试用例集合。
60.具体而言,测试用例集合是指由一个或多个测试用例构成的集合。在一个实施例中,多个测试用例的资源规模是不同的。
61.步骤s104,针对测试用例集合中的每个测试用例,采用待测fpga综合工具对测试用例进行综合,得到待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对测试用例进行综合,得到参考fpga综合工具对应的第二性能参数和第二待验证性能参数。
62.其中,待测fpga综合工具与参考fpga综合工具可以是相同fpga型号或者具有同等或相当集成规模fpga产品的以性能指标为导向的fpga综合工具。该同等或相当集成规模fpga是指fpga中集成的基本门电路的数量,如十万门级、百万门级、千万门级及亿门级等。
63.具体而言,在步骤s104之前,将待测fpga综合工具和参考fpga综合工具都安装到同一台计算机平台中。如此设置,保证基于相同的计算机软硬件平台搭建测评环境,使计算机硬件性能及操作系统一致,避免因计算机平台不同带来对fpga综合工具综合测试用例所需的时间信息的影响。
64.在执行步骤s104时,针对测试用例集合中的每个测试用例,采用待测fpga综合工具对测试用例进行综合,得到待测fpga综合工具对应的第一性能参数和第一待验证性能参数。其中,每个测试用例对应一组第一性能参数和一组第一待验证性能参数。例如,假设测试用例有3个,那么第一性能参数有3组,第一待验证性能参数也有3组。另一方面,针对测试用例集合中的每个测试用例,采用参考fpga综合工具对测试用例进行综合,得到参考fpga综合工具对应的第二性能参数和第二待验证性能参数。其中,每个测试用例对应一组第二性能参数和一组第二待验证性能参数。
65.在一个实施例中,第一性能参数包括待测fpga综合工具综合测试用例所需的时间信息(例如综合测试用例所耗费的时间)或待测fpga综合工具综合测试用例所需的面积信息(例如综合测试用例所耗费的面积资源)中的一种或多种。
66.第一待验证性能参数包括待测fpga综合工具综合测试用例所需的速度信息或待测fpga综合工具综合测试用例所需的功耗信息中的一种或多种。
67.第二性能参数包括参考fpga综合工具综合测试用例所需的时间信息或参考fpga综合工具综合测试用例所需的面积信息中的一种或多种。
68.第二待验证性能参数包括参考fpga综合工具综合测试用例所需的速度信息或参考fpga综合工具综合测试用例所需的功耗信息中的一种或多种。
69.步骤s106,针对测试用例集合中的每个测试用例,基于第一测试参数对第一待验证性能参数进行测试验证,得到待测fpga综合工具对应的第三性能参数,以及基于第二测试参数对第二待验证性能参数进行测试验证,得到参考fpga综合工具对应的第四性能参
数。
70.其中,第一测试参数是基于第一待验证性能参数中的部分待验证性能参数确定的。在一个实施例中,第一测试参数包括信号源的第一输出工作频率,第一输出工作频率为待测fpga综合工具综合测试用例所需的速度信息。第二测试参数是基于第二待验证性能参数中的部分待验证性能参数确定的。在一个实施例中,第二测试参数包括信号源的第二输出工作频率,第二输出工作频率为参考fpga综合工具综合测试用例所需的速度信息。
71.具体而言,在步骤s106之前,先搭建基于信号源和各fpga测试板(包括待测fpga测试板和参考fpga测试板)的测试验证环境。
72.在执行步骤s106时,将测试用例集合下载至各fpga测试板中用于测试验证。针对待测fpga综合工具的测试验证环境,设置信号源的第一输出工作频率为待测fpga综合工具综合测试用例所需的速度信息,即速度值,基于待测fpga测试板启动对第一待验证性能参数的测试验证,测试验证通过,则记录待测fpga综合工具对应的第三性能参数。其中,第三性能参数包括在第一测试参数下测试用例测试通过的速度信息(例如基于待测fpga测试板验证过的最大工作速度、次大工作速度等)或在第一测试参数下测试用例测试通过的功耗信息(例如基于待测fpga测试板验证过的典型功耗)中的一种或多种。
73.针对参考fpga综合工具的测试验证环境,设置信号源的第二输出工作频率为参考fpga综合工具综合测试用例所需的速度信息,即速度值,基于参考fpga测试板启动对第二待验证性能参数的测试验证,测试验证通过,则记录参考fpga综合工具对应的第四性能参数。其中,第四性能参数包括在第二测试参数下测试用例测试通过的速度信息(例如基于参考fpga测试板验证过的最大工作速度、次大工作速度等)或在第二测试参数下测试用例测试通过的功耗信息(例如基于参考fpga测试板验证过的典型功耗)中的一种或多种。
74.若fpga综合工具验证的速度信息在fpga测试板上不能够实现,再逐步降低速度值,直至测试用例的功能在fpga测试板上测试通过。在具体应用中,速度值的变化量不少于1mhz。
75.步骤s108,根据第一性能参数、第二性能参数、第三性能参数和第四性能参数,对待测fpga综合工具进行性能评估,确定待测fpga综合工具的性能评估结果。
76.具体而言,在一个实施例中,计算由第一性能参数和第二性能参数确定的第一frobenius范数。计算由第三性能参数和第四性能参数确定的第二frobenius范数。若第一frobenius范数和第二frobenius范数满足预设的等效性条件,则确定待测fpga综合工具的第一性能评估结果。其中,第一性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有等效性。
77.在另一个实施例中,计算由第一性能参数和第二性能参数确定的第一frobenius范数。比较第一性能参数和第二性能参数的大小,得到第一比较结果。计算由第三性能参数和第四性能参数确定的第二frobenius范数。比较第三性能参数和第四性能参数的大小,得到第二比较结果。若第一frobenius范数、第一比较结果、第二frobenius范数和第二比较结果满足预设的可替代性条件,则确定待测fpga综合工具的第二性能评估结果。其中,第二性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有可替代性。
78.上述针对fpga综合工具的性能评估方法中,首先采用待测fpga综合工具和参考fpga综合工具分别对各测试用例进行综合,得到第一性能参数和第一待验证性能参数,以
及第二性能参数和第二待验证性能参数。然后基于第一测试参数对第一待验证性能参数进行测试验证,得到第三性能参数,以及基于第二测试参数对第二待验证性能参数进行测试验证,得到第四性能参数。最后采用第一性能参数、第二性能参数、第三性能参数和第四性能参数对待测fpga综合工具进行性能评估,确定待测fpga综合工具的性能评估结果。由此可知,本方法通过考虑待测fpga综合工具的性能参数与参考fpga综合工具的性能参数,来反映出待测fpga综合工具与参考fpga综合工具在性能上的优劣,因而实现了对fpga综合工具进行性能评估的目的,可以有效地为国内外fpga综合工具的对比评价、科研项目的验收评价以及用户与第三方机构的检测认证提供技术保障。
79.针对fpga综合工具的性能评估,可以是对fpga综合工具的等效性进行评估。等效性是指不同fpga综合工具之间具有相当的效率性能。基于此,在一个实施例中,步骤s108包括以下子步骤:
80.步骤s1081,计算由第一性能参数和第二性能参数确定的第一frobenius范数;
81.步骤s1083,计算由第三性能参数和第四性能参数确定的第二frobenius范数;
82.步骤s1085,若第一frobenius范数和第二frobenius范数满足预设的等效性条件,则确定待测fpga综合工具的第一性能评估结果。
83.其中,第一性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有等效性。
84.具体而言,假设第一性能参数包括待测fpga综合工具综合测试用例所需的时间信息和待测fpga综合工具综合测试用例所需的面积信息。第二性能参数包括参考fpga综合工具综合测试用例所需的时间信息和参考fpga综合工具综合测试用例所需的面积信息。第三性能参数包括在第一测试参数下测试用例测试通过的速度信息和在第一测试参数下测试用例测试通过的功耗信息。第四性能参数包括在第二测试参数下测试用例测试通过的速度信息和在第二测试参数下测试用例测试通过的功耗信息。
85.测试用例集合中有11个测试用例。令k=1,2,3...11,表示11个测试用例的序号。令t=[t1,t2,

t
11
]
t
,表示待测fpga综合工具综合11个测试用例所需的时间信息,t’=[t
’1,t
’2,

t’11
]
t
,表示参考fpga综合工具综合11个测试用例所需的时间信息。a=[a1,a2,
…a11
]
t
,表示待测fpga综合工具综合11个测试用例所需的面积信息,a’=[a
’1,a
’2,

a’11
]
t
,表示参考fpga综合工具综合11个测试用例所需的面积信息。s=[s1,s2,
…s11
]
t
,表示在第一测试参数下测试用例测试通过的速度信息,s’=[s
’1,s
’2,

s’11
]
t
,表示在第二测试参数下测试用例测试通过的速度信息。p=[p1,p2,

p
11
]
t
,表示在第一测试参数下测试用例测试通过的功耗信息,p’=[p
’1,p
’2,

p’11
]
t
,表示在第二测试参数下测试用例测试通过的功耗信息。
[0086]
其中,计算第一frobenius范数的过程具体包括:计算由待测fpga综合工具综合测试用例所需的时间信息和参考fpga综合工具综合测试用例所需的时间信息确定的frobenius范数||t
k-t
′k||f,以及计算由待测fpga综合工具综合测试用例所需的面积信息和参考fpga综合工具综合测试用例所需的面积信息确定的frobenius范数||a
k-a
′k||f。
[0087]
计算第二frobenius范数的过程具体包括:计算由在第一测试参数下测试用例测试通过的速度信息和在第二测试参数下测试用例测试通过的速度信息确定的frobenius范数||s
k-s
′k||f,以及计算由在第一测试参数下测试用例测试通过的功耗信息和在第二测试
参数下测试用例测试通过的功耗信息确定的frobenius范数||p
k-p
′k||f。
[0088]
预设的等效性条件如公式(1)所示:
[0089][0090]
其中,ε∈(0,1),表示一个小量,其依据具体应用需求进行设置。
[0091]
本实施例中,基于f-范数(frobenius范数)对fpga综合工具进行综合地性能评估,使不同fpga综合工具对应的性能参数(时间、面积、速度及功耗)满足基于f-范数的小量要求,实现全面地评估不同fpga综合工具的等效性。
[0092]
针对fpga综合工具的性能评估,可以是对fpga综合工具的可替代性进行评估。可替代性是指某款fpga综合工具比另一款fpga综合工具具有相当及更优的效率性能。基于此,在一个实施例中,步骤s108包括以下子步骤:
[0093]
步骤s1082,计算由第一性能参数和第二性能参数确定的第一frobenius范数;
[0094]
步骤s1084,比较第一性能参数和第二性能参数的大小,得到第一比较结果;
[0095]
步骤s1086,计算由第三性能参数和第四性能参数确定的第二frobenius范数;
[0096]
步骤s1088,比较第三性能参数和第四性能参数的大小,得到第二比较结果;
[0097]
步骤s1089,若第一frobenius范数、第一比较结果、第二frobenius范数和第二比较结果满足预设的可替代性条件,则确定待测fpga综合工具的第二性能评估结果。
[0098]
其中,第二性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有可替代性。
[0099]
具体而言,在上一个实施例的基础上,预设的可替代性条件可以是同时满足公式(2)或公式(3)、公式(4)或公式(5)、公式(6)或公式(7)、公式(8)或公式(9):
[0100][0101][0102][0103][0104]
其中,ε∈(0,1),表示一个小量,其依据具体应用需求进行设置。
[0105]
本实施例中,基于f-范数(frobenius范数)对fpga综合工具进行综合地性能评估,使不同fpga综合工具对应的性能参数(时间、面积、速度及功耗)满足基于f-范数的小量要求,实现全面地评估不同fpga综合工具的可替代性。
[0106]
在一个实施例中,步骤s102包括以下子步骤:
[0107]
步骤s1022,确定参考fpga综合工具所采用的参考fpga器件;
[0108]
步骤s1024,获取参考fpga器件的最大资源规模信息;
[0109]
步骤s1026,根据最大资源规模信息和预设的资源利用率集合,计算测试用例集合中每个测试用例的资源规模信息;
[0110]
步骤s1028,根据每个测试用例的资源规模信息和参考fpga器件,生成测试用例集合。
[0111]
具体而言,首先,根据用户需求信息或验收指标等要求信息,确定参考fpga综合工具所采用的参考fpga器件。同时,根据参考fpga器件,确定待测fpga器件。该过程分两种情况:一种情况是,若待测fpga器件与参考fpga器件不兼容,则使选取的待测fpga器件的资源规模大于或等于参考fpga器件的资源规模。另一种情况是,若待测fpga器件与参考fpga器件兼容,则将参考fpga器件作为待测fpga器件。
[0112]
然后,获取参考fpga器件的最大资源规模信息。测试用例按照参考fpga器件的最大资源规模信息的10%、20%、30%、40%、50%、60%、70%、80%、85%、90%、95%开展设计,共计11个按照资源利用率逐步提升的测试用例。
[0113]
示例性地,测试用例的基本结构示意如图2所示,其中c表示激励数据。测试用例可以包含逻辑资源、寄存器资源、存储器资源及乘法器资源等关键功能模块。在实际应用中,可以根据用户需求指定、使用开源测试用例或者重新开发设计。
[0114]
本实施例中,在测试用例的设计过程中,基于fpga器件的规模,按照非线性要求设计不同规模大小的测试用例,依据“小规模大步进、大规模小步进”原则开展设计,设计出的测试用例集合有利于客观、公平、公正地对fpga综合工具进行性能评价。
[0115]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0116]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的针对fpga综合工具的性能评估方法的针对fpga综合工具的性能评估装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个针对fpga综合工具的性能评估装置实施例中的具体限定可以参见上文中对于针对fpga综合工具的性能评估方法的限定,在此不再赘述。
[0117]
在一个实施例中,如图3所示,提供了一种针对fpga综合工具的性能评估装置,包括:用例获取模块、用例综合模块、参数验证模块和性能评估模块,其中:
[0118]
用例获取模块202,用于获取测试用例集合;
[0119]
用例综合模块204,用于针对测试用例集合中的每个测试用例,采用待测fpga综合工具对测试用例进行综合,得到待测fpga综合工具对应的第一性能参数和第一待验证性能参数,以及采用参考fpga综合工具对测试用例进行综合,得到参考fpga综合工具对应的第二性能参数和第二待验证性能参数;
[0120]
参数验证模块206,用于针对测试用例集合中的每个测试用例,基于第一测试参数对第一待验证性能参数进行测试验证,得到待测fpga综合工具对应的第三性能参数,以及
基于第二测试参数对第二待验证性能参数进行验证,得到参考fpga综合工具对应的第四性能参数;其中,第一测试参数是基于第一待验证性能参数中的部分待验证性能参数确定的,第二测试参数是基于第二待验证性能参数中的部分待验证性能参数确定的;
[0121]
性能评估模块208,用于根据第一性能参数、第二性能参数、第三性能参数和第四性能参数,对待测fpga综合工具进行性能评估,得到待测fpga综合工具的性能评估结果。
[0122]
上述针对fpga综合工具的性能评估装置中,首先采用待测fpga综合工具和参考fpga综合工具分别对各测试用例进行综合,得到第一性能参数和第一待验证性能参数,以及第二性能参数和第二待验证性能参数。然后基于第一测试参数对第一待验证性能参数进行测试验证,得到第三性能参数,以及基于第二测试参数对第二待验证性能参数进行测试验证,得到第四性能参数。最后采用第一性能参数、第二性能参数、第三性能参数和第四性能参数对待测fpga综合工具进行性能评估,确定待测fpga综合工具的性能评估结果。由此可知,本装置通过考虑待测fpga综合工具的性能参数与参考fpga综合工具的性能参数,来反映出待测fpga综合工具与参考fpga综合工具在性能上的优劣,因而实现了对fpga综合工具进行性能评估的目的,可以有效地为国内外fpga综合工具的对比评价、科研项目的验收评价以及用户与第三方机构的检测认证提供技术保障。
[0123]
在一个实施例中,性能评估模块208具体用于计算由第一性能参数和第二性能参数确定的第一frobenius范数;计算由第三性能参数和第四性能参数确定的第二frobenius范数;若第一frobenius范数和第二frobenius范数满足预设的等效性条件,则确定待测fpga综合工具的第一性能评估结果;其中,第一性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有等效性。
[0124]
在一个实施例中,性能评估模块208具体用于计算由第一性能参数和第二性能参数确定的第一frobenius范数;比较第一性能参数和第二性能参数的大小,得到第一比较结果;计算由第三性能参数和第四性能参数确定的第二frobenius范数;比较第三性能参数和第四性能参数的大小,得到第二比较结果;若第一frobenius范数、第一比较结果、第二frobenius范数和第二比较结果满足预设的可替代性条件,则确定待测fpga综合工具的第二性能评估结果;其中,第二性能评估结果用于表征待测fpga综合工具与参考fpga综合工具之间具有可替代性。
[0125]
在一个实施例中,用例获取模块202具体用于确定参考fpga综合工具所采用的参考fpga器件;获取参考fpga器件的最大资源规模信息;根据最大资源规模信息和预设的资源利用率集合,计算测试用例集合中每个测试用例的资源规模信息;根据每个测试用例的资源规模信息和参考fpga器件,生成测试用例集合。
[0126]
上述针对fpga综合工具的性能评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0127]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程
序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种针对fpga综合工具的性能评估方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0128]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0129]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0130]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0131]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0132]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0133]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0134]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0135]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保
护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1