From 51566cf38bf70042089c6b9cdad009aeee113590 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Mon, 16 Oct 2023 10:11:10 -0300 Subject: [PATCH 01/13] use latest OpenROAD Signed-off-by: Eder Monteiro --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 436c7801ab..5f38dd68b5 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 436c7801abdcaf5019c76aebb506a485523912eb +Subproject commit 5f38dd68b56525e86189cf603bfe38dca1d969f3 From 776143b456274f5e2c8a3d70469a205950a1b40e Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 12 Oct 2023 15:34:58 -0300 Subject: [PATCH 02/13] move filler placement after grt Signed-off-by: Eder Monteiro --- flow/Makefile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flow/Makefile b/flow/Makefile index 4cfbc6a1bc..c24a6d5d7d 100644 --- a/flow/Makefile +++ b/flow/Makefile @@ -683,17 +683,13 @@ 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: - $(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: @@ -719,22 +715,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 ;\ From 548eb0dcd7e714deda31e35c9de67e40e995557a Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 12 Oct 2023 16:35:02 -0300 Subject: [PATCH 03/13] update tool scripts Signed-off-by: Eder Monteiro --- flow/scripts/detail_route.tcl | 4 ++-- flow/scripts/fillcell.tcl | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flow/scripts/detail_route.tcl b/flow/scripts/detail_route.tcl index 8832745732..9588709599 100644 --- a/flow/scripts/detail_route.tcl +++ b/flow/scripts/detail_route.tcl @@ -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] @@ -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 } diff --git a/flow/scripts/fillcell.tcl b/flow/scripts/fillcell.tcl index 138601f1c1..50f42338b7 100644 --- a/flow/scripts/fillcell.tcl +++ b/flow/scripts/fillcell.tcl @@ -1,6 +1,6 @@ -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] @@ -8,5 +8,5 @@ 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 } From 595aeebe6b806d8ae0d8d85b58d2285fed72f877 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 12 Oct 2023 16:43:06 -0300 Subject: [PATCH 04/13] run repair_antennas after global route Signed-off-by: Eder Monteiro --- flow/scripts/global_route.tcl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index 123a72e316..a1f3090291 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -26,6 +26,9 @@ global_route -guide_file $env(RESULTS_DIR)/route.guide \ {*}[expr {[info exists ::env(GLOBAL_ROUTE_ARGS)] ? $::env(GLOBAL_ROUTE_ARGS) : \ {-congestion_iterations 30 -congestion_report_iter_step 5 -verbose}}] +repair_antennas +check_placement -verbose + set_propagated_clock [all_clocks] estimate_parasitics -global_routing From 81386599ca595f4a187943d9cd8a72fcd64340e1 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 12 Oct 2023 18:39:28 -0300 Subject: [PATCH 05/13] set placement padding before repair_antennas Signed-off-by: Eder Monteiro --- flow/scripts/global_route.tcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index a1f3090291..b9f7cd2f04 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -26,6 +26,10 @@ global_route -guide_file $env(RESULTS_DIR)/route.guide \ {*}[expr {[info exists ::env(GLOBAL_ROUTE_ARGS)] ? $::env(GLOBAL_ROUTE_ARGS) : \ {-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 check_placement -verbose From 1175fa4aaca743458e5c08a8f993594b8ca9d9cb Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Mon, 16 Oct 2023 10:42:19 -0300 Subject: [PATCH 06/13] use 5 iterations for repair_antennas Signed-off-by: Eder Monteiro --- flow/scripts/global_route.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index b9f7cd2f04..16946e9154 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -30,7 +30,7 @@ global_route -guide_file $env(RESULTS_DIR)/route.guide \ set_placement_padding -global \ -left $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) \ -right $::env(CELL_PAD_IN_SITES_DETAIL_PLACEMENT) -repair_antennas +repair_antennas -iterations 5 check_placement -verbose From 0cfd7d831ea57b4c068b8d209fb742f94989455c Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Mon, 16 Oct 2023 19:15:11 -0300 Subject: [PATCH 07/13] bump or submodule Signed-off-by: Eder Monteiro --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 5f38dd68b5..ae75c43804 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 5f38dd68b56525e86189cf603bfe38dca1d969f3 +Subproject commit ae75c43804af57f2415a7c887de1378587bf4fae From 9c0c653eef8cb5415feda8c82c86767e03e9f57a Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Mon, 16 Oct 2023 23:50:49 -0300 Subject: [PATCH 08/13] set padding to zero again after repair_antennas Signed-off-by: Eder Monteiro --- flow/scripts/global_route.tcl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index 16946e9154..6266fb4aa3 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -33,6 +33,11 @@ set_placement_padding -global \ repair_antennas -iterations 5 check_placement -verbose +# Reset padding to zero, as it interfers with recover power and generate +# overlaps +set_placement_padding -global \ + -left 0 \ + -right 0 set_propagated_clock [all_clocks] estimate_parasitics -global_routing From cdbce2ea59db48820af9ff2a435a6dffd76eee30 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 19 Oct 2023 00:13:05 -0300 Subject: [PATCH 09/13] use latest OR for recover_power fixes Signed-off-by: Eder Monteiro --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index ae75c43804..8f9f51900e 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit ae75c43804af57f2415a7c887de1378587bf4fae +Subproject commit 8f9f51900e182d1e69da70415d0d1a5db38b8fb2 From dc2617dc94102f08042f006c3d8c2451c2a3a182 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 19 Oct 2023 18:07:22 -0300 Subject: [PATCH 10/13] update genMetrics Signed-off-by: Eder Monteiro --- flow/util/genMetrics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow/util/genMetrics.py b/flow/util/genMetrics.py index 4b3d4daeb1..dd002e6d0b 100755 --- a/flow/util/genMetrics.py +++ b/flow/util/genMetrics.py @@ -315,8 +315,8 @@ 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('fillcell', metrics_dict, logPath + '/5_2_fillcell.log') extractGnuTime('detailedroute', metrics_dict, logPath + '/5_2_route.log') extractGnuTime('finish_merge', metrics_dict, logPath + '/6_1_merge.log') extractGnuTime('finish', metrics_dict, logPath + '/6_report.log') From 91e89f66ea02844bea63dee4788770e7a28d8eb8 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Fri, 20 Oct 2023 10:50:07 -0300 Subject: [PATCH 11/13] fix drt log in genMetrics Signed-off-by: Eder Monteiro --- flow/util/genMetrics.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow/util/genMetrics.py b/flow/util/genMetrics.py index dd002e6d0b..a59eaca7f3 100755 --- a/flow/util/genMetrics.py +++ b/flow/util/genMetrics.py @@ -317,7 +317,7 @@ def extract_metrics(cwd, platform, design, flow_variant, output, hier_json): extractGnuTime('cts', metrics_dict, logPath + '/4_1_cts.log') extractGnuTime('globalroute', metrics_dict, logPath + '/5_1_grt.log') extractGnuTime('fillcell', metrics_dict, logPath + '/5_2_fillcell.log') - extractGnuTime('detailedroute', metrics_dict, logPath + '/5_2_route.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') From d90bd7b95382f4bc6c8772791571ff43db0d6772 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Fri, 20 Oct 2023 10:50:30 -0300 Subject: [PATCH 12/13] use latest or to get dpl fix Signed-off-by: Eder Monteiro --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index 8f9f51900e..6719c92e6e 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit 8f9f51900e182d1e69da70415d0d1a5db38b8fb2 +Subproject commit 6719c92e6ea92f0dc889c1f6806efd967c0c665e From cd2f1bc35f909a8ac701ab8219c1dae71e2d981f Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Fri, 20 Oct 2023 10:51:22 -0300 Subject: [PATCH 13/13] remove reset padding Signed-off-by: Eder Monteiro --- flow/scripts/global_route.tcl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index 6266fb4aa3..7b9b5ceec8 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -33,12 +33,6 @@ set_placement_padding -global \ repair_antennas -iterations 5 check_placement -verbose -# Reset padding to zero, as it interfers with recover power and generate -# overlaps -set_placement_padding -global \ - -left 0 \ - -right 0 - set_propagated_clock [all_clocks] estimate_parasitics -global_routing