Skip to content

Commit

Permalink
Merge pull request #2023 from The-OpenROAD-Project-staging/dpl-fail-odb
Browse files Browse the repository at this point in the history
Write a failure odb for any command in detail_place.tcl
  • Loading branch information
maliberty committed May 21, 2024
2 parents a5072f4 + 8538a12 commit a864359
Showing 1 changed file with 24 additions and 20 deletions.
44 changes: 24 additions & 20 deletions flow/scripts/detail_place.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,37 @@ load_design 3_4_place_resized.odb 2_floorplan.sdc

source $::env(PLATFORM_DIR)/setRC.tcl

# Only for use with hybrid rows
if {[info exists ::env(BALANCE_ROWS)] && $::env(BALANCE_ROWS)} {
balance_row_usage
proc do_dpl {} {
# Only for use with hybrid rows
if {[info exists ::env(BALANCE_ROWS)] && $::env(BALANCE_ROWS)} {
balance_row_usage
}

set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
detailed_placement

if {[info exists ::env(ENABLE_DPO)] && $::env(ENABLE_DPO)} {
if {[info exist ::env(DPO_MAX_DISPLACEMENT)]} {
improve_placement -max_displacement $::env(DPO_MAX_DISPLACEMENT)
} else {
improve_placement
}
}
optimize_mirroring

utl::info FLW 12 "Placement violations [check_placement -verbose]."

estimate_parasitics -placement
}

set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
set result [catch {detailed_placement} errMsg]
set result [catch {do_dpl} errMsg]
if {$result != 0} {
write_db $::env(RESULTS_DIR)/3_5_place_dp-failed.odb
error $errMsg
}

if {[info exists ::env(ENABLE_DPO)] && $::env(ENABLE_DPO)} {
if {[info exist ::env(DPO_MAX_DISPLACEMENT)]} {
improve_placement -max_displacement $::env(DPO_MAX_DISPLACEMENT)
} else {
improve_placement
}
}
optimize_mirroring

utl::info FLW 12 "Placement violations [check_placement -verbose]."

estimate_parasitics -placement

report_metrics 3 "detailed place" true false

write_db $::env(RESULTS_DIR)/3_5_place_dp.odb

0 comments on commit a864359

Please sign in to comment.