File tree Expand file tree Collapse file tree 4 files changed +18
-28
lines changed
Expand file tree Collapse file tree 4 files changed +18
-28
lines changed Original file line number Diff line number Diff line change @@ -71,22 +71,12 @@ if {[info exist ::env(CTS_SNAPSHOTS)]} {
7171 save_progress 4_1_pre_repair_hold_setup
7272}
7373
74- # process user settings
75- set additional_args " -verbose"
76- append_env_var additional_args SETUP_SLACK_MARGIN -setup_margin 1
77- append_env_var additional_args HOLD_SLACK_MARGIN -hold_margin 1
78- append_env_var additional_args TNS_END_PERCENT -repair_tns 1
79- append_env_var additional_args SKIP_PIN_SWAP -skip_pin_swap 0
80- append_env_var additional_args SKIP_GATE_CLONING -skip_gate_cloning 0
81- append_env_var additional_args SKIP_BUFFER_REMOVAL -skip_buffer_removal 0
82-
8374if {[info exists ::env(SKIP_CTS_REPAIR_TIMING)] == 0 || $::env(SKIP_CTS_REPAIR_TIMING) == 0} {
8475 if {[info exists ::env(EQUIVALENCE_CHECK)] && $::env(EQUIVALENCE_CHECK) == 1} {
8576 write_eqy_verilog 4_before_rsz.v
8677 }
8778
88- puts " repair_timing [ join $additional_args " " ] "
89- repair_timing {*}$additional_args
79+ repair_timing_helper
9080
9181 if {[info exists ::env(EQUIVALENCE_CHECK)] && $::env(EQUIVALENCE_CHECK) == 1} {
9282 run_equivalence_test
Original file line number Diff line number Diff line change @@ -104,13 +104,7 @@ if {[info exists ::env(FOOTPRINT_TCL)]} {
104104if { [info exists ::env(REMOVE_ABC_BUFFERS)] && $::env(REMOVE_ABC_BUFFERS) == 1 } {
105105 remove_buffers
106106} else {
107- set additional_args " -verbose"
108- append_env_var additional_args SETUP_SLACK_MARGIN -setup_margin 1
109- append_env_var additional_args TNS_END_PERCENT -repair_tns 1
110- append_env_var additional_args SKIP_PIN_SWAP -skip_pin_swap 0
111- append_env_var additional_args SKIP_GATE_CLONING -skip_gate_cloning 0
112- append_env_var additional_args SKIP_BUFFER_REMOVAL -skip_buffer_removal 0
113- repair_timing {*}$additional_args
107+ repair_timing_helper 0
114108}
115109
116110# #### Restructure for timing #########
Original file line number Diff line number Diff line change @@ -72,16 +72,7 @@ proc global_route_helper {} {
7272 puts " Repair setup and hold violations..."
7373 estimate_parasitics -global_routing
7474
75- # process user settings
76- set additional_args " -verbose"
77- append_env_var additional_args SETUP_SLACK_MARGIN -setup_margin 1
78- append_env_var additional_args HOLD_SLACK_MARGIN -hold_margin 1
79- append_env_var additional_args TNS_END_PERCENT -repair_tns 1
80- append_env_var additional_args SKIP_PIN_SWAP -skip_pin_swap 0
81- append_env_var additional_args SKIP_GATE_CLONING -skip_gate_cloning 0
82- append_env_var additional_args SKIP_BUFFER_REMOVAL -skip_buffer_removal 0
83- puts " repair_timing [ join $additional_args " " ] "
84- repair_timing {*}$additional_args
75+ repair_timing_helper
8576
8677 if {[info exist ::env(DETAILED_METRICS)]} {
8778 report_metrics 5 " global route post repair timing"
Original file line number Diff line number Diff line change @@ -14,3 +14,18 @@ proc fast_route {} {
1414 }
1515 }
1616}
17+
18+ # -hold_margin is only set when hold_margin is set, default 1
19+ proc repair_timing_helper { {hold_margin 1} } {
20+ set additional_args " -verbose"
21+ append_env_var additional_args SETUP_SLACK_MARGIN -setup_margin 1
22+ if {$hold_margin } {
23+ append_env_var additional_args HOLD_SLACK_MARGIN -hold_margin 1
24+ }
25+ append_env_var additional_args TNS_END_PERCENT -repair_tns 1
26+ append_env_var additional_args SKIP_PIN_SWAP -skip_pin_swap 0
27+ append_env_var additional_args SKIP_GATE_CLONING -skip_gate_cloning 0
28+ append_env_var additional_args SKIP_BUFFER_REMOVAL -skip_buffer_removal 0
29+ puts " repair_timing [ join $additional_args " " ] "
30+ repair_timing {*}$additional_args
31+ }
You can’t perform that action at this time.
0 commit comments