低功耗芯片:需要注意什么

来源:众壹云 发布日期:2021-07-13 13:51

低功耗芯片

先进节点和先进封装中的低功耗设计正成为一个多方面、多学科的挑战,其中一长串问题需要单独解决,也需要结合其他问题来解决。

随着每个新的前沿工艺节点,以及越来越密集的封装,出现问题交互的可能性越来越大。反过来,这会导致良率低下、成本高昂的重新旋转和现场故障。因此,建筑师和设计师在设计过程中更早地检查可能的交互和各种用例。他们正在寻找管理日益复杂的设计的方法,这可能会引入各种可能不会孤立出现的错误。

Synopsys数字设计部研发部总监 Renu Mehra 表示:“许多电源管理技术,包括多电压电源关断,都会显着增加设计的复杂性,因为它实际上会关断部分设计操作. “由于设计的所有不同部分都在相互交谈,因此很容易将设计的死部分的损坏发送到设计的其他部分。这意味着我们需要非常小心,我们已经正确地隔离了那些将被关闭的部分,以便其他活动的部分不会被破坏。从一开始就确保它运行良好,这一点非常重要。此外,在运行模拟之前一开始就拥有完整的电源意图也很重要。大多数仿真工具本身就理解UPF和功率意图,并且能够同时综合设计的关闭部分和活动部分。”

Arm技术副总裁兼研究员 Peter Greenhalgh表示同意。“当然,低功耗设计会引入错误,”他说。“时钟门控就是一个示例,您希望尽可能积极地节省功耗,但可能会在禁用时钟和创建功能错误方面过于积极。幸运的是,过于激进的时钟门控启用与任何其他功能性错误之间没有验证差异,这意味着标准验证技术足以捕获时钟门控启用错误。”

并不是现有的设计工具不起作用。正是在正确的时间需要更多这些,并且设计团队需要了解并访问所有这些。例如,静态电子尺检查器对于检查电子规则并确保不违反电子规则是必要的。

“如果您要从一个电压转换到另一个电压,请检查电平转换器是否已被指定在两者之间,”梅赫拉说。“或者,如果您打算使用保留技术来在关闭期间保留状态,那么其中一些保留技术可能比其他技术更复杂。有一种使用零引脚保持单元来实现保持的非常有效的方法,但如果您有这种方法,您还必须检查时钟线和复位线是否正确隔离以用于此类保持用途。这种静态检查是一个非常重要的部分,因此您可以从一开始就获得正确的设计。越早提供意图,随着设计的实施,它就越好。有些人可能会提供意图,使其等于 x、y 或 z,但这不​​会准确地实现与模拟完全相同的东西。这是因为综合将进行许多优化,例如电流传播,并且电路的结构可能会发生变化。这意味着您编写的意图(如果您打算在综合之后在实现中使用它)已经完成。但是当您在布局布线阶段使用它时,它的应用可能略有不同,并且可能无法完全实现您的意图。建议是预先指定它。”

Cadence 的数字实现和签核产品经理 Rob Knoth 将低功耗技术视为层层叠叠的蛋糕。“这出现在很多地方,而不仅仅是低功耗,”诺斯说。“测试设计是另一个领域,随着安全设计的重要性日益增加,也存在同样的问题。在所有这些领域,建筑师和设计师都必须了解如何修改设计、修改设计的时间以及如何验证设计。在任何这些技术的早期,无论是测试设计、安全设计还是低功耗技术,所有技术都是非常手动的,或者脚本化的,对于每个客户进行工作都是独一无二的。在那里,您确实必须在验证方面加强更多,例如运行功能向量,根据形式验证技术处理它等,而这些验证技术仍然是今天绝对需要的。”

一旦技术变得更加主流,自动化就会取代自定义脚本。“通过低功耗技术,虽然它可能开始于一些正在做一些第一批移动产品的真正高级用户,但现在它是主流,”Knoth 说。“这是夹心蛋糕的基础。它已经从习惯变成了通过权力意图等方式普遍存在。您正在编写 RTL,但您编写的几乎是 100% 功能性的,例如,“这在功能上是我必须要做的”,因此验证通常都以功能为中心。但是,在实施过程中,EDA 会采用该电源意图,自动插入、修改,您将获得诸如电源岛、常开单元、隔离单元等内容,并且设计的修改现在更加可预测,更多测试。在它到达您的设计之前,单元测试以及软件和流程正在进行中。形式验证,所有低功耗检查,检查电源意图文件等。该过程的另一部分包括功能测试以确保 RTL 功能良好,其中低功耗检查确保任何新插入的综合和布局布线期间的代码遵循您的意图。”

下一层是RTL。如果它不够节能,还能做什么?其中一些是显而易见的,例如时钟门控或内存使用效率不高的地方。从那里,您编辑 RTL 并爬上堆栈。

“低功耗形式验证不会帮助你,但功能验证可以,”诺斯说。“这就是,一旦您开始采用顺序等效性之类的东西,它们就绝对是面包和黄油。这是很多纯 RTL 设计师都熟悉的技术,但是如果你要翻墙去找那些习惯于将 RTL 作为输入的人,而他们习惯于只进行综合和布局布线,他们可能没有意识到这一点。关于谁拥有 RTL 的界限越来越模糊。这是一个关键部分,因为那是自由权力。它不需要你用永远在线的单元来做一堆架构,你将在那里关闭一些东西。只是,“这是我的设计,运行基于功能向量的深度分析。” 工具在哪里指出您可以节省更多电量?这是一个很大的增长领域。”

堆栈的最顶端是最新、最广泛的低功耗技术,即 RTL 之前的技术。“这又回到了系统架构,以及在 C 代码级别或 MATLAB 级别工作的人员,”他说。“现在有一套更好、更详尽的工具,可让您进行高级综合等操作。使用传统的高级综合机制,您获取 C 代码,将其放入高级综合,然后吐出 RTL。”

无论是芯片还是IP,都适用同样的规则。挑战在于同时了解所有不同部分的潜在相互作用。

Rambus的 IP 核总经理马特琼斯说:“控制电源最常见的事情之一是使用时钟门控技术来减慢或禁用 IP 或未使用的芯片部分。” “当你放慢速度,并以不只是打开管道并让它吹动的速度运行时,你引入了时钟域交叉以及随之而来的启动和关闭周期的概念。计时并不简单。就时钟速度和数据速率而言,速度越高,将它们关闭、打开和使用它们肯定会带来一些设计复杂性。做到这一点是一种明确的艺术形式。”

时钟门控和其他方法等电源管理技术会增加设计复杂性,从而增加出错的机会,尤其是在块或整个芯片移入和移出各种状态以及组件以不同速率老化的情况下。不同的公司对此有不同的处理方式,但总的来说,需要在系统和组件级别处理问题,并且设计团队需要跨越两个世界。例如,内存选择和策略(例如内存中和近内存计算)可能比一系列低功耗技术节省更多的电量。

英飞凌存储器解决方案营销和应用高级总监 Sandeep Krishnegowda 表示:“如果您使用 5nm 器件,在该节点上可以使用的闪存越少,您可以节省的 SRAM 就越多。” “这也降低了 SoC 的功耗。所以我们查看所有这些不同的概念并说,这不仅仅是性能提高 10 倍。它还使功耗降低了 2 倍或 3 倍,演变为用于直接代码执行的更高性能的非易失性存储器。”

突破极限

简而言之,设计团队为使这些系统以及系统的系统工作而需要进行的权衡数量正在增加。所有这一切都始于芯片级别。

“业界一直在这条道路上使用动态电压和频率缩放,这是一个有趣的想法,'也许我可以降低电压,直到我不能再降低。也许我可以改变速度,直到我再也做不到为止,'”Rambus 的同事和杰出发明家 Steven Woo 说。“它可以让你更接近可靠行为的边缘。影响所有这些的还有一个事实,即硅片的不同工艺角的行为会略有不同,这意味着有更多重要的物理效应,包括相邻的 IP 部分正在做什么,因为它们会引入噪声,如果您的电压不够高,则会影响电压裕度。”

吵闹的邻居也可以开始影响正确性。“其中一些技术面临的挑战是物理效应变得更加重要,而你周围发生的事情也变得更加重要,”Woo 说。“当您使用这些技术试图通过电压操纵和频率操纵获得低得多的功率时,必须很好地理解信号完整性和电源完整性等原则。在过去的几十年里,我所看到的是,芯片设计和架构已经从某些方面与系统中发生的物理现实隔离或稍微隔离。如今,您必须更加了解系统中实际发生的事情。所以它是了解你周围元素的电压、噪音和功率,以及电压如何移动的动态特性。电源完整性与信号完整性一样非常重要。芯片架构师和系统设计师必须更加了解他们所处的物理环境。”

动态和泄漏功率

需要在多个层面解决功率问题。当finFET的引入解决了几个工艺节点的问题时,泄漏电流从 40 纳米到16/14纳米变得越来越成问题。但是从那时起泄漏一直在稳步增加,需要一种新的栅极结构来控制 5nm 以下的静态泄漏。即使设备断电,这种泄漏也会继续消耗电池,并且会增加设备产生的热量。

相比之下,由于密度增加,每个新节点的动态功率都在不断恶化。需要引导热量,并且通常需要在其他附近组件的上下文中设计逻辑,有时使用棋盘类型的方法来防止各种物理影响。

Ansys产品专家总监 Mallik Vusirikala 表示:“在较旧的技术节点中,有功功率占主导地位,因此可以对所有这些数据不活动的时钟进行门控——并且有很多技术可以进行时钟门控。” “但随着进入泄漏功率更占优势的技术节点,我们开始使用电源开关。我们不只是门控逻辑,而是门控整个电源。这些技术中的每一种都有不同类型的问题。”

对于时钟门控,需要进行逻辑检查。“但从电源的角度来看,如果突然取消时钟门控的大量电源,会发生什么?如果时钟控制大量逻辑,然后突然关闭,则意味着突然出现电源需求,”Vusirikala 解释说。“你如何控制这种类型的电力需求?电源必须通过电池供电,中间有一个包装。这意味着有很多电感。电感器的特性是它不允许电流快速变化。这意味着需要足够好地满足芯片上的大量电流需求,以免引起动态电压降。至此,有多种方法可以使用分析工具来分析电源的瞬态特性,这些工具可以测量特定斜坡上升的电压降量。对此的设计反馈是您无法一次性取消这么多时钟。您可能需要逐步淘汰它。您可能需要提前查看 20 个周期,然后慢慢开始取消时钟。”

这种情况可以受益于功率瞬态分析,它改变了功率并分析了电压降。这种分析可以通过多种方式进行。可以在任何实例级别进行分析以确定电压降影响。在封装和芯片级接口处,可以使用工具来使用SPICE子电路类方法对整个芯片进行建模。这涉及更改电源以查看电源噪声的影响,这也涉及封装。

Vusirikala 说,一旦打开电源开关,就会有大量未充电的域开始充电。“这意味着需要大量电流来为整个开关电源充电。这再次意味着必须按顺序关闭开关,并且将使用不同种类的晶体管来打开。在这里,可以在块打开时使用弱开关晶体管。但是一旦块被打开,它就必须高速运行,这意味着它当前的需求要高得多,因此在特定块加速和运行时将使用不同强度的晶体管。”

确定电源开关的最佳顺序是另一种类型的分析,应避免低功耗设计中出现问题。有多种方法可以分析需要多少个开关,以及需要打开开关的顺序。一旦开启,对其他实例有什么影响?这必须仔细分析,因为它会驱动单元格放置。放入了多少个开关,以及这些开关的打开顺序是什么。

还需要进行逻辑检查以确定电源噪声的影响以及如何最好地实现电源。“如果信号从一个开关域传到另一个开关域,则电源轨之间需要隔离单元,因为如果终端的栅极悬空,则它来自开关电源并且它被关闭,”Vusirikala 说. “如果它正在驱动处于功能状态的晶体管,则栅极进入瞬态阶段,并且会严重泄漏。为了解决所有这些问题,当信号从一个电源域跨越到另一个电源域时,应该进行逻辑检查。你有隔离单元或电平转换器吗?电平转换器是必须考虑的低功耗设计的另一个关键方面。如果将信号从 0.8 伏驱动到域 1。2 伏,需要一个电平转换器,因为如果没有电平转换器,1.2 伏的阈值将与 0.8 伏的阈值不同,因此它可以同时驱动 PMOS 和 NMOS 堆栈. 这些检查可确保适当的隔离,并在信号入口处跨电源域添加适当的电平转换器。”

结论

随着设计追求越来越低的功耗,技术变得更加丰富。

“这有两个角度,”Cadence 的 Knoth 说。“一个是在预实施阶段,在那里您可以审核您的电源效率,我们可以告诉您要编辑哪些行以恢复 X 毫瓦数。另一个角度是针对 RTL 重用情况,即不允许您编辑 RTL。此处的美妙之处在于,同样的工具可以提高能效,并且引导式功耗降低与综合和布局布线环境相集成。这样,在实施过程中,一些需要您编辑 RTL 的事情可以自动应用。正式验证在这里可能很重要,因为它可以以自动化的方式完成其中的一些工作。您不必编辑 RTL,但您仍然必须在 i 上加点并在 t 上交叉;你仍然必须确保它在形式上是等效的。”

Knoth 说,从技术的角度来看,这是一个很大的变化,因为所做的更大的改变将大大降低功率,尤其是能源。“能源大赢家是一场建筑比赛,”他说。“它们不是通过在这里喷洒一些高 VT 电池来实现的。我们谈论的是改变时钟频率,或者从定点到浮点,或者某个总线需要多宽?大而多肉的东西在功率和能源方面产生重大影响。”