寄存器传输级的低功耗设计方法
自集成电路问世以来,设计者在单个芯片上集成的晶体管的数量呈现出令人惊讶的增长速度。近30年,集成电路的发展一直遵循着“摩尔定律”:集成在芯片上的晶体管的数量每18个月就翻一番,芯片成本也相应下降。
在半导体工艺水平不断进步的同时,以电池供电的手持设备和膝上电脑也迅速普及,系统的功耗有时已经成为系统设计首要考虑的因素,因此,低功耗设计成为发展移动系统必然要解决的问题。
集成电路的低功耗设计分为系统级、寄存器传输级、门级、电路级四个层次,而在这其中,寄存器传输级的低功耗设计对优化整个系统功耗的贡献达到20%-50%,这是非常巨大的比例。因而,在寄存器传输级进行低功耗设计是非常值得,也是很有必要的。
集成电路中功耗的来源
目前,CMOS工艺在集成电路特别是数字IC中应用得很普遍。由于CMOS电路在输入稳定的时候总有一个管子截止,所以它的静态功耗在理想情况下应该是零,但这并不代表静态功耗真的为零,实际上CMOS电路的静态功耗就是指电路中的漏电流(这里不考虑亚阈值电流)。
CMOS电路功耗的主要来源是动态功耗,它由两部分组成:开关电流和短路电流。所以,整个CMOS电路的功耗为:
P=P(Turn)+P(leakage)+P(short)
其中,P(Turn)是开关电流I(Turn)产生的动态功耗;P(short)是动态情况下P管和N管同时导通时的短路电流I(short)产生的动态功耗;而P(leakage) 是由扩散区和衬底之间的反向偏置漏电流I(leakage)产生的静态功耗。如图1所示。

图1 CMOS电路功耗的主要来源是动态功耗,由开关电流和短路电流造成。
在这三项中P(Turn)大约占电路功耗的80%,因而这里就只考虑开关电流I(Turn)所产生的动态功耗P(Turn)。I(Turn)是这样产生的:在CMOS电路,当输入为“0”时,PMOS导通,电源通过PMOS向负载电容充电;而当电路输入为“1” 时,负载电容又会通过NMOS向地放电。I(Turn)就是不断对负载电容充放电所产生的开关电流。
一个CMOS反相器由开关电流引起的平均动态功耗是:P(Turn)=C(L)*VDD*VDD*f
其中,CL是负载电容,VDD是电路的电压,f是时钟频率。所以,要想降低电路的功耗就应该降低电路的电压和频率。
寄存器传输级的低功耗设计
寄存器传输级的低功耗设计方法有很多种,本文只列举三种最为常用的设计方法:门时钟、操作数隔离及存储器分区访问。
1. 门控时钟
从上面的讨论知道,CMOS电路的功耗是和频率有着密切关系的,因此动态的关闭处于空闲状态的时钟具有明显的节电效果。
图2a是传统的设计:系统的时钟直接接到D触发器的时钟输入端,不管什么情况,只要输入的Clock翻转,触发器就会工作,整个系统也一直不断的运行。而图2b是增加了门控时钟的设计:当系统正常工作时,译码出来的En信号为高,则触发器可以正常锁存数据;当系统处于空闲状态时,把En信号清零,这样,由于给触发器的Clock一直保持零,不会发生翻转,所以触发器不会锁存新的数据,整个系统被挂起,系统将进入低功耗模式。
图2a 传统的设计 图2b 增加了门控时钟的设计。
在电路中加入门控时钟很容易,可以用Verilog直接在描述中加入,也可以通过Synopsys的工具PowerCompile自动加入。通过加入门控时钟,系统可以有选择的停止不相关模块的时钟,以最大程度的节省动态功耗。
- 上一篇文章:饱和电感及其在开关电源中的应用
- 下一篇文章:一种静电驱动微机械元件的结构模型
