1.概念
功耗的构成:三个主要的功耗源:浪涌、静态功耗和动态功耗;
浪涌电流:
指器件上电时产生的最大瞬时输入电流,称为启动电流;浪涌电流与设备相关;
浪涌功耗不是我们需要关注的地方,因此这里只是说明有这个功耗存在。
静态功耗:也称待机功耗,静态功耗主要由晶体管的漏电流所导致的功耗;
动态功耗:包括开关功耗或者称为翻转功耗、短路功耗或者称为内部功耗。
动态功耗影响因素:门寄生电容、时钟翻转率、时钟频率、供电电压;
降低功耗:应当在所有设计层次上进行,即系统级、逻辑级和物理级,层次越高对功耗降低越有效;
在系统和体系结构级可以达到最大的降低效果;
电平转换器(level shifter):把高(低)电压区域的信号转换到低(高)电压区域。信号通常包括数据、时钟、扫描链数据等。电平转换器的示意图如下所:
电源隔离单元(power isolation cell):主要用于模块的输入、输出。它可以关掉电源时,将信号保持为常数,从而避免单元的输入悬空。电源隔离单元如下图所示:
保持寄存器(retention register):在不工作的情况下,将寄存器的状态保留下来。
上述电路图中,将控制信号(EN)直接与时钟信号(CLK)进行与操作,以完成门控。门控后的时钟信号GCLK送到寄存器中,当EN为0时,该时钟被关掉。
不使用门控时钟:
always@(posedege clock or negedge reset_b)
if(!reset_b)
test_ff<=32’b0;
else
test_ff<=test_nxt;
assign test_nxt=load_cond?Test_data:test_ff;
使用门控时钟:
always@(posedege clock or negedge reset_b)
if(!reset_b)
test_ff<=32’b0;
else if(load_cond)
test_ff<=test_data;
MUX选择的二进制编码:
case (SEL)
2’b00:OUT=a;
2’b01:OUT=b;
2’b10:OUT=c;
2’b11:OUT=d;
endcase
MUX选择 二进制编码
MUX选择的独热编码:
case (SEL)
4’b0001:OUT=a;
4’b0010:OUT=b;
4’b0100:OUT=c;
4’b1000:OUT=d;
default:OUT=‘X’;
endcase
MUX选择 独热编码
各层次降低功耗图
【某笔试题】
1.下列功耗措施哪个可以降低峰值功耗
A 静态模块级Clock Gating
B Memory Shut Down
C Power Gating
D 大幅度提高HVT比例
解析:首先峰值功耗是属于动态功耗中的短路功耗,即NMOS和PMOS同时导通所引起的峰值电流,最终带来的功耗。这个功耗和电源电压,时钟翻转率,以及峰值电流有关。
A选项静态门控时钟,所以A选项不正确。
B选项存储关闭。即不被访问的时候,关闭存储器,因而也是降低静态功耗。
C选项电源门控技术,即模块不工作的时候,关闭电源,模块睡眠,工作时候再启动电源,是降低静态功耗。
D选项即采用高阈值电压的晶体管,阈值电压增加的效果在于降低亚阈值漏电电流,并且短 路 功 耗 公 式 为 :Pshort = τAshortVdd = τAβ(Vdd-Vth)3 , 只 跟 Vth 有 关 , 而 D 选 项 中 大 幅 提 高 HVT ( High Voltage
Value)带入短路功耗公式中会使短路功耗变小,从而降低动态功耗中的峰值功耗。所以D选项正确。
2.逻辑电路低功耗设计中,无效的方法是
A 采用慢速设计
B 减少信号翻转
C 采用较慢速的时钟
D 提高阈值电压
解析:A选项说采用慢速设计并不一定会降低功耗,所以A选项不正确。
B选项减少信号翻转可以降低动态功耗。
C选项采用较慢速时钟也相对的降低了信号的翻转,所以也是降低动态功耗。
D选项即采用高阈值电压的晶体管,阈值电压增加的效果在于降低亚阈值漏电电流,因而降低静态功耗。
3.在RTL设计阶段,降低功耗的常用设计方法是
A 门级电路的功耗优化
B 门控时钟
C 降低电路漏电流
D 多阈值电压
解析:这四个选项都是可以降低功耗的常用设计方法,但是有个前提,那就是在RTL设计阶段,也就是我们编写代码时可以控制的阶段,可以在代码中加入门控时钟,所以B选项正确。
4.某个状态下,不关心某个寄存器的输出值,那么将其设计为输出0,可以降低功耗(错误)
解析:比起设计为输出0,降低功耗更好的做法是保持寄存器原值。因为功耗来自于信号toggle,如果在上一状态寄存器输出为1,下一状态下输出为0,即便0不使用,也产生了0到1的跳变,同样会有功耗,既然不关心,还不如保持输出为1。
5.isolation cell是下面哪种低功耗技术必须的
A.Clk gating
B.Multi VDD
C.power gating
D.Multi VT
解析:如上介绍
6.以下哪个不是影响芯片功耗的基本要素:
电压 温度 工艺 湿度