1、低功耗设计方法内容CMOS电路的功耗来源电路的功耗来源影响功耗的因素影响功耗的因素低功耗设计方法低功耗设计方法n工艺级的优化技术工艺级的优化技术n版图和晶体管级的优化技术版图和晶体管级的优化技术nRTL级和逻辑级的优化技术级和逻辑级的优化技术n系统级的优化技术系统级的优化技术采用采用HDL的低功耗设计流程的低功耗设计流程CMOS电路的功耗来源 在数字在数字CMOS电路中,功电路中,功耗是由三部分构成的耗是由三部分构成的PTotal=Pdynamic+Pshort+PleakagenPdynamic是电路翻转时产生的是电路翻转时产生的动态功耗动态功耗nPshort是是P管和管和N管同时导通管同时
2、导通时产生的短路功耗时产生的短路功耗nPleakage是由扩散区和衬底之是由扩散区和衬底之间的反向偏置漏电流引起的间的反向偏置漏电流引起的静态功耗静态功耗CMOS电路的功耗来源静态功耗:静态功耗:nCMOS在静态时,在静态时,P、N管只有一个导通。由于没有管只有一个导通。由于没有Vdd到到GND的直流通路,所以的直流通路,所以CMOS静态功耗应当等静态功耗应当等于零。于零。n但在实际当中,由于扩散区和衬底形成的但在实际当中,由于扩散区和衬底形成的PN结上存结上存在反向漏电流,产生电路的静态功耗。静态功耗为:在反向漏电流,产生电路的静态功耗。静态功耗为:n其中:其中:n为器件个数为器件个数CMO
3、S电路的功耗来源动态功耗:动态功耗:nCMOS电路在电路在“0”和和“1”的跳变过程中,的跳变过程中,会形成一条从会形成一条从Vdd通过通过P管网络和负载电容管网络和负载电容到地的电流到地的电流Id对负载电容进行充电,产生动对负载电容进行充电,产生动态功耗态功耗Pdynamic:Pdynamic=KCLVdd2f K:单位时间内的平均上跳次数单位时间内的平均上跳次数 f:时钟频率时钟频率CMOS电路的功耗来源短路功耗:短路功耗:nCMOS电路在电路在“0”和和“1”的转换过程中,的转换过程中,P、N管会同时导通,产生一个由管会同时导通,产生一个由Vdd到到VSS窄脉冲电流,由此引起功耗窄脉冲电
4、流,由此引起功耗n在输入波形为非理想波形时,反相器处于输在输入波形为非理想波形时,反相器处于输入波形上升沿和下降沿的瞬间,负载管和驱入波形上升沿和下降沿的瞬间,负载管和驱动管会同时导通而引起功耗动管会同时导通而引起功耗CMOS电路的功耗来源通常情况下静态功耗占总功耗的通常情况下静态功耗占总功耗的1%以下,可以忽略不以下,可以忽略不计,但如果整个系统长时间处于休眠状态,这部分功计,但如果整个系统长时间处于休眠状态,这部分功耗需要进行考虑耗需要进行考虑短路功耗在整个短路功耗在整个CMOS电路的功耗中只占很小的一部电路的功耗中只占很小的一部分,对于转换时间非常短的电路,分,对于转换时间非常短的电路,
5、Pshort所占的比例可所占的比例可以很小,但对于一些转换速度较慢的电路以很小,但对于一些转换速度较慢的电路Pshort可以占可以占到到30%左右,平均大约在左右,平均大约在10%左右。左右。一般情况下,动态功耗一般情况下,动态功耗Pdynamic占整个功耗的比例大约占整个功耗的比例大约为为70%90%。有些文献将有些文献将CMOS电路的功耗简单的分为两类:静态电路的功耗简单的分为两类:静态功耗和动态功耗。功耗和动态功耗。影响功耗的因素 从动态功耗的表达式可看出,在不影响电路性从动态功耗的表达式可看出,在不影响电路性能,即不降低工作频率的前提下,功耗主要取能,即不降低工作频率的前提下,功耗主要
6、取决于决于3个因素:个因素:n工作电压工作电压n负载电容负载电容n开关活动性开关活动性因此功耗优化主要从减小因此功耗优化主要从减小K、CL和和Vdd三方面三方面着手。着手。值得注意的是功耗优化是一个整体,单单考虑值得注意的是功耗优化是一个整体,单单考虑某一方面是不够的。某一方面是不够的。Pdynamic=KCLVdd2f影响功耗的因素电源电压的选择:电源电压的选择:n降低电源电压将使功耗下降降低电源电压将使功耗下降w但是对于一定的工艺水平(具有确定的阈值电但是对于一定的工艺水平(具有确定的阈值电压),降低电源电压将使电路性能下降,当电源压),降低电源电压将使电路性能下降,当电源电压降低到接近电
7、压降低到接近P和和N管的阈值电压之和时,延管的阈值电压之和时,延迟时间急剧增大。迟时间急剧增大。w在较大的电压下,电路速度几乎与电源电压无关在较大的电压下,电路速度几乎与电源电压无关n为提高速度,希望在保证器件可靠性的前提为提高速度,希望在保证器件可靠性的前提下采用尽可能高的电压,为降低功耗,又希下采用尽可能高的电压,为降低功耗,又希望选择尽可能低的电压。望选择尽可能低的电压。w要解决这个矛盾,可以在一个芯片内采用多种电要解决这个矛盾,可以在一个芯片内采用多种电压,对影响速度的关键电路选择较高的电压,对压,对影响速度的关键电路选择较高的电压,对大部分非关键电路则选择用减低的电压。大部分非关键电
8、路则选择用减低的电压。影响功耗的因素负载电容:负载电容:n在在CMOS电路中电容主要由两方面构成:电路中电容主要由两方面构成:w器件栅电容和节电电容,它们和器件工艺有关器件栅电容和节电电容,它们和器件工艺有关w连线电容连线电容n改进电路结构,减少所需改进电路结构,减少所需MOS管数目是减小负载管数目是减小负载电容、降低功耗的重要途径。电容、降低功耗的重要途径。w采用动态采用动态CMOS电路可简化电路电路可简化电路w采用互补传输晶体管逻辑(采用互补传输晶体管逻辑(CPL),不仅可以简化电路,),不仅可以简化电路,还可提高速度还可提高速度 n随着工艺的发展,布线电容已经超过器件电容随着工艺的发展,
9、布线电容已经超过器件电容w为了减小电容,在工艺方面可以选择小的器件,物理设计为了减小电容,在工艺方面可以选择小的器件,物理设计时减小连线长度。时减小连线长度。影响功耗的因素开关活动性开关活动性n在在CMOS电路中,功耗和开关活动性息息相电路中,功耗和开关活动性息息相关。关。w若信号活动性为若信号活动性为0,即使负载电容很大,它也不消,即使负载电容很大,它也不消耗能量耗能量w开关活动性和数据频率开关活动性和数据频率f 以及开关活动率以及开关活动率k有关:有关:f 描述单位时间内信号到达节点的次数,而活动率描述单位时间内信号到达节点的次数,而活动率k则描述到达节点时信号的翻转几率则描述到达节点时信
10、号的翻转几率 n在有些在有些CMOS电路中,伪跳变占据了相当一电路中,伪跳变占据了相当一部分开关活动性,由于此类信号没有任何作用,部分开关活动性,由于此类信号没有任何作用,因此它造成系统功耗的白白损失。因此它造成系统功耗的白白损失。w为了降低伪跳变带来的浪费,一种办法是消除伪跳为了降低伪跳变带来的浪费,一种办法是消除伪跳变的产生,另一办法是缩短其传播长度。变的产生,另一办法是缩短其传播长度。低功耗设计方法 低功耗设计是一个系统的问题:低功耗设计是一个系统的问题:n必须在设计的各个层次上发展适当的技术必须在设计的各个层次上发展适当的技术n综合应用不同的设计策略综合应用不同的设计策略n达到在降低功
11、耗的同时维持系统性能的目的达到在降低功耗的同时维持系统性能的目的n研究证明在不同设计层次上的优化工作对功研究证明在不同设计层次上的优化工作对功耗的改善程度是不同的,即设计层次越高,耗的改善程度是不同的,即设计层次越高,改善功耗的程度越大改善功耗的程度越大 低功耗设计方法低功耗设计方法一些低功耗设计一些低功耗设计(Design for Power,DFP)的基的基本策略本策略:n权衡面积和性能权衡面积和性能,使用并行、流水化和分布式计算使用并行、流水化和分布式计算等方法等方法,用面积或时间换取低功耗用面积或时间换取低功耗 n关闭不用的逻辑和时钟关闭不用的逻辑和时钟 n使用专用电路代替可编程逻辑使
12、用专用电路代替可编程逻辑 n使用规则的算法和结构,以减少控制负荷使用规则的算法和结构,以减少控制负荷 n采用新型的低功耗器件和工艺采用新型的低功耗器件和工艺 以下将自底向上以下将自底向上,对各层次的功耗设计技术进对各层次的功耗设计技术进行具体分析和介绍。行具体分析和介绍。工艺级的优化技术 多层金属布线多层金属布线:使用上层的金属进行全局互连使用上层的金属进行全局互连,可以减小互连电容可以减小互连电容,从而减小延迟和功耗。从而减小延迟和功耗。通过加工技术的提高减小芯片和封装的电容通过加工技术的提高减小芯片和封装的电容,也能改善功耗性能也能改善功耗性能:n如采用如采用SOI 技术、多芯片模块技术、
13、多芯片模块(MCM)能改善功耗能改善功耗性能。这种方法非常有效但很昂贵性能。这种方法非常有效但很昂贵,其发展是由投其发展是由投资和需求决定的。资和需求决定的。SOI 技术能减少寄生电容和体效技术能减少寄生电容和体效应应,从而减小功耗。从而减小功耗。由于设计工程师不能决定工艺流程由于设计工程师不能决定工艺流程,工艺级的工艺级的优化通常不包含在优化通常不包含在DFP 的设计方法学中。的设计方法学中。版图和晶体管级的优化技术 布局布线布局布线 n互连线的功耗逐渐成为整个电路功耗的主要部分:互连线的功耗逐渐成为整个电路功耗的主要部分:w深亚微米工艺的结果深亚微米工艺的结果w过去的布局布线技术只考虑面积
14、和延时的因素过去的布局布线技术只考虑面积和延时的因素w加入来自设计前端的信号活动信息加入来自设计前端的信号活动信息,可实现对功耗的优化可实现对功耗的优化n将连线安排在不同的层面上达到降低功耗的目的,将连线安排在不同的层面上达到降低功耗的目的,主要方法包括主要方法包括:w找出翻转活动频繁的结点找出翻转活动频繁的结点,把这些结点安排在容性较小的把这些结点安排在容性较小的层面上层面上,如第二层金属布线层或更高的布线层如第二层金属布线层或更高的布线层 w翻转活动频繁的结点连线要尽量的短翻转活动频繁的结点连线要尽量的短 w把高容性的结点和总线放在电容较小的层面上把高容性的结点和总线放在电容较小的层面上
15、w大尺寸器件可采用梳状和环形结构大尺寸器件可采用梳状和环形结构,减小漏结电容减小漏结电容版图和晶体管级的优化技术 时钟树时钟树(CLOCK-TREE)的生成的生成 n时钟信号网络的电容和频率都很大时钟信号网络的电容和频率都很大,其功耗其功耗占了系统的相当部分占了系统的相当部分,有些电路有些电路可达可达40%n在保证时序约束的条件下在保证时序约束的条件下,对时钟信号网络对时钟信号网络的结构、驱动方式进行选择的结构、驱动方式进行选择,并通过缓冲器并通过缓冲器的插入和尺寸优化来减小功耗的插入和尺寸优化来减小功耗n另外另外,在对同步时钟容差分析的基础上在对同步时钟容差分析的基础上,不再不再追求时钟偏移
16、最小化追求时钟偏移最小化,而是在保证电路时序而是在保证电路时序的条件下减小功耗的条件下减小功耗版图和晶体管级的优化技术 晶体管尺寸优化晶体管尺寸优化 n晶体管尺寸优化的方法晶体管尺寸优化的方法w与门尺寸优化相同与门尺寸优化相同w已获得了布局布线后的物理信息已获得了布局布线后的物理信息,晶体管尺寸优晶体管尺寸优化可以进一步的降低功耗化可以进一步的降低功耗n优化器件尺寸有一个合理选取的问题优化器件尺寸有一个合理选取的问题,因为因为总的趋势是这样的总的趋势是这样的:w器件尺寸过小,会造成速度性能恶化器件尺寸过小,会造成速度性能恶化 w器件尺寸过大器件尺寸过大,功耗加大而速度改进并不明显功耗加大而速度
17、改进并不明显版图和晶体管级的优化技术晶体管顺序调整晶体管顺序调整n重定序:在门中重新安排晶体重定序:在门中重新安排晶体管的位置管的位置,以优化延迟或功耗以优化延迟或功耗n如图所示如图所示w当当x 2=0,x 3=1,而而x 1从从0 变变成成1 时时,节点节点y 和和z 的电容分别的电容分别为为Cy、Cz,都放电都放电w当当x 1=0,x 3=1,x 2 从从0 变变成成1 时时,只有只有Cy放电放电w如果如果x 2 比比x 1 的开关活性大的开关活性大,则应像图中一样则应像图中一样,使使x 2 的的p 管管更接近输出更接近输出y版图和晶体管级的优化技术 电路结构的选择电路结构的选择 n选用节
18、省器件数目的逻辑电路形式选用节省器件数目的逻辑电路形式:w可减少电容可减少电容w传输门逻辑的形式比较特殊传输门逻辑的形式比较特殊,可减少器件可减少器件,尤其尤其是是PMOS 管的数目管的数目n一个降低功耗的路径一个降低功耗的路径:即用互补传输门逻辑即用互补传输门逻辑(CPL)替代静态替代静态CMOS 器件器件w例如同样实现一个全加器例如同样实现一个全加器,静态静态CMOS 需用需用40 个个MOS 管管,而互补传输门逻辑而互补传输门逻辑(CPL)只用只用28个个RTL级和逻辑级的优化技术 在在RTL级和逻辑门级电路设计和综合阶段,可级和逻辑门级电路设计和综合阶段,可采用采用的功耗优化技术的功耗
19、优化技术主要包括主要包括:n预计算技术预计算技术n重定时技术重定时技术n时钟受控技术时钟受控技术n路径平衡技术路径平衡技术n工艺映射技术工艺映射技术n逻辑分解技术逻辑分解技术n状态分配技术状态分配技术n多级网络优化技术多级网络优化技术n公共表达式提取技术公共表达式提取技术门控时钟技术 同步设计中同步设计中,很大一部分功耗来自时钟。很大一部分功耗来自时钟。n时钟是唯一在所有时间都充放电的信号时钟是唯一在所有时间都充放电的信号n时钟信号通常要驱动大的时钟树时钟信号通常要驱动大的时钟树n而且而且,很多情况下会引起不必要的门的翻转很多情况下会引起不必要的门的翻转门控时钟门控时钟(gated clock
20、)技术技术:n将电路无计算任务的部分的时钟停下将电路无计算任务的部分的时钟停下,减少无用功减少无用功耗耗 门控时钟技术门控时钟方法:门控时钟方法:n根据现态和输入,根据现态和输入,模块模块F 判定电路下一周期是否是空闲周期判定电路下一周期是否是空闲周期n如果是如果是,则停掉寄存器则停掉寄存器R 的时钟的时钟 避免下一个时钟周期时避免下一个时钟周期时,组合电路的无用翻转。组合电路的无用翻转。nGCLK就是门控时钟信号。锁存器就是门控时钟信号。锁存器L的作用是滤掉功能块的作用是滤掉功能块F 可可能输出的毛刺。如果组合电路在关键路径上能输出的毛刺。如果组合电路在关键路径上,则则F 的加入可能的加入可
21、能使延迟不能满足要求。使延迟不能满足要求。预计算技术 预计算设计技术:预计算设计技术:n在逻辑级实现的挂起方法在逻辑级实现的挂起方法n加入预计算逻辑加入预计算逻辑n在一定的输入条件下在一定的输入条件下,使所有或部分输入寄使所有或部分输入寄存器的负载无效存器的负载无效,从而降低了功耗。从而降低了功耗。预计算技术一个预计算比较器的结构:一个预计算比较器的结构:n当当A 与与B 的最高位不同时的最高位不同时,起预计算作用的异或门会使寄存器起预计算作用的异或门会使寄存器2 和寄存器和寄存器3 无效无效,即让这部分电路挂起即让这部分电路挂起;而输出比较结果而输出比较结果F 由一位比较器由一位比较器(MS
22、B)输出。输出。n假设首位输入的取值为假设首位输入的取值为“0”或或“1”的几率是相等的的几率是相等的,那么电那么电路被挂起的几率就是路被挂起的几率就是0.5,对于位数较多的比较器对于位数较多的比较器,功耗降低功耗降低显著。显著。逻辑优化设计逻辑优化设计:也叫工艺映射逻辑优化设计:也叫工艺映射n主要目的是减少信号的翻转活动主要目的是减少信号的翻转活动n通过将逻辑电路的逻辑功能尽可能的分解通过将逻辑电路的逻辑功能尽可能的分解,使翻转活使翻转活动最小动最小n将翻转活动高的结点隐藏到复杂的门里将翻转活动高的结点隐藏到复杂的门里,以此来降低以此来降低这些结点的等效电容这些结点的等效电容n在不影响电路性
23、能的条件下,逻辑优化设计可以将在不影响电路性能的条件下,逻辑优化设计可以将功耗减少功耗减少20%(a)是将逻辑功能用最简单的门表示;是将逻辑功能用最简单的门表示;(b)是把翻转活动高的结点进行隐藏。是把翻转活动高的结点进行隐藏。时序调整(retiming)时序调整时序调整:n在流水化的电路中在流水化的电路中,插入新的寄存器,或重新安排插入新的寄存器,或重新安排寄存器的位置寄存器的位置n减少门的翻转频率减少门的翻转频率n或减少通过流水线的最长段延迟或减少通过流水线的最长段延迟组合逻辑综合和优化 逻辑提取:寻找在逻辑网表中多次重复出现的逻辑提取:寻找在逻辑网表中多次重复出现的表达式。用这个表达式的
24、输出节点代替在网表表达式。用这个表达式的输出节点代替在网表中出现的相同的式子中出现的相同的式子,达到节约面积的目的达到节约面积的目的 提取公因子:在函数的积之和形式中导出公因提取公因子:在函数的积之和形式中导出公因子子 表达式替换:利用低有效电容的电路块代替网表达式替换:利用低有效电容的电路块代替网表中的电路表中的电路节点消除:选择性地消除网表中的某些节点节点消除:选择性地消除网表中的某些节点 路径平衡技术路径平衡:路径平衡:n为使某一器件的几个输入信号同时到达为使某一器件的几个输入信号同时到达,而而采用的路径等延迟技术采用的路径等延迟技术n能大大减少在该器件输出端产生多余翻转的能大大减少在该
25、器件输出端产生多余翻转的可能可能n路径平衡技术可以在工艺映射前采用路径平衡技术可以在工艺映射前采用,对逻对逻辑进行分解以达到平衡辑进行分解以达到平衡n也可以在工艺映射后采用也可以在工艺映射后采用,对管腿重新排序对管腿重新排序分配和插入延时元件以达到平衡。分配和插入延时元件以达到平衡。路径平衡技术 a,b 同时到达的两信号同时到达的两信号;期望信号期望信号X 为一恒为一恒0 的输出的输出图图(a)所示电路的不平衡所示电路的不平衡,可能造成信号的毛刺可能造成信号的毛刺图图(b)由于路径平衡而减少这一毛刺由于路径平衡而减少这一毛刺引脚分配一般情况下一般情况下,对于库单元功能相同的引脚对于库单元功能相
26、同的引脚,在综合时是等价的在综合时是等价的 实际上实际上,不同引脚的电容、信号延时等参数是不同的不同引脚的电容、信号延时等参数是不同的引脚分配的基本思想:就是将活动因子大的信号结点分配到相引脚分配的基本思想:就是将活动因子大的信号结点分配到相对功耗小的引脚上对功耗小的引脚上系统级的优化技术 软硬件划分软硬件划分n软硬件划分是从系统功能的抽象描述软硬件划分是从系统功能的抽象描述(如如语言语言)着手着手,把系统功能分解为硬件和软件来把系统功能分解为硬件和软件来实现实现n对于一个系统功能的任务对于一个系统功能的任务,可通过在微处理可通过在微处理器上运行软件来实现和通过专用电路实现器上运行软件来实现和
27、通过专用电路实现n比较两者的功耗得出一个低功耗的实现方案比较两者的功耗得出一个低功耗的实现方案n软硬件划分的技术处于设计的起始阶段软硬件划分的技术处于设计的起始阶段,给给降低功耗带来更大的可能降低功耗带来更大的可能系统级的优化技术 指令级优化指令级优化包括几个方面包括几个方面:n指令集提取指令集提取:对于确定的处理器对于确定的处理器,其每条指令的功耗其每条指令的功耗是一定的是一定的,选择一个指令集实现系统功能并功耗最小选择一个指令集实现系统功能并功耗最小n选择合理的指令长度:如选择合理的指令长度:如16位位.32位或可变长位或可变长度度,提高程序的代码密度提高程序的代码密度,以减少对存储器访问
28、的功以减少对存储器访问的功耗耗n指令编码优化:通过对应用程序指令的相关性的统指令编码优化:通过对应用程序指令的相关性的统计计,对指令进行编码优化对指令进行编码优化,使读取指令时总线上的信使读取指令时总线上的信号反转最少号反转最少n指令压缩指令压缩:存储器存储压缩后的指令存储器存储压缩后的指令,指令将在进入指令将在进入处理器前被解压处理器前被解压系统级的优化技术 电源管理电源管理n可变电压技术:可变电压技术:根据系统的不同工作状态对系统性能的根据系统的不同工作状态对系统性能的不同要求不同要求,动态地改变电压以最大限度地降低功耗动态地改变电压以最大限度地降低功耗w电压转换电路的功耗和电压转换时间对
29、性能的影响是这项技术电压转换电路的功耗和电压转换时间对性能的影响是这项技术选择的制约因素选择的制约因素n多电压技术:可变电压技术在时间上改变电压多电压技术:可变电压技术在时间上改变电压,而多电压而多电压技术在空间上使用不同的电压技术在空间上使用不同的电压.w根据系统不同部分的性能要求不同根据系统不同部分的性能要求不同,使其工作于不同的电压使其工作于不同的电压,从而从而降低系统功耗降低系统功耗n动态功耗管理:动态功耗管理是一种使系统或系统单元动态功耗管理:动态功耗管理是一种使系统或系统单元在不工作时进入低功耗的休眠状态的控制技术在不工作时进入低功耗的休眠状态的控制技术w由于系统在正常工作状态和休
30、眠状态之间的转换需要时间由于系统在正常工作状态和休眠状态之间的转换需要时间,将影将影响系统性能响系统性能w所以所以,该技术的核心就是如何根据系统的状态信息决定系统何时该技术的核心就是如何根据系统的状态信息决定系统何时进入低功耗的休眠状态进入低功耗的休眠状态系统级的优化技术Cache低功耗技术低功耗技术n片上片上cache产生的功耗占据整个芯片功耗的产生的功耗占据整个芯片功耗的很大比例很大比例wDEC Alpha 21264中的中的cache的功耗约占芯片功耗的功耗约占芯片功耗的的25 n能量大部分消耗:能量大部分消耗:w在标签和数据阵列的预充(在标签和数据阵列的预充(precharging)w
31、灵敏放大(灵敏放大(sensing)w放电放电系统级的优化技术M.Viredaz and D.Wallach,“Power Evaluation of a Handheld Computer:A Case Study”,WRL Research Report 2001/1(HP)peripherals(analog)interfacesDRAMprocessor+cacheMemory系统级的优化技术降低降低cache动态功耗:动态功耗:n降低电路的等效电容小容量缓冲器降低电路的等效电容小容量缓冲器w在在L1 cache和和CPU之间增加一个容量较小的之间增加一个容量较小的cache,如,如L
32、0 cache、Filter cache方案方案 n降低组相联降低组相联cache功耗避免多余标签比较功耗避免多余标签比较w分阶分阶cache:两个阶段访问:标签访问和比较为第一阶段。两个阶段访问:标签访问和比较为第一阶段。在第二阶段只有命中的那一路数据被访问。结果是降低数在第二阶段只有命中的那一路数据被访问。结果是降低数据路访问的功耗,但是却增加了据路访问的功耗,但是却增加了cache访问延迟。访问延迟。w路预测路预测cachecache:在标签访问前预测哪一路可能有被访问数:在标签访问前预测哪一路可能有被访问数据。如果预测正确,标签阵列访问就不需要了,而访问延据。如果预测正确,标签阵列访问
33、就不需要了,而访问延迟相当于同样大小的直接映像迟相当于同样大小的直接映像cachecache的访问延迟。但是如的访问延迟。但是如果预测失败,就必须进行标签比较,结果是增加了额外的果预测失败,就必须进行标签比较,结果是增加了额外的访问时间,相应功耗多于传统组相联访问时间,相应功耗多于传统组相联cachecache。n代码压缩结构:代码压缩结构:wI-cache中存入经过压缩的指令:提高了中存入经过压缩的指令:提高了cache命中率,减命中率,减少了主存访问次数,减少了取指的功耗少了主存访问次数,减少了取指的功耗 系统级的优化技术降低降低cache静态功耗:静态功耗:n门控电源技术(门控电源技术(
34、Gated-Vdd):):w当当SRAM单元没有被访问,如果将单元没有被访问,如果将L点电压升高,那么点电压升高,那么VH-VL减小,从而减少亚阈值漏电流。减小,从而减少亚阈值漏电流。w可以在地与可以在地与L之间插入一个门控接地之间插入一个门控接地NMOS管。当单元空闲时,管。当单元空闲时,NMOS关断同时被漏电充电,使电压升高直到一个饱和值。关断同时被漏电充电,使电压升高直到一个饱和值。6管SRAM单元系统级的优化技术降低降低cache静态功耗:静态功耗:n动态重构尺寸动态重构尺寸cache:可以动态分配:可以动态分配cache大大小以适应应用程序所需小以适应应用程序所需cache容量。容量
35、。w当尺寸减小时,采用门控电源技术关掉当尺寸减小时,采用门控电源技术关掉cache中中不需要的部分的电源供应,从而减少漏电功耗。不需要的部分的电源供应,从而减少漏电功耗。ncache衰退(衰退(cache decay):):w当当cache行进入垂死区(行进入垂死区(dead period成功访问成功访问到驱逐出到驱逐出cache的时段)时,关闭单个的时段)时,关闭单个cache行。行。系统级的优化技术 总线低功耗设计总线低功耗设计n电容大、数据传输密度高电容大、数据传输密度高,产生大量功耗产生大量功耗n总线的低功耗设计包括总线的低功耗设计包括:w减小总线上信号的电压变化幅度:通常小于减小总线
36、上信号的电压变化幅度:通常小于1n对降低具有特大电容总线的功耗非常有效对降低具有特大电容总线的功耗非常有效n额外代价是总线和功能模块之间的信号电平的变换电路额外代价是总线和功能模块之间的信号电平的变换电路w对总线进行分段控制对总线进行分段控制:n根据总线和功能模块连接的物理结构根据总线和功能模块连接的物理结构,在信号传输时在信号传输时,隔隔断总线的无关部分断总线的无关部分,从而减小总线的实际电容从而减小总线的实际电容,以降低功以降低功耗耗w总线数据的编码总线数据的编码:n使数据在总线上传输时引起的电平反转减少使数据在总线上传输时引起的电平反转减少(即减小了活即减小了活动因子动因子)系统级的优化
37、技术 合适的总线编码技术合适的总线编码技术,可以使翻转活动最可以使翻转活动最小化小化:nGray-code:连续的两个二进制数之间只连续的两个二进制数之间只有一位不同。有一位不同。w在总线传输连续变化的数据时在总线传输连续变化的数据时(比如地址总线的比如地址总线的变化变化),只有一位发生变化只有一位发生变化 总线的翻转活动大总线的翻转活动大大减少大减少,从而降低功耗。从而降低功耗。通过将这两种编码方法应用到指令地址总线进行比较通过将这两种编码方法应用到指令地址总线进行比较,结果是结果是Gray-code 编码可以将位变化降低编码可以将位变化降低,最大达最大达58%,而平均降而平均降低也达到低也
38、达到37%。系统级的优化技术其它总线编码技术:其它总线编码技术:T0 编码、自适应编码、自适应编码、编码、BI 编码等。编码等。n如图为如图为T0-C编码编码w地址连续则总线编地址连续则总线编码保持码保持w如果与初始值相同,如果与初始值相同,采用递增值采用递增值w如果为非连续值,如果为非连续值,则采用该值则采用该值实际地址实际地址总线编码总线编码模式模式25252625保持保持2725保持保持3939目标目标4039保持保持4139保持保持3942无歧义无歧义4042保持保持4142保持保持4242保持保持4342保持保持系统级的优化技术各种总线编码实现的机理不同各种总线编码实现的机理不同n有
39、的需要加标志位有的需要加标志位:T0编码编码n有的需要对过去一段时间的数据进行特征统有的需要对过去一段时间的数据进行特征统计:计:Codebook编码编码n目的是尽量减少总线上的位变化目的是尽量减少总线上的位变化系统级的优化技术 算法的优化可以极大减少操作步骤,从而使功算法的优化可以极大减少操作步骤,从而使功耗降低。耗降低。n例:一个矢量量化例:一个矢量量化(VQ)算法(压缩图像数据),算法(压缩图像数据),VQ编码有全搜索、树形搜索和差分编码有全搜索、树形搜索和差分-树形搜索三种树形搜索三种算法,下表比较了三种算法的运算复杂性。算法,下表比较了三种算法的运算复杂性。算法的优化可以使运算步骤有
40、几个数量级的减算法的优化可以使运算步骤有几个数量级的减少,因而对降低功耗有重要作用。少,因而对降低功耗有重要作用。系统级的优化技术 异步逻辑异步逻辑n异步逻辑是完全不同于同步设计的一种设计方法。异步逻辑是完全不同于同步设计的一种设计方法。异步逻辑不采用全局时钟而是用握手信号电路协调异步逻辑不采用全局时钟而是用握手信号电路协调模块间的协作模块间的协作,不存在时钟偏斜问题。不存在时钟偏斜问题。n单一时钟设计使得整个芯片的不同部分都必须应用单一时钟设计使得整个芯片的不同部分都必须应用相同频率的时钟相同频率的时钟,而系统的有些部分没有必要用这而系统的有些部分没有必要用这样高的频率样高的频率,这也导致功
41、耗增加。这也导致功耗增加。n异步电路本质上是数据驱动的异步电路本质上是数据驱动的,能最大限度地利用能最大限度地利用能量。接受较少数据的模块自然能在较低的频率下能量。接受较少数据的模块自然能在较低的频率下工作。工作。系统级的优化技术 并行处理并行处理n并行处理是最重要的低功耗措施,主要思想是通过并行处理是最重要的低功耗措施,主要思想是通过并行设计和流水线设计两种并行处理方式提高电路并行设计和流水线设计两种并行处理方式提高电路性能,降低电路的功耗。性能,降低电路的功耗。并行设计并行设计(Parallelism)n并行设计将数据流中一个功能模块并行设计将数据流中一个功能模块“复制复制”为为n个个(n
42、=2)模块。这些模块并行计算后通过多路选)模块。这些模块并行计算后通过多路选择器输出。择器输出。n由于有由于有n个相同的模块同时工作,可以把驱动每个个相同的模块同时工作,可以把驱动每个模块的时钟频率降低为原频率的模块的时钟频率降低为原频率的1/n分频,而电路分频,而电路总的输出仍然能保持原来的速度。总的输出仍然能保持原来的速度。并行设计并行结构降低功耗的主要原因:并行结构降低功耗的主要原因:n在获得与参考结构相同的计算速度的前提下在获得与参考结构相同的计算速度的前提下,其工作频率可以其工作频率可以降低为原来的降低为原来的1/2,同时电源电压也可降低。同时电源电压也可降低。并行设计参考结构:工作
43、频率为参考结构:工作频率为50 MHz,电源电压为电源电压为3.3 V,最坏情况下的延迟为最坏情况下的延迟为20ns。在这种情况下。在这种情况下,无法通过无法通过降低电源电压来降低功耗降低电源电压来降低功耗,因此因此并行结构并行结构:使频率降为使频率降为25 MHz,这样最坏情况下的这样最坏情况下的延迟可以达到延迟可以达到40 ns,而电源电压通过验证可以降低为而电源电压通过验证可以降低为1.8 V,即为原来的即为原来的1/1.83。当然由于电路的加倍。当然由于电路的加倍和外部布线的增加和外部布线的增加,其等效的电容也要增加为原来的其等效的电容也要增加为原来的2.2 倍。可以得出并行结构功耗与
44、参考结构功耗近似的倍。可以得出并行结构功耗与参考结构功耗近似的对应关系:对应关系:并行设计并行结构可以采用多个单元并行并行结构可以采用多个单元并行,但随着但随着单元数的增加会出现一些问题。单元数的增加会出现一些问题。n首先是芯片面积增大首先是芯片面积增大,成本增加成本增加n其次是布线长度增加其次是布线长度增加,从而使线电容增加从而使线电容增加n此外电压的降低受阈值电压的限制此外电压的降低受阈值电压的限制,当电压当电压接近阈值电压时接近阈值电压时,延迟退化延迟退化n由于以上问题的影响由于以上问题的影响,并行单元过多反而可并行单元过多反而可能使功耗增加能使功耗增加,在设计时要进行充分的考虑在设计时
45、要进行充分的考虑,使并行的效果达到最优。使并行的效果达到最优。流水线设计(Pipeline)另一个并行处理是采用流水线设计:另一个并行处理是采用流水线设计:n它的基本思想是控制穿过数据通路的指令流,以获得最大的它的基本思想是控制穿过数据通路的指令流,以获得最大的吞吐量(如每秒能处理的指令数),从而提高电路性能。吞吐量(如每秒能处理的指令数),从而提高电路性能。n流水线把指令划分成多个步骤,充分利用数据流通路子模块流水线把指令划分成多个步骤,充分利用数据流通路子模块的每个时钟周期,并行处理多条指令,以最大限度地发挥电的每个时钟周期,并行处理多条指令,以最大限度地发挥电路的潜能。路的潜能。流水线设
46、计电路的工作频率没有改变电路的工作频率没有改变,但每一级的电路减但每一级的电路减少少,这样在满足最坏这样在满足最坏20 ns 延迟延迟(50 MHz)的的条件下条件下,电源电压可以由电源电压可以由3.3 V 降到降到1.8 V,减少为原来的减少为原来的1/1.83。由于加入了流水线。由于加入了流水线寄存器寄存器,等效电容变为原来的等效电容变为原来的1.2 倍。其功耗倍。其功耗的估算公式如下的估算公式如下:可见采用流水线结构也可以显著地降低功耗。可见采用流水线结构也可以显著地降低功耗。并行处理如果将流水线设计和并行设计相结合,如果将流水线设计和并行设计相结合,可以使功耗进一步减小。可以使功耗进一
47、步减小。功耗优化和分析工具 用于功耗设计的用于功耗设计的EDA软件主要用于三个方面:软件主要用于三个方面:建立功耗模型、功耗优化、功耗分析。建立功耗模型、功耗优化、功耗分析。n功耗优化工具可以对电路进行适当的修改,在保证完功耗优化工具可以对电路进行适当的修改,在保证完成原来功能的前提下,降低电路的功耗;成原来功能的前提下,降低电路的功耗;n功耗分析是根据从电路模型中提取的参数来估算电路功耗分析是根据从电路模型中提取的参数来估算电路的功耗的功耗目前较为流行的功耗优化和分析工具是目前较为流行的功耗优化和分析工具是Synopsys公司的,如公司的,如RTL和门级功耗优化工具和门级功耗优化工具Power Compiler。RTL功耗分析工具为功耗分析工具为Design Power,门级功耗分析工具为门级功耗分析工具为Power Gate,晶体管和版图级功耗分析工具为,晶体管和版图级功耗分析工具为Power Mill。采用HDL的低功耗设计流程 思考题CMOS电路的功耗有哪几部分组成?给电路的功耗有哪几部分组成?给出出CMOS电路总功耗的表达式。说明影电路总功耗的表达式。说明影响功耗的因素。响功耗的因素。说明在集成电路设计时改善电路功耗的说明在集成电路设计时改善电路功耗的一些措施。一些措施。