构成人工智能(AI)的各种算法正在进入芯片设计流程。推动这项工作的是加速先进人工智能算法所需的新芯片设计的复杂性爆炸式增长。事实证明,在这种情况下,人工智能既是问题也是解决方案。人工智能可以用来将人工智能芯片的设计问题缩小到最小。从2020年发布设计空间优化功能(space optimization capability, DSO.ai)开始,Synopsys已经开发了一段时间的人工智能辅助设计功能。从那时起,该公司宣布了几项新功能,大大扩展了其人工智能辅助业务。Synopsys产品组合中的一个功能侧重于验证空间优化(verification space optimization, VSO.ai)。任何新功能的真正考验都是由真正的客户在真正的设计中的使用,这也是本文的主题。请继续阅读,了解AMD如何将Synopsys AI验证工具用于测试。
VSO.ai 的作用
设计的测试覆盖率是半导体验证的核心问题。战斗口号是,“如果你没有实践它,你就没有验证它。”刺激向量是使用多种技术生成的,其中约束随机是一种流行的方法。然后在设计的模拟运行中使用这些向量,寻找与预期结果不匹配的测试结果。
通过对电路进行更多的测试,发现功能性设计缺陷的机会就会增加。
验证团队选择感兴趣的结构化代码覆盖度量(行、表达式、块等),并自动将它们添加到模拟运行中。当每个测试迭代生成符合规则的约束随机刺激时,模拟器收集所有覆盖形式的度量。对结果进行监控,目标是调整约束条件以提高覆盖率。在某些时候,团队决定在项目进度和资源限制下尽力而为,并进行进一步的验证。
代码覆盖度不能反映设计的预期功能,因此用户定义的覆盖度很重要。这通常需要手动完成,仅涵盖设计行为一小部分。达到覆盖度和验证目标非常困难。
一个典型的芯片项目运行成千上万次有约束的随机模拟测试,在设计中有大量的重复活动。因此,新覆盖度的增长速度会减慢,并且新测试的边际效益递减。
在某个时刻,曲线趋于平缓,通常是在实现目标之前。团队必须尝试弄清楚情况,并在时间和资源有限的情况下尽可能多地提高覆盖度。这个过程的“最后一英里”是相当具有挑战性的。收集的数据量是压倒性的,试图分析它并确定覆盖漏洞的根本原因是困难且耗时的。对于这个配置,它是一个非法计数器还是真正的漏洞?
复杂芯片的设计包含许多类似的问题——需要分析大量数据并确定最佳前进路径。好消息是,AI技术可以非常成功地应用于这类问题。
对于覆盖度的定义,Synopsys VSO.ai除了传统的代码覆盖度,还可以推导出一些其他类型的覆盖度,以补充用户指定的覆盖度。机器学习(machine learning,ML)可以从经验中学习,并在适当的时候智能地重用覆盖。即使在单个项目中,从早期结果中学习也可以帮助改进模型。
VSO.ai在粗粒度的测试级别上工作,并提供自动的、自适应的测试优化,随着结果的变化而学习。首先运行具有最高回报率的测试,同时消除冗余测试,加速覆盖度闭环并节省计算资源。
该工具还在模拟器的细粒度级别上工作,通过调整约束随机刺激来更好地针对未执行的覆盖点,从而提高结果的测试质量。这不仅加速了覆盖率的闭环,而且还推动模型收敛到更高准确率。
通过对覆盖结果的自动化、智能化分析,解决了最后一英里的闭环挑战。VSO.ai执行根本原因分析(RCA),以确定为什么没有达到特定的覆盖点。如果这个工具能自己解决问题,它就会解决。否则,它将向团队展示可操作的结果,例如确定冲突的约束。
下图总结了VSO的好处。这些方法的最大好处是在更短的时间内以更少的设计工作获得更好的结果。
AMD有什么发现
在最近于硅谷举行的Synopsys用户大会上,AMD发表了一篇题为"Drop the Blindfold:使用VSO.ai在受限随机模拟中进行覆盖回归优化"的文章。论文详细介绍了AMD在多个设计中使用VSO.ai的经验。AMD对这项工作有很大的目标和期望:
在RTL变化和设计变体较小的情况下,以优化、自动化的方式持续达到100%的覆盖度。
AMD使用VSO.ai在四个不同设计的回归样本中应用了一种记录完备的方法。下图总结了这四项实验。
四种设计的回归特征
AMD随后详细介绍了这些设计、它们所面临的挑战以及使用VSO.ai所取得的结果,并与未使用VSO.ai的原始设计进行了对比。回顾一下将人工智能应用于设计流程的标志性优势之一:
以更少的时间、更少的设计者精力实现更优越的结果
AMD在会上的演示中总结了观察到的优势,该演示被评为大会年度十大最佳演示之一:
为实现相同的覆盖率,在四个设计中运行的测试数量减少了1.5 - 16倍
快速、按需回归鉴定器
如果用户不确定所需的迭代次数,可用于衡量回归测试的分布情况
在预算相同的情况下,可以测试更多的分区
如果默认回归未达到100%的覆盖率,VSO.ai有可能超过这一覆盖率(即实验 #1)。
覆盖率回归中删除无用的测试用例
对受限随机测试进行更可靠的测试分级
URG(统一报告生成器):基于种子 V/S
VSO.ai:基于概率
调试
发现命中概率低于预期的覆盖项
该演示对VSO.ai进行了测试,并记录了该工具的积极影响。如前所述,这种对真实设计的用户应用是对新技术的真正考验。这就是AMD对Synopsys AI验证工具的测试。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !