验证规划

什么是验证规划?

验证规划描述了进行硅前验证时需要测试的内容。在这个步入式开发过程中,各团队对穷举测试做出规划,确定集成电路能否实现计划的功能。这可能看起来与功能验证相同,但实际上并非如此。验证规划定义并描述了进行功能验证时需要测试的内容。每种设计都使用不同的参数工作。对于为人工智能打造的芯片和为数字信号处理打造的芯片,需要测试的参数各不相同。在此阶段,我们将测试最终用户依赖的特性和功能。例如,使用智能手机的人希望手机耗电少,并且可以相对轻松地运行自己喜欢的应用程序。他们还需要接电话和接收短信。验证规划将检查这些场景,并确保最终用户所需要的任何功能都能正常运行。重点在于功能验证的“内容”而不是验证“方式”。

如前文所述,主要的挑战在于预测最终用户想做的所有事情。在进行验证规划时,需要创建和测试一系列场景和用例,确保特定电路完成预期工作。

 

验证规划为什么很重要?

验证规划是集成电路设计的关键步骤。试想您正在开发 GPU,但没有测试视频编码器能否正常运行。最终结果可能是,最终用户在商品评价中读到关于这款 GPU 在他们最喜欢的视频编辑软件中不好用。

这样的严重漏洞将摧毁该显卡,因为这意味着数十万甚至数百万的销售损失。用户希望某些产品具有某些功能。验证规划有助于确保您正确地测试某些功能。验证规划期间的失误会带来严重后果,浪费数十万乃至数百万美元。

大型半导体器件有数十亿个门,您必须谨慎地选择需要的测试。这为测试过程增加了次要元素,因为您只能测试整个电路的一部分。您必须确定功能的优先级,井然有序地完成这个过程。

验证规划是一种确定芯片功能优先级的方法。有些芯片在漏洞尚未发现的情况下就进行流片,因为这些漏洞只在用户不使用或不关心的功能中出现。例如,一支由博士研究人员专门组成的网络安全团队在行业合作伙伴和政府的大量资助下才发现了英特尔 Spectre 和 Meltdown 漏洞。大多数的最终用户甚至懒得动手启用这些漏洞的修复程序,因为这些漏洞并不影响他们正常使用产品。

您可以将验证规划看作是在进行功能验证时创建一个步骤列表,这样您的验证团队就可以知道应该关注哪些方面,还可以帮助您了解潜在客户重视哪些功能。例如,GPU 测试涉及到与游戏玩家和创意人士进行交流,了解他们看重的功能。对于游戏玩家来说,这意味着显卡应该尽可能快地为他们最喜欢的游戏渲染帧数。而创意人士通常希望 GPU 在加速特定的媒体功能时有出色的表现。在验证规划过程中必须考虑到所有这些因素。

验证规划是如何进行的?

如前文所述,验证规划就是确定需要测试设计中的哪些功能。然后弄清楚如何测试。在这种情况下,我们必须了解如何测试之前确定的功能。要测试的每个功能都必须分解为不同的步骤才能正常工作。例如用智能手机拍照,首先是进入主菜单,然后打开相机并按下快门按钮。拍摄照片后,负责拍照的应用必须访问硬件相机和存储设备。处理器必须对拍摄的照片运行各种算法,以呈现理想的拍摄效果。传输照片时,需要无线连接才能使该功能正常运行。通过定义高级需求,我们能够以迭代的方式确定我们将如何测试那个高级功能。

最终,我们进入功能验证阶段,实施标准的功能验证方法。然后,我们对定义的高级过程进行仿真。例如,我们需要仿真整个过程:访问摄像头、拍摄照片以及将照片存储在内存中。如您所见,在复杂的设备中,即便是验证最简单的功能也十分复杂。然后,您将收到一份电子表格或其他文档,以确保完成团队提出的每项测试。这个级别的测试非常详尽,但您永远无法测试数百万或数十亿个排列组合。在这个过程中,您还需要测试出错的情况,但仍然不可能测试所有功能。

自动化是验证规划中的下一个重要步骤。我们的目标是尽可能实现这些测试的自动化,以便在功能验证期间测试尽可能多的排列组合。为此,需要借助一些自动化工具和流程。好处是每个人都知道自己应该做什么。您可以把这看作是验证团队成员之间的合同。

这使每个人都负起责任,因为每个成员都有明确的目标和要求。在打造工程团队和最终用户一致认同的功能时,不会出现模棱两可或沟通不畅的情况。

实际上,验证规划还有助于为不容出错的应用打造器件。航空航天和国防等特定应用需要不会出故障的稳定芯片。使用验证规划有助于实现这一目标。

借助 Cadence 产品进行验证规划

Cadence 提供 Verisium Manager 用于验证规划和测试管理。该工具拥有一套特定的功能来捕获验证规划并将其与其他 Cadence 工具集成。然后,您可以使用与 Verisium Manager 绑定的 Cadence 专用验证工具。这些验证工具可以读取测试是否成功,允许您在集成套件中自动跟踪测试工作,使您能够涵盖验证规划中的所有内容,还可以与 JIRA 和 Jama 等外部工具连接,使特定行业能够尽可能快速、高效地进行审查。

立即了解 Cadence 如何帮助您满足验证规划需求。