数字集成电路低功耗物理实现技术与UPF(12)

2021-04-05 02:17

link

#读入约束

source design_constraint.tcl

#其他设置

……

#设置最大漏电电流,该设置必须有,否则优化过程不考虑漏电的

优化

set_max_leakage_power 0 mw

#开始编译

compile_ultra

由于综合时,时序信息并不完全准确,特别是setup类的时序。因此可以对setup时序做稍紧一些的约束,使结果进入PR工具后还能够满足时序,如果进入PR后仍然无法满足setup时序,PR工具也可以利用类似的原理进行优化。

如在IC Compiler里,在布线后优化时可以使用如下语句来进行优化:

physopt –preserve_footprint –only_power_recovery –post_route –incremental

这里设置了-preserve_footprint以及-only_power_recovery,因此只是针对相同footprint的单元做漏电功耗优化,也就是说如果某个使用了High VT X2的Buffer需要减小延时,则可以替换成Low VT X2的Buffer,这样做可以保持原有的布线结果。

当出现Multi-VT的单元库后,每个单元库都会多一个default_threshold_voltage_group以及threshold_voltage_group属性来说明该单元库是High VT、标准VT还是Low VT。可以利用report_threshold_voltage_group(DC和IC Compiler都支持)指令报出设计中每种单元库单元占整个设计的百分比,如High VT的单元库占60%,标准VT占25%,等。这样做可以使设计者了解不同VT对自己设计的影响,如果速度不快,则Low VT的库可能占用很少,甚至没有使用,那么完全可以在设计过程中直接不使用该库。

如果库中没有default_threshold_voltage_group变量,我们可以在DC中设置:

set_attr -type string dbtcbn90lphdbwphvtwc.db: dbtcbn90lphdbwphvtwc default_threshold_voltage_group HVT

3.2.3 时钟门控减小不必要的动态功耗

时钟门控单元的插入在3.1.2已经有所描述,这里就不多进行描述了。同样的,标准单元库必须提供相应Cell的库才可以实现。

3.2.4 多供电电压,实现动态功耗与时序的平衡(Multi-Voltage)

我们知道,降低驱动电压VDD,是减小动态功耗最快的方法,因此在满足时序的情况下,适当降低驱动电压,可以有效的减小动态功耗。而设计中可以使用多驱动电压的设计方法,对于速度要求快的电路,供高一些的驱动电压,如 1.3V,而速度要求不高的模块,则只需要供比较低的驱动电压,如1.0V。

对于逻辑综合来说,DC中,首先需要对不同电压域的电路设置不同的operating_condition,综合工具就可以对该电压域电路进行初步分析和优化了。如果使用UPF,则可以直接使用load_upf,工具会根据UPF的描述自动寻找相应的库文件进行分析。如下所示:

set target_library “slow_14V slow 10V

……

read_verilog design_include.v

current_design design_top

link

#set_operating_condition –max slow_10V –max_library slow_10V

#uDesign/uDMA速度快,需要使用1.4V供电

#set_operating_condition –max slow_14V –max_library slow_14V

–object_list \

12 / 26


数字集成电路低功耗物理实现技术与UPF(12).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:13章_表面物理化学1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: