低功耗设计手册--介绍

2022-08-26 18:29:00 浏览数 (1)

1.1概述

在过去的二十多年里,复杂芯片的设计经历了一系列的变革。在20世纪80年代出现了基于语言的电路设计与综合。在20世纪90年代,设计复用和IP成为主流设计实践。在过去的几年里,低功耗设计已经开始再次改变设计人员处理复杂SoC设计的方式。

这些变化都是为了应对不断发展的半导体技术所带来的挑战。芯片密度的指数级增长推动了基于语言的电路设计和综合的应用,极大地提高了设计者的工作效率。这种方法使摩尔定律在十年左右的时间里无法发挥作用,但在百万门设计的时代,工程师们发现,为一个新的芯片项目编写新的RTL是存在上限且低效的。导致的结果是IP和设计复用对于相对较小的设计团队设计大型芯片来说是唯一可行方法。今天,每个SoC设计都采用了大量的IP,以利用亚微米技术提供的不断增加的密度。

深亚微米技术,从130nm开始,提出了一系列新的设计问题。我们现在可以在一个相当小的片上实现数千万个门,从而导致功耗密度和总功耗达到封装、冷却和其他一些基础设施所能支持的极限。由于技术已经缩小到90nm及以下,泄漏电流急剧增加,因此在一些65nm设计中,泄漏电流几乎与动态电流一样大。

这些变化对芯片的设计产生了重大影响。最高性能芯片的功耗密度已经增长到这样的程度,即随着技术的进步也无法再提高时钟速度。因此,设计人员正在设计多处理器芯片,而不是单一的超高速处理器芯片

对于供电的电池等,其是电子市场增长最快的部分之一,但是由于深亚微米工艺带来的泄漏成为了设计中的一个主要问题。为了解决这个问题,设计人员在每一步的设计过程中,从软件到架构再到实现,都使用了一些先进的方法。这些方法包括电源门控(在模块不使用时关闭电源)和多阈值库(可以权衡泄漏电流以提高速度)。

对于所有应用程序来说,复杂SoC的总功耗都是一个挑战。为了解决这一挑战,设计师们正在从单一供电的方法(在这种方法中,所有非IO门都使用单一电源电压)转向多电源架构,在多电源架构中,不同的模块在不同的电压下运行,这取决于它们各自的需求。在某些情况下,设计人员使用电压缩放技术来改变关键模块的电源电压(和时钟频率),这取决于它的工作负载及所需要性能。

这本书描述了设计人员可以使用的一些技术,以减少复杂SoC设计的功耗。我们的方法是实际的,而不是理论的。在过去几年里,我们在做一系列技术演示芯片的过程中积累了大量的经验。我们相信我们所描述的技术可以被今天的芯片设计者用来显著改进他们所设计的芯片。

1.2问题范围

今天,一些最强大的微处理器芯片可以功耗达到100-150瓦。平均功耗密度为50-75瓦特每平方厘米。片上的局部热点可以比这个数字高出几倍。

这种功耗密度不仅带来了封装和冷却的挑战;它也会给可靠性带来问题,因为平均失效时间随温度呈指数下降。此外,电路时序随温度升高而恶化,泄漏电流随温度升高而增加。

从历史上看,最高性能芯片的功率随着每个新工艺技术节点的增加而增加。但是,由于功耗密度的问题,国际半导体技术路线图(ITRS)预测,这些芯片的功率将在2008年达到198瓦;此后,功耗将保持不变。

微处理器芯片的总功耗已经给服务器群带来了严重的问题。对于这些服务器群,基础设施成本(电力、冷却)可以等于计算机本身的成本。

对于电池驱动的手持设备来说,数字要小一些,但问题同样严重。根据ITRS,这些设备的电池寿命在2004年达到顶峰。从那时起,由于新功能的增加速度快于电池升级速度,电池寿命开始下降。

对于几乎所有的应用程序来说,减少SoC的功耗对于提高电路性能,使得公司长久发展是至关重要的。

直到最近,在芯片设计中功耗仍然是很重要的考虑问题。今天,对于大多数SoC设计来说,功耗预算是项目最重要的设计目标之一。超出功耗预算对项目来说可能是致命的。

随着我们进入下一个技术节点,这些问题预计会变得更糟。ITRS做出了以下预测:

不用说,许多设计团队正在努力将功率增长降低到低于这些预测数字,因为即使是90nm,许多设计也处于客户接受的极限。

1.3功耗和能量

对于电池驱动的设备,功率和能量之间的区别是至关重要的。如图1-1所示。功率是设备中的瞬时功率。能量是曲线下的面积——能量随时间的积分。例如,手机所消耗的能量取决于它在做什么,无论它是在关闭盖子的待机状态,还是打开显示器并打开电源,或者从网上下载。图1-1中图形的高度表示功率,但它是能量-曲线下的面积决定电池寿命。

1.4动态功耗

SoC设计的总功率包括动态功耗和静态功耗。动态功耗是设备处于活动状态时所消耗的功耗,即信号值变化时所消耗的功耗。静态功耗是指设备上电时,无信号变化值时所消耗的功耗。在CMOS器件中,静态功耗是由于泄漏电流造成的。

动态功耗的最主要来源是开关功耗——对栅极上的输出电容进行充电和放电所需的功耗。开关功耗来源如图1-2所示。

每次跳变所需的能量为:

其中,C为负载电容,V为供电电压。我们可以将动态功耗描述为:

其中f是跳变频率,P是输出跳变的概率,fclock是系统时钟的频率。如果我们定义:

我们也可以用更熟悉的表达式来描述动态功耗:

注意,开关功耗不是晶体管大小的函数,而是开关活动性和负载电容的函数。因此,它是依赖于数据的。

除了开关功耗,内部功耗也属于动态功耗。图1-3显示内部开关电流。内部电流由NMOS和PMOS晶体管都打开时产生的短路电流以及电池内部电容充电所需的电流组成。

如果将内部功耗的表达式加到方程中,则动态功耗描述为:

式中tsc为短路电流持续时间,Ipeak为内部总开关电流(短路电流加上对内部电容充电所需的电流)。

只要保持输入信号的跳变时间较短,每次跳变过程中短路电流发生的时间较短,整体动态功耗由开关导致的功耗主导。为此,我们常常简化使用动态功耗公式:

但在某些情况下,短路电流是值得关注的。特别地,当我们讨论如何处理电源门控的浮动输出时,我们将讨论防止出现过大短路电流的方法。

在架构、逻辑设计和电路设计方面,有许多技术可以降低在给定技术中实现的特定逻辑功能的功耗。这些技术专注于模块的电压和频率参数量,以及减少与数据相关的开关活动。

有各种各样的架构和逻辑设计技术去优化开关活动性,这有效地降低了相关门的开关活动。

由于功耗与电压的二次依赖关系,降低电源电压是降低动态功耗的一种有效途径。但是由于栅极的速度随着电源电压的降低而降低,因此这种方法需要谨慎地进行。SoC设计者可以在以下几个方面利用这种方法:

对于不需要运行特别快的块,如外围设备,我们可以使用比其他更低的电压供应,速度更关键的块。这种方法被称为多电压。

对于处理器,我们可以提供可变的电源电压;在需要峰值性能的任务中,我们可以提供高电源电压和相应的高时钟频率。对于需要较低性能的任务,我们可以提供较低的电压和较慢的时钟。这种方法被称为电压缩放。

另一种降低动态功耗的方法是时钟门控。当不需要工作时,将频率降为零从而将动态功耗也降为零。许多SoC上都使用了某种形式的时钟门控设计。

0 人点赞