From 246f617c7e94970e0c9ba348606a1120247207cc Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Tue, 13 May 2025 15:24:30 -0300 Subject: [PATCH 1/4] add grt configs for asap7 Signed-off-by: Eder Monteiro --- flow/platforms/asap7/config.mk | 5 ++++- flow/platforms/asap7/fastroute.tcl | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 flow/platforms/asap7/fastroute.tcl diff --git a/flow/platforms/asap7/config.mk b/flow/platforms/asap7/config.mk index 73be68584f..75aa75c76a 100644 --- a/flow/platforms/asap7/config.mk +++ b/flow/platforms/asap7/config.mk @@ -63,9 +63,12 @@ export SET_RC_TCL = $(PLATFORM_DIR)/setRC.tcl # Route options export MIN_ROUTING_LAYER ?= M2 -#export MIN_CLOCK_ROUTING_LAYER = M4 +export MIN_CLK_ROUTING_LAYER ?= M4 export MAX_ROUTING_LAYER ?= M7 +# Define fastRoute tcl +export FASTROUTE_TCL ?= $(PLATFORM_DIR)/fastroute.tcl + # KLayout technology file export KLAYOUT_TECH_FILE = $(PLATFORM_DIR)/KLayout/asap7.lyt diff --git a/flow/platforms/asap7/fastroute.tcl b/flow/platforms/asap7/fastroute.tcl new file mode 100644 index 0000000000..51c8403b1c --- /dev/null +++ b/flow/platforms/asap7/fastroute.tcl @@ -0,0 +1,3 @@ +set_global_routing_layer_adjustment $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) 0.25 +set_routing_layers -clock $::env(MIN_CLK_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) +set_routing_layers -signal $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) From b42438c7526504179f1403b48daab1e054ebdbda Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Wed, 14 May 2025 15:25:29 -0300 Subject: [PATCH 2/4] fix min clock layer for asap7/riscv32i-mock-sram Signed-off-by: Eder Monteiro --- flow/designs/asap7/riscv32i-mock-sram/fakeram7_256x32/config.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/flow/designs/asap7/riscv32i-mock-sram/fakeram7_256x32/config.mk b/flow/designs/asap7/riscv32i-mock-sram/fakeram7_256x32/config.mk index ce5a44e06c..3c1a32d84c 100644 --- a/flow/designs/asap7/riscv32i-mock-sram/fakeram7_256x32/config.mk +++ b/flow/designs/asap7/riscv32i-mock-sram/fakeram7_256x32/config.mk @@ -11,6 +11,7 @@ export PLACE_DENSITY = 0.80 # fakeram7 doesn't block off M5, so limit to M4 here. # However, PDN will use M5, so it is still added to blockages. export MAX_ROUTING_LAYER = M4 +export MIN_CLK_ROUTING_LAYER = M2 export PLACE_PINS_ARGS = -min_distance 6 -min_distance_in_tracks export IO_CONSTRAINTS = $(DESIGN_HOME)/asap7/riscv32i-mock-sram/fakeram7_256x32/io.tcl From a140e2634991712b721130738374af814ac97de7 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 15 May 2025 11:25:25 -0300 Subject: [PATCH 3/4] bump or again Signed-off-by: Eder Monteiro --- tools/OpenROAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/OpenROAD b/tools/OpenROAD index f73d9fd92b..792c5b90e5 160000 --- a/tools/OpenROAD +++ b/tools/OpenROAD @@ -1 +1 @@ -Subproject commit f73d9fd92bd100152bfc59f1ef932b2897afd651 +Subproject commit 792c5b90e53184d8464e7e98556b9a002525c93d From 7c1145563ebf1a23d495333cbae8de7310c77165 Mon Sep 17 00:00:00 2001 From: Eder Monteiro Date: Thu, 15 May 2025 15:32:35 -0300 Subject: [PATCH 4/4] update failing metrics Signed-off-by: Eder Monteiro --- flow/designs/asap7/jpeg/rules-base.json | 16 ++++++++-------- flow/designs/asap7/mock-alu/rules-base.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/flow/designs/asap7/jpeg/rules-base.json b/flow/designs/asap7/jpeg/rules-base.json index 6d4217d2e3..aa8d38a509 100644 --- a/flow/designs/asap7/jpeg/rules-base.json +++ b/flow/designs/asap7/jpeg/rules-base.json @@ -1,6 +1,6 @@ { "synth__design__instance__area__stdcell": { - "value": 7117.21, + "value": 7008.24, "compare": "<=" }, "constraints__clocks__count": { @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 7801, + "value": 7648, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 66869, + "value": 65384, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,11 +20,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 5815, + "value": 5686, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 5815, + "value": 5686, "compare": "<=" }, "globalroute__antenna_diodes_count": { @@ -48,15 +48,15 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": 0.0, + "value": -54.68, "compare": ">=" }, "finish__design__instance__area": { - "value": 7973, + "value": 7738, "compare": "<=" }, "finish__timing__drv__setup_violation_count": { - "value": 2907, + "value": 2843, "compare": "<=" }, "finish__timing__drv__hold_violation_count": { diff --git a/flow/designs/asap7/mock-alu/rules-base.json b/flow/designs/asap7/mock-alu/rules-base.json index 656330e652..350a675995 100644 --- a/flow/designs/asap7/mock-alu/rules-base.json +++ b/flow/designs/asap7/mock-alu/rules-base.json @@ -48,7 +48,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -515.34, + "value": -521.3, "compare": ">=" }, "finish__design__instance__area": { @@ -60,7 +60,7 @@ "compare": "<=" }, "finish__timing__drv__hold_violation_count": { - "value": 148, + "value": 116, "compare": "<=" }, "finish__timing__wns_percent_delay": {