关于集成电路功耗的研究
随着技术的进步,数字集成电路以指数幂的级数飞速发展,集成电路系统的复杂度、集成度随之进一步提高,尤其是便携及移动设备的广泛应用,功耗已经成为集成电路日趋重要的问题。
功耗分析、优化及低功耗系统设计在集成电路的设计、工艺制造等层次发挥重要作用。
一直以来,在设计超大规模集成电路时,人们对芯片的性能、成本和可靠性往往更加关注,对于电路的功耗却不大在意,最典型的产品就是Intel的P4处理器。
以往的集成电路设计过程中,集成电路集成度不高,功耗还没有不是突出问题。
随着集成电路集成度的提高,尤其是互补金属氧化物半导体电路发展到深亚微米工艺和纳米工艺之后,功耗加剧增加(尤其是静态功耗,它已成为能与动态功耗相较的电路功耗的重要组成部分),导致封装、散热、信号完整性分析等一系列问题的出现。
随着CMOS工艺水平的提高,使得MOS器件的沟道长度相应变小,这就要求芯片设计时采用更低的电源电压。
芯片集成度和工作时钟频率的提高,直接导致芯片功耗的增加。
功耗增加使芯片面临着高温工作的危险,降低芯片乃至系统的工作稳定性。
为了提高工作稳定性,需要采用更加复杂的芯片封装技术和冷却技术,从而增加了整个系统的成本。
所以在目前技术条件下,功耗问题已经是当前电路设计中需要着重考虑的地方。
首先,我们需要对集成电路的功耗来源和组成进行分析。
而对功耗的分析,都是从功耗来源入手,这主要是建立在CMOS电路基础上。
根据工作状态的不同,CMOS电路的功耗可分为两大部分:动态功耗(包括开关功耗、短路功耗)、静态功耗(也称漏电功耗)。
因此,CMOS电路的功耗为开关功耗、短路功耗和漏电功耗三者之和,亦即P total=P switch+P short+P leak。
开关功(P switch):也称为跳变功耗,指电路在开关过程中对每个门的输出端形成的负载电容充放电所消耗的功耗。
计算公式为:P switch=ACf ck V dd2,其中,A表示跳变因子系数,C表示节点的负载电容,f ck表示时钟频率,V dd表示电源供电电压。
可以看出开关功耗P switch与电路的跳变因子、负载电容、时钟频率、供电电压的平方成正比关系,因此减少开关功耗可从减小跳变因子、降低器件工作电压、降低器件负载电容、降低工作频率等几个方面入手。
图1 开关功耗
短路功耗(P short):也称为直通功耗,由于输入电压波形并不是理想的阶跃输入信号,而是以正弦波的形式。
输入波形在上升与下降转换的短暂时间过程中,某个电压输入范围内,NMOS和PMOS都导通,这时就会出现电源到地的直流导通电流,即引起开关过程中的短路功耗。
计算公式为:
P short=τA short V dd=τAβ(V dd-V th)3,其中,I short表示短路电流,τ表示电平信号从开始上升或开始下降,直到稳定所需时间,β是工艺参数,V dd表示供电的电源电压,V th表示器件阈值电压,因此减少开关功耗可从降低器件阈值电压、改善电路工艺等方面入手。
图2 短路功耗
静态功耗:对于常规CMOS电路,在稳态时不存在直流导通电流,理想情况下静态功耗为零,但是由于各种泄漏电流的存在,使得电路的静态功耗并不为零。
CMOS泄漏电流主要包括:寄生反向PN结电流和MOS 管的亚阈值漏电流。
对于深亚微米MOS 器件,还存在很多二级效应引起的额外电流。
亚阈值漏电流引起的静态功耗计算公式为:P leak=I leak V dd=V dd e-qVth/nkT
图3 漏电功耗
其中,I leak表示漏电电流,q 为单位电荷,k是普朗克常量,T表示绝对温度,V th是器件的阈值电压。
根据公式表达得出亚阈值漏电流会随着阈值电压的降低而呈指数级迅速增大,这一现象在深亚微米工艺以下更为明显.
在90nm工艺下,静态功耗在总功耗中已经占据很大的比重(甚至在某些情况下会达到50%)。
在65nm工艺下,静态功耗将达到和动态功耗一样的比重。
所以不难推测,随着制程工艺进一步提高,静态功耗甚至会在功耗上占主要位置。
目前,国外的很多企业已经进入22nm工业化量产工艺节点。
因此静态功耗已经成为集成电路设计不可回避的问题,鉴于集成电路静态功耗问题的严重性,低功耗设计迫在眉睫。
由于亚阈值漏电流是静态功耗产生的最主要原因,所以这里我们主要关心亚阈值漏电流造成的静态功耗。
降低功耗的方法可以从很多方面入手,比如改进工艺技术(如intel的high K 技术),或者改进电路设计技术。
这里,我们主要从改进电路设计入手,改进的方法主要有以下两种。
一.采用多阈值电压技术。
多阈值电压技术就是对不同CMOS电路采用高、低阈值电压以达到降低漏电流功耗的目标。
(1)多阈值CMOS(MTCMOS)。
CMOS电路如果阈值低,那么漏电流就会较大,此时可以采用高阈值CMOS管来控制低阈值CMOS电路的漏电流。
在动态工作模式下,控制信号被置于低电平,高阈值受控晶体管导通。
在静态下,控制信号被置于高电平,高阈值受控晶体管关断,产生小的漏电流。
MTCMOS可以方便地植入到现有的电路中,但也有一定的缺陷。
这个办法增加大量高阈值CMOS管,这样会增加芯片面积和延时;同时要加入判断电路的硬
件,这些硬件会在电路工作时一直产生功耗;另外,如果要在静态待机时保存数据,那么就需要增加存储电路。
目前双阈值电压的办法得到了广泛的应用,就是在关键的通路采用低阈值CMOS管,在辅助通路采用高阈值CMOS管,以达到功耗和性能的平衡。
(2)可变阈值CMOS(VTCMOS)。
就是通过改变衬底偏置电压来控制体效应,从而改变阈值电压。
在电路休眠时,在衬底加一负偏置电压来升高阈值电压,从而切断漏电流。
而在电路活动时,如果在衬底加上一个较低的正偏置电压,还可以提高电路速度。
(3)动态阈值CMOS(DTCMOS)。
这是一种在理想工作频率下通过调整动态工作模式的漏电流来达到降低功耗目的的技术。
调整对应系统工作负荷的背栅偏置电压,工作频率可动态地调整。
当工作负荷降低,阈值电压就上升,消耗的功率就会变小。
二.采用晶体管堆栈技术
几个晶体管相连,如果有一个或以上处在关闭状态,那么产生的漏电流会比单个晶体管大大减小,这被称为堆栈(stacking)效应。
原因是当一个晶体管被关闭后,那么与它连接的晶体管的栅极和源极之间会产生很小的反向偏压,这样会导致亚阈值漏电流的降低。
同时又由于存在体效应作用,阈值电压也会升高。
以下是主要的几种实现办法:
(1)输入向量激活法。
用时钟门控信号用来做休眠模式的控制信号。
当电路进入待机状态时,电路会产生预先设定的输入向量,使得尽可能多的晶体管处于堆栈状态。
这个办法的缺点是,当电路需要再次激活时就要恢复数据,因此需要存储电路来存储原来的状态,这要增加芯片面积。
而且如果电路待机时间不够长,可能导致状态切换的功耗比不使用该技术的还要大。
(2)堆栈晶体管插入技术。
其实是MTCMOS 和堆栈效应的混合技术。
根据输入向量激活法,预先设置输入向量,使得电路大部分区域的晶体管处于堆栈状态,然后其他处于高漏电流状态的电路,采用多阈值CMOS 技术,插入一个
高阈值的CMOS。
这种技术既拥有两方的优势,但同时两方的缺点也并存。
(3)强制堆栈技术。
就是把一个晶体管强制转换成两个具有相同输入负载的堆栈晶体管。
这样,当电路需要关闭时,就有两个晶体管关闭,相比一个晶体管的情况,漏电流要减小很多。
这种技术很简单,设计上也节省时间。
但是同样的,仍然需要预先确定输入向量。
而且引入的强制堆栈的晶体管也有负载需求,这样会降低门电路的驱动电流。
当然,减小集成电路的功耗,还可以从其他方面进行改进,比如对不同设计层次的功耗进行优化。
比如工艺级功耗优化,这种优化主要有按比例缩小技术优化和封装技术优化;电路级功耗优化,主要对CMOS动态逻辑和异步电路入手;版图级低功耗优化,则是同时优化器件和互连;门级的低功耗优化,主要有单元映射,路径平衡,公因子提取,时序调整,门尺寸优化,管脚置换等技术。
随着工艺水平提高,阈值电压的降低促使漏电功耗呈指数级增长。
静态漏电功耗所占的比例正在扩大,从130纳米开始逐渐明显,到45纳米时已经超过动态功耗,成为电路总功耗的主要来源,因此对降低静态功耗方面的研究已成为当前低功耗领域的热点。