如何应对芯片故障功率的挑战

袁遗说科技 2025-01-18 19:48:37

本文由半导体产业纵横(ID:ICVIEWS)编译自Semiconductor Engineering

虽然到目前为止还不是重点,但可以在设计中进行早期读数,以更好地了解故障功率的影响。

俗话说“不浪费,不匮乏”,一般来说,这是一条很好的人生建议。但在芯片设计领域,浪费功率是物理事实。故障功率(由于门和/或线路延迟而消耗的功率)可占数据中心服务器等高级应用中功率预算的 40%。即使在功率较低的电路中,例如边缘或物联网设备中的电路,故障仍会对功率预算造成重大问题。

西门子 EDA技术产品经理 Qazi Faheem Ahmed 表示:“通常情况下,我们看到很多移动公司的故障功率大约为 15%。如果他们在此基础上还配备了 AI 加速器或其他设备,额外的浪费功率可能会超过 40% 到 45%。这取决于正在运行什么类型的应用程序。所有计算密集型应用程序都会有更多的故障功率耗散。这还取决于他们使用的技术节点。与成熟节点相比,低于 7 纳米的先进节点的故障功率耗散会非常明显。”

多年来,人们在很大程度上忽视了故障功率。由于故障的性质,在 RTL 级之前很难(甚至不可能)获得准确的读数。现在,在成熟节点,甚至有时在更先进的节点上,都可以获得一些数据。鉴于人们越来越关注移动和汽车设备的电池寿命和功耗等问题,这是一个重要的发展。

虽然实时 EDA 故障电源工具可能还需要几年时间才能问世,但新工具正在不断涌现,以便更好地解决故障问题。设计师还应牢记一些最佳实践,例如降低电压,以更好地满足其电源预算的需求。

边缘节点与先进节点的故障功率问题

当互连延迟超过门延迟时,就会发生故障功率问题,从而导致切换不平衡。这会导致消耗更多功率的额外转换,即使在成熟节点中,这个问题也很明显。

Synopsys低功耗解决方案产品管理高级总监 William Ruby 表示:“你可以将故障视为给定时钟周期内的多次转换。在输出稳定到最终值之前,会发生多次转换,其中除最后一个转换之外的所有转换都会导致正确值稳定下来。时钟周期内在此之前的所有其他转换从根本上来说都是浪费功率。”

虽然故障功率在这些情况下可能只占预算的 15% 左右,但这仍然是一个相当大的数字。Ahmed 说,这些情况下出现故障功率“主要是因为他们试图降低性能以满足功率预算。当你降低性能时,你会在一个周期内打包更多的计算,这也会导致相同的最终结果,基本上是更多的故障。”

直到最近,这种浪费的电量才被视为边缘或物联网设备的一个特别大的问题。但手机的兴起使它成为更大的优先事项。尽管移动设备的软件“已经变得智能,可以让硬件在不需要时闲置”,但据Ansys首席产品经理 Suhail Saif 称,一部手机上有太多应用程序,很难让整个硬件闲置,因为总有事情在发生。“当某事发生时,就会有故障电源。因此,电池消耗非常严重。”

但即使在更普通的设备上,降低故障功率也越来越成为优先事项。Saif 指出,在过去五年中,由于缺乏适当的故障功率专用 EDA 工具,因此除非迫不得已,例如在功率密集型应用中,否则很少关注故障功率。

“当时没有强大的分析工具。五年或十年前,故障分析还很初级。这个 EDA 解决方案只能猜测并告诉我它占总功率的 6%,但真的是 6% 吗?我对此表示怀疑。也许是 3%。这些原因支持了这样一种观点,即也许不值得做任何事情。‘让我咬紧牙关,关注更重要的事情。’现在这种情况正在改变,原因是,随着技术的进步、晶体管的缩小以及我们越来越依赖 GPU 计算,这些数字正在上升。这些数字不再是可以忽略的。”

在某些情况下,降低故障功率已成为当务之急,不仅是为了节省功率预算,还因为安全问题。Cadence 产品营销总监 Prakash Madhvapathy表示,在汽车领域,尽管电池容量很大,但过大的功率也会导致其他问题。

“比如说,如果你有一个信息娱乐系统,它主要安装在主机中,那么这个主机就没有任何空间来耗散功率,”Madhvapathy 说。“它让空气流过或用金属物体耗散功率的能力非常有限,所以在这种情况下,功率就变得非常重要。”

工具的局限性

由于先进节点技术中的门延迟和信号延迟通常相当,因此在设计早期很难检测到故障功率。本质上,很难区分延迟来自何处,因此很难获得准确的图像。Madhvapathy 说,随着节点越来越成熟,在综合层面上更容易读取这些延迟。

“你确实有一些可以模拟并为你提供有效功率的工具,还有一些工具可以运行来获得故障功率,”Madhvapathy 解释道。“但故障的工作方式是,一旦你在 RTL 级别有了布局,故障功率就会更准确地显示出来。你可以看到存在逻辑级别,但你无法在逻辑级别判断路径是否平衡。只有在综合时你才能知道。此外,只有在布局时你才能知道实际延迟,因为 SoC 内部的电线、连接器将具有 RC 延迟,这会增加所有不同组件、不同门的延迟。这意味着实际延迟将不同于你从纯综合或查看 RTL 设计中获得的延迟。所以实际上,它必须是后期布局。我并不是说这是最好的方法,但实际情况是,当设计师在设计上进行迭代时,他们无法承受从头到尾都去完成一个位置和路线,然后得到最终最优布局,进行分析,然后回头重新做设计。”

对于大多数设计来说,这意味着无论运行多少次模拟,毛刺功率只能在签署阶段计算。

“当你处于 RTL 状态时,延迟为零,这意味着当你进行功率估算时,任何故障都不会可见,”西门子的 Ahmad 说。“故障功率估算部分将在你的估算中缺失。随着设计过程的推进,最终进入签核阶段,你可能在门级拥有延迟感知向量,而创建、模拟和获得结果的成本非常高。这一切都很耗时。你可以进行 200 个周期,但随后你就会看到这种隐藏的功率显现出来。”

Cadence 公司的 Madhvapathy 提出了一种解决方案,即在接近最终设计时计算故障功率,“但不要一直到最终设计时才开始测量。在这期间,你必须进行一直到布局的运行。一旦你到了那里,你就可以在设计过程中测量故障功率一两次,并确定它是否在你测量的功率中起着重要作用。如果你知道故障功率起着重要作用,并且你确实知道你的逻辑电平不匹配,那么当你进入最终设计和最终布局时,你就会面临类似的问题。”

尽管它并不精确,但将人工智能融入 EDA 工具已导致准确估算的巨大飞跃。

西门子数字工业软件公司 Calibre 接口和 mPower 电源完整性分析工具产品管理高级总监 Joe Davis 表示,从历史上看,确定故障功率的所有工作“需要大量计算才能使 RTL 具有物理感知能力,因为在 RTL 级别,您尚未实现设计”。“但为了获得这些效果,您必须有一些模型,对实现将会是什么样子有一些想法。这是一项艰巨的工作。现在,您可以构建一些 AI 模型,这将取决于您的实施流程、综合工具等。在过去几年中,估算工具一直在构建这种物理感知流程,现在您可以在流程的早期获得故障估算,但需要付出一些代价。”

由于这类模拟需要大量计算,戴维斯的同事艾哈迈德表示,目前,它们通常只用于能源效率至关重要的情况。对于其他所有情况,最佳做法仍然是在设计开始时留出余地,并希望计算完成后不必重新启动。

解决方案

可以采取一些措施来确保辛勤工作不会因不可预见的故障电源问题而白费。特别是在移动领域,人们非常重视对系统进行微调以确保电池寿命尽可能长,因此可以大大降低故障电源。Ansys 的 Saif 表示,当谈到英特尔和三星等主要设计巨头时,“他们要做的第一件事就是说,‘让我弄清楚我的哪些设计更容易出现故障电源,哪些不容易出现故障电源。’每个人的时间都是有限的,所以他们专注于更容易出现故障电源浪费的设计。”

由于专有库经过了精细调整,一些公司可以更好地避免故障电源的陷阱。

“英特尔有自己的库,三星也有自己的库,因为他们拥有代工厂控制权,”Saif 补充道。“他们在这方面有更好的控制权,因为他们能够从库门本身开始设计。从设计库单元开始,他们就确保这些单元具有防故障能力,而不是轻易陷入故障陷阱。这确实是一个新时代。从代工厂到设计公司,再到 RTL 架构师,再到实施布局工程师,每个人都意识到他们需要尽早采取一些明智的措施,这样这些数字才不会超出图表范围。”

Cadence 的 Madhvapathy 补充说,有一些简单的解决方案可以减弱故障电源的影响,即使不经过整个过程来获得准确的读数,也可以考虑这些解决方案。电压的小幅降低“可以产生平方效应,并且可以大大降低功率,”他说。“如何应用它是个问题,因为在特定设计中没有单独的电源域。也许在 SoC 中,你会有不同的电源岛,它们都由电路板上的独立元件供电,这些元件是电源管理 IC。在那里,当设计的一部分处于活动状态时,你可以关闭该部分的电源,然后以这种方式控制电源。问题是当你试图应用类似的技术来降低与门输入脚的电压时。”

或许,缓解故障电源问题的最佳方法可以用童子军的座右铭来概括:做好准备。虽然检测故障电源的确切数量通常可能在流程的后期进行,但艾哈迈德观察到,你仍然可以提前采取一些措施来避免问题。

“为了对功耗做任何事,不管这是由故障引起的,还是仅仅是标准平均功耗或动态功耗,你都必须尽早开始,”他说。“当你处于 RTL 阶段时,你要做的第一件事就是从测试台获取功能向量。这些并不代表你的终端设备将要使用的真实场景,因此它们通常不用于功耗测量。你甚至可能处于非常早期的阶段;你甚至没有任何可用的向量。你当时可以做的是识别潜在的流动性逻辑,并确保你为低功耗 RTL 编写代码,这样你的 RTL 在转换为设计时就不会出现故障。在那里,你可以对 RTL 本身进行一些结构检查,使用电源工具进行快速检查并说,‘是的,你的逻辑中有很多重新收敛。’”

结论

长期以来,在设计过程的早期计算毛刺功率一直很困难,但对于成熟节点来说,这变得越来越容易。虽然实时分析在未来的工具中仍然是一种可能,但目前先进的 EDA 工具确实提供了一些检测毛刺功率的左移功能。

尽管这主要被认为是数据中心等高功率用途的问题,但移动和汽车的兴起使得节省电池电量和安全耗散功率对于边缘应用也变得重要。

虽然改变电压和广泛的专有库可以帮助避免故障问题,但除了运行广泛的模拟之外,最好的解决方案是在设计早期对问题进行适当的预算,以及从测试台上获取功能向量。

*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。

0 阅读:1