选择验证引擎

什么工具最适合一个特定的验证任务可能会更清晰的营销文献中比在现实世界中。

受欢迎程度

仿真、模拟、FPGA原型和形式验证有非常具体的用途,但是线条变得越来越不清楚复杂性上升,包括更多的第三方知识产权,和用例的数量和交互连接设备的爆炸。

具有讽刺意味的是,线条模糊不是最复杂的出类拔萃,比如那些用在智能手机。更大的挑战似乎涉及更复杂的物联网应用,以及芯片开发的建立过程节点发现进入对安全性要求苛刻的应用,如汽车和医疗设备。

最大的soc仍由最大的芯片制造商和系统供应商。他们有最多样化和训练有素的工程团队,和大部分没有短缺的模拟器,模拟器,专门的模拟器,FPGA原型设备或正式的工具最高度发达的内部方法,这让这些芯片的市场至关重要。这些设备通常是在最新的流程节点开发投资较高,和更好的覆盖和更短的验证时间被认为是钱花得值。这也是代价是如此之高,一个致命的地方设计缺陷会削弱公司的竞争力。

在这个空间中,能够轻松地从一个验证引擎转移到另一个是至关重要的,和所有的大的EDA公司大举投资使这一切成为可能的最大客户。

“所有的大。如果他们能负担得起的所有四个核心引擎,仿真,模拟、正式和FPGA,然后无缝性变得非常重要,”Frank Schirrmeister说,集团系统开发套件的产品营销主管节奏”类的项目是快乐与模拟或仿真和FPGA原型的一个子集。使用它的额外的精力不在预算。我希望每个人都有四个引擎,但这是不现实的。”

在许多中型和小型chipmakers-including为物联网应用程序开发芯片情况非常不同。预算限制,较小的设计团队,和高成本的这些工具意味着验证工程师通常必须使用任何可用。

”大公司使自己出类拔萃,是很困难的,”说Krzysztof Szczur,技术支持经理Aldec的硬件产品部门。“但是其他公司和工程师开发IPs和他们可能使用不同的工具。”

哪些工具习惯取决于他们的舒适使用什么是可用的。但即使在先进的工具,他们验证知识可能是有限的。培训如何使用验证工具更有效地改善。不过,这是一个持续的问题十年或更长时间。EDA公司设立了各种各样的培训能力,在线课程,全球捐赠软件大学。但复杂的工具和工具的选择与设计的复杂性继续上升。虽然一些平凡的任务现在几乎完全自动化,有足够多的新排列,如先进的包装,如嵌入式视觉连接,增加新功能,越来越关注各级安全树桩即使最有经验的验证工程师。

这在大型组织足够有挑战性。但即使是中型和小型芯片制造商现在面临一些相同的验证问题,这些组织和资源和培训要注意。

“如果你发现一个错误在仿真或原型,你认为运行测试用例的人够聪明,能够调试?产品营销经理”Rajesh Ramanujam问NetSpeed系统。“你要让他们理解FPGA工具吗?工程师的技能涉及的不同阶段。这些都是实际的事我们不谈论。”

最重要的是,使用一个验证引擎是一个挑战。能够与多个引擎是罕见的。“在任何一个组织,你会发现一个或两个人感兴趣的一切,”史蒂夫·贝利说,新兴技术主任导师图形”设计验证技术组。“他们可以接数据,并可以跨两个好。但这并不常见。每个人都专注于自己的工作。”

挑战与知识产权
第三方知识产权复杂验证是有原因的。第一,这个IP是一个黑盒,所以即使是IP供应商、可视性,IP以及它如何将工作在一个复杂的、异构系统是有限的。第二,任何IP使用模型有很大区别,所以一个工具,识别问题在一个用例可能在另一个完全忽略一个问题。

尤其是对于大多数模拟器,运行的气体越来越多的芯片需要验证。而这样的公司有限元分析软件可以做全系统multi-physics模拟、仿真器在使用的大部分芯片公司更有限的范围。使它更难做任何事情但分治法验证一个块。不过,它并不少见,问题出现时的上下文中使用IP系统或使用模型的上下文中,从未考虑过的IP供应商时描述块中。

“这是少了分而治之,多对一个系统的观点,“说Navraj Nandra,高级营销主管Synopsys对此“DesignWare模拟和MSIP解决方案组。“你如何配置IP块之间的分区。如果你记性高速DDR控制器,它是一个系统级的讨论。但如果你是一个IP公司,你可能没有系统专业内部。”

Nandra还指出,不同的使用模型创建新的角情况下,并没有明确规定如何验证。“如果你看看类型C,它是一种新的USB连接器,你会发现也有另类的音频和视频模式。它变得非常复杂,有很多配置应用程序。但是没有真正的标准,我们的客户正在使用来解决。”

也没有使用标准的IP在复杂系统的标准方法。虽然主要的IP供应商做一个彻底的工作描述他们出售的IP,它仍然可能不习惯在他们推荐的方式。

“交互的东西变得有挑战性,”说,主任模型技术手臂。“你可以调试任何一个。我们有一个客户的问题。当内存延迟缩短循环性能下降了一半。,包括处理器之间的设置,互连和记忆。它只有一个设置,一个精确的组合,做到了这一点。不幸的是,这不仅仅是一个问题。”

覆盖问题
所有这一切导致覆盖,这仍然是最棘手的问题验证。甚至没有验证方法提供了100%的覆盖率在适度复杂的芯片。此外,问题是恶化随着芯片越来越复杂,公司开始使用电子产品对安全性要求苛刻的应用程序。

”在安全至上的设计,重要的是要有完整的设计范围,但它也是重要的灵活性需求和不同状态的结果,“Aldec的Szczur说。“那也在这种环境下需要解决。”

实现这一报道,和足够的信心在签收,一直都是一个问题。一般来说,覆盖路径复杂性通过至少一个或两个步骤。验证工具变得更加高效和有套房EDA工具的完全集成的供应商。但有很多可能的排列和相互作用,特别是当软件被添加到混合,问题永远不会完全控制。错误总是会滑,和工程变更命令将创建问题在之前从未想过的地方在设计流,当他们更容易修复。

“便携式刺激有什么有趣的是它的一个新类人们之前没有做验证,“Schirrmeister说。“什么Accellera便携式刺激集团是看测试用例和问别人,“你怎么这样做在过去吗?”他们说,“我们没有,因为它会采取关键建筑师了解所有这些东西组合在一起写这个测试用例,并将采取了他三个星期。我们不能这样做。便携式刺激使一类新的bug,人们没有时间去寻找过去。这都是添加剂。你仍然需要验证IPs和子系统,现在你有一个新的错误。”

如何解决这个问题还不清楚,尽管多年来分析这些问题,并试图提出有效的解决方案。

说:“挑战始于能见度贝利导师的。“这是不可能在一个SoC系统级的工程师,甚至一群工程师,坐下来,找出所有的模型,将相关报道。也许一个简单的物联网芯片,将工作,但不是一个移动SoC或服务器芯片或芯片的大小。你需要找到一个方法来获得更好的可见性当你使用你的设计验证/确认套件。然后你需要可视化结果的方式,这样你就可以确定有问题。”

贝利说,这尤其与黑盒问题,因为所有的I / o看起来它们工作正常。“这是下一个层次的覆盖率信息你提供,你可能会发现你的回归套件或验证套件不锻炼你认为它是什么。你没有创建一个很大的压力条件。你没有看到的东西会给你一个高水平的信心,你没有任何错误。你也发现事情看起来是一个性能问题,你需要弄清楚这是一个性能问题。性能适用于动力分析。大量的电力效率低下将来自在硬件上运行的软件架构,。”

这也使得很难选择正确的验证引擎。每一种都有其优点和缺点,但它并不总是清楚权衡,尤其是随着越来越多的模拟内容添加到芯片。“我们一直在问最大的问题是如何分区的IP,这样更多的IP数字,“说Synopsys对此Nandra。“数字有很多可配置选项。你可以计划目前上下小的几何图形。如果你有一个高速并行转换器,可以划分成一个模拟块均衡在数字域完成。”

帮助与验证,因为更多的验证左移,修复可以更快地设计。还有其他的解决方案,。

“我们正在做的一件事是使系统级验证的人更容易找出究竟发生了什么,”Ramanujam说。“如果你有一个IP,您还需要工具兼容的方式找出如果事情错了。如果某事发生在边界、协议检查是必需的。你需要什么东西为用户找出到底发生了什么,或者反跟踪。今天你运行软件,你有死锁,你不知道发生了什么事。芯片的客户不知道如何调试所有这些事情。”

结论
验证传统上芯片达到tapeout前的最后疯狂的推动。许多公司承包验证工程师过去推为了保持进度。但随着复杂性的增加,甚至可能还不够。

验证继续改善,和抛出的钱在验证生态系统问题继续增加。但即使所有的顶级专家访问所有最好的验证引擎,仍然很有可能会错过一些bug。没有什么是完美的技术时,比其他地方都更令人沮丧的是明显的验证。

有关的故事
反思验证汽车
标准验证这些安全性至关重要的设备,新的测试方法和有更多的审查所有这一切是如何发生的。
系统级验证处理的新角色
专家在餐桌上,第3部分:汽车可靠性和覆盖;便携式刺激的真正价值。
差距在验证流程
专家在餐桌上,第1部分:验证的任务是改变和工具都在努力跟上他们,增加的复杂性。需要更多的验证重用。
验证发动机断开
从一个验证引擎无缝移动到另一个是一个很好的目标,但它比看起来难。



留下一个回复


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

Baidu