ICC2:限制LVT比例
1) 禁用VT
在优化过程用,如果要禁用某种VT可以直接对其使用dont use,如下示例:
set_attribute -objects [get_lib_cells *_lvt*/*] -name dont_use -value true
在don't use lib cell的基础上还可以对某些模块放开lvt的使用。
set_app_options -name opt.common.enable_target_library_subset_opt -value 1
set_target_library_subset -objects [get_cells xx/xx] -only_here [get_lib_cells *lvt*/*]
report_target_library_subset -all
2) 约束比例
在某些高频设计中,完全不用lvt也很难收敛时序,所以工具提供一种软约束,达到尽量少用的目的,如下示例。
set_attribute [get_lib_cells */*HVT*] threshold_voltage_group HVT
set_attribute [get_lib_cells */*SVT*] threshold_voltage_group RVT
set_attribute [get_lib_cells */*LVT*] threshold_voltage_group LVT
set_threshold_voltage_group_type -type high_vt HVT
set_threshold_voltage_group_type -type normal_vt RVT
set_threshold_voltage_group_type -type low_vt LVT
set_max_lvt_percentage 0
要报告各VT比例可以使用report_threshold_voltage_groups -nosplit -summary
3) opt leakage power
修leakage power也有限制VT比例的作用,在不影响时序的情况下,可有效的减少LVT和RVT的比例。
set_scenario_status $scenario -leakage_power true