@@ -235,6 +235,7 @@ proc repair_tie_fanout { args } {
235235# in define_cmd_args
236236sta::define_cmd_args " repair_timing" {[-setup] [-hold]\
237237 [-recover_power percent_of_paths_with_slack]\
238+ [-more_recover_power]\
238239 [-setup_margin setup_margin]\
239240 [-hold_margin hold_margin]\
240241 [-slack_margin slack_margin]\
@@ -265,7 +266,7 @@ proc repair_timing { args } {
265266 -recover_power -repair_tns -max_passes -max_iterations -max_repairs_per_pass} \
266267 flags {-setup -hold -allow_setup_violations -skip_pin_swap -skip_gate_cloning \
267268 -skip_size_down -skip_buffering -skip_buffer_removal -skip_last_gasp \
268- -skip_vt_swap -skip_crit_vt_swap -match_cell_footprint -verbose}
269+ -skip_vt_swap -skip_crit_vt_swap -match_cell_footprint -more_recover_power - verbose}
269270
270271 set setup [info exists flags(-setup)]
271272 set hold [info exists flags(-hold)]
@@ -355,6 +356,23 @@ proc repair_timing { args } {
355356 sta::check_argc_eq0 " repair_timing" $args
356357 est::check_parasitics
357358
359+ set more_recover_power [info exists flags(-more_recover_power)]
360+ if { !$more_recover_power && [info exists ::env(MORE_RECOVER_POWER)] } {
361+ set env_more_recover_power [string tolower $::env(MORE_RECOVER_POWER) ]
362+ switch -- $env_more_recover_power {
363+ 1 - true - yes - on {
364+ set more_recover_power 1
365+ }
366+ 0 - false - no - off - " " {
367+ set more_recover_power 0
368+ }
369+ default {
370+ set more_recover_power 1
371+ }
372+ }
373+ }
374+ rsz::set_more_recover_power $more_recover_power
375+
358376 set recovered_power 0
359377 set repaired_setup 0
360378 set repaired_hold 0
0 commit comments