CN106933713B - 硬件加速器的验证方法和验证系统 - Google Patents
硬件加速器的验证方法和验证系统 Download PDFInfo
- Publication number
- CN106933713B CN106933713B CN201511022646.0A CN201511022646A CN106933713B CN 106933713 B CN106933713 B CN 106933713B CN 201511022646 A CN201511022646 A CN 201511022646A CN 106933713 B CN106933713 B CN 106933713B
- Authority
- CN
- China
- Prior art keywords
- test
- hardware accelerator
- test case
- report
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Abstract
本发明公开了一种硬件加速器的验证方法,包括:S1:调用一个测试用例,同时写入配置输入信息和得到测试用例的对应的期望对比报告;S2:根据测试用例对硬件加速器进行测试获得测试报告,并停止运行硬件加速器;S3:将测试报告与期望对比报告进行比较得到硬件加速器的性能分析报告,其中,执行步骤S3时释放硬件加速器的资源;S4:循环执行步骤S1至S3直至用所有测试用例进行对硬件加速器的检测后停止运行。本发明具有如下优点:能够按照重复执行对硬件加速器的检测,减少人工检查繁杂报告时引入的人为因素产生的错误;每次得到检测报告与期望对比报告进行比较得出性能分析报告停止硬件加速器的运行,且减少与硬件加速器的资源占用。
Description
技术领域
本发明涉及硬件加速器检测领域,具体涉及一种硬件加速器的验证方法和验证系统。
背景技术
相关技术中的硬件加速器测试流程为:人工添加测试用例,选择外设驱动等配置,然后手动运行启动硬件加速器的测试脚本,等待测试仿真结束,人工关闭硬件加速器,人工检查输出仿真验证结果,如果需要再次测试,需手动完成以上步骤。
现有硬件加速器测试流程中存在的问题是无法自动完成硬件加速器的输入配置设置,自动启动,自动退出等步骤,无法合理的使用非工作时间的硬件加速器测试,这样导致批量测试只能占用工作时间,批量测试的效率不高,再次由于硬件加速器测试用例仿真的时间都很长,测试报告比较繁杂,每次人工检查繁杂测试报告会引入人为不确定因素带来的检查不准确的问题
现在有的硬件加速器测试流程只考虑了单一测试用例的调试,没有考虑批量测试时会占用大量的硬件加速器资源时间。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种硬件加速器的验证方法。
本发明的第二个目的在于提出一种硬件加速器的验证系统。
为了实现上述目的,本发明的实施例公开了一种硬件加速器的验证方法,包括以下步骤:S1:调用一个测试用例,同时写入配置输入信息和得到所述测试用例对应的期望对比报告;S2:根据所述测试用例对硬件加速器进行测试获得测试报告,并停止运行所述硬件加速器;S3:将所述测试报告与所述期望对比报告进行比较得到所述硬件加速器的性能分析报告,其中,执行步骤S3时释放所述硬件加速器的资源;S4:循环执行步骤S1至S3直至用所有测试用例进行对所述硬件加速器的检测后停止运行。
根据本发明实施例的硬件加速器的验证方法,能够按照重复执行对硬件加速器的检测,减少人工检查繁杂报告时引入的人为因素产生的错误;每次得到检测报告与期望对比报告进行比较得出性能分析报告之间停止硬件加速器的运行,且减少与硬件加速器的资源占用。
另外,根据本发明上述实施例的硬件加速器的验证方法,还可以具有如下附加的技术特征:
进一步地,所述步骤S1中每次调用的测试用例均为同一类别的测试用例。
进一步地,还包括步骤:S5:对所述第一次数的性能分析报告进行汇总得到所述硬件加速器的综合性能分析报告。
进一步地,所述第一次数是预设或随机生成的。
为了实现上述目的,本发明的实施例公开了一种硬件加速器的验证系统,包括:测试用例调用模块,用于每次调用一个测试用例;期望对比报告生成模块,用于根据每次调用的测试用例生成相应的期望对比报告;硬件加速器检测模块,用于根据用于每次调用的测试用例生成相应的测试报告,并生成相应的测试报告后生成停止信号;性能分析模块,用于对每次检测对应的检测报告和期望对比报告进行对比得到每次检测的性能分析报告,并在生成所述每次检测的性能分析报告后生成启动信号;以及硬件加速器控制模块,用于在收到所述停止信号时控制所述硬件加速器停止运行,还用于在收到所述启动信号控制所述硬件加速器启动。
根据本发明实施例的硬件加速器的验证系统,能够按照重复执行对硬件加速器的检测,减少人工检查繁杂报告时引入的人为因素产生的错误;每次得到检测报告与期望对比报告进行比较得出性能分析报告之间停止硬件加速器的运行,且减少与硬件加速器的资源占用。
另外,根据本发明上述实施例的硬件加速器的验证系统,还可以具有如下附加的技术特征:
进一步地,所述测试用例调用模块每次调用的测试用例为同一类别的测试用例。
进一步地,所述性能分析模块还用于将多个性能信息报告进行汇总得到综合性能分析报告。
进一步地,对每个测试用例的检测次数是预设或随机生成的。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的硬件加速器的验证方法的流程图;
图2是本发明一个实施例的硬件加速器的验证系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
以下结合附图描述根据本发明实施例的硬件加速器的验证方法。
图1是本发明一个实施例的硬件加速器的验证方法的流程图。请参考图1,本发明实施例的硬件加速器的验证方法包括以下步骤:
S1:调用一个测试用例,同时写入配置输入信息和得到测试用例对应的期望对比报告。
具体地,C语言产生的测试用例,c shell语言解释的控制测试用例运行的配置输入脚本,C语言描述的硬件加速器外设驱动程序。编写的测试用例进行分类,配置本次批量运行测试用例的集合的c shell脚本,不同类型的测试用例归类到各自的文件夹,每个测试用例都有相对应的期望测试报告。指定每个测试用例与期望对比报告的文件路径,每个测试用例分类集合需要在运行批量测试前指定。编写配置每个测试用例的输入参数的cshell脚本,输入参数根据用户本次批量运行的不同分别选择。
S2:根据测试用例对硬件加速器进行测试获得测试报告,并停止运行所述硬件加速器。
具体地,make file语言启动snopsys硬件加速器实现仿真测试的启动脚本,tcl语言设置测试用例停止的trigger类型脚本。编写对硬件加速器驱动外设进行分类,配置使能开关的c shell脚本,具体实施设置硬件加速器外设哪些使能哪些关闭。编写硬件加速器运行的随机时钟perl脚本,具体实施随机时钟树的方案。编写单次测试用例完成后停止硬件加速器运行本次仿真的tcl脚本,具体实施加载代码。编写硬件加速器启动的make file脚本,读取测试用例和上述的参数信息,产生的停止脚本,加载到硬件加速器。
S3:将测试报告与期望对比报告进行比较得到所述硬件加速器的性能分析报告。
具体地,c shell语言解释的收集仿真测试结果并完成自动与期望结果对比,得出是否测试通过的结论的脚本。编写收集测试用例测试结果的c shell脚本,当本次测试用例触发后停止,本脚本开始进行收集测试用例结果的工作,并与期望验证结果对比,产生测试结论通过或者不通过。
在本发明的一个实施例中,在执行步骤S3时,硬件加速器停止运行,以释放硬件加速器资源。
S4:循环执行步骤S1至S3直至用所有测试用例进行对硬件加速器的检测后停止运行。
具体地,如果本测试用例的测试次数未全部完成,继续本测试用例的仿真验证;如果本次测试用例的测数次数全部完成,继续下一个测试用例的仿真验证;如果本次用例的测试次数全部完成,并且没有下一个测试用例需要测试,那么停止本次批量测试的所有测试。
在本发明的一个实施例中,每次调用的测试用例均为同一类别的测试用例。
在本发明的一个实施例中,还包括步骤:S5:对第一次数的性能分析报告进行汇总得到所述硬件加速器的综合性能分析报告。
在本发明的一个实施例中,所述第一次数是预设或随机生成的。
以下结合附图描述根据本发明实施例的硬件加速器的验证系统。
图2是本发明一个实施例的硬件加速器的验证方法的结构示意图。请参考图2,本发明实施例的硬件加速器的验证方法包括测试用例调用模块100、期望对比报告生成模块200、硬件加速器检测模块300、性能分析模块400和硬件加速器控制模块500。
测试用例调用模块100用于每次调用一个测试用例。
具体地,C语言产生的测试用例,c shell语言解释的控制测试用例运行的配置输入脚本,C语言描述的硬件加速器外设驱动程序。编写的测试用例进行分类,配置本次批量运行测试用例的集合的c shell脚本,不同类型的测试用例归类到各自的文件夹。指定每个测试用例与期望对比报告的文件路径,每个测试用例分类集合需要在运行批量测试前指定。编写配置每个测试用例的输入参数的c shell脚本,输入参数根据用户本次批量运行的不同分别选择。
在本发明的一个实施例中,测试用例调用模块100每次调用的测试用例为同一类别的测试用例。
期望对比报告生成模块200用于根据每次调用的测试用例生成相应的期望对比报告。其中,期望对比报告为硬件加速器运行正常时对应的检测结果。
硬件加速器检测模块300用于根据用于每次调用的测试用例生成相应的测试报告,并生成相应的测试报告后生成停止信号。
具体地,make file语言启动snopsys硬件加速器实现仿真测试的启动脚本,tcl语言设置测试用例停止的trigger类型脚本。编写对硬件加速器驱动外设进行分类,配置使能开关的c shell脚本,具体实施设置硬件加速器外设哪些使能哪些关闭。编写硬件加速器运行的随机时钟perl脚本,具体实施随机时钟树的方案。编写单次测试用例完成后停止硬件加速器运行本次仿真的tcl脚本,具体实施加载代码。编写硬件加速器启动的make file脚本,读取测试用例和上述的参数信息,产生的停止脚本,加载到硬件加速器。
性能分析模块400用于对每次检测对应的检测报告和期望对比报告进行对比得到每次检测的性能分析报告,并在生成每次检测的性能分析报告后生成启动信号。
具体地,c shell语言解释的收集仿真测试结果并完成自动与期望结果对比,得出是否测试通过的结论的脚本。编写收集测试用例测试结果的c shell脚本,当本次测试用例触发后停止,本脚本开始进行收集测试用例结果的工作,并与期望验证结果对比,产生测试结论通过或者不通过。如果本测试用例的测试次数未全部完成,继续本测试用例的仿真验证;如果本次测试用例的测数次数全部完成,继续下一个测试用例的仿真验证;如果本次用例的测试次数全部完成,并且没有下一个测试用例需要测试,那么停止本次批量测试的所有测试。
在本发明的一个实施例中,性能分析模块400还用于将多个性能信息报告进行汇总得到综合性能分析报告。
硬件加速器控制模块500用于在收到停止信号时控制所述硬件加速器停止运行,还用于在收到启动信号控制所述硬件加速器启动。
另外,本发明实施例的硬件加速器的验证方法和验证系统的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (8)
1.一种硬件加速器的验证方法,其特征在于,包括以下步骤:
S1:调用一个测试用例,同时写入配置输入信息和得到所述测试用例对应的期望对比报告;
其中,所述测试用例使用C语言产生,配置输入脚本使用c shell 语言解释,所述配置输入脚本控制所述测试用例运行,硬件加速器外设驱动程序使用C语言描述;对所述测试用例进行分类,配置本次批量运行所述测试用例的集合的c shell 脚本,所述测试用例按类型归类,并有相对应的期望对比报告;指定每个所述测试用例与期望对比报告的文件路径,每个所述测试用例分类集合在运行批量测试前指定;编写配置每个所述测试用例的输入参数的c shell 脚本,输入参数根据用户批量运行的不同分别选择;
S2:根据所述测试用例对硬件加速器进行测试获得测试报告,并停止运行所述硬件加速器;
其中,make file 语言启动snopsys硬件加速器实现仿真测试的启动脚本,tcl语言设置测试用例停止的trigger类型脚本;对硬件加速器驱动外设进行分类,配置使能开关的cshell脚本;编写所述硬件加速器运行的随机时钟perl脚本;编写单次所述测试用例完成后停止所述硬件加速器运行本次仿真的tcl脚本;
S3:将所述测试报告与所述期望对比报告进行比较得到所述硬件加速器的性能分析报告,其中,执行步骤S3时释放所述硬件加速器的资源;
其中,c shell语言解释的收集仿真测试结果并与期望结果对比;编写收集所述测试用例测试结果的c shell 脚本,当所述测试用例触发后停止,脚本开始进行收集所述测试用例的结果,并与期望验证结果对比,产生测试结论;
S4:循环执行步骤S1至S3直至用所有测试用例进行对所述硬件加速器的检测后停止运行。
2.根据权利要求1所述的硬件加速器的验证方法,其特征在于,所述步骤S1中每次调用的测试用例均为同一类别的测试用例。
3.根据权利要求1所述的硬件加速器的验证方法,其特征在于,还包括步骤:
S5:对第一次数的性能分析报告进行汇总得到所述硬件加速器的综合性能分析报告。
4.根据权利要求3所述的硬件加速器的验证方法,其特征在于,所述第一次数是预设或随机生成的。
5.一种硬件加速器的验证系统,其特征在于,包括:
测试用例调用模块,用于每次调用一个测试用例;
期望对比报告生成模块,用于根据每次调用的测试用例生成相应的期望对比报告;
其中,所述测试用例使用C语言产生,配置输入脚本使用c shell 语言解释的控制所述测试用例运行,硬件加速器外设驱动程序使用C语言描述;对所述测试用例进行分类,配置本次批量运行所述测试用例的集合的c shell 脚本,所述测试用例按类型归类,并有相对应的期望对比报告;指定每个所述测试用例与期望对比报告的文件路径,每个所述测试用例分类集合在运行批量测试前指定;编写配置每个所述测试用例的输入参数的c shell 脚本,输入参数根据用户批量运行分别选择;
硬件加速器检测模块,用于根据用于每次调用的测试用例生成相应的测试报告,生成相应的测试报告后生成停止信号;
其中,make file 语言启动snopsys硬件加速器实现仿真测试的启动脚本,tcl语言设置测试用例停止的trigger类型脚本;编写对硬件加速器驱动外设进行分类,配置使能开关的c shell脚本;编写所述硬件加速器运行的随机时钟perl脚本;编写单次所述测试用例完成后停止所述硬件加速器运行本次仿真的tcl脚本;
性能分析模块,用于对每次测试对应的测试报告和期望对比报告进行对比得到每次测试的性能分析报告,并在生成所述每次测试的性能分析报告后生成启动信号;
其中,c shell语言解释的收集仿真测试结果并与期望结果对比;编写收集所述测试用例测试结果的c shell 脚本,当所述测试用例触发后停止,脚本开始进行收集所述测试用例的结果,并与期望验证结果对比,产生测试结论;
以及硬件加速器控制模块,用于在收到所述停止信号时控制所述硬件加速器停止运行,还用于在收到所述启动信号时控制所述硬件加速器启动。
6.根据权利要求5所述的硬件加速器的验证系统,其特征在于,所述测试用例调用模块每次调用的测试用例为同一类别的测试用例。
7.根据权利要求5所述的硬件加速器的验证系统,其特征在于,所述性能分析模块还用于将多个性能信息报告进行汇总得到综合性能分析报告。
8.根据权利要求5所述的硬件加速器的验证系统,其特征在于,对每个测试用例的检测次数是预设或随机生成的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511022646.0A CN106933713B (zh) | 2015-12-30 | 2015-12-30 | 硬件加速器的验证方法和验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511022646.0A CN106933713B (zh) | 2015-12-30 | 2015-12-30 | 硬件加速器的验证方法和验证系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933713A CN106933713A (zh) | 2017-07-07 |
CN106933713B true CN106933713B (zh) | 2020-04-28 |
Family
ID=59441716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511022646.0A Active CN106933713B (zh) | 2015-12-30 | 2015-12-30 | 硬件加速器的验证方法和验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933713B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211037A1 (zh) * | 2019-04-18 | 2020-10-22 | 深圳市大疆创新科技有限公司 | 加速器的检测方法和验证平台 |
CN117077594A (zh) * | 2023-08-22 | 2023-11-17 | 合芯科技有限公司 | 一种仿真加速器监控的方法、系统、计算机设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360940A (zh) * | 2014-10-31 | 2015-02-18 | 北京交控科技有限公司 | 一种dsu的测试方法及装置 |
US9111030B1 (en) * | 2008-10-03 | 2015-08-18 | Federal Home Loan Mortgage Corporation | Systems and methods for testing a software application |
-
2015
- 2015-12-30 CN CN201511022646.0A patent/CN106933713B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9111030B1 (en) * | 2008-10-03 | 2015-08-18 | Federal Home Loan Mortgage Corporation | Systems and methods for testing a software application |
CN104360940A (zh) * | 2014-10-31 | 2015-02-18 | 北京交控科技有限公司 | 一种dsu的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106933713A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101410099B1 (ko) | 단위 테스트 케이스 재사용 기반의 함수 테스트 장치 및 그 함수 테스트 방법 | |
CN107229827A (zh) | 用于自身免疫疾病检测分析的数据核查预警方法及装置 | |
CN105022691B (zh) | 一种基于uml图的高度自动化软件测试方法 | |
CN109885499B (zh) | 一种机器人自动化测试系统及测试方法 | |
CN110908888B (zh) | 服务器测试方法及装置 | |
CN104484248A (zh) | 计算机主板上电故障的诊断方法及装置 | |
US9594617B2 (en) | Method and apparatus for positioning crash | |
CN107861876A (zh) | 测试方法、装置、计算机设备及可读存储介质 | |
CN110297737B (zh) | 多路输出芯片的故障诊断测试方法及装置 | |
CN110134574A (zh) | 一种软件性能测试方法、系统、介质及电子设备 | |
CN111428431A (zh) | 一种支持eda软件的自动化测试并记录的方法及系统 | |
CN113312226B (zh) | 测试逻辑设计异常特性的验证平台、装置及存储介质 | |
CN109101680A (zh) | 基于GitLab-CI的FPGA原型自动验证方法及系统 | |
CN106933713B (zh) | 硬件加速器的验证方法和验证系统 | |
CN105279093A (zh) | 软件测试方法、装置及设备 | |
CN109917277A (zh) | 虚拟测试方法、装置、设备及存储介质 | |
CN109669436B (zh) | 一种基于电动汽车的功能需求的测试用例生成方法和装置 | |
CN103744415A (zh) | 地铁cbtc系统测试方法及装置 | |
CN108595312A (zh) | 一种模拟用户行为的性能自动化方法及装置 | |
CN105653455A (zh) | 一种程序漏洞的检测方法及检测系统 | |
KR101252358B1 (ko) | Plc 명령어 테스트 장치 및 방법 | |
CN108845932B (zh) | 一种网络库的单元测试方法、装置、存储介质及终端 | |
CN102645609B (zh) | Jtag链路测试装置及其测试方法 | |
CN108845928B (zh) | 测试单元内可测试函数的划分方法及测试方法 | |
CN105005645B (zh) | 一种覆盖率的统计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180920 Address after: 100085 west 4 Street 5, five street, Haidian District, Beijing. Applicant after: Beijing Guorui Zhongshu Technology Co.,Ltd. Applicant after: No. 14 Inst., China Electronic Science & Technology Group Corp. Address before: 100085 Haidian District, Beijing, Shanghai Information Road 5 Street high Li two thousand science and Technology Building 4 story West. Applicant before: Beijing Guorui Zhongshu Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |