fix leakage脚本

芯片的PPA追求是无止境的,因而在修时序的过程中我们需要对设计修复leakage,降低芯片的静态功耗。
以下分享一个典型的leakage脚本

set design 1
set version "V1"
set date [exec date +%m%d%H%M]
set working_directory ${design}_${version}_${date}

##host option
set_host_options -num_process 4 -max_cores 16
report_host_usage
start_hosts
##create_sceanario
create_scenario -name func.wcz -image loc1
create_scenario -name func.wc  -image loc2
create_scenario -name func.wcl -image loc3

current_session -all
current_scenario -all

remote_execute {
	set_app_var eco_enable_mim true
	set_app_var timing_save_pin_arrival_and_slack true
	set_app_var read_parasitics_load_location true
	set_app_var eco_enable_more_scenarios_than_hosts true
	set_app_var eco_power_exclude_unconstrained_cells true
	set eco_strict_pin_name_equivalence true
	my_set_lib_cell_vt_pattern_and_base_ref_name -pattern {H11P63CPDULVT LVT SVT}
	set_app_var eco_alternative_cell_attribute_restrictions "area base_ref_name"
}

remote_execute {
write_changes -reset
}

remote_execute {
	define_user_attribute pt_dont_use -quiet -type boolean -class lib_cell
	set i {CK* DCCK*}
	foreach ii $i {
		set_user_attribute -class lib_cell [get_lib_cells */$ii -quiet] pt_dont_use true
		echo "$ii already is setted dont use"
	}
	set_dont_touch [get_cells moduleA]
	##设置模块不被fix
	set_dont_touch [get_cells -filter "full_name =~ **xtop || full_name =~ fixHold" -hier]
	set_dont_touch [get_lib_cells */DCCK*] true
	set_dont_touch [get_lib_cells */AP*] true
}

remote_execute {
	set_max_transition 0.25 [current design]
}

remote_execute {
	set pattern {ULVT LVT SVT}
	report_global_timing > pre_global_timing.rpt
	report_constraint -all -max_cap -max_transition > pre_constraint.rpt
	report_cell_usage -pattern_priority $pattern > pre_cell_usage.rpt
	report_threshold_voltage_group -pattern_priority $pattern > pre_cell_usage_detail.rpt
}

if {1} {
	set pattern {}
	fix_eco_leakagew -pattern_priority $pattern -verbose -setup_margin 0.03
}

remote_execute {
	write_changes -format text -output pt_text.tcl
	write_changes -format ptsh -output pt_ptsh.tcl
}
##再使用脚本转化将ptsh文件变成innovus文件
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seu他山之石

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值