优化数字芯片验证平台测试用例回归次数的方法

文档序号:9667233阅读:299来源:国知局
优化数字芯片验证平台测试用例回归次数的方法
【技术领域】
[0001]本发明属于数字芯片验证领域,涉及一种根据实时覆盖率收集情况来优化数字芯片验证平台测试用例回归次数的方法。
【背景技术】
[0002]目前数字专用集成芯片(Applicat1n Specific Integrated Circuit, ASIC)的集成度和主频速度呈摩尔定理每两年翻一倍地高速发展,但这也导致了设计周期加长和成片后逻辑功能错误率上升等问题。解决这些问题的关键在于验证,因为在目前的大规模数字ASIC芯片前端设计流程中,验证,主要是对寄存器传输级(Register TransferLevel, RTL)代码的验证,工作量已经占到60%?70% (逻辑电路设计只占30%左右),同时,验证质量是决定成片后逻辑功能正确率的最主要因素。
[0003]对于大规模ASIC来说,受约束的随机激励覆盖率驱动验证(ConstraintRandomized Coverage Drive Verificat1n, CRCDV)是一种有效验证流程,一般用于验证features的验证测试用例回归次数为固定数目。理想情况下,每条/次用例对整体覆盖率的提升都有一定贡献,从而使得整体覆盖率快速有效达到预定标准(验证完成出口,一般为95%以上),而实际情况未必如此理想,可能某次回归其中的一些用例再次提交对于覆盖率的提升贡献为零,那么这些用例的提交对于有限的工作站资源就是浪费,而且对整体覆盖率的收集用时也比理想情况有增大的影响。
[0004]如图1所示,常规验证回归流程描述如下:
[0005](1)将待回归的批量用例放入等待队列。
[0006](2)用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;
[0007](3)全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间等;
[0008](4)分析上述得到的统计数据,输出验证报告。
[0009]上述常规验证回归流程对服务器资源的利用有限,假设在回归队列中某条随机用例的数量是10,该用例在第8次执行之后对覆盖率(代码覆盖率和功能覆盖率)的贡献值是0,那么说明该条用例在第8次执行之后对于bug的发现已经没有贡献(没有新的代码/功能触发),继续运行则占用了有限的服务器资源,也推迟了整体回归完成时间点。
[0010]一般的解决方法是用人工方法来逐一确认各个用例的覆盖率贡献情况,修改用例回归条目数量再进行提交,但是这样操作对用例变动的实时性以及覆盖率贡献的准确性有很大缩减,因为再次提交回归用例时,用例的随机种子会有变化,基于随机激励的用例,该回归用例对于总体覆盖率的提升贡献率不能符合之前人工确认的结果。因此有必要寻找一种测试用例回归提交方法,充分利用服务器的有限资源,不造成资源浪费又能有效提高收集覆盖率收集速度。

【发明内容】

[0011](—)发明目的
[0012]本发明的目的是提供一种优化数字芯片验证平台测试用例回归次数的方法,在每条回归用例完成后对该条用例对于总体覆盖率的贡献情况进行计算,不符合预期贡献值的则终止该条用例的再次回归,充分利用服务器的有限资源,提高收集覆盖率收集速度。
[0013](二)技术方案
[0014]为了解决上述技术问题,本发明提供一种优化数字芯片验证平台测试用例回归次数的方法,其包括以下步骤:
[0015]步骤一:将待回归的批量用例放入等待队列;
[0016]步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率;
[0017]步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间;
[0018]步骤四:分析步骤三得到的统计数据,输出验证报告。
[0019]其中,所述步骤三中,用例在服务器上的执行过程为:设定每个用例的回归次数上限Νη,η是不同用例的编号,η = 123...,设定回归用例的回归期望贡献率a。,每条用例执行完成的覆盖贡献率an—?,!!!是同一用例回归多次的编号,m= 123...;在回归用例控制器中加入^—?控制量,an—Ja。时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限义停止该用例的再次回归,直到全部用例执行完成。
[0020]其中,所述状态控制量还包括:
[0021]当前回归提交到服务器上同时执行的用例数量:当此值大于预设值时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例;
[0022]已完成回归的用例执行结果:如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归。
[0023](三)有益效果
[0024]上述技术方案所提供的优化数字芯片验证平台测试用例回归次数的方法,通过用例执行结果和覆盖率分析模块向用例提交控制器提交一个单条用例覆盖贡献率实时反馈,实现对每个用例覆盖贡献率的实施控制,及时结束覆盖贡献率低的用例执行过程,使得回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
【附图说明】
[0025]图1是传统ASIC验证用例回归流程示意图。
[0026]图2是本实施例中加以改进后的ASIC验证用例回归流程不意图。
【具体实施方式】
[0027]为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0028]基于现有技术中验证回归所存在的问题,本实施例提供的优化数字芯片验证平台测试用例回归次数的方法在现有回归流程中,在用例提交控制器的控制量上引入了一个反馈,如图2所示,该反馈是已完成用例对于功能覆盖的贡献率a(仿真运行到的代码覆盖率/功能覆盖率增加百分比,即新代码/功能覆盖贡献率),当某个用例某次贡献率不满足设定要求,则停止该用例后面的再次执行。
[0029]具体地,本实施例方法包括以下步骤:
[0030]步骤一:将待回归的批量用例放入等待队列。
[0031]步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行。
[0032]状态控制量一般包括:(1)当前回归提交到服务器上同时执行的用例数量。当此值大于预设值(通常一个项目允许某个模块回归用例的提交数量是有上限的,需要均衡项目各个模块回归的资源申请量)时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例;(2)已完成回归的用例执行结果。如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归(通常再回归时输出更为详细的log和波形文件以便定位解决相应代码bug) ;(3)用例对功能覆盖贡献率,其作为一个控制量,是本实施例的关键点,用例对功能覆盖贡献率由用例执行结果分析和覆盖率分析模块向用例提交控制器反馈单条用例覆盖率实时反馈来实现。
[0033]步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间等。
[0034]具体做法:设定每个用例的回归次数上限义(11是不同用例的编号,η = 123…),设定回归用例的回归期望贡献率a。,每条用例执行完成的覆盖贡献率an—Jn是不同用例的编号,η = 123...仰是同一用例回归多次的编号,m= 123...)。在回归用例控制器中加入an—?控制量,an_m〈a。时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限Nn停止该用例的再次回归。
[0035]步骤四:分析步骤三得到的统计数据,输出验证报告。
[0036]由本改进方法的步骤二可以看到本算法提高了传统用例回归流程的执行效率。假设传统方法完成一次回归提交到服务器上运行的用例总数是N,根据步骤二,改进后的方法完成一次回归提交到服务器上运行的用例总数<N,这样回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
[0037]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.一种优化数字芯片验证平台测试用例回归次数的方法,其特征在于,包括以下步骤: 步骤一:将待回归的批量用例放入等待队列; 步骤二:用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率; 步骤三:全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率、用例完成时间; 步骤四:分析步骤三得到的统计数据,输出验证报告。2.如权利要求1所述的优化数字芯片验证平台测试用例回归次数的方法,所述步骤三中,用例在服务器上的执行过程为:设定每个用例的回归次数上限Nn,n是不同用例的编号,η = 123...,设定回归用例的回归期望贡献率a。,每条用例执行完成的覆盖贡献率an ni,m是同一用例回归多次的编号,m = 123...;在回归用例控制器中加入an—?控制量,an—Ja。时则停止该用例的再次回归,否则直至该用例回归次数到达该用例的回归次数上限Nn停止该用例的再次回归,直到全部用例执行完成。3.如权利要求1所述的优化数字芯片验证平台测试用例回归次数的方法,所述状态控制量还包括: 当前回归提交到服务器上同时执行的用例数量:当此值大于预设值时,停止待回归用例的出队调用,待提交用例完成使得此值减小到提交数量上限,允许调用回归队列内的用例; 已完成回归的用例执行结果:如果用例回归仿真出现错误,则该用例进入再回归队列等待再次回归。
【专利摘要】本发明公开了一种优化数字芯片验证平台测试用例回归次数的方法,包括以下步骤:将待回归的批量用例放入等待队列;用例提交控制器根据当前状态控制量控制待回归用例的出队、运行;所述状态控制量包括用例对功能覆盖贡献率;全部回归用例提交到服务器上执行完成之后,使用分析脚本统计用例运行结果,包括用例成功运行比率、代码覆盖率、功能覆盖率;分析统计数据,输出验证报告。本发明通过对每个用例覆盖贡献率的实施控制,及时结束覆盖贡献率低的用例执行过程,使得回归占用服务器的时间就会缩短,从而达到充分利用服务器的有限资源、提高收集覆盖率的收集速度的目的。
【IPC分类】G06F11/263
【公开号】CN105426282
【申请号】CN201510744147
【发明人】何全, 付彦淇
【申请人】天津津航计算技术研究所
【公开日】2016年3月23日
【申请日】2015年11月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1