常用的一些Lower Power的策略:
1)Clock tree optimization and clock gating:在正常情况下clock信号会一直toggle at the maximum rate and capacitive loads, 所以当在block level引入
clock gating 后,可以极大的减少动态功耗。
2)Operand Isolation:同样,在数据通道(datapath)引入使能信号,在disable的时候,将数据通道的输入force为一个constant,来减少动态功耗。
3)Multi-Vth:Vth主要与leakage有关,这种方式主要是需要multi-threshold library和synthesis tools的支持。
4)Multi Supply Voltage:在不同的block之间,根据性能的要求采用不同的voltages,因为I-switching I-short_circuit leakage都与VDD成正比,所以这个方式
可以减少各个方面的功耗,但是这也是以speed为牺牲的,因为在同样的PVT,lib的条件下,VDD越小,Propagation Delay越大。
5)Dynamic voltage and frequency scaling(DVFS),adaptive voltage and frequency scaling(AVFS)。on the fly式的改变电压与频率,同样可以减少
Switching Short-circuit leakage的功耗。两者的区别在于AVFS中,需要在analog中加入path的temprature IR-drop的监控来实现
闭环的控制。
6)Power Shutoff:也叫做Power gating。当功能不被需要是,关掉部分的blocks。
7)Memory splitting:在很多系统中,memory capacity一般都是以峰值应用来设计的,很多情况下可能不会都被使用,所以可以将memory分成多个section,
来方便关掉一些memory section。
8)Substrate bias:衬底偏置,一种优化lib的方法。