本发明专利技术公开了一种FPGA仿真测试用例自动化回归方法。本方法为:1)FPGA从测试用例列表中选取一组测试用例;2)删除所选测试用例的库文件、编译文件、仿真log和波形;3)FPGA对每一所选测试用例,编译对应的库文件及其编译文件;4)对于每一所述测试用例,FPGA调用仿真工具运行一所述测试用例,然后从所述测试用例列表中查找该测试用例并将其放到对应的测试用例组中;5)FPGA提交每一所述测试用例到服务器上进行回归或在本地进行回归;6)FPGA搜集每一所述测试用例的仿真log,并生成测试报告。本发明专利技术能快速得到测试用例的仿真测试结果,从而大大提高了工作效率。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种FPGA仿真测试用例自动化回归方法。本方法为:1)FPGA从测试用例列表中选取一组测试用例;2)删除所选测试用例的库文件、编译文件、仿真log和波形;3)FPGA对每一所选测试用例,编译对应的库文件及其编译文件;4)对于每一所述测试用例,FPGA调用仿真工具运行一所述测试用例,然后从所述测试用例列表中查找该测试用例并将其放到对应的测试用例组中;5)FPGA提交每一所述测试用例到服务器上进行回归或在本地进行回归;6)FPGA搜集每一所述测试用例的仿真log,并生成测试报告。本专利技术能快速得到测试用例的仿真测试结果,从而大大提高了工作效率。【专利说明】—种FPGA仿真测试用例自动化回归方法
本专利技术涉及一种FPGA仿真测试用例自动化回归方法,属于计算机软件
。技术背景随着FPGA容量和规模的日益扩大,FPGA设计的复杂度也越来越高,为了保证设计的质量,需要依靠仿真工具进行测试验证。目前常用的仿真工具有Questasim, VCS,NC-sim等,验证语言有systemverilog, systemC等,验证方法有VMM, OVM, UVM等。仿真工具可以对FPGA设计代码进行行为模拟,通过log和波形可以方便进行调试。验证语言和验证方法学用来搭建验证环境,通过仿真工具编译后运行,可以根据接口协议产生所需的激励,并对设计代码进行检查,保证设计功能的正确性。通常,验证流程包括搭建验证平台,编写测试用例,调试,回归。回归是指对所有的测试用例都运行一次,观察是否有错误发生。由于设计规模的增加,测试用例也越来越多,并且为保证测试质量和完备性多采用随机验证的方法,所以有大量的测试用例需要多次回归才能保证测试向量覆盖所有功能。并且为了方便后期设计的维护性,也需要对测试用例进行回归来保证修改的正确性。单个测试用例执行需要先编译设计和验证代码,然后指定测试用例和设定仿真选项后使用仿真工具进行仿真,仿真结束后查看仿真波形和仿真log。所以手动执行一个测试用例,至少要在键盘上输入4次命令,如果一个项目一共有50个测试用例,完成一次回归就需要手动输入200次命令,而且还要查看每个仿真log是否出错,会非常耗时耗力,工作效率低下。另外,目前的测试用例开发都是基于随机验证加功能覆盖率的方法,使用一个种子回归一遍测试用例并不能达到覆盖率的要求,所以还需要不同的种子回归多次,这样手动执行测试用例的次数就会成倍增加。
技术实现思路
针对这种需要大量测试用例需要回归的情况,本专利技术提供了一种FPGA仿真测试用例自动化回归方法。本专利技术的技术方案为:一种FPGA仿真测试用例自动化回归方法,其步骤为:I) FPGA从测试用例列表中选取一组测试用例;2)删除所选测试用例的库文件、编译文件、仿真log和波形;3) FPGA对每一所选测试用例,编译对应的库文件及其编译文件;4)对于每一所述测试用例,FPGA调用仿真工具运行一所述测试用例,然后从所述测试用例列表中查找该测试用例并根据测试特性将其放到对应的测试用例组中;5) FPGA提交每一所述测试用例到服务器上进行回归或在本地进行回归;6) FPGA搜集每一所述测试用例的仿真log,并生成测试报告。进一步的,所述FPGA中设置一脚本文件,通过所述脚本文件中记录的FPGA指令,执行步骤I)?6)。进一步的,采用Perl语言编写所述脚本文件。进一步的,利用正则表达式匹配查找该测试用例对应的测试用例组。进一步的,所述编译文件为测试用例的编译设计和验证代码的编译文件。进一步的,所述测试报告包括以下内容:所有测试用例的数量,通过的测试用例的数量,失败的测试用例的数量,未完成的测试用例的数量,起始与结束的时间,所有通过的测试用例的列表,所有失败的测试用例的列表,所有未完成的测试用例的列表,运行测试用例所使用的种子。进一步的,所述种子为设定的仿真种子或随机生成的仿真种子。本专利技术通过一个脚本实现,当所有测试用例开发完毕,并已调试通过后,可通过该脚本对所有测试用例进行回归。该脚本运行前可提供以下选项进行选择:( I)指定单个测试用例,还是一组测试用例,还是所有测试用例。(2)选择在本地仿真还是提交到服务器上仿真。(3)选择最大同时运行测试用例数量。(4)选择采用指定仿真种子还是随机生成仿真种子。(5)是否打开覆盖率分析。(6)打印等级选择。( 7 )是否采用图形化界面。所有选项均有默认值,如没有特殊要求,无需对选项进行设置,可以做到一键式完成测试用例的回归并得到测试报告。运行该脚本前也可参考帮助命令,对所需要配置的参数进行设定。与现有技术相比,本专利技术的积极效果为:本专利技术基于硬件FPGA实现了测试用例的自动化回归,可以做到一键式自动对所有的测试用例进行回归,并收集测试的结果,自动生成测试报告,大大减少了手动执行的工作量和时间,并且能快速得到仿真测试结果,从而大大提高了工作效率。【专利附图】【附图说明】附图为本专利技术的方法流程图。【具体实施方式】该脚本采用Perl语言编写。Perl语言具有简单限制少,速度快等优点。该脚本由以下几个子程序组成:is_windows ():判断是在Windows还是再Linux环境下运行,从而采用相应的操作命令。check_time ():记录仿真开始和结束的时间。usage O:显示帮助信息。show_case ():从测试用例列表中获得测试用例名称。show_group ():从测试用例列表中获取一组测试用例。clean_env():删除之前编译好的库文件,删除之前编译设计和验证代码生成的文件,删除以前的log和波形。为了保证不同版本代码回归的正确性,需要把之前本地编译好的文件删除后重新编译。setup O:调用编译库文件的命令,编译每一所选测试用例对应的库文件。comp O:调用编译设计和验证文件的命令,对设计和验证代码重新进行编译。run_a_case O:调用仿真工具运行其中一个测试用例。find_case_list O:从测试用例列表中查找该测试用例并放到对应的测试用例组中。测试用例列表中根据不同的测试特性对测试用例分组,并用特殊符号隔开;本专利技术利用正则表达式匹配可提取出对应的测试用例组;run_lsf_regress ():提交所有测试用例到服务器上进行回归。run_nor_regress O:在本地机器上回归所有测试用例。result_analysis():搜集所有测试用例仿真log的结果,并生成测试报告。该程序运行的顺序如附图所示:第一步,记录仿真开始的时间。第二步,删除之前编译的库文件。第三步,编译库文件。第四步,编译设计和验证文件。第五步,运行所有测试用例。第六步,记录仿真结束的时间。第七步,分析仿真结果并生成测试报告。回归结束后生成的测试报告包括以下内容:所有测试用例的数量,通过的测试用例的数量,失败的测试用例的数量,未完成的测试用例的数量,起始与结束的时间,所有通过的测试用例的列表,所有失败的测试用例的列表,所有未完成的测试用例的列表,运行测试用例所使用的种子。通过使用该自动化回归脚本,可以快速的对测试用例进行回归,并发现测试用例是否通过,并有针对性的对失败的测试用例进行分析,不但保证了 FPGA设计代码的质量,而且大本文档来自技高网...
【技术保护点】
一种FPGA仿真测试用例自动化回归方法,其步骤为:1)FPGA从测试用例列表中选取一组测试用例;2)删除所选测试用例的库文件、编译文件、仿真log和波形;3)FPGA对每一所选测试用例,编译对应的库文件及其编译文件;4)对于每一所述测试用例,FPGA调用仿真工具运行一所述测试用例,然后从所述测试用例列表中查找该测试用例并根据测试特性将其放到对应的测试用例组中;5)FPGA提交每一所述测试用例到服务器上进行回归或在本地进行回归;6)FPGA搜集每一所述测试用例的仿真log,并生成测试报告。
【技术特征摘要】
【专利技术属性】
技术研发人员:蔡潇,
申请(专利权)人:上海北大方正科技电脑系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。