| |
即使你正在设计的ASIC 或 SoC并非面向低
要 点
在 45nm节点,泄漏的功率占IC总功耗的60%。
代工厂现在能提供多种库,每种库有多个管理电源的阈值电压。
EDA业已经划分为支持相似功耗标准的两个阵营:UPF(统一功耗格式)和CPF(公共功耗格式)。
时钟门控是最老式的技巧,而功率门控则正在快速成为低功耗设计中最热门的技术。
Synopsys的Mike Keating认为:“随着技术节点的逐步升级,显然我们必须降低VDD(电源电压),因为存在着一种二次关系:功耗与 V2DD成正比。如果我们只是缩小器件尺寸,而没有减小VDD,那么每一代的功耗密度都会加倍。这是不允许的,因此我们就要降低VDD。”
当半导体行业在以往几个节点上降低电源电压时,同时也降低了晶体管的阈值电压,阈值电压能将漏源电流保持在某一水平,使 IC 对其输出电容器充电,因而提高了这些节点下 IC 的性能。但是,当业界在每个节点进一步降低阈值电压时,也迫使增加了亚阈值泄漏。Keating说:“随着我们缩减工艺尺寸,现在的栅极氧化层厚度已经非常薄,栅极泄漏呈指数增长。有时,在65nm和45nm时,最终动态功耗等于亚阈值泄漏电流,也等于栅极泄漏电流。此时我们遇到了一个大麻烦,我们有三个因素:动态功耗、亚阈值泄漏电流和栅极泄漏电流,它们都精确地指向同一点。”
过去,每次工艺节点尺寸减小时,总功耗密度都基本保持不变。但在 2005 年,ITRS(国际半导体技术路线图)公布了一项研究,结果表明,在65nm节点上,动态功耗密度和泄漏功耗将分别增加 1.43倍和2.5倍。在45nm节点上,ITRS 预计动态功耗和泄漏功耗密度将分别增加 2 倍和 6.5 倍。实际上,对采用高速 65nm工艺的设计来说,一半功率损失在泄漏上。业内很多人相信,在 45nm节点上,IC 将有多达 60% 的功率损失在泄漏上(图 1)。Keating 称:“不久前,我们对功耗的处理方法是简单地在硅片上做各种折衷。这种选择差不多没用了。这些设计技术不再是选项,而是一种需求。”
多电压设计
多阈值设计虽然通过采用多个库能帮助设计者减少设计的泄漏,但其它技术,如多电压设计,则有助于控制动态功耗。与多阈值设计类似,多电压设计使设计者能够在设计中找到对应工艺与规格最大电压的关键路径和关键块,不过,接下来设计者要降低较低功耗块的电压。Keating 举例说,一个处理器块可能需要 500 MHz 的时钟速度,但一个 USB 核可能只需要 30 MHz 就能符合 USB 协议要求,因此只要较低电压就能运行。所以,如果设计者只给 USB 核必需的功率,就可以大大降低设计消耗的总功率。为实现这种方法,设计者过去是在不同电压块之间放置电平转换器。Keating 说:“如果你的 IC 设计中有一个 0.9V 区,它要向一个 1.2V 区发送信号,则就要在两个区之间放一个电平转换器,以提升电压摆幅和控制时序。”
尽管概念很简单,但实现却复杂得多。首先,设计者必须习惯于在一个内核上处理多个电压。Keating 称:“我们接受的工程师训练是一个芯片上只有一个电源,现在我们得应对一些复杂性。”另外在工具前端也有相当大的挑战。多数商用综合与物理设计工具都可以插入电平转换器,实现多电压,但建立 RTL 却是一个问题。Keating 称:“hdl 尚不存在一种描述电源连接的机制。”这种缺陷是 EDA 供应商们正在致力解决的一个领域,他们正试图实现一个低功耗标准。不幸的是,业界对两个相似标准还无法达成一致(见附文“EDA 业争论功耗标准”)。
另一种来源于定制设计但正在进入 ASIC 设计领域的新方法,就是采用有电压比例缩放的并行机制。Chinnery 和 Keutzer 在他们书中描述了这种技术。Keutzer 称,人们起先认为它不实用,但现在获得了相当大的关注。Keutzer 说:“你可以用并行方法获得性能提高,然后按比例减小电压,以降低功耗和能量。如果你看动态功耗,电压显然是最大的获益方。那么,怎么样降低电压呢?假设有一个时序约束,如2ns,你首先要超过自己的时序目标。尤其是通过增加并行性,将关键路径降低到1.2ns。然后,可以缩小电压,放宽到所需的2ns 周期时间。电压下降给予的补偿远高于面积的增长。”
在数字设计的早期,设计者必须手工完成这个任务,现在任何一种称职的商用综合工具都可以自动完成。Keating 说:“工具现在都已经准备好了,它们会介入,自动寻找复用器,如果发现了一个反馈复用器,则换成一个时钟门控单元。当我们开始讨论32位寄存器时,用这种技术可以获得相当大的节省。”他指出,英特尔的工程师今年在SNUG(Synopsys用户小组)上展示了一篇报告,称用这种技术节省了43%的动态功率(参考文献2)。
另一种时钟门控的常用方法是全局时钟门控,它是简单地关闭整个块的时钟,一般是针对一个中心式时钟发生器模块。这种方法与局部时钟门控不同,它关闭了整个块的功能。由于它切断了整个时钟树,因此进一步降低了动态功耗。
功耗感知内存
另一种降低动态功耗和泄漏的常用技术是采用功耗感知内存。
这种技术最简单的形
功率门控/MTCMOS
也许低功耗设计中最热门的新方法要算功率门控和 MTCMOS(图 5)。与电压门控类似,功率门控也是当设计中一些块没有使用时,临时将其关断。与电压门控相类似的还有该技术的复杂性。Keating 说:“其它技术最好的地方是它们对设计工程师都非常透明。当我编写自己的 RTL 时,我不必考虑什么多阈值、多电压、时钟门控或功耗感知内存问题,因为下游自然有人会关心它。但采用功率门控,我就必须在 RTL 里予以关注。我得设计一个功率控制器,由它来控制我需要关断的那些块,以及关断时间,并且我还得考虑不同块运行时所需要的电压。”
过去有两种功率门控方法,即细粒度和粗粒度功率门控。在细粒度功率门控中,设计者要在每个栅极和地之间放一个开关晶体管。这种方法使设计者能在一系列功能不用时,将与地的连接切断。Keating 称:“库中每个单元都用这种技术。首先,人们确实喜欢用细粒度功率门控,因为它比较容易实现每个单元的电源特性,但它的问题是消耗的面积太大:约两倍至四倍。”设计者也可以对单元作混合和匹配,有些采用功率门控,有些则不用。需要高阈值电压的单元不使用功率门控。大多数情况下,这种功率门控带来的功率损失太大,很多设计小组更愿意采用粗粒度功率门控,此时设计者要建立一个电源开关网络,它基本上是一组开关晶体管,并行地将整个块打开或关闭。这一技术没有细粒度技术的面积问题,但很难在单元基础上作特性描述。
Sequence Design 的 Frenkil 称,现在设计业中正在兴起一种折衷的中粒度功率门控方法。他说,采用这种方法时,“功率门控单元将单独为各个小块供电……如果你查看一种高性能的 65nm 工艺,泄漏很容易达到总设计功耗的 40% ~ 50%。如果你设计一款高性能芯片,就必须应付巨大的泄漏量,因此人们要有多个独立控制的分立电源域。我曾见过一种规模适度的芯片,它有 20 个电源域;如果是先进的芯片,它们的电源域将超过 100 个。”这个数目无论用单纯的细粒度还是粗粒度技术都难于控制。Frenkil 认为,在所有技术中,功率门控是最有希望的。他说:“它能更多地降低泄漏,并且它将很好地适应未来,而像反向偏置这类技术则不能。”
EDA 供应商们一直狂热地尝试功率门控技术的自动化。现在有两个互相竞争的低功耗标准:UPF(统一功耗格式)和 CPF(公共功耗格式),两者的目的都是帮助设计小组更有效地实现功率门控方法。Keating 举例说,在 UPF 设计中,工程师仍然必须在 RTL 中设计功率控制器,但有几个工具,可以协助在设计中插入电源网格、隔离单元以及保留寄存器。Keating 说:“你不必在 RTL 中做这件事,而是使用一种 UPF 公共语言,并规定要被隔离块的一个确定数目。只要一行,就可以完成 RTL 许多行才能做到的工作。这些工具有足够的智能,它们获得这些指令,将指令插入到适当的层级。有些会在综合期间插入,另一些则在布局和布线时插入。”
如果使用这种方法,插入隔离保留触发器时可以采用手工或工具自动化方式。Keating 说:“当你关闭一个块时,其输出要连接到仍有供电的一个块,你必须关心这些下游功率节点的悬浮问题,它们会将阈值电压悬空,造成不必要的后端电流。你需要在这些输出上放置一些隔离单元,将该输出箝位到 1 或 0,这样就不会有悬浮电流问题。”
这种方法还需要使用保留触发器。Keating 指出,关闭一个块带来了一个问题,即该块需要恢复或保持所有的状态。为实现这个目标,设计者可以使用保留触发器,其中,触发器的主要部分是低阈值电压(即快速但泄漏高),旁边是一个高阈值电压、低泄漏单元的气球式寄存器。Keating 说:“在你关断一个块之前,使触发器输出进入一个气球式寄存器。然后,除气球式寄存器以外的所有东西都断电以保存状态。当该块再次加电时,气球式寄存器将所有东西返送给主触发器,帮助该块快速上电。”
EDA 的援助?
Frenkil 指出,尽管 EDA 供应商能提供范围很广的工具,帮助设计者实现低
参考文献
1. Chinnery, David, and Kurt Keutzer, Closing the Power Gap between ASIC & Custom: Tools and Techniques for Low Power Design , ISBN: 978-0-387-25763-1, Springer, June 2007.
2. Pokhrel, Khem C, “Physical and Silicon Measures of Low Power Clock Gating Success: An Apple to Apple Case Study,” proceedings of Synopsys Users Group, San Jose, CA, 2007.
3. Santarini, Michael, “Thermal integrity: a must for low-power-IC digital design," EDN, Sept 15, 2005, pg 37.
附文:EDA 业争论功耗标准
EDA 业正在对设计者面临的功耗挑战作出响应。但是,要及时地克服低功耗障碍,似乎需要 EDA 供应商们对一种公共功耗格式达成一致。不幸的是,业界在此分成了两个阵营:一部分小型 EDA 公司在 Si2(硅集成倡议)的赞助下,追随 Cadence 的 CPF(公共功耗格式);而 Synopsys、Mentor 和 Magma 则支持 Accellera 的 UPF(统一功耗格式)。最近,两种格式似乎要在 IEEE 旗下合并,但业内的派别争斗至少暂时摧毁了取得进展的希望。有意思的是,曾经接触过两种格式的人都表示,UPF 和 CPF 大约有 85% 功能是一样的。但是,各个 EDA 公司都在保护自己的格式,希望能成为事实上的工业标准,从而在一种新的工具领域获得市场份额。
现在看来,似乎用户和 EDA 供应商将不得不支持两种格式。业界和设计者以前已经用 verilog 和 VHDL 完成了工作,两者都是可行的 HDL(硬件描述语言)。不过对设计者和供应商来说,使用和支持两种格式会造成混乱、错误、延迟和更多的工作量。一家供应商指出,支持两种格式意味着他的公司必须向工程师分配不同工作,以保证他的工具能支持两种格式。这种要求减少了工程师针对明天挑战创造新工具的时间。