没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Low Power Methodology Manual For System-on-Chip Design
第一部分:前言功耗问题的起源
芯片功耗的问题最近几年得到了越来越多的重视,主要来源于以下几个方面:
、 以下,随着设计流程的发展,芯片的集成度达到了上千万门级。一
颗最顶级的芯片总功耗可以达到惊人的 (可以煮鸡蛋了),单位面
积功耗可以达到 ,而局部热点的功耗更大。这就产生了芯片封
装成本、电源成本和可靠性问题,估计还要有大得像砖头一样的散热片。 、
对于需要电池供电便携式设备和无源芯片类(非接触电子标签)来说,功耗则
意味着电池寿命和工作距离。
功耗的组成: 功耗分为动态功耗和静态功耗两大部分。
动态功耗是电路在工作时(翻转时)所消耗的能量。对于 电路来说,
它又分为开关功耗和短路功耗。开关功耗为电路翻转时对负载电容充电的功耗,
短路功耗为输入翻转时, 和 同时打开的瞬间电流形成的功耗。用
公式描述可写为: !
"#$% 其中, 为电路总负载电容; 为工作电压; 为工作电
路所占比例; 为工作时钟频率; 为 , 同时导通时间;
"#$% 为短路电流。 公式中前半部分为开头功耗,后半部分为短路功耗。一般
来说,只要 &$ 输入斜率足够小,也就是 足够短,短路功耗一般可以忽
略。 从公式中可以看到降低动态功耗的思路,无非是从 、、 和降低
&$ 翻转次数的方向出发。由此会带来一系列架构设计上、设计流程上、时序
分析上、电路设计上、后端布局上的考虑,以及由于工艺的发展带来的一系列
问题。在后续章节中会详细讨论这些内容。
再来说说静态功耗。静态功耗是电路在没有翻转时,只有供电的情况下,晶体
管中漏电流造成的功耗。根据重要性可以分为以下四个部分: 、 亚域值漏电
流 "'()*从 +, 经过弱反形层流向 -($ 的电流 、 栅电流:"&$* 由
于隧道效应和热载流子效应,由 .$ 经薄栅氧流向 () 的电流 /、 由 .$
引起的 +, 电流 "."+:由于 +, 端的强电场引起的由 +, 流向 () 的
电流 0、 结反偏电流 "$1:反偏结耗尽区少子漂移和电子空穴对产生形成的由
+,、-($ 到 () 的电流。 其余电流还好理解,就是 "."+ 没搞清楚是
怎么来的。查了一些资料,看起来应该是这样形成的,是由于工艺尺寸降到
以下后,在 +, 端会形成超强的反偏电场,而在 .$ 和 +, 的
-1$2# 区域,() 的参杂浓度偏大(为了防止 #(33-(&3),在这里会
容易发生 ))($2,& 或者 123$,因此会形成较大的 +,
到 () 的漏电流。 深亚微米下, 降低,为了提高性能会同时降低管子
,而 "'() 和 是指数反比关系,会造成 "'() 急剧增大。0 下 "'() 会
是 下 "'() 的 45 倍。同时 "'() 也会随温度上升指数增加。 工
艺下,栅氧厚度只有几个 (几个原子的厚度),栅氧的隧穿电流 "&$ 在
下可以达到 "'() 的 /,在 4 下可以等于 "'() 电流。
降低静态功耗的方法: 有几种方法可以降低静态功耗,其中 (2, 和
#-6$&,& 的方法后面会详细介绍。其它还有 7、%89$ 和
-&3$2 器件的方法。
7(,)2$73$'3-2)是在 :; 上加上一个反偏电压,
从而提高管子的 7,以减小 "'()。这样会额外增加两条 #-6$,2',增加
了建库的难度,而且在小尺寸下,这种作法的作用也不明显了。
%89$ 就是采用叠加的 &$,如果叠加的 &$ 中有两个输入都是关
闭状态,则流过两个 &$ 的静态电流会很小。在理论上,应该在关闭时钟前
将所有 &$ 输入置为关闭状态,但在现实中,这是不可实现的。
长沟道器件:长沟道器件可以有效降低静态电流,但同样会影响动态响应,
降低电路性能。同时长沟通也会增加栅电容,对动态功耗不利。因此可以考虑
在开头次数较小或者对性能要求不高的地方采用长沟器件。 第一部份大概就这
内容了。下一部分是一些标准的低功耗措施了,包括 2-%&,&<&$
2$1$2#-6$-#,,=,-<(2,++<(2, 等
第二部分:几种常用低功耗技术
这一部分书中介绍了四种低功耗技术,2-%&,&<&$2$1$2#-6$
-#,,=,-<(2,++<(2,。大概都是些比较常用的技术,而且很多
都已经是工具很好的支持了。书中一带而过,没有深入讲。我根据书上内容说
说自己的理解。 1、 clock gating门控时钟的基本思想是在寄存器不工作时
(使能信号无效时),把 2-% 关掉,从而 2-%$$ 上的 )(9$ 及
$&,'$ 都不会再有动态功耗。现在单元库中会有专门提供用于 &$2-% 的
$22,这种 $22 可以检查 '$(#3-2 的 1,-2,-,工具可以保证时钟上不会
出现 &2,3。如果库中没有这样的单元,也可以手动的在 >7 中插入门控电路,
或者在 + 中用命令自动插入门控电路,或者是二者混合应用。一般会有两种
门控电路,一种是基于 23+一个逻辑门-&$ ,一种是就用一个逻
辑门。如果电路中全部采用的同相时钟,最好使用第一种电路,可以用 23
保证逻辑门的输出不会出现 &2,3(当然也要用 7? 分析相应的时序)。如果
采用双相时钟,用第二种电路也可,同样需要用 7? 报告 '$(#3-2
1,-2,-。 插入门控时钟可以极大降低电路动态功耗,书上例子说可以节省
@以上动态功耗。同时还有一个附加好处是可以显著减小电路 $。因为
如果一组寄存器的 8 电路被一个 2-%$)2$ 电路取代,会减小相应的面积。
同时如果这个 2-%$$ 上还需要串入 $2$22 的话,也由于 &$$22 引
入的 $2 而减少 $2$22 的数量。书中的例子说完成 2-%&,& 后,
电路面积减小 @左右。(记得一次面试还被问过这方面内容,可惜当时理解
还不深,没回答好,呵呵) + 中自动插入门控单元的命令为:
'$A2-%A&,&A'2$'$B($,223#-',,1$A$&$A2-&,CD
$&,1$A$&$A2-&,C-D'$(#53-25,,(A),6,3/
在 -#,2$ 前执行 ,'$A2-%A&,&-(2$A2$1$2'$B($,223
指定 + 用基于 23 的门控电路类型。
#-',,1$A$&$A2-&, 指定时钟 ,',&$&$ 触发的寄存器所用的门控单
元。$&,1$A$&$A2-&, 指定时钟 E22,&$&$ 触发的寄存器所用的门控
单元。'$(#3-2 指定 '$(#3-2约束。,,(A),6,3 指定一组
最少多少个寄存器共用一个门控单元,缺省值是 /。据分析至少是 / 个寄存器
共用一个门控单元才能达到节省功耗及面积的目的。 -(2$A2$1$2 选项可以
指定 + 自动替换在 >7 中手动插入的门控单元为 + 认为安全的门控单元。
2、门级功率优化 这一级优化是由工具自动完成的,对设计者和后端工程师
都是透明的,设计者可以不用关心具体细节。其基本思想包括:把翻转频率高
的 $ 在 #3 早期和翻转频率低的 $ 运算,高翻转率 $ 的传播路径;高
翻转率 $ 接到低输入电容的门输入端,低翻转率 $ 接到高输入电容的门输
入端等。
3、Multi Vdd其基本思想就是 中,不同模块根据其性能要求不同
采用不同电源供电。书里的例子,3$>? 需要工作在最高时钟,因此分
配的电压值最高,为 5;: 的电压值次之,保证整个系统的性能还是取
决于高速 >? 的速度;其余部分的电路工作在最低频,因此电压最低为
5。 这样做会得到最好低功耗效果,但也会较大影响设计流程。设计需要在
模块间额外增加 #-6$,2' 和 2$1$2'3,E$'。而且我想工艺库中也应相应提
供各种电压下单元的 $2 信息。各个模块接口之间的时序可能也要严格保证。
书中以后可能会有详细这方面的详细内容。
4、Multi-VT降低 7 也是把双刃剑。由于深亚微米下,工作电压降低,
降低 7 是势在必行。降低 7 可以提高动态电流也就是可以提高电路工作速度,
但 7 是和静态漏电成指数反比关系。书中给出了漏电流和延时的关系图。基
于这个原理,在设计中我们就可以对于性能要求高的电路,采用 2-6 的管子;
对于性能要求不高,频率低的电路可以用高 7 的管子。书中说现在工具可以
利用库中给出的不同域值的单元自动优化 ,,& 和 #-6$。我至少目前还没
有做过这样的项目,没有这方面的体验。 书中提到了双 7 设计流程。如果项
目的目标是追求最高性能,则第一遍实现时用 2-67 单元库。然后再用 3,&3
7 单元库进行优化,把非关键路径中的 $22 替换为 3,&37 的 $22,从而实
现在满足性能的同时,功耗最低。反之则顺序相反。听起来到是个好办法,有
没有人做过这样的流程?有什么体会不?工具怎么样支持这种设计流程? 最后
书里给出了一个这几中常用技术的低功耗效果和对传统流程影响的表格。 这一
部分并没有深入展开讲,可能是作者认为已经是很常见的技术了。从下一部分
开始就要进入比较新颖、复杂的低功耗技术-#-6$&,& 和 #,1$
1-2&$'2,&
第三部分:多电压设计(Multi-Voltage Design)
既然从前面的公式可知,动态功耗和电压平方成正比,静态功耗也正比于
电压,则降低功耗就首先从降低电压上做文章了。 一言以蔽之,低电压策略的
原
则就是在功能、性能允许的情况下尽量降低工作电压。其中,最基本的形式就
是
芯片划分为不同电压域(-6$+-,),高性能的部分在高电压域,低性
能要求的部分就分配在低电压域。举例来说,一个 芯片中,: 应该工
作在尽可能高的时钟,则它的电压应该是最高电压;而外设中的 :; 模块,有
协议定义的固定速率,则只要分配给能满足要求的工作电压即可;一些平时不
工作的模块甚至可以将电压关断(-6$.,&),也就可使功耗趋于 。
这样一个芯片中,就会划分为各种不同的电压域。 根据低电压策略应用的复杂
性,这种技术可分为以下四种:
* 静态电压缩放,-2&$2,&< :芯片中,不同模块具有一个
固定的电源电压。
* 多级电压缩放((2,2$1$2-2&$2,&<):芯片中各个部分的
电源电压可以根据运行时状态在两级或多级电源电压间切换。
* 动态电压频率缩放(+,-2&$$B($
2,&<+):相对于 ,+ 会有更多的电压级数用于模块的切换。
也即比 的电压调整粒度更细。
* 自适应电压缩放(?#,1$-2&$2,&,?):顾名思义,这是
一种带有控制环路的自动实时调整各模块工作电压的方式。
书中这一部分就以上多电压技术的一些共性的问题做了一定的分析, 技术
可以说多电压技术的一个代表,就从这一个角度出发先介绍一些基本概念。后
续的章节会对每种技术的具体问题具体分析。 由多级电压技术带来的设计上的
挑战包括: *各级电压域之间信号的传递需要增加电平移位器$1$23,E$
*由于芯片各个模块会工作在多种电压下,因此在各种电压下的时序都要满足。
增加了 7? 分析复杂度。 *电源网格-6$&,' 的布局规划、模块接口单
元的电源布线等需要仔细考虑。 *板级上需要更多电压 $&(2- 来提供各种
不同电压,增加板级设计复杂度。 *由于电压不同,各个模块的上电下电顺
序也需要仔细设计以避免电路出现死锁。
下面分别就这些挑战展开分析: 由 2$1$2'3,E$ 引入的问题:
、 为什么需要 2$1$2'3,E$F
、 $1$2'3,E$ 的对芯片 #-6$-, 划分的影响。
/、 什么时候需要插入 2$1$2'3,E$F
0、 插入 2$1$2'3,E$ 对传统 7? 带来的影响?
、 $1$2'3,E$ 对传统 > 带来的影响
、由于一个芯片中各个模块之间工作电压会有差异,信号的传递就会有
从高电压传区域传到低电压的情况(3,&3-2-6)或者由低电压向高电压区域
传递的情况2-6-3,&3 。理论上,由 3,&3-2-6 传递时,,1$ 输出可以
直接连接到输入 &$ 上,不用插入特别的接口单元。但是如果这样设计,目
标电压域中的所有单元都将重新针对输入高压情况下建库,对 ,,& 进行建模,
工作量会很大。而如果插入特殊设计的 3,&3-2-6 单元,则可只对其进行
,,& 建模,隔离了内部单元为一个单独的电压域。这样有利于建库和 7?
分析。反之,
2-6-3,&3 时除了有以上问题,还会有功耗问题。低电压的 ,1$ 直接驱动
高电压 &$,如压差较大,则会造成负载单元 管不能完全关断,造成较大漏
电流。因此,不同电压域之间的 2$1$2'3,E$ 是必要的。
、2$1$2'3,E$ 的设计是一个模拟电路问题。它只能是单向的,也就是只能
是 3,&3-2-6 或者是 2-6-3,&3。双向的 2$1$2'3,E$ 的设计需要用到特
殊的器件,不易实现。由于 2$1$2'3,E$ 只能是单向的,要求系统在划分不同
电压域时,相临电压域之间的关系必须的确定的。也就是一个电压域在工作时
电压值只能是永远高于相临域或者永远低于相临域。而不能是一段时间高,一
段时间低。
/、 中分析过,3,&3-2-6 时,接口上会造成 ,,& 分析上的误差,电压
差大到一定值时,这个误差会造成时序上的 $-,此时需要有准确 ,,& 模
型的 2$1$2'3,E$ 的插入以用于 7? 分析。具体多大的压差需要插入 2$1$2
'3,E$,则根据库和设计的约束决定。2-6-3,&3 时<除了以上 ,,& 问题,
还会有不能完全关断负载的问题。工程上,一般取电压差在 7 基础上留
一个 @++G 余量,即 ++G++H7I5++G 时,就需
要插入 2-6-3,&32$1$2'3,E$。
0、对 7? 带来的影响:一方面,插入的 2$1$2'3,E$ 会带来极大的延迟,在
设计 ,,2#3 和 7 综合时要充分考虑到 2$1$2'3,E$ 带来的影响。另
一方面,各个模块的电压域值不同,而且在工作中会动态变化,而不同的电压
值会带来不同的 ,,& 值。那么我们在综合、7?、> 时选用哪一个电压模
式呢?书中的做法时,同时对所有可能的电压情况进行约束,用于综合、
7?、> 中。在一个电路实现中应该同时满足各种电压模式下的时序要求。
(看起来好像是工具可以支持同时对各种工作电压进行描述了,现在的 + 可
以同时设定各种不同电压的 -#$,&-,,-' 么?还没在实际中这么用
过…)。
、2$1$2'3,E$ 对于 > 的影响主要包括其 #2$$ 和电源的 -(,&。
由于 2$1$2'3,E$ 的插入不会影响功能,理论上可以由工具自动完成。用户可
以指定工具将 2$1$2'3,E$ 放在驱动端的 #-6$-,、中间的 #-6$
-, 或者负载端的 #-6$-, 中。书中的建议是一律放在负载端的
#-6$-,,因为 2$1$2'3,E$ 的输出负载相对输入会更大。如果两个相
关 #-6$-, 距离较远,中间还间隔另一个 #-6$-, 时,有可能
还需要在中间插入一个驱动端的 ,1$。这种情况和 2-6-3,&3'3,E$ 情况
还会有对 #-6$ 进行布线的情况出现。书中介绍对电源线当信号线进行走线很
复杂,但没具体介绍原因。 为了便于理解,这里放入书中两个典型的 2$1$2
'3,E$ 电路结构: 图 图 对系统设计
的影响主要包括两个方面: 、上电过程 由于各个模块由各自电压源驱动,各
模块间有一个上电顺序的问题以保证电路正常功能。一般来说 : 会等待周边
模块完全上电完成后再启动。整个上电过程包括上电、振荡器()稳定、
$'$ 信号完成。一些复杂情况下,上电完成后还需要一些握手协议表示上电
完成。 、上电过冲 由于模块电压在工作中还会动态变化,要对电压上升下降
的时间进行控制,避免出现 -1$'3-- 和 ($'3--。否则过高或过低的异
常电压值可能会造成电路自锁甚至损坏。这个过程可以用控制信号控制电压的
启动、上升过程。 最后由于电压控制一般都是由 : 控制,因此电压控制软
件需要集成在系统软件中运行。 这一部分内容只是从概念上介绍了 一些
基本问题,一些更具体的问题还会在后续内容中有介绍,下一部分介绍 #-6$
&,& 的相关内容。
第四部分 门控电源技术(Power gating) 降低功耗最直观的思想就
是在不需要电路工作时把它的电源关掉,这样什么动态功耗、静态功耗就全没
有 了。在需要电路工作时,再把电源打开,这就是门控电源。思想简单,实现
起来可有许多复杂的情况要考虑。
这一部分主要是介绍了一些门控电源的基本概念和提出一些要解决的问题。
和前面讲的门控时钟等低功耗技术可以对设计者透明不同,门控电源技术则需
要系统设计者根据实际情况 在各种因素间加以权衡。 先来介绍两个术语:
睡眠(2$$#):使系统进入低功耗模式(在这里就是关断模式) 唤醒
(%$):使系统回到工作模式 再来看一下实际 #-6$&,& 工作时
的功耗状态图
剩余33页未读,继续阅读
资源评论
- zll05142022-03-21质量一般般
pkwdpkwd
- 粉丝: 4
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功