Skip to content

Commit ad3e8cc

Browse files
committed
flow: reduce default DPO displacement for extra DPL
Signed-off-by: PrecisEDAnon <PrecisEDAnon@proton.me>
1 parent 10df5fe commit ad3e8cc

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

flow/scripts/detail_place.tcl

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,26 @@ proc do_dpl { } {
1818

1919
if { $::env(ENABLE_DPO) } {
2020
set dpo_args {}
21-
if { [env_var_truthy ORFS_ENABLE_NEW_OPENROAD] } {
21+
set enable_extra_dpl [env_var_truthy ORFS_ENABLE_NEW_OPENROAD]
22+
if { $enable_extra_dpl } {
2223
lappend dpo_args -enable_extra_dpl 1
2324
}
25+
26+
set max_displacement ""
2427
if { [env_var_exists_and_non_empty DPO_MAX_DISPLACEMENT] } {
25-
improve_placement -max_displacement $::env(DPO_MAX_DISPLACEMENT) {*}$dpo_args
28+
set max_displacement $::env(DPO_MAX_DISPLACEMENT)
29+
if { $enable_extra_dpl } {
30+
set trimmed [string trim $max_displacement]
31+
# The default displacement is tuned for legacy DPO; use a smaller
32+
# default for the extra-DPL path unless explicitly overridden.
33+
if { $trimmed eq "5 1" || $trimmed eq "5" } {
34+
set max_displacement 1
35+
}
36+
}
37+
}
38+
39+
if { $max_displacement ne "" } {
40+
improve_placement -max_displacement $max_displacement {*}$dpo_args
2641
} else {
2742
improve_placement {*}$dpo_args
2843
}

0 commit comments

Comments
 (0)