低功耗设计(1):总体规划
在设计的每个阶段都有不同的方法来降低功耗,但是其效果却大不一样,以下是一般的统计: 算法结构设计,RTL编程阶段:可以节省200-500%的功耗 综合:50-70% prototype:30-50% place和opt:5-10% route:1-5%
低功耗设计(2): 算法结构设计,RTL编程
在算法结构上可以考虑以下节电方式:
各种算法的比较,
合理分配组合硬件和软件,
选择合理的(不要过高)工艺、速度、IO负载
CORE电压的选择,是否要混用不同Vth的cell,MTCMOS 和 VTCMOS cell
模块是否要断电power off模式、睡眠sleep模式,或空闲idle模式
在RTL编程时,可以考虑:
clock gating
分割大RAM为多个小RAM
减少数据线上无用的信号变化,比如,在数据输入端加锁存
用power analysis工具查找大功耗的模块
低功耗设计3): 综合
使用power compiler,不但能节省功耗,有时还可以减少数据线上的延迟
如果有DFT电路时,要注意:
1) 只在作芯片测试时才给测试电路时钟
2) 把memBIST的比较电路集中到controller中
3) 去除不常用的测试电路,比如,BIST中的诊断电路
低功耗设计(4): prototype
多电源(可以是同电压,也可以是不同电压)floorplan要考虑:
电源之间的绝缘
不同电压之间信号传送时的电平转换
如果有断电电源区,这个区与其它区之间信号的隔离,因为断电时信号为Z,不隔离的话,会影响其它仍在工作的电路。
每个电源区的power analysis
高Vth和低Vth单元的自动选择和使用
低功耗设计(5): place和opt
sizeup and sizedown
单元管脚互换
去掉多余的buffer和inverter
逻辑结构重组及单元合并
数据路径的平衡
以上内容是对低功耗后端工具的起码要求,只要设计者检查结果,无须手工修改。
现在的cadence, synopsys, magma等后端工具都支持低功耗设计。
低功耗设计(6) : some books
low power design methodology
ultrl low power design
power aware design
low power circuit design
etc...
====
Ref: rickyice
电源之间的绝缘
不同电压之间信号传送时的电平转换
如果有断电电源区,这个区与其它区之间信号的隔离,因为断电时信号为Z,不隔离的话,会影响其它仍在工作的电路。
每个电源区的power analysis
高Vth和低Vth单元的自动选择和使用
低功耗设计(5): place和opt
sizeup and sizedown
单元管脚互换
去掉多余的buffer和inverter
逻辑结构重组及单元合并
数据路径的平衡
以上内容是对低功耗后端工具的起码要求,只要设计者检查结果,无须手工修改。
现在的cadence, synopsys, magma等后端工具都支持低功耗设计。
低功耗设计(6) : some books
low power design methodology
ultrl low power design
power aware design
low power circuit design
etc...
====
Ref: rickyice