AI驱动的设计应用
在功能验证的过程中,通常60%的时间会用于测试平台的开发和调试,而剩下40%的时间则用于测试平台的搭建和覆盖收敛。如果我们有一种方法能够缩短覆盖收敛的时间,同时又能精准找到所有bug,开发者们的效率将大大提升。
真的有这样的方法吗?
随着芯片设计的规模越来越大,方法也日趋复杂,芯片验证通常将耗费成千上万小时的CPU处理时间,收敛时间也比以前更长,新品上市所面临的时间压力与成本更为严峻。
那么如何在芯片验证过程中实现“左移”,同时加快覆盖收敛呢?
今天,我们将聚焦机器学习技术,讨论它如何帮助开发者更早发现错误(包括极端情况),实现更快的覆盖收敛,缩短功能验证周期。
芯片验证通常有三个阶段:
那么问题来了,你确定已经找出所有bug了?包括那些可能隐藏在设计深处的bug?
覆盖收敛是一个极为耗费计算能力和劳动力的过程,需要大量的手动工作才能实现设定的目标,因此说覆盖收敛是开发者们“夜不能寐”的元凶一点都不为过。你可能做梦都想拥有一款能够提供100%覆盖的工具:输入设计覆盖的属性,指定约束条件,按下按钮,即可得到结果。
覆盖收敛的最大挑战之一是缺乏对测试平台的可见性。调整测试平台不仅费用高昂,而且容易发生风险,几乎无法追踪刺激的分布,在运行时也无法更改刺激的分布。如何调整约束条件,以获得更好的输出结果?如何达到100%的覆盖率?如何快速调试并尽早将关键指标收敛到既定目标,以便所有剩余工作左移并签收呢?
人工智能 (AI) 和机器学习 (ML) 已经改变了众多应用领域,其中也包括电子设计自动化 (EDA) 工具,而且AI/ML技术已经可以用于芯片设计(甚至是AI芯片)。在芯片验证领域,AI/ML技术也十分重要,这项技术可减少重复刺激,增加命中率,提供刺激分布诊断和根本原因分析,快速全面地将情报纳入覆盖范围,从而增强覆盖过程。
通过使用融入了AI/ML技术的验证工具,开发者不必再花大量时间编写数千个测试脚本就可实现以整体化方法完成覆盖收敛,极大缩短回归周期。AL/ML技术还能暴露更多错误,包括测试平台中的潜在问题,DUT中的问题等。此外,强化学习作为机器学习的一种类型,学习者可独立发现动作序列,从而获得最大回报,更快地提高覆盖率。
总结来说,AI/ML技术可以获得对测试平台的洞察、加快覆盖收敛、更早发现错误、对测试平台问题进行快速分类。
由于覆盖会产生大量数据,所以它成为了融入AI/ML技术的主要领域。举个例子,AI/ML可以自动完成设计验证开发者的手动分析反馈回路,并确定刺激结果和不同输入数据之间的相关性。即使结果不完全准确,这样做也会实现更高的相关性。对相关性更深刻的洞察有助于确定将要运行的测试子集,从而生成想要的结果,与传统的手动逐次运行测试的做法相比,这样可以加速收敛过程。
除了节省时间外,更高效的验证过程还可以节省资金。更多测试意味着更长的机器运行时间,随着越来越多EDA功能转移到云端,减少所需的测试数量意味着减少云端或本地计算资源的成本。
新思科技VCS®功能验证解决方案是业界最高性能的仿真解决方案,已被大多数行业领先的半导体公司采用。该解决方案具有智能覆盖优化 (ICO) 能力,融入了AI/ML技术,可部署在测试平台开发的所有阶段,以提供测试平台可见性和分析。其强化学习技术可加速并提高覆盖率,揭示更多错误并缩短回归时间。
这一工具已成功发现稳定测试平台中的诸多问题,例如约束条件不一致导致的失败、SystemVerilog 断言 (SVA) 失败、不正确的约束条件(约束不足/过度约束)规范、UVM驱动器/监视器/检查器/记分板问题、超出设计规范的漏洞和RTL锁死问题。
为实现全面的规划、覆盖和执行管理,VCS解决方案以原生方式与新思科技的Verdi®自动调试系统、VC Formal™下一代正式验证解决方案、VC Execution Manager和VC VIP进行了集成。以上工具均为新思科技Verification Continuum®平台的组成部分。
功能验证是个复杂繁琐的过程,需要耗费大量时间和精力,通常开发者会进入一个看似没完没了的验证周期,不知道何时才能完成全部的芯片验证。
AI/ML技术的加持,让开发者可以在更短的时间内发现更多bug,并有效减少测试次数,帮助开发者释放更多时间和精力,缩短产品的上市周期。