CN105426282A - 优化数字芯片验证平台测试用例回归次数的方法 - Google Patents
优化数字芯片验证平台测试用例回归次数的方法 Download PDFInfo
- Publication number
- CN105426282A CN105426282A CN201510744147.6A CN201510744147A CN105426282A CN 105426282 A CN105426282 A CN 105426282A CN 201510744147 A CN201510744147 A CN 201510744147A CN 105426282 A CN105426282 A CN 105426282A
- Authority
- CN
- China
- Prior art keywords
- case
- recurrence
- coverage
- server
- return
- 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.)
- Granted
Links
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
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
- G06F11/2635—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种优化数字芯片验证平台测试用例回归次数的方法,包括以下步骤:将待回归的批量用例放入等待队列;用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率;全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率;分析统计数据,输出验证报告。本发明通过对每个用例覆盖贡献率的实施控制,及时结束覆盖贡献率低的用例执行过程,使得回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
Description
技术领域
本发明属于数字芯片验证领域,涉及一种根据实时覆盖率收集情况来优化数字芯片验证平台测试用例回归次数的方法。
背景技术
目前数字专用集成芯片(ApplicationSpecificIntegratedCircuit,ASIC)的集成度和主频速度呈摩尔定理每两年翻一倍地高速发展,但这也导致了设计周期加长和成片后逻辑功能错误率上升等问题。解决这些问题的关键在于验证,因为在目前的大规模数字ASIC芯片前端设计流程中,验证,主要是对寄存器传输级(RegisterTransferLevel,RTL)代码的验证,工作量已经占到60%~70%(逻辑电路设计只占30%左右),同时,验证质量是决定成片后逻辑功能正确率的最主要因素。
对于大规模ASIC来说,受约束的随机激励覆盖率驱动验证(ConstraintRandomizedCoverageDriveVerification,CRCDV)是一种有效验证流程,一般用于验证features的验证测试用例回归次数为固定数目。理想情况下,每条/次用例对整体覆盖率的提升都有一定贡献,从而使得整体覆盖率快速有效达到预定标准(验证完成出口,一般为95%以上),而实际情况未必如此理想,可能某次回归其中的一些用例再次提交对于覆盖率的提升贡献为零,那么这些用例的提交对于有限的工作站资源就是浪费,而且对整体覆盖率的收集用时也比理想情况有增大的影响。
如图1所示,常规验证回归流程描述如下:
(1)将待回归的批量用例放入等待队列。
(2)用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;
(3)全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间等;
(4)分析上述得到的统计数据,输出验证报告。
上述常规验证回归流程对服务器资源的利用有限,假设在回归队列中某条随机用例的数量是10,该用例在第8次执行之后对覆盖率(代码覆盖率和功能覆盖率)的贡献值是0,那么说明该条用例在第8次执行之后对于bug的发现已经没有贡献(没有新的代码/功能触发),继续运行则占用了有限的服务器资源,也推迟了整体回归完成时间点。
一般的解决方法是用人工方法来逐一确认各个用例的覆盖率贡献情况,修改用例回归条目数量再进行提交,但是这样操作对用例变动的实时性以及覆盖率贡献的准确性有很大缩减,因为再次提交回归用例时,用例的随机种子会有变化,基于随机激励的用例,该回归用例对于总体覆盖率的提升贡献率不能符合之前人工确认的结果。因此有必要寻找一种测试用例回归提交方法,充分利用服务器的有限资源,不造成资源浪费又能有效提高收集覆盖率收集速度。
发明内容
(一)发明目的
本发明的目的是提供一种优化数字芯片验证平台测试用例回归次数的方法,在每条回归用例完成后对该条用例对于总体覆盖率的贡献情况进行计算,不符合预期贡献值的则终止该条用例的再次回归,充分利用服务器的有限资源,提高收集覆盖率收集速度。
(二)技术方案
为了解决上述技术问题,本发明提供一种优化数字芯片验证平台测试用例回归次数的方法,其包括以下步骤:
步骤一:将待回归的批量用例放入等待队列;
步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率;
步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间;
步骤四:分析步骤三得到的统计数据,输出验证报告。
其中,所述步骤三中,用例在服务器上的执行过程为:设定每个用例的回归次数上限Nn,n是不同用例的编号,n=123…,设定回归用例的回归期望贡献率a0,每条用例执行完成的覆盖贡献率an_m,m是同一用例回归多次的编号,m=123…;在回归用例控制器中加入an_m控制量,an_m<a0时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限Nn停止该用例的再次回归,直到全部用例执行完成。
其中,所述状态控制量还包括:
当前回归提交到服务器上同时执行的用例数量:当此值大于预设值时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例;
已完成回归的用例执行结果:如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归。
(三)有益效果
上述技术方案所提供的优化数字芯片验证平台测试用例回归次数的方法,通过用例执行结果和覆盖率分析模块向用例提交控制器提交一个单条用例覆盖贡献率实时反馈,实现对每个用例覆盖贡献率的实施控制,及时结束覆盖贡献率低的用例执行过程,使得回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
附图说明
图1是传统ASIC验证用例回归流程示意图。
图2是本实施例中加以改进后的ASIC验证用例回归流程示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
基于现有技术中验证回归所存在的问题,本实施例提供的优化数字芯片验证平台测试用例回归次数的方法在现有回归流程中,在用例提交控制器的控制量上引入了一个反馈,如图2所示,该反馈是已完成用例对于功能覆盖的贡献率a(仿真运行到的代码覆盖率/功能覆盖率增加百分比,即新代码/功能覆盖贡献率),当某个用例某次贡献率不满足设定要求,则停止该用例后面的再次执行。
具体地,本实施例方法包括以下步骤:
步骤一:将待回归的批量用例放入等待队列。
步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行。
状态控制量一般包括:(1)当前回归提交到服务器上同时执行的用例数量。当此值大于预设值(通常一个项目允许某个模块回归用例的提交数量是有上限的,需要均衡项目各个模块回归的资源申请量)时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例;(2)已完成回归的用例执行结果。如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归(通常再回归时输出更为详细的log和波形文件以便定位解决相应代码bug);(3)用例对功能覆盖贡献率,其作为一个控制量,是本实施例的关键点,用例对功能覆盖贡献率由用例执行结果分析和覆盖率分析模块向用例提交控制器反馈单条用例覆盖率实时反馈来实现。
步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间等。
具体做法:设定每个用例的回归次数上限Nn(n是不同用例的编号,n=123…),设定回归用例的回归期望贡献率a0,每条用例执行完成的覆盖贡献率an_m(n是不同用例的编号,n=123…;m是同一用例回归多次的编号,m=123…)。在回归用例控制器中加入an_m控制量,an_m<a0时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限Nn停止该用例的再次回归。
步骤四:分析步骤三得到的统计数据,输出验证报告。
由本改进方法的步骤二可以看到本算法提高了传统用例回归流程的执行效率。假设传统方法完成一次回归提交到服务器上运行的用例总数是N,根据步骤二,改进后的方法完成一次回归提交到服务器上运行的用例总数≤N,这样回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (3)
1.一种优化数字芯片验证平台测试用例回归次数的方法,其特征在于,包括以下步骤:
步骤一:将待回归的批量用例放入等待队列;
步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率;
步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间;
步骤四:分析步骤三得到的统计数据,输出验证报告。
2.如权利要求1所述的优化数字芯片验证平台测试用例回归次数的方法,所述步骤三中,用例在服务器上的执行过程为:设定每个用例的回归次数上限Nn,n是不同用例的编号,n=123…,设定回归用例的回归期望贡献率a0,每条用例执行完成的覆盖贡献率an_m,m是同一用例回归多次的编号,m=123…;在回归用例控制器中加入an_m控制量,an_m<a0时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限Nn停止该用例的再次回归,直到全部用例执行完成。
3.如权利要求1所述的优化数字芯片验证平台测试用例回归次数的方法,所述状态控制量还包括:
当前回归提交到服务器上同时执行的用例数量:当此值大于预设值时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例;
已完成回归的用例执行结果:如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510744147.6A CN105426282B (zh) | 2015-11-05 | 2015-11-05 | 优化数字芯片验证平台测试用例回归次数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510744147.6A CN105426282B (zh) | 2015-11-05 | 2015-11-05 | 优化数字芯片验证平台测试用例回归次数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426282A true CN105426282A (zh) | 2016-03-23 |
CN105426282B CN105426282B (zh) | 2018-04-03 |
Family
ID=55504501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510744147.6A Active CN105426282B (zh) | 2015-11-05 | 2015-11-05 | 优化数字芯片验证平台测试用例回归次数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426282B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120466A (zh) * | 2018-10-30 | 2019-01-01 | 浙江理工大学 | 一种针织机械通信规范验证系统及验证方法 |
CN116719728A (zh) * | 2023-06-12 | 2023-09-08 | 南京金阵微电子技术有限公司 | 多节点回归测试方法、装置、介质及电子设备 |
CN117743194A (zh) * | 2024-02-19 | 2024-03-22 | 睿思芯科(深圳)技术有限公司 | 芯片验证用例的自动化生成方法、系统及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908017A (zh) * | 2010-06-01 | 2010-12-08 | 南京大学 | 一种基于部分多重覆盖的回归测试用例筛选方法 |
CN102915271A (zh) * | 2012-10-31 | 2013-02-06 | 北京邮电大学 | 基于控制流图的单元回归测试用例集合优化方法 |
CN103577311A (zh) * | 2012-07-26 | 2014-02-12 | 深圳市世纪光速信息技术有限公司 | 一种测试用例筛选方法及装置 |
-
2015
- 2015-11-05 CN CN201510744147.6A patent/CN105426282B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908017A (zh) * | 2010-06-01 | 2010-12-08 | 南京大学 | 一种基于部分多重覆盖的回归测试用例筛选方法 |
CN103577311A (zh) * | 2012-07-26 | 2014-02-12 | 深圳市世纪光速信息技术有限公司 | 一种测试用例筛选方法及装置 |
CN102915271A (zh) * | 2012-10-31 | 2013-02-06 | 北京邮电大学 | 基于控制流图的单元回归测试用例集合优化方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120466A (zh) * | 2018-10-30 | 2019-01-01 | 浙江理工大学 | 一种针织机械通信规范验证系统及验证方法 |
CN116719728A (zh) * | 2023-06-12 | 2023-09-08 | 南京金阵微电子技术有限公司 | 多节点回归测试方法、装置、介质及电子设备 |
CN116719728B (zh) * | 2023-06-12 | 2023-12-29 | 南京金阵微电子技术有限公司 | 多节点回归测试方法、装置、介质及电子设备 |
CN117743194A (zh) * | 2024-02-19 | 2024-03-22 | 睿思芯科(深圳)技术有限公司 | 芯片验证用例的自动化生成方法、系统及相关设备 |
CN117743194B (zh) * | 2024-02-19 | 2024-05-07 | 睿思芯科(深圳)技术有限公司 | 芯片验证用例的自动化生成方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105426282B (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426282A (zh) | 优化数字芯片验证平台测试用例回归次数的方法 | |
CN106339351B (zh) | 一种sgd算法优化系统及方法 | |
CN103530347B (zh) | 一种基于大数据挖掘的互联网资源质量评估方法及系统 | |
CN101876933A (zh) | Cpu使用率分析系统及方法 | |
CN103902016A (zh) | 一种面向场景预测的服务器功耗管理方法 | |
CN103678004A (zh) | 一种基于非监督特征学习的主机负载预测方法 | |
CN104461679A (zh) | 一种将网卡绑定到cpu的自动化实现方法 | |
CN104317654A (zh) | 基于动态温度预测模型的数据中心任务调度方法 | |
CN208689144U (zh) | 一种基于中位机控制的电池充放电测试系统 | |
CN103294599A (zh) | 一种基于云的嵌入式软件交叉测试方法 | |
CN102426662B (zh) | 一种嵌入式软件体系结构级能耗建模方法 | |
CN102497295B (zh) | 一种以太网交换芯片队列管理器的rtl级验证方法及系统 | |
CN209103281U (zh) | 基于pci接口的集成多总线接口模块 | |
CN106326005A (zh) | 一种迭代型MapReduce作业的参数自动调优方法 | |
CN105512763A (zh) | 一种光伏电站中短期发电量的预测方法及预测系统 | |
CN102541738B (zh) | 加速多核cpu抗软错误测试的方法 | |
CN101976044A (zh) | 一种基于神经网络的风电系统建模及dsp实现方法 | |
CN103413196B (zh) | 改进的基于关系链的作业车间调度关键外协工序辨识方法 | |
CN105654106A (zh) | 一种决策树生成方法及系统 | |
CN104915205A (zh) | 一种适用于在线数据密集型应用的请求多副本任务执行方法 | |
CN109324953A (zh) | 一种虚拟机能耗预测方法 | |
CN104698929B (zh) | 费控智能电能表的实时控制方法 | |
Singha et al. | LEAPER: Fast and Accurate FPGA-based System Performance Prediction via Transfer Learning | |
CN115915237A (zh) | 基站设备的节能量测算方法、装置及计算设备 | |
CN102722762B (zh) | 高炉/转炉区段排队系统解析仿真方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |