Skip to content

Commit cafcb2d

Browse files
committed
dpl: easier setting for using negotiation legalizer
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
1 parent c60345b commit cafcb2d

3 files changed

Lines changed: 24 additions & 4 deletions

File tree

flow/scripts/cts.tcl

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ set_placement_padding -global \
4646
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
4747
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
4848

49-
set result [catch { log_cmd detailed_placement } msg]
49+
if { [env_var_exists_and_non_empty USE_NEGOTIATION] && $::env(USE_NEGOTIATION) } {
50+
set result [catch { log_cmd detailed_placement -use_negotiation } msg]
51+
} else {
52+
set result [catch { log_cmd detailed_placement } msg]
53+
}
5054
if { $result != 0 } {
5155
save_progress 4_1_error
5256
error "Detailed placement failed in CTS: $msg"
@@ -70,7 +74,11 @@ if { !$::env(SKIP_CTS_REPAIR_TIMING) } {
7074
run_lec_test 4_rsz 4_before_rsz_lec.v 4_after_rsz_lec.v
7175
}
7276

77+
if { [env_var_exists_and_non_empty USE_NEGOTIATION] && $::env(USE_NEGOTIATION) } {
78+
set result [catch { log_cmd detailed_placement -use_negotiation } msg]
79+
} else {
7380
set result [catch { log_cmd detailed_placement } msg]
81+
}
7482
if { $result != 0 } {
7583
save_progress 4_1_error
7684
error "Detailed placement failed in CTS: $msg"

flow/scripts/detail_place.tcl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ proc do_dpl { } {
1515
set_placement_padding -global \
1616
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
1717
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
18-
log_cmd detailed_placement {*}[env_var_or_empty DETAIL_PLACEMENT_ARGS]
18+
if { [env_var_exists_and_non_empty USE_NEGOTIATION] && $::env(USE_NEGOTIATION) } {
19+
log_cmd detailed_placement -use_negotiation {*}[env_var_or_empty DETAIL_PLACEMENT_ARGS]
20+
} else {
21+
log_cmd detailed_placement {*}[env_var_or_empty DETAIL_PLACEMENT_ARGS]
22+
}
1923

2024
if { $::env(ENABLE_DPO) } {
2125
if { [env_var_exists_and_non_empty DPO_MAX_DISPLACEMENT] } {

flow/scripts/global_route.tcl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ proc global_route_helper { } {
6262
# Running DPL to fix overlapped instances
6363
# Run to get modified net by DPL
6464
log_cmd global_route -start_incremental
65-
log_cmd detailed_placement
65+
if { [env_var_exists_and_non_empty USE_NEGOTIATION] && $::env(USE_NEGOTIATION) } {
66+
log_cmd detailed_placement -use_negotiation
67+
} else {
68+
log_cmd detailed_placement
69+
}
6670
# Route only the modified net by DPL
6771
log_cmd global_route -end_incremental {*}$res_aware \
6872
-congestion_report_file $::env(REPORTS_DIR)/congestion_post_repair_design.rpt
@@ -80,7 +84,11 @@ proc global_route_helper { } {
8084
# Running DPL to fix overlapped instances
8185
# Run to get modified net by DPL
8286
log_cmd global_route -start_incremental
83-
log_cmd detailed_placement
87+
if { [env_var_exists_and_non_empty USE_NEGOTIATION] && $::env(USE_NEGOTIATION) } {
88+
log_cmd detailed_placement -use_negotiation
89+
} else {
90+
log_cmd detailed_placement
91+
}
8492
check_placement -verbose
8593
# Route only the modified net by DPL
8694
log_cmd global_route -end_incremental {*}$res_aware \

0 commit comments

Comments
 (0)