返工常常会让人感到倦怠,倦怠则容易出错,如果本身职责又在于纠错,是把守产品设计完成的最后一道关,那不管多倦怠,也必须打起十二分精神,这就对开发者的耐心与细心提出了极高要求,芯片开发中的回归测试就是这种类型工作的代表。
回归测试耗钱费时
占用工程资源
回归测试是指在开发过程中,为了防止设计修改或新引入模块导致整个设计出现错误而进行的重新测试。
通过回归测试,开发者可以确认更改或错误修复后的设计能正常工作,回归测试的主要流程是重新执行已经执行过的测试用例,虽然故障可能是全新的,但流程都是旧的,所有待测模块都是已经验证过的,因而调试起来就不如在模块化设计阶段有趣。
更困难的是,回归测试中遇到故障后的调试通常需要手动处理。在大芯片开发过程中,完成签核与验证代码的最新变更后,需要进行回归测试来验证设计,这时候一次回归测试出现成百上千个故障的情况很常见,因而回归测试的工作量往往是越到后面越大。
此时,常规处理方式是由开发者手动检查仿真日志文件,以分析故障出在哪里,开发者会根据工具报告的错误类型来对故障进行分类,以区分故障是由设计引发,还是测试平台引发,并锁定故障发生的范围(模块或组件)。故障分类并锁定范围后,相关可疑代码将提交给对应的开发者来进行故障原因分析。
图1:常规回归测试调试方法
以上过程是手动的,需要针对失败的回归测试中的所有日志进行反复分析,这不仅是对验证工程师经验、耐心与体力的巨大考验,也占用了大量的项目时间与开发资源,而且手动分析和分流,非常容易出错。
例如,同一个原因导致的多个故障分散在日志中的多个段落,则可能会被他们错误地分配到不同的故障组(bin),在找到故障的根本原因之前,错误分箱将会导致这种同因故障分发给不同的设计或验证工程师来处理,对工程资源造成了不合理地占用。
回归测试中的故障分析任务量大、流程繁琐且容易出错,因而芯片开发者都迫切希望有一种更好的方法来管理回归测试。
人工智能与机器学习是应对任务量大、流程繁琐的重复性工作的利器,新思科技通过将机器学习引入到回归测试故障分析中,有效减少了典型回归测试流程中的手动工作,成倍提升了回归测试效率,从而打破了回归测试对芯片开发工作的瓶颈限制,该解决方案即新思科技Verdi自动调试系统中的回归调试自动化(RDA)模块。
Verdi RDA
破解回归测试瓶颈
通过整合多种先进技术,Verdi RDA对回归测试中的日志分析、分箱(按故障特征进行分bin)、分流(按设计故障与测试平台故障对故障进行分流)和故障根本原因分析(RCA)都实现了自动化。
图2:基于机器学习的自动化回归测试调试流程
以故障分箱为例,Verdi RDA首先收集回归运行的各种日志及数据,然后通过专用分析程序对故障日志及数据进行分析,并将故障按特征分到不同组别。
Verdi RDA通过无监督机器学习来实现故障日志分析,故障分箱则依据基于UVM的信息传递、用户定义的规则、验证知识产权(VIP)和基于CPU的设计(指令集)分箱,设置非常简单,也很容易使用,结果显示,Verdi RDA故障分箱准确率达到90%,可有效节约回归故障分析时间。
故障分类之后,Verdi RDA会根据故障特征判断问题是来自被测设计(DUT)还是来自仿真测试平台。
对于任何追溯到设计的错误,Verdi RDA会自动执行根本原因分析(RCA),并向开发者提供相应的报告,帮助开发者更容易地确定故障原因。
在RDA提供的报告中,还会提供具体信号在测试运行通过和运行失败之间的相应的不同值,从而让开发者将调试工作集中在设计的正确部分。
对于测试平台代码中的错误,Verdi RDA则提供了事物感知调试功能,并具备在仿真时间线中前后移动的能力,通过这些功能,验证工程师能够更轻松地确定测试失败的原因,从而快速将问题解决。
图3:Verdi RDA流程
总结
如前所述,芯片规模越大,回归测试的任务越重,到后期运行一次回归动辄有上千条错误对开发团队是巨大的考验,手动处理回归测试越来越占用更多工程资源,越来越难满足大芯片产品设计对开发周期的要求,将回归测试调试过程自动化成为开发者的迫切需求,因而Verdi RDA的推出适逢其时。
Verdi RDA的自动回归分箱功能简易好用,几乎不需要额外设置,就能让验证团队从数以千计的需手动处理的故障分拣任务中解脱出来,Verdi RDA还能准确地将设计故障与测试平台故障进行分流,并精准定位错误来源,高效地为回归测试的故障调试及解决奠定了基础。
在故障调试阶段,Verdi RDA会自动重新运行失败的测试,并提供可视化功能以加速发现和修复错误的进度。
Verdi RDA对回归测试效率的提升,已经在实际应用中得到了证实。例如,通过应用Verdi RDA,联发科将回归测试效率提升了4倍,大幅缩减了回归测试所需的时间。将回归测试耗时减少为原来的四到五分之一,对一颗大型芯片的开发来说,或将意味着数百万到数千万美元开发费用的节省。
此外,Verdi RDA还有DUTRCA、XRCA等很多好用的功能,点击阅读原文,获得新思科技白皮书《借助机器学习实现仿真回归结果调试自动化》,进一步了解Verdi RDA的强大能力。
暂无评论哦,快来评论一下吧!