论文部分内容阅读
[摘 要] 本文首先分析了CMOS电路功耗的来源,基于这个理论基础介绍了三种RTL(寄存器传输)级的低功耗设计方法
[关键词] RTL 低功耗
一、引言
在半导体工艺水平不断进步的同时,以电池供电的手持设备和膝上电脑也迅速普及,系统的功耗有时已经成为系统设计首要考虑的因素,因此,低功耗设计成为发展移动系统必然要解决的问题。集成电路的低功耗设计分为系统级、RTL(寄存器传输)级、门级、电路级四个层次,而在这其中,寄存器传输级的低功耗设计对优化整个系统功耗的贡献达到20%-50%,这是非常巨大的比例。因而,在寄存器传输级进行低功耗设计是非常值得,也是很有必要的。
二、集成电路中功耗的来源
目前,CMOS工艺在集成电路特别是数字IC中应用得很普遍。由于CMOS电路在输入稳定的时候总有一个管子截止,所以它的静态功耗在理想情况下应该是零,但这并不代表静态功耗真的为零,实际上CMOS电路的静态功耗就是指电路中的漏电流(这里不考虑亚阈值电流)。CMOS电路功耗的主要来源是动态功耗,它由两部分组成:开关电流和短路电流。所以,整个CMOS电路的功耗为:P=PTurn+Pleakage+Pshort,其中,PTurn是开关电流ITurn产生的动态功耗;Pshort是动态情况下P管和N管同时导通时的短路电流Ishort产生的动态功耗;而Pleakage是由扩散区和衬底之间的反向偏置漏电流Ileakage产生的静态功耗。在这三项中PTurn大约占电路功耗的80%,因而这里就只考虑开关电流ITurn所产生的动态功耗PTurn。ITurn是这样产生的:在CMOS电路,当输入为“0”时,PMOS导通,电源通过PMOS向负载电容充电;而当电路输入为“1”时,负载电容又会通过NMOS向地放电。ITurn就是不断对负载电容充放电所产生的开关电流。一个CMOS反相器由开关电流引起的平均动态功耗是:PTurn=CLVDD2f其中,CL是负载电容,VDD是电路的电压,f是时钟频率。所以,要想降低电路的功耗就应该降低电路的电压和频率。
三、寄存器传输级的低功耗设计
寄存器传输级的低功耗设计方法有很多种,本文只列举三种最为常用的设计方法:门时钟、操作数隔离及存储器分区访问。
1.门控时钟
从上面的讨论知道,CMOS电路的功耗是和频率有着密切关系的,因此动态的关闭处于空闲状态的时钟具有明显的节电效果系统的时钟直接接到D触发器的时钟输入端,不管什么情况,只要输入的Clock翻转,触发器就会工作,整个系统也一直不断的运行。而图2b是增加了门控时钟的设计:当系统正常工作时,译码出来的En信号为高,则触发器可以正常锁存数据;当系统处于空闲状态时,把En信号清零,这样,由于给触发器的Clock一直保持零,不会发生翻转,所以触发器不会锁存新的数据,整个系统被挂起,系统将进入低功耗模式。在电路中加入门控时钟很容易,可以用Verilog直接在描述中加入,也可以通过Synopsys的工具PowerCompile自动加入。通过加入门控时钟,系统可以有选择的停止不相关模块的时钟,以最大程度的节省动态功耗。
2.操作数隔离
这种方法主要是对系统中的算术、逻辑运算模块进行低功耗设计,其主要思想就是:在不进行算术、逻辑运算的时候,使这些模块的输入保持“0”,不让操作数进来,输出结果不会翻转;而如果进行这方面的运算时,再将它们打开。这种方法在很多人看来是理所当然的,认为就应该是这样设计。然而在实际中,设计者一方面关心模块的功能,另一方面迫于设计时间的压力,所以很多设计中的细节没有考虑。当对系统里所有的算术、逻辑运算单元都用上这种方法必然会对系统的动态功耗有很大的优化,在芯片面积方面。
3.存储器分块访问
一个系统里少不了存储器,存储器的功耗在整个系统里所占的比例不可忽视。因而降低存储器的功耗,对于整个芯片系统的功耗优化很有帮助。这里提出一种叫做存储器分块访问的方法来降低存储器的功耗。主要思想是:将系统所需要一定容量的存储器分成两块,然后用高位地址线进行片选译码。
功耗和面积永远是相矛盾的,如果想要降低系统的功耗,必然要加上一些控制逻辑来进行功耗优化,而这部分逻辑会增加芯片的面积,所以在功耗和面积之间就要有个折衷。上面的三种寄存器传输级的低功耗设计,不会增加很多逻辑,因而对芯片面积的影响不大。而经过了这三种低功耗设计,使整个系统动态功耗的改善很明显。
参 考 文 献
1.陈春章等,“数字集成电路物理设计”,科学出版社■
[关键词] RTL 低功耗
一、引言
在半导体工艺水平不断进步的同时,以电池供电的手持设备和膝上电脑也迅速普及,系统的功耗有时已经成为系统设计首要考虑的因素,因此,低功耗设计成为发展移动系统必然要解决的问题。集成电路的低功耗设计分为系统级、RTL(寄存器传输)级、门级、电路级四个层次,而在这其中,寄存器传输级的低功耗设计对优化整个系统功耗的贡献达到20%-50%,这是非常巨大的比例。因而,在寄存器传输级进行低功耗设计是非常值得,也是很有必要的。
二、集成电路中功耗的来源
目前,CMOS工艺在集成电路特别是数字IC中应用得很普遍。由于CMOS电路在输入稳定的时候总有一个管子截止,所以它的静态功耗在理想情况下应该是零,但这并不代表静态功耗真的为零,实际上CMOS电路的静态功耗就是指电路中的漏电流(这里不考虑亚阈值电流)。CMOS电路功耗的主要来源是动态功耗,它由两部分组成:开关电流和短路电流。所以,整个CMOS电路的功耗为:P=PTurn+Pleakage+Pshort,其中,PTurn是开关电流ITurn产生的动态功耗;Pshort是动态情况下P管和N管同时导通时的短路电流Ishort产生的动态功耗;而Pleakage是由扩散区和衬底之间的反向偏置漏电流Ileakage产生的静态功耗。在这三项中PTurn大约占电路功耗的80%,因而这里就只考虑开关电流ITurn所产生的动态功耗PTurn。ITurn是这样产生的:在CMOS电路,当输入为“0”时,PMOS导通,电源通过PMOS向负载电容充电;而当电路输入为“1”时,负载电容又会通过NMOS向地放电。ITurn就是不断对负载电容充放电所产生的开关电流。一个CMOS反相器由开关电流引起的平均动态功耗是:PTurn=CLVDD2f其中,CL是负载电容,VDD是电路的电压,f是时钟频率。所以,要想降低电路的功耗就应该降低电路的电压和频率。
三、寄存器传输级的低功耗设计
寄存器传输级的低功耗设计方法有很多种,本文只列举三种最为常用的设计方法:门时钟、操作数隔离及存储器分区访问。
1.门控时钟
从上面的讨论知道,CMOS电路的功耗是和频率有着密切关系的,因此动态的关闭处于空闲状态的时钟具有明显的节电效果系统的时钟直接接到D触发器的时钟输入端,不管什么情况,只要输入的Clock翻转,触发器就会工作,整个系统也一直不断的运行。而图2b是增加了门控时钟的设计:当系统正常工作时,译码出来的En信号为高,则触发器可以正常锁存数据;当系统处于空闲状态时,把En信号清零,这样,由于给触发器的Clock一直保持零,不会发生翻转,所以触发器不会锁存新的数据,整个系统被挂起,系统将进入低功耗模式。在电路中加入门控时钟很容易,可以用Verilog直接在描述中加入,也可以通过Synopsys的工具PowerCompile自动加入。通过加入门控时钟,系统可以有选择的停止不相关模块的时钟,以最大程度的节省动态功耗。
2.操作数隔离
这种方法主要是对系统中的算术、逻辑运算模块进行低功耗设计,其主要思想就是:在不进行算术、逻辑运算的时候,使这些模块的输入保持“0”,不让操作数进来,输出结果不会翻转;而如果进行这方面的运算时,再将它们打开。这种方法在很多人看来是理所当然的,认为就应该是这样设计。然而在实际中,设计者一方面关心模块的功能,另一方面迫于设计时间的压力,所以很多设计中的细节没有考虑。当对系统里所有的算术、逻辑运算单元都用上这种方法必然会对系统的动态功耗有很大的优化,在芯片面积方面。
3.存储器分块访问
一个系统里少不了存储器,存储器的功耗在整个系统里所占的比例不可忽视。因而降低存储器的功耗,对于整个芯片系统的功耗优化很有帮助。这里提出一种叫做存储器分块访问的方法来降低存储器的功耗。主要思想是:将系统所需要一定容量的存储器分成两块,然后用高位地址线进行片选译码。
功耗和面积永远是相矛盾的,如果想要降低系统的功耗,必然要加上一些控制逻辑来进行功耗优化,而这部分逻辑会增加芯片的面积,所以在功耗和面积之间就要有个折衷。上面的三种寄存器传输级的低功耗设计,不会增加很多逻辑,因而对芯片面积的影响不大。而经过了这三种低功耗设计,使整个系统动态功耗的改善很明显。
参 考 文 献
1.陈春章等,“数字集成电路物理设计”,科学出版社■