一种EDA工具的评价方法及系统技术领域
本发明涉及EDA领域,尤其涉及一种EDA工具的评价方法及系统。
背景技术
随着我国现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)军工
和信息安全业务快速增长,通信领域进口替代加速,FPGA国产化需求迫切,配套的电子设计
自动化(Electronic Design Automation,简称EDA)工具随着FPGA规模的增加角色也越来
越重要。但国产FPGA的配套软件明显落后。同时FPGA软件的开发非常繁琐,它包括众多的工
具链,众多中间文件,还要测试大量的实例;并且,EDA开发过程中每做一次改动都需要对测
过的实例进行回归测试,这不仅需要很大的工作量而且很难评价改动的进步性。现有的方
法很难加快EDA工具的迭代周期,并给EDA工具的开发提供量化指导,所以需要一种更快速
有效的开发方法满足国产FPGA对EDA工具的需求。
发明内容
一方面,本发明实施例提供了一种EDA工具的评价方法,该方法包括:开发人员进
行后台更新版本,并将更新后版本的源代码提交至服务器,以便服务器根据源代码定时进
行编译,生成可执行文件;启动可配置的回归测试;根据负载情况将进行回归测试的多个任
务分配对应的计算资源;通过脚本控制多个任务自动化并行运行,获取运行结果;当多个任
务均完成后,收集每个任务的运行结果,并根据多个运行结果生成测试报告;将测试报告发
送给开发人员,开发人员根据测试报告确定版本开发的功能是否正确,若正确,则将测试报
告存储至报告数据库;将当前测试报告与测试报告数据库中存储的历史测试报告进行对
比,获得对比结果,并将对比结果发送给开发人员;开发人员根据对比结果判断版本的质量
是否满足要求,若满足,则将版本作为新版本发布。
可选地,在上述方法中,当根据测试报告确定版本开发的功能不正确时,开发人员
根据测试报告重新开发版本的源代码。
可选地,在上述方法中,当版本的质量不满足要求时,根据对比结果重新开发源代
码,或者进入版本下一阶段的开发过程。
可选地,在上述方法中,测试报告以邮件形式发送给开发人员。
可选地,在上述方法中,对比结果以网页推送的形式发送给开发人员。
可选地,上述方法还包括:设定每个任务的优先级,并根据优先级控制任务的队
列,进而划分多个任务的计算资源。
可选地,在上述方法中,对比结果为当前测试结果与历史测试结果的标准差。
另一方面,本发明实施例提供一种EDA工具的评价系统,该系统包括:
版本后台更新模块用于根据开发人员提交的版本的源代码定时进行编译,生成可
执行文件;回归测试启动模块用于启动可配置的回归测试;任务运行模块用于根据负载情
况将进行回归测试的多个任务分配对应的计算资源,并通过脚本控制多个任务自动化并行
运行,输出运行结果;测试报告模块用于当多个任务均完成后,收集每个任务的运行结果,
并根据多个运行结果生成测试报告,以及将测试报告发送给开发人员,并根据开发人员发
送的存储信号将测试报告发送至报告对比模块;报告对比模块用于将测试报告存储至报告
数据库,将当前测试报告与测试报告数据库中存储的历史测试报告进行对比,获得对比结
果,并将对比结果发送给开发人员,并根据开发人员发送的发布信号将版本作为新版本发
布;其中,当开发人员根据测试报告确定版本开发的功能为正确时,对测试报告模块发送存
储信号;当开发人员根据对比结果确定版本的质量满足要求时,对报告对比模块发送发布
信号。
可选地,在上述系统中,当开发人员根据测试报告确定版本开发的功能不正确时,
开发人员根据测试报告重新开发版本,并将新版本的源代码提交给版本后台更新模块。
可选地,在上述系统中,当开发人根据对比结果确定版本的质量不满足要求时,开
发人员根据对比结果重新开发版本,并将新版本的源代码提交给版本后台更新模块。
本发明实施例所提供的方法及系统,能够加快EDA工具的迭代周期,并给EDA工具
的开发提供量化指导,且可以更快速有效的满足国产过程FPGA对EDA工具的需求。
附图说明
图1为本发明实施例提供的EDA工具的评价方法流程示意图;
图2为本发明实施例提供的一种EDA工具的评价系统结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供一种EDA工具的评价方法,图1为本发明实施例提供的EDA工具
的评价方法流程示意图,如图1所示,该方法包括步骤S101-步骤S111:具体地:
步骤S101,开发人员进行后台版本更新,并将更新后版本的源代码提交至服务器,
以便服务器根据源代码定时进行编译,生成可执行文件。
需要说明的是,上述定时进行编译包括:每当开发人员更新版本后进行编译,并
且/或者每间隔一定时间根据服务器当前接收到的源代码进行编译。
步骤S102,启动可配置的回归测试,启动方式包括人工启动回归测试、设置定时任
务启动回归测试。
需要说明的是,可配置的回归测试指根据当前版本的所对应的回归测试策略选取
合适测试用例部分(或全部)进行回归测试,其中,回归测试策略由时间、人员、设备和经费
的原因共同决定,而全部测试用例则需根据版本的不断开发进行维护,以满足对版本相关
功能的测试。
步骤S103,根据负载的具体情况,将进行回归测试的多个任务分配对应的计算资
源。
可选地,设定每个任务的优先级,并根据优先级控制任务的队列,进而划分多个任
务的计算资源。
步骤S104,通过脚本控制多个任务自动化并行运行,获取运行结果。
步骤S105,当版本所对应的每个任务都完成时,收集每个任务的运行结果,并根据
多个运行结果生成测试报告;其中,测试报告根据在每个任务均完成后激发的汇总命令自
动形成,具体过程包括:将每个运行结果复制回本地,而后将所有的运行结果进行汇总,进
而生成直观的测试报告。
步骤S106,将测试报告发动给开发人员,开发人员对测试报告进行分析,并执行步
骤S107,判断版本开发的功能是否正确,若正确,则执行步骤108;否则执行步骤S101。
步骤S108,将当前测试版本的测试报告存储至报告数据库。
需要说明的是,报告数据库用于存储版本在整个开发过程中进行回归测试而产生
的测试报告。
步骤S109,对比当该版本前测试报告与该版本对应地历史测试报告进行对比获得
对比结果,并将对比结果发送给开发人员,开发人员根据对比结果执行步骤S110,判断当前
测试报告所对应版本是否满足质量要求,若满足,则执行步骤S111,否则执行步骤S101,或
者进入所述版本下一阶段的开发过程。
需要说明的是,对应的历史测试报告可以是距离此次回归测试时间上距离最近的
存储在报告数据库中的测试报告,还可以是指定的某次回归测试的测试报告,历史测试报
告的具体选择根据回归测试所测试的功能等确定。
可选地,对比结果可以为当前测试报告与历史测试报告的标准差;对比结果以图
表形式通过网页推送方式发送给开发人员。以图表形式展现对比结果是为了使开发人员更
清晰、直观的得知当前测试报告与历史测试报告相比版本的开发是否提升;而以网页推送
的方式也较其余方式更为简洁。显而易见的,上述对比结果、对比结果的呈现方对比结果的
发送方式并不仅限于本发明实施例所提供的方式,上述方式并不对本发明所提供的技术方
案产生限制。
步骤S111,将当前版本作为新版本发布。
图2为本发明实施例提供的一种EDA工具的评价系统结构示意图,如图2所示,本发
明实施例所提供的系统包括:
版本后台更新模块10,根据开发人员60提交的版本的源代码M定时进行编译,生成
可执行文件WJ。
回归测试启动模块20,用于启动可配置的回归测试;其中,启动方式包括人工启
动、设置定时任务启动。
需要说明的是,可配置的回归测试指根据当前版本的所对应的回归测试策略选取
合适测试用例部分(或全部)进行回归测试,其中,回归测试策略由时间、人员、设备和经费
的原因共同决定,而全部测试用例则需根据版本的不断开发进行维护,以满足对版本相关
功能的测试。
任务运行模块30,在回归测试启动后,根据负载情况将进行回归测试的多个任务
分别分配对应的计算资源,并通过脚本控制多个任务自动化并行运行,输出运行结果AN。
可选地,设定每个任务的优先级,并根据优先级控制度过任务的队列,进而划分多
个任务的计算资源。
测试报告模块40,当多个任务均完成后,收集每个任务的运行结果AN,并根据多个
运行结果AN生成测试报告RE(测试报告的具体生产过程详见步骤S105,此处不予赘述),以
及将测试报告RE发送给开发人员60,并根据开发人员60发送的存储信号K1将测试报告RE发
送至报告对比模块50;其中,存储信号K1为当开发人员60根据测试报告RE确定版本开发的
功能为正确时,所产生的信号。
报告对比模块50,将测试报告RE存储至报告数据库,将当前测试报告RE与测试报
告数据库中存储的历史测试报告进行对比,获得对比结果CO,并将对比结果CO发送给开发
人员60,并根据开发人员60发送的发布信号PU将版本作为新版本发布;其中,发布信号PU为
当开发人员60根据对比结果确定版本的质量满足要求时,所产生的信号。
可选地,当开发人员60根据测试报告确定版本开发的功能不正确时,开发人员根
据测试报告重新开发版本,并将新版本的源代码提交给版本后台更新模块。
可选地,当开发人员60根据对比结果确定版本的质量不满足要求时,开发人员60
根据对比结果重新开发版本,或进入该版本下一阶段的开发过程,并将新版本的源代码提
交给版本后台更新模块。
需要说明的是,对应的历史测试报告可以是距离此次回归测试时间上距离最近的
存储在报告数据库中的测试报告,还可以是指定的某次回归测试的测试报告,历史测试报
告的具体选择根据回归测试所测试的功能等确定。
可选地,对比结果可以为当前测试报告与历史测试报告的标准差;对比结果以图
表形式通过网页推送方式发送给开发人员。以图表形式展现对比结果是为了使开发人员更
清晰、直观的得知当前测试报告与历史测试报告相比版本的开发是否提升;而以网页推送
的方式也较其余方式更为简洁。显而易见的,上述对比结果、对比结果的呈现方对比结果的
发送方式并不仅限于本发明实施例所提供的方式,上述方式并不对本发明所提供的技术方
案产生限制。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的
单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬
件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。
这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现
不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的
软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器
(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域
内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步
详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明
的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含
在本发明的保护范围之内。