Skip to content

Commit

Permalink
Merge pull request The-OpenROAD-Project#1555 from eder-matheus/test-r…
Browse files Browse the repository at this point in the history
…epair_antennas

enable repair_antennas after global route
  • Loading branch information
maliberty authored Oct 20, 2023
2 parents b6fb383 + cd2f1bc commit 8a0f9b7
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 20 deletions.
24 changes: 12 additions & 12 deletions flow/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -683,18 +683,14 @@ cts: $(RESULTS_DIR)/4_cts.odb \
# ------------------------------------------------------------------------------
$(eval $(call do-step,4_1_cts,$(RESULTS_DIR)/3_place.odb $(RESULTS_DIR)/3_place.sdc,cts))

# Filler cell insertion
# ------------------------------------------------------------------------------
$(eval $(call do-step,4_2_cts_fillcell,$(RESULTS_DIR)/4_1_cts.odb,fillcell))

$(RESULTS_DIR)/4_cts.sdc: $(RESULTS_DIR)/4_cts.odb

$(eval $(call do-copy,4_cts,4_2_cts_fillcell.odb))
$(eval $(call do-copy,4_cts,4_1_cts.odb))

.PHONY: do-cts
do-cts:
mkdir -p $(LOG_DIR) $(REPORTS_DIR)
$(UNSET_AND_MAKE) do-4_1_cts do-4_2_cts_fillcell do-4_cts
$(UNSET_AND_MAKE) do-4_1_cts do-4_cts

.PHONY: clean_cts
clean_cts:
Expand All @@ -720,22 +716,26 @@ route: $(RESULTS_DIR)/5_route.odb \
#-------------------------------------------------------------------------------
$(eval $(call do-step,5_1_grt,$(RESULTS_DIR)/4_cts.odb $(FASTROUTE_TCL) $(PRE_GLOBAL_ROUTE),global_route))

# STEP 2: Run detailed route
# SEP 2: Filler cell insertion
# ------------------------------------------------------------------------------
$(eval $(call do-step,5_2_fillcell,$(RESULTS_DIR)/5_1_grt.odb,fillcell))

# STEP 3: Run detailed route
#-------------------------------------------------------------------------------
ifeq ($(USE_WXL),)
$(eval $(call do-step,5_2_route,$(RESULTS_DIR)/5_1_grt.odb,detail_route))
$(eval $(call do-step,5_3_route,$(RESULTS_DIR)/5_2_fillcell.odb,detail_route))
else
$(eval $(call do-step,5_2_route,$(RESULTS_DIR)/4_cts.odb,detail_route))
$(eval $(call do-step,5_3_route,$(RESULTS_DIR)/4_cts.odb,detail_route))
endif

$(eval $(call do-copy,5_route,5_2_route.odb))
$(eval $(call do-copy,5_route,5_3_route.odb))

$(eval $(call do-copy,5_route,4_cts.sdc,,.sdc))

.PHONY: do-route
do-route:
mkdir -p $(LOG_DIR) $(REPORTS_DIR)
$(UNSET_AND_MAKE) do-5_1_grt do-5_2_route do-5_route do-5_route.sdc
mkdir -p $(RESULTS_DIR) $(LOG_DIR) $(REPORTS_DIR)
$(UNSET_AND_MAKE) do-5_1_grt do-5_2_fillcell do-5_3_route do-5_route do-5_route.sdc

$(RESULTS_DIR)/5_route.v:
@export OR_DB=5_route ;\
Expand Down
4 changes: 2 additions & 2 deletions flow/scripts/detail_route.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ source $::env(SCRIPTS_DIR)/load.tcl
if { [info exists ::env(USE_WXL)]} {
set db_file 4_cts.odb
} else {
set db_file 5_1_grt.odb
set db_file 5_2_fillcell.odb
}
load_design $db_file 4_cts.sdc "Starting detailed routing"
set_propagated_clock [all_clocks]
Expand Down Expand Up @@ -74,5 +74,5 @@ if { [info exists ::env(POST_DETAIL_ROUTE_TCL)] } {
}

if {![info exists save_checkpoint] || $save_checkpoint} {
write_db $::env(RESULTS_DIR)/5_2_route.odb
write_db $::env(RESULTS_DIR)/5_3_route.odb
}
6 changes: 3 additions & 3 deletions flow/scripts/fillcell.tcl
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
utl::set_metrics_stage "cts__{}"
utl::set_metrics_stage "globalroute__{}"
source $::env(SCRIPTS_DIR)/load.tcl
load_design 4_1_cts.odb 3_place.sdc "Starting fill cell"
load_design 5_1_grt.odb 4_cts.sdc "Starting fill cell"

set_propagated_clock [all_clocks]

filler_placement $::env(FILL_CELLS)
check_placement

if {![info exists save_checkpoint] || $save_checkpoint} {
write_db $::env(RESULTS_DIR)/4_2_cts_fillcell.odb
write_db $::env(RESULTS_DIR)/5_2_fillcell.odb
}
6 changes: 6 additions & 0 deletions flow/scripts/global_route.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ global_route -guide_file $env(RESULTS_DIR)/route.guide \
{-congestion_iterations 30 -congestion_report_iter_step 5 -verbose}}]


set_placement_padding -global \
-left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \
-right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
repair_antennas -iterations 5
check_placement -verbose

set_propagated_clock [all_clocks]
estimate_parasitics -global_routing

Expand Down
4 changes: 2 additions & 2 deletions flow/util/genMetrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,9 @@ def extract_metrics(cwd, platform, design, flow_variant, output, hier_json):
extractGnuTime('placeopt', metrics_dict, logPath + '/3_4_place_resized.log')
extractGnuTime('detailedplace', metrics_dict, logPath + '/3_5_place_dp.log')
extractGnuTime('cts', metrics_dict, logPath + '/4_1_cts.log')
extractGnuTime('cts_fill', metrics_dict, logPath + '/4_2_cts_fillcell.log')
extractGnuTime('globalroute', metrics_dict, logPath + '/5_1_grt.log')
extractGnuTime('detailedroute', metrics_dict, logPath + '/5_2_route.log')
extractGnuTime('fillcell', metrics_dict, logPath + '/5_2_fillcell.log')
extractGnuTime('detailedroute', metrics_dict, logPath + '/5_3_route.log')
extractGnuTime('finish_merge', metrics_dict, logPath + '/6_1_merge.log')
extractGnuTime('finish', metrics_dict, logPath + '/6_report.log')

Expand Down
2 changes: 1 addition & 1 deletion tools/OpenROAD
Submodule OpenROAD updated 90 files
+58 −18 Jenkinsfile
+9 −0 include/ord/Design.h
+80 −2 src/Design.cc
+1 −0 src/OpenRoad-py.i
+1 −1 src/dpl/src/Grid.cpp
+4 −0 src/dpl/src/Place.cpp
+1 −0 src/dpo/src/architecture.cxx
+10 −8 src/dpo/src/detailed_mis.cxx
+17 −4 src/drt/src/TritonRoute.cpp
+139 −89 src/drt/src/dr/FlexDR.cpp
+8 −14 src/drt/src/dr/FlexDR.h
+7 −4 src/drt/src/dr/FlexDR_end.cpp
+6 −6 src/drt/src/dr/FlexDR_init.cpp
+1 −1 src/drt/src/dr/FlexDR_maze.cpp
+7 −0 src/drt/src/frBaseTypes.h
+26 −12 src/drt/src/gr/FlexGR.cpp
+4 −5 src/drt/src/gr/FlexGR.h
+9 −8 src/drt/src/gr/FlexGR_maze.cpp
+5 −1 src/drt/src/pa/FlexPA.h
+1 −0 src/drt/src/pa/FlexPA_unique.h
+1 −1 src/drt/test/gcd_nangate45_test_worker.tcl
+1 −1 src/dst/src/WorkerConnection.cc
+0 −1 src/gpl/test/regression_tests.tcl
+0 −1 src/gpl/test/regression_tests_large.tcl
+2 −2 src/grt/include/grt/GlobalRouter.h
+12 −3 src/grt/src/GlobalRouter.cpp
+3 −1 src/gui/README.md
+1 −0 src/gui/include/gui/gui.h
+3 −1 src/gui/src/gui.cpp
+2 −2 src/gui/src/gui.i
+15 −2 src/gui/src/gui.tcl
+6 −6 src/gui/src/gui_utils.cpp
+3 −0 src/gui/src/gui_utils.h
+12 −5 src/gui/src/layoutViewer.cpp
+1 −0 src/gui/src/layoutViewer.h
+19 −14 src/mpl2/src/Mpl2Observer.h
+21 −1 src/mpl2/src/graphics.cpp
+7 −1 src/mpl2/src/graphics.h
+72 −15 src/mpl2/src/hier_rtlmp.cpp
+3 −9 src/mpl2/src/mpl.i
+12 −1 src/mpl2/src/mpl.tcl
+16 −10 src/mpl2/src/object.cpp
+5 −5 src/mpl2/src/object.h
+30 −16 src/mpl2/src/rtl_mp.cpp
+44 −0 src/odb/include/odb/db.h
+1 −0 src/odb/include/odb/dbObject.h
+7 −0 src/odb/src/codeGenerator/schema.json
+36 −0 src/odb/src/codeGenerator/schema/tech/dbTechLayerForbiddenSpacingRule.json
+1 −0 src/odb/src/db/CMakeLists.txt
+4 −1 src/odb/src/db/dbDatabase.h
+1 −0 src/odb/src/db/dbObject.cpp
+27 −0 src/odb/src/db/dbTechLayer.cpp
+3 −0 src/odb/src/db/dbTechLayer.h
+268 −0 src/odb/src/db/dbTechLayerForbiddenSpacingRule.cpp
+74 −0 src/odb/src/db/dbTechLayerForbiddenSpacingRule.h
+8 −1 src/odb/src/defin/definReader.cpp
+1 −0 src/odb/src/lefin/CMakeLists.txt
+16 −0 src/odb/src/lefin/lefLayerPropParser.h
+138 −0 src/odb/src/lefin/lefTechLayerForbiddenSpacingRuleParser.cpp
+3 −0 src/odb/src/lefin/lefin.cpp
+32 −0 src/odb/test/cpp/TestLef58Properties.cpp
+4 −0 src/odb/test/data/gscl45nm.lef
+1 −0 src/pdn/src/sroute.h
+3 −1 src/rmp/src/Restructure.cpp
+3 −1 src/rsz/include/rsz/Resizer.hh
+3 −5 src/rsz/src/EstimateWireParasitics.cc
+7 −5 src/rsz/src/RecoverPower.cc
+3 −0 src/rsz/src/RepairDesign.cc
+14 −12 src/rsz/src/Resizer.cc
+1 −1 src/rsz/src/SteinerTree.cc
+1 −1 src/rsz/test/repair_hold10.ok
+3 −3 src/rsz/test/repair_setup6.ok
+1 −1 src/sta
+8 −4 src/stt/src/SteinerTreeBuilder.cpp
+1 −1 src/stt/src/pdr/src/pd.cpp
+6,367 −0 test/gcd_nangate45.def
+3 −0 test/regression_tests.tcl
+1,981 −0 test/timing_api_2.ok
+27 −0 test/timing_api_2.py
+56 −0 test/timing_api_2.sdc
+0 −0 test/upf/mpd_aes.upf
+0 −0 test/upf/mpd_aes.v
+0 −0 test/upf/mpd_top.upf
+0 −0 test/upf/mpd_top.v
+121,305 −0 test/upf_aes.defok
+65 −0 test/upf_aes.ok
+6 −5 test/upf_aes.tcl
+132 −0 test/upf_test.defok
+65 −0 test/upf_test.ok
+6 −7 test/upf_test.tcl

0 comments on commit 8a0f9b7

Please sign in to comment.