系统与设计
的意见

克服回归调试与机器学习的挑战

自动发现模拟回归失败的根源。

受欢迎程度

现代半导体的发展需要运行许多电子设计自动化(EDA)工具项目的许多次。每一个阶段,从建筑勘探和设计到最终的实现和生产准备,有多个方法循环,必须一次又一次地重复。

即使在这样一个复杂的开发流程、功能模拟脱颖而出。需要数十亿仿真周期验证芯片设计做它应该做的每件事都没有意想不到的行为。这不是一个一次性的工作。每一次设计变更的任何部分,整个仿真测试套件或至少有一个很好的部分寄重新运行。整个验证套件扩展和开发测试被添加到验证新功能或增加关注领域的设计缺陷被发现的地方。

模拟回归需要大量的定期测试运行,通常每晚样本集和每周的全套。运行这些测试会消耗大量的资源,并创建一个更大的挑战当测试失败。工程师犯错误当添加新功能的设计和提高测试套件,所以必须调试和解决由此产生的错误。

此外,一些以前在更新运行回归测试失败。新特性经常打破现有功能,任何代码编辑会有连锁反应。有时候每一个测试失败,特别是在重大更改验证环境。调试这些失败主要是手动工作,需要多个步骤:

  • 检查最新的更改设计和testbench代码
  • 运行回归模拟
  • 分析日志文件包含成千上万的测试失败
  • 对失败和分类排序为“垃圾箱”基于错误的类型
  • 分类每本确定最有可能发生的问题
  • 进行根本原因分析(RCA)来确定实际的缺陷
  • 改变设计或验证码来修复bug
  • 开始循环一遍!

这个过程在很大程度上依赖于经验的开发工程师。多年的经验帮助他们发展如何本失败,分类垃圾箱,分配失败的正确设计和验证工程师根源分析和修复。然而,很难找到足够的专家,因此本手册需要重大的一个项目的时间和资源的方法。芯片开发团队一直强烈要求一个更好的方法来管理和调试回归循环。

最近,人工智能(AI)使用机器学习(ML)技术已成为可用的自动分析、垃圾桶,分类,调查,发现回归失败的根源。利用大量的信息从成千上万的回归对项目运行,人工智能作为同伴传统工程专业知识。通过自动化和加速三个步骤在每个循环,毫升技术可以提供更快和更准确比手动调试方法。通过帮助工程师们发现、理解和修复bug更快,毫升改善整体调试工作30 x。

回归调试自动化(RDA)功能等Synopsys对此威尔第自动化调试系统用毫升技术来自动发现模拟回归失败的根源。RDA分类并分析原始回归失败和标识设计和testbench失败的根源。自动化回归日志分析、装箱、分流和RCA大大减少了手动工作。

RDA首先收集数据的回归,包括模拟日志文件,值改变转储(跟踪)文件,编译仿真数据库的设计和testbench。它使用毫升我核查日志失败和本研究结果之间的关系。这一过程已被证明是在确定相关结果的准确率达到90%,减少了总治疗时间。装箱后,RDA执行失效分析和分类。需要失败的垃圾箱和确定的问题是设计或testbench基于失败的特征。

RDA使用多种技术来找到失败的根源。设计,比较信号通过和失败测试的值来隔离故障点附近的不同测试错误。可视化显示了RCA路径的信号值的变化设计。testbench故障根源,RDA调试每个失败本主持人自动收集调试数据。它显示了与相关协议交易细节和使用一种逆向调试能力在时间观点的来源问题。

Synopsys对此威尔第RDA包含一些附加功能,以节省工程师更多的时间和精力:

  • 失败测试会自动重新运行与反向模拟调试和其他调试功能启用
  • Testbench RCA包括广泛使用的意识普遍验证方法(UVM)
  • RCA上执行测试失败相关未知(X)值来减少组的数量
  • 测试失败,由于仿真X-pessimism过滤掉

所有这些自动化技术,由毫升的力量,加速回归循环的三个最具挑战性的步骤。更准确的调试意味着修复更可能是正确的第一次,大大减少循环在整个项目的数量。威尔第RDA可以节省大量的时间和精力用于调试每一个失败的测试,同时减少调试所需的失败测试的数量。这个回归利用率最大化,手动努力关注高价值调试自动化程度,而不是任务,并削减总体调试回归努力芯片项目的一半。

为进一步的信息,一个白色的纸可用



留下一个回复


(注意:这个名字会显示公开)

Baidu