第1章 低功耗系统设计的一般原则
1.1 集成电路的功耗
1.1.1 CMOS倒相器的传输特性
集成电路的功耗包含有动态功耗(Dynamic Power)和静态功耗(Static Power)两大部分。
动态功耗是电路处于活动期间所消耗的功耗,在电路的工作状态发生变化时产生,主要包括:由于逻辑跳变引起的电容功耗、由于通路延时引起的竞争冒险功耗、由于电路瞬间导通引起的短路功耗。动态功耗是电路功耗的主要组成部分。
静态功耗是指当电路处于电源供电状态而没有信号翻转时所消耗的功率。在CMOS电路中,静态功耗主要是由漏电流引起的。当电路工艺进入深亚微米和纳米阶段后,漏电流带来的静态功耗也成为集成电路功耗的主要组成部分。
在进行集成电路延迟时间和功耗的分析时常采用CMOS倒相器。CMOS倒相器电路结构和传输特性曲线如图1.1所示。从图1.1(b)中的AB段和CD段可见,当电路处在静态时,如果忽略器件的漏电流,CMOS反相器的功耗几乎为零。当电路发生状态翻转时(BC段),N管和P管具有一段同时导通的时间,此时,存在一个从电源通过两个管子流向地的电流iD。iD的存在表示器件在BC段存在着功率消耗。这个功率消耗在时钟频率较高时尤为突出,时钟速度越高,意味着每秒状态的切换次数越多,也就意味着存在更多的功率消耗。除此之外,器件还存在一个有漏电流产生的静态功耗。
图1.1 CMOS倒相器的电路结构和传输特性
1.1.2 开关功耗
开关功耗(Switching Power)是动态功耗中最主要组成部分,是电路驱动负载充放电所需的功耗。开关功耗电路模型如图1.2所示。
图1.2 开关功耗电路模型
如图1.2所示,电流经过开关管对电容充电,电源的能耗为
因为,t=T时,V0=VDD,所以有
从式(1.2)可见,当电路的输出由低电平跳到高电平时,电源VDD需要提供的电能。其中,电容上的储能为
即有的电能存储在负载电容CL中,而另一半能量被PMOS管消耗。
同理,当电路输出从高电平跳到低电平时,储存在CL中的能量在放电过程中消耗在NMOS管上。因此,每一个开关周期都需要消耗的电能。
要计算开关功耗,还必须考虑电路的开关(翻转)频率,所以有
式中,α为开关活动因子,即每个时钟周期中发生状态变化器件的个数;CL为负载电容;f为电路的工作频率;VDD为电路的电源电压值。
开关功耗是CMOS电路功耗的主要成分,从式(1.4)可以看出,通过减小负载电容、电源电压、工作频率以及节点的开关活动性,能够降低开关功耗。
电源电压对开关功耗呈二次方关系,因此在改变电路结构的情况下,降低电源电压就可以取得降低功耗的显著效果。但是当电源电压接近阈值电压时,电路的延迟会显著增加,且漏电流也会迅速增大,为了避免这种情况,一般VDD应不小于2VT。
开关功耗与负载电容成正比,可以通过减小负载电容来优化功耗。在CMOS电路中,电容主要由两部分构成:一部分是器件栅电容和节点电容,它们和器件工艺有关;另一部分是连线电容。值得注意的是,随着工艺精度走向深亚微米,布线电容已经在寄生电容中占据主要地位。为了减小电容,在工艺方面要保持器件有尽可能或合理的最小尺寸,物理设计时要减小连线长度。
在CMOS电路中,通过减少开关活动性也可以降低功耗。可以在逻辑和结构的抽象层次上来减少开关活动性,如采用门控时钟技术减小毛刺等。
1.1.3 短路功耗
在理想情况下,反相器的输入信号为阶跃信号,并且输入信号的变化会立即导致输出信号的变化。在任何时间,PMOS管与NMOS管中只有一个管子被开启,而另一个截止。在电源与地之间不会产生电流通路,也就不会产生功率损耗。
但在实际电路中,输入信号存在上升和下降延时。假设NMOS管和PMOS管的阈值电压分别为VTn和VTp,当VTn<Vin<VDD-|VTp|时,在开关过程中NMOS和PMOS会同时导通,如图1.3所示,VDD和GND之间在短期内存在短路电流Isc,产生的短路功耗为
Pshort=tscVDDIscf (1.5)
式中,tsc为两个器件同时导通的时间;f为工作频率;Isc由器件的饱和电流决定。
图1.3 短路功耗电路模型
短路功耗一般占总功耗的10%左右。由短路功耗的公式可以看出,短路功耗与器件的尺寸、上升与下降延迟τ、阈值电压VT和输出负载CL有关。
降低短路功耗最有效的方法是:使输出的上升/下降时间大于输入的上升/下降时间,就能达到优化短路功耗的目的。但输出的上升/下降时间太大会降低电路的速度,并在扇出门中引起短路电流。
1.1.4 冒险功耗
在实际的电路中,器件及传输线都存在延时,这就可能导致器件由于输入变化时刻的不同,在输出产生无法控制的、无用的跳变,如图1.4所示。这类跳变统称为竞争冒险(Glitch)。
图1.4 竞争冒险产生原理
图1.4所示电路由一个非门和与门组成,输出Y的逻辑表达式为:,即输出与输入无关,恒为低电平。但这仅存在于理想状态下。如果考虑非门的延时,则与门的两个输入信号变化到达的时间就存在差异,从而产生图1.4(b)所示的窄脉冲。
竞争冒险现象是由于电路的延时造成的,没有延时也就不会有竞争冒险。竞争冒险的产生,不仅可能导致电路正常功能失效,同时无用的跳转也将增大电路的功耗。如果毛刺的宽度达到一定程度,还将传递给后级,影响后级电路的状态。对于较长的逻辑路径,由于本身路径长容易产生传输差异,加之级数较大易受前级毛刺影响,所以产生争冒险的机会更大。
在实际电路中,竞争冒险的产生是很难预测的。根据对大量实例分析,对于普通逻辑电路,由于竞争冒险所带来的功耗约占总体动态功耗的8%~25%;对于一些复杂逻辑电路,如一个大约有30级逻辑层次的16×16位乘法器,将达到60%以上。
1.1.5 静态功耗
一个电路的静态功耗可以用下列关系来表示:
Pstanc=IlkVDD (1.6)
式中,Ilk为在电路不存在开关活动时在电源和地之间流动的电流。
在理想情况下,PMOS和NMOS器件在稳态工作状况下不会同时导通,因此Ilk为0。但在CMOS电路中,总是存在有漏电流。静态功耗主要是由漏电流引起的,漏电流的主要来源如图1.5所示,包括以下几种。
(1)亚阈值漏流(Sub-threshold Leakage,ISUB):当晶体管处于弱反型时,从漏极到源极的电流。
(2)栅漏流(Gate Leakage,IGATE):由于栅氧隧道效应和热载流子注入,直接从栅电极经过栅氧化物到达衬底的电流。
(3)栅致漏极漏流(GateInduced DrainLeakage,IGIDL):由于高的VDG在MOSFET的漏极形成高的场效应,而导致的从晶体管漏极到衬底的电流。
(4)反偏结漏流(Reverse Bias Junction Leakage,IREV):耗尽层中由于少子的漂移以及电子/空穴对的产生而引起的电流。
当电路工艺进入深亚微米和纳米阶段后,漏电流带来的静态功耗也成为集成电路的功耗组成的主要部分。
图1.5 漏电流的主要来源
减少电源电压是降低动态功耗的最有效的方法。随着半导体工艺的按比例缩小(Scale),电源电压VDD己经从5V→3.3V→2.5V→1.2V→1.0V→0.8V(低功耗器件)逐步降低。VDD的降低将导致低的晶体管开电流或者驱动电流IDS,从而降低电路的速度。如果忽略90nm以下器件中的速度饱和效应以及其他二阶效应,MOSFET的IDS可以近似为
式中,μ为载流子的迁移率;Cox为栅电容;VT为阈值电压;VGS为栅源电压。
从式(1.7)中可以看到,为了维持高性能,当降低VDD(也是VGS)时,需要降低阈值电压VT。但是,降低阈值电压VT会导致亚阈值电流的指数增长。于是就会存在这样一个矛盾:为了降低动态功耗,需要降低电源电压VDD。为了保证性能,需要同时降低阈值电压VT,但是降低阈值电压会导致漏电流增加。
在90nm以上的工艺中,漏流引起的静态功耗要远远小于动态功耗,所以在这些工艺中采用此方法比较理想。但是随着工艺节点(node)进入90nm及65nm,静态功耗会增大到与动态功耗相当的地步,需要平衡动态功耗、静态功耗及性能之间的矛盾。