随着集成电路设计的不断发展,在追求性能方面的提升和面积减小之外,芯片的低功耗设计也已成为当下物理设计的主要标准之一。下图为IBM技术研讨会给出的典型芯片中功耗的近似分布,其中时钟电路的功耗比例最高,约占总功耗的50%。随着晶体管数量的增加和时钟频率的提高,电路的功耗特别是时钟网络的功耗也随着变大,所以,在时钟树综合阶段有必要对时钟网络进行功耗分析与优化。

92aae4033c39fdd8ab030aaeae1acc1f.png

CMOS 电路功耗来源

CMOS 电路的功耗主要分为动态功耗和静态功耗,动态功耗指芯片在工作中晶体管处于跳变状态所产生的功耗,主要包括 CMOS 逻辑门输出节点电压产生逻辑转换时,电源对输出节点电容充放电所产生的开关功耗和开关过程中因PMOS 和 NMOS 短时间内同步导通而在电源和地间形成直流通路所产生的短路功耗。静态功耗是指电路处于等待或不激活状态下泄漏电流所产生的功耗,泄露电流主要分为反偏二极管泄漏电流、门栅感应漏极泄漏电流、亚阈值泄漏电流和门栅泄漏电流等。因此,CMOS 电路的总功耗可以表示为:

ef6c7402d5940fe9afcfaabc8835187f.png

其中,Pswitching为节点电压逻辑转换时对输出节点电容充放电产生的动态开关功耗;Pshort-circuit为开关过程中因 PMOS 和 NMOS 短时间内同步导通而在电源和地间形成直流通路所产生的短路功耗;Pleakage为泄漏电流所引起的静态功耗。

时钟树功耗分析 

与 CMOS 电路相同,时钟树上的功耗也分为静态功耗、短路功耗和开关功耗,具体可表示为:    

191a472c41c4b4d722f18f430593478f.png

其中,P0为尺寸最小的时钟树构建单元的静态功耗,也即单位缓冲器或反相器的静态功耗;N为时钟树上总共插入的时钟树构建单元数量;Ki为第i个时钟树构建单元的尺寸;α是常数;fclk为时钟树上的时钟频率;C0为时钟树上单位长度的电容值;L(T)为时钟树总的走线长度;VT为NMOS和PMOS的阈值电压;VDD为工作电压;k为NMOS和PMOS的介电常数;τ为输入波形的上升沿或下降沿转换时间。

由上式分析可知,时钟树上的静态功耗基本为各个时钟树构建单元的静态功耗之和,因此,尝试减少时钟树构建单元的加权数就能够减小时钟树上的静态功耗。时钟树上的短路功耗与输入波形的转换时间成正比,与 NMOS 和PMOS 的阈值电压的 3 次方成反比,因 MOS 管的阈值电压取决于工艺条件,所以降低时钟树上的短路功耗主要在于降低输入波形的转换时间。而时钟树作为整颗芯片中发生翻转最频繁的部分,其开关功耗是整颗芯片的重要组成部分,接近50%或者更高,时钟树上的开关功耗主要由门的加权数和互连线总的电容所决定,设法降低门的加权数及互连线的长度可以降低时钟树的开关功耗。

时钟网络的低功耗设计

低功耗已经成为当今集成电路设计中的一个重要指标, 无论在芯片设计的哪个阶段都要考虑功耗这一指标, 时钟网络也不例外,因为时钟信号的翻转消耗了电路大量动态功耗,根据统计,时钟消耗的功率甚至占芯片消耗功率的50%以上。

一个时钟网络往往需要驱动成千上万的寄存器,时钟信号每个周期内都要翻转两次,相当于给一组大规模的负载电容同时充放电各一次,时钟频率越高,翻转次数越频繁,消耗的功耗也就越高。    

当然我们说可以通过降低时钟频率来降低功耗,但显然这一方法和要求越来越高的时钟频率是矛盾的。 还有其他的方法譬如选择介电常数不同的材料,减小连线长度,减少连线间电容耦合等。

目前被广泛应用来作为降低功耗的办法是采用门控时钟(clock gating),即在原先寄存器群的时钟控制端加入额外的控制逻辑,当寄存器群所在的功能模块不需要工作的时候,这一控制逻辑便能使时钟停止翻转,这就节约了原先时钟空翻转时所消耗的功耗。如图所示是一个基于 latch 的门控时钟单元电路。

2686b478570320aba9b0598aa33d7172.png

图中的门控单元是由一个 latch 和一个与门组成。门控单元当然也可采用非latch 结构,直接由与门或者或门组成。但是由于这种非 latch 结构的电路会引发毛刺,故此处采用基于 latch 的门控电路。插入门控时钟, 当 EN 为 1 时, Latch单元在时钟低电平时将 EN 锁存,时钟信号上升沿到来时, EN&CLK 信号随CLK 变化,寄存器组执行正常的读入读出操作; 当 EN 为 0 时,寄存器时钟输入端保持为 0,不随时钟信号 CLK 的翻转而变化, 因此该寄存器组不消耗额外功率, 从而降低了功耗。    

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐