【IC】Genus功耗优化

使能功耗优化

属性design_power_effort是Genus中功耗优化的主要控制属性。可以设为:

  • none-关闭功耗优化
  • low-在保证面积开销小的情况下优化功耗。适合于非常timing-critical的设计并且对面积和runtime有严格要求
  • high-将使用更激进的算法,以牺牲面积和性能的代价来降低功耗。适合主要关注功耗的设计

使用opt_high_effort_lib_cells属性,可以标记只在timing优化后期使用的library cell。这能够帮助限制泄漏电流大的cell的早期使用。这些cell在优化早期被标记为dont use true。

设置leakage vs dynamic 功耗优化比例

使用opt_leakage_to_dynamic_ratio属性来控制逻辑优化评估时的leakage和dynamic的权重。必须时0~1之间的浮点数,0代表只优化dynamic,1代表只优化leakage。

建议使用1位小数例如(0.2、0.3),0.5是一个全局power优化的好的起始设置。

优化功耗的技术

  • Genus能够resize gate或将一个高翻转率的信号移到路径后面

在这里插入图片描述

  • Genus能够重新连接高翻转率的net到低电容的pin上

在这里插入图片描述

  • Genus能够使用复杂的门吸收高频net成内部net

在这里插入图片描述

  • internal 功耗依赖输入slew和输出load,提高input slew可以降低动态功耗,对关键路径添加buffer

在这里插入图片描述

  • Genus可以在高活动因子的net上添加或删除buffer来降低动态功耗

脚本示例

init_design

#read activity data
read_vcd top.pwr_bm.vcd

#enable high-effort power optimization
set_db design_power_effort high

#optimize for both leakage and dynamic power equally
set_db opt_leakage_to_dynamic_ratio 0.5

#restrict usage of ultra-low Vt cells
set_dont_use [get_db lib_cells *ULVT*] true
set_db opt_high_effort_lib_cells [get_db lib_cells *ULVT*]

#run early-physical flow
syn_generic -physical
syn_map -physical

#run dedicated logical incre opt (optional)
syn_opt

#call iSpatial flow
syn_opt -spatial

#report power
report_power

参考资料:
Genus Low Power

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值