diff --git a/.github/workflows/github-actions-update-rules.yml b/.github/workflows/github-actions-update-rules.yml index 01e4ddc27e..c728f90df9 100644 --- a/.github/workflows/github-actions-update-rules.yml +++ b/.github/workflows/github-actions-update-rules.yml @@ -18,7 +18,7 @@ jobs: run: | git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*" git fetch - git checkout ${{ github.event.client_payload.branch }} + git checkout "origin/pr/${{ github.event.client_payload.branch }}" - uses: actions/setup-python@v4 with: python-version: "3.10" @@ -53,7 +53,7 @@ jobs: name: update rules pr id: remote-update-pr run: | - git push origin ${{ github.event.client_payload.branch }} + git push origin "HEAD:refs/pull/${{ github.event.client_payload.branch }}/head" - if: "steps.remote-update.outputs.has_update == 'true' && github.event.client_payload.branch == 'master'" name: Create Draft PR uses: peter-evans/create-pull-request@v5 diff --git a/flow/Makefile b/flow/Makefile index 2454bdfea7..19a7186cc2 100644 --- a/flow/Makefile +++ b/flow/Makefile @@ -287,7 +287,7 @@ endif export OPENROAD_EXE ?= $(abspath $(FLOW_HOME)/../tools/install/OpenROAD/bin/openroad) export OPENSTA_EXE ?= $(abspath $(FLOW_HOME)/../tools/install/OpenROAD/bin/sta) -OPENROAD_ARGS = -no_init $(OR_ARGS) +OPENROAD_ARGS = -no_init -threads $(NUM_CORES) $(OR_ARGS) OPENROAD_CMD = $(OPENROAD_EXE) -exit $(OPENROAD_ARGS) OPENROAD_NO_EXIT_CMD = $(OPENROAD_EXE) $(OPENROAD_ARGS) OPENROAD_GUI_CMD = $(OPENROAD_EXE) -gui $(OR_ARGS) @@ -490,7 +490,7 @@ $(SDC_FILE_CLOCK_PERIOD): $(SDC_FILE) echo $(ABC_CLOCK_PERIOD_IN_PS) > $@ .PHONY: yosys-dependencies -yosys-dependencies: $(DONT_USE_LIBS) $(WRAPPED_LIBS) $(DONT_USE_SC_LIB) $(DFF_LIB_FILE) $(VERILOG_FILES) $(CACHED_NETLIST) $(LATCH_MAP_FILE) $(ADDER_MAP_FILE) +yosys-dependencies: $(DONT_USE_LIBS) $(WRAPPED_LIBS) $(DONT_USE_SC_LIB) $(DFF_LIB_FILE) $(VERILOG_FILES) $(CACHED_NETLIST) $(LATCH_MAP_FILE) $(ADDER_MAP_FILE) $(SDC_FILE_CLOCK_PERIOD) .PHONY: do-yosys do-yosys: @@ -503,10 +503,10 @@ do-yosys-canonicalize: yosys-dependencies mkdir -p $(RESULTS_DIR) $(LOG_DIR) $(REPORTS_DIR) $(OBJECTS_DIR) ($(TIME_CMD) $(YOSYS_CMD) $(YOSYS_FLAGS) -c $(SCRIPTS_DIR)/synth_canonicalize.tcl) 2>&1 | tee $(LOG_DIR)/1_1_yosys.log -$(RESULTS_DIR)/1_synth.rtlil: $(SDC_FILE_CLOCK_PERIOD) +$(RESULTS_DIR)/1_synth.rtlil: $(UNSET_AND_MAKE) do-yosys-canonicalize -$(RESULTS_DIR)/1_1_yosys.v: $(RESULTS_DIR)/1_synth.rtlil $(SDC_FILE_CLOCK_PERIOD) +$(RESULTS_DIR)/1_1_yosys.v: $(RESULTS_DIR)/1_synth.rtlil $(UNSET_AND_MAKE) do-yosys $(RESULTS_DIR)/1_synth.sdc: $(SDC_FILE) diff --git a/flow/designs/asap7/mock-alu/metadata-base-ok.json b/flow/designs/asap7/mock-alu/metadata-base-ok.json index ed7df8c81b..aeb3124ae2 100644 --- a/flow/designs/asap7/mock-alu/metadata-base-ok.json +++ b/flow/designs/asap7/mock-alu/metadata-base-ok.json @@ -5,7 +5,7 @@ ], "cts__clock__skew__hold": 13.5493, "cts__clock__skew__setup": 10.7069, - "cts__cpu__total": 138.38, + "cts__cpu__total": 146.98, "cts__design__core__area": 2872.41, "cts__design__die__area": 3342.11, "cts__design__instance__area": 1640.5, @@ -25,13 +25,13 @@ "cts__design__violations": 0, "cts__flow__errors__count": 0, "cts__flow__warnings__count": 11, - "cts__mem__peak": 292656.0, + "cts__mem__peak": 292024.0, "cts__power__internal__total": 0.0575174, "cts__power__leakage__total": 1.07023e-06, "cts__power__switching__total": 0.0398433, "cts__power__total": 0.0973618, "cts__route__wirelength__estimated": 36116.3, - "cts__runtime__total": "2:18.57", + "cts__runtime__total": "2:27.14", "cts__timing__drv__hold_violation_count": 0, "cts__timing__drv__max_cap": 0, "cts__timing__drv__max_cap_limit": 0.073199, @@ -43,7 +43,7 @@ "cts__timing__setup__tns": -239641, "cts__timing__setup__ws": -500.178, "design__io__hpwl": 2988243, - "detailedplace__cpu__total": 8.22, + "detailedplace__cpu__total": 8.72, "detailedplace__design__core__area": 2872.41, "detailedplace__design__die__area": 3342.11, "detailedplace__design__instance__area": 1547.96, @@ -61,13 +61,13 @@ "detailedplace__design__violations": 0, "detailedplace__flow__errors__count": 0, "detailedplace__flow__warnings__count": 10, - "detailedplace__mem__peak": 269132.0, + "detailedplace__mem__peak": 268556.0, "detailedplace__power__internal__total": 0.0495673, "detailedplace__power__leakage__total": 9.9424e-07, "detailedplace__power__switching__total": 0.0317671, "detailedplace__power__total": 0.0813354, "detailedplace__route__wirelength__estimated": 28741.9, - "detailedplace__runtime__total": "0:08.38", + "detailedplace__runtime__total": "0:08.86", "detailedplace__timing__drv__hold_violation_count": 0, "detailedplace__timing__drv__max_cap": 0, "detailedplace__timing__drv__max_cap_limit": 0.073199, @@ -80,78 +80,74 @@ "detailedplace__timing__setup__ws": -659.993, "detailedroute__antenna__violating__nets": 0, "detailedroute__antenna__violating__pins": 0, - "detailedroute__cpu__total": 2219.1, + "detailedroute__cpu__total": 2340.4, "detailedroute__flow__errors__count": 0, "detailedroute__flow__warnings__count": 15, - "detailedroute__mem__peak": 5819732.0, + "detailedroute__mem__peak": 5847280.0, "detailedroute__route__drc_errors": 0, - "detailedroute__route__drc_errors__iter:1": 4222, - "detailedroute__route__drc_errors__iter:2": 790, - "detailedroute__route__drc_errors__iter:3": 745, - "detailedroute__route__drc_errors__iter:4": 27, - "detailedroute__route__drc_errors__iter:5": 4, - "detailedroute__route__drc_errors__iter:6": 4, - "detailedroute__route__drc_errors__iter:7": 0, - "detailedroute__route__net": 14001, + "detailedroute__route__drc_errors__iter:1": 4130, + "detailedroute__route__drc_errors__iter:2": 888, + "detailedroute__route__drc_errors__iter:3": 679, + "detailedroute__route__drc_errors__iter:4": 25, + "detailedroute__route__drc_errors__iter:5": 0, + "detailedroute__route__net": 14107, "detailedroute__route__net__special": 2, - "detailedroute__route__vias": 127559, + "detailedroute__route__vias": 130856, "detailedroute__route__vias__multicut": 0, - "detailedroute__route__vias__singlecut": 127559, - "detailedroute__route__wirelength": 67919, - "detailedroute__route__wirelength__iter:1": 68234, - "detailedroute__route__wirelength__iter:2": 67906, - "detailedroute__route__wirelength__iter:3": 67865, - "detailedroute__route__wirelength__iter:4": 67915, - "detailedroute__route__wirelength__iter:5": 67916, - "detailedroute__route__wirelength__iter:6": 67919, - "detailedroute__route__wirelength__iter:7": 67919, - "detailedroute__runtime__total": "3:40.85", - "fillcell__cpu__total": 1.4, - "fillcell__mem__peak": 220016.0, - "fillcell__runtime__total": "0:01.50", - "finish__clock__skew__hold": 17.8601, - "finish__clock__skew__setup": 17.8388, - "finish__cpu__total": 18.24, + "detailedroute__route__vias__singlecut": 130856, + "detailedroute__route__wirelength": 71745, + "detailedroute__route__wirelength__iter:1": 72114, + "detailedroute__route__wirelength__iter:2": 71705, + "detailedroute__route__wirelength__iter:3": 71666, + "detailedroute__route__wirelength__iter:4": 71743, + "detailedroute__route__wirelength__iter:5": 71745, + "detailedroute__runtime__total": "3:50.96", + "fillcell__cpu__total": 1.46, + "fillcell__mem__peak": 220296.0, + "fillcell__runtime__total": "0:01.57", + "finish__clock__skew__hold": 14.9935, + "finish__clock__skew__setup": 14.3545, + "finish__cpu__total": 20.61, "finish__design__core__area": 2872.41, "finish__design__die__area": 3342.11, - "finish__design__instance__area": 1700.42, + "finish__design__instance__area": 1713.12, "finish__design__instance__area__macros": 0, - "finish__design__instance__area__stdcell": 1700.42, - "finish__design__instance__count": 13264, + "finish__design__instance__area__stdcell": 1713.12, + "finish__design__instance__count": 13370, "finish__design__instance__count__macros": 0, - "finish__design__instance__count__stdcell": 13264, - "finish__design__instance__utilization": 0.591985, - "finish__design__instance__utilization__stdcell": 0.591985, + "finish__design__instance__count__stdcell": 13370, + "finish__design__instance__utilization": 0.596406, + "finish__design__instance__utilization__stdcell": 0.596406, "finish__design__io": 200, - "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.760429, - "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.0114491, - "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0503237, - "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0504493, - "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.719676, - "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0504493, + "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.760386, + "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.0115205, + "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.050009, + "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0500151, + "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.719991, + "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0500151, "finish__flow__errors__count": 0, "finish__flow__warnings__count": 11, - "finish__mem__peak": 537468.0, - "finish__power__internal__total": 0.0584247, - "finish__power__leakage__total": 1.12733e-06, - "finish__power__switching__total": 0.0450589, - "finish__power__total": 0.103485, - "finish__runtime__total": "0:18.51", - "finish__timing__drv__hold_violation_count": 67, + "finish__mem__peak": 539572.0, + "finish__power__internal__total": 0.058541, + "finish__power__leakage__total": 1.13882e-06, + "finish__power__switching__total": 0.0455533, + "finish__power__total": 0.104095, + "finish__runtime__total": "0:21.00", + "finish__timing__drv__hold_violation_count": 61, "finish__timing__drv__max_cap": 0, - "finish__timing__drv__max_cap_limit": 0.00386451, + "finish__timing__drv__max_cap_limit": 0.0225912, "finish__timing__drv__max_fanout": 0, "finish__timing__drv__max_fanout_limit": 0, - "finish__timing__drv__max_slew": 360, - "finish__timing__drv__max_slew_limit": -0.600186, - "finish__timing__drv__setup_violation_count": 1335, - "finish__timing__setup__tns": -269564, - "finish__timing__setup__ws": -713.021, - "finish__timing__wns_percent_delay": -77.6605, - "finish_merge__cpu__total": 2.05, - "finish_merge__mem__peak": 488636.0, - "finish_merge__runtime__total": "0:02.27", - "floorplan__cpu__total": 4.17, + "finish__timing__drv__max_slew": 385, + "finish__timing__drv__max_slew_limit": -1.02663, + "finish__timing__drv__setup_violation_count": 1336, + "finish__timing__setup__tns": -264239, + "finish__timing__setup__ws": -777.569, + "finish__timing__wns_percent_delay": -79.359026, + "finish_merge__cpu__total": 2.26, + "finish_merge__mem__peak": 490452.0, + "finish_merge__runtime__total": "0:02.48", + "floorplan__cpu__total": 4.36, "floorplan__design__core__area": 2872.41, "floorplan__design__die__area": 3342.11, "floorplan__design__instance__area": 1427.75, @@ -165,32 +161,32 @@ "floorplan__design__io": 200, "floorplan__flow__errors__count": 0, "floorplan__flow__warnings__count": 11, - "floorplan__mem__peak": 237784.0, + "floorplan__mem__peak": 238268.0, "floorplan__power__internal__total": 0.046759, "floorplan__power__leakage__total": 8.59424e-07, "floorplan__power__switching__total": 0.0258013, "floorplan__power__total": 0.0725612, - "floorplan__runtime__total": "0:04.29", + "floorplan__runtime__total": "0:04.50", "floorplan__timing__setup__tns": -662034, "floorplan__timing__setup__ws": -2535.34, - "floorplan_io__cpu__total": 1.31, - "floorplan_io__mem__peak": 205276.0, - "floorplan_io__runtime__total": "0:01.39", - "floorplan_macro__cpu__total": 1.32, - "floorplan_macro__mem__peak": 205784.0, - "floorplan_macro__runtime__total": "0:01.40", - "floorplan_pdn__cpu__total": 1.46, - "floorplan_pdn__mem__peak": 208860.0, - "floorplan_pdn__runtime__total": "0:01.53", - "floorplan_tap__cpu__total": 1.31, - "floorplan_tap__mem__peak": 197768.0, - "floorplan_tap__runtime__total": "0:01.40", - "floorplan_tdms__cpu__total": 1.31, - "floorplan_tdms__mem__peak": 204508.0, - "floorplan_tdms__runtime__total": "0:01.39", + "floorplan_io__cpu__total": 1.29, + "floorplan_io__mem__peak": 204980.0, + "floorplan_io__runtime__total": "0:01.42", + "floorplan_macro__cpu__total": 1.33, + "floorplan_macro__mem__peak": 204224.0, + "floorplan_macro__runtime__total": "0:01.43", + "floorplan_pdn__cpu__total": 1.45, + "floorplan_pdn__mem__peak": 209056.0, + "floorplan_pdn__runtime__total": "0:01.58", + "floorplan_tap__cpu__total": 1.34, + "floorplan_tap__mem__peak": 197800.0, + "floorplan_tap__runtime__total": "0:01.43", + "floorplan_tdms__cpu__total": 1.32, + "floorplan_tdms__mem__peak": 204472.0, + "floorplan_tdms__runtime__total": "0:01.43", "flow__errors__count": 0, "flow__warnings__count": 10, - "globalplace__cpu__total": 41.05, + "globalplace__cpu__total": 43.42, "globalplace__design__core__area": 2872.41, "globalplace__design__die__area": 3342.11, "globalplace__design__instance__area": 1445.13, @@ -204,63 +200,63 @@ "globalplace__design__io": 200, "globalplace__flow__errors__count": 0, "globalplace__flow__warnings__count": 10, - "globalplace__mem__peak": 315896.0, + "globalplace__mem__peak": 316720.0, "globalplace__power__internal__total": 0.0475034, "globalplace__power__leakage__total": 8.59424e-07, "globalplace__power__switching__total": 0.0311885, "globalplace__power__total": 0.0786927, - "globalplace__runtime__total": "0:37.02", + "globalplace__runtime__total": "0:39.32", "globalplace__timing__setup__tns": -915250, "globalplace__timing__setup__ws": -2919.21, - "globalplace_io__cpu__total": 1.33, - "globalplace_io__mem__peak": 206552.0, - "globalplace_io__runtime__total": "0:01.43", - "globalplace_skip_io__cpu__total": 4.17, - "globalplace_skip_io__mem__peak": 222000.0, - "globalplace_skip_io__runtime__total": "0:04.29", + "globalplace_io__cpu__total": 1.36, + "globalplace_io__mem__peak": 206764.0, + "globalplace_io__runtime__total": "0:01.46", + "globalplace_skip_io__cpu__total": 4.44, + "globalplace_skip_io__mem__peak": 222012.0, + "globalplace_skip_io__runtime__total": "0:04.56", "globalroute__antenna__violating__nets": 0, "globalroute__antenna__violating__pins": 0, - "globalroute__clock__skew__hold": 14.6976, - "globalroute__clock__skew__setup": 13.4649, - "globalroute__cpu__total": 628.63, + "globalroute__clock__skew__hold": 15.2871, + "globalroute__clock__skew__setup": 11.7432, + "globalroute__cpu__total": 453.37, "globalroute__design__core__area": 2872.41, "globalroute__design__die__area": 3342.11, - "globalroute__design__instance__area": 1700.42, + "globalroute__design__instance__area": 1713.12, "globalroute__design__instance__area__macros": 0, - "globalroute__design__instance__area__stdcell": 1700.42, - "globalroute__design__instance__count": 13264, - "globalroute__design__instance__count__hold_buffer": 7, + "globalroute__design__instance__area__stdcell": 1713.12, + "globalroute__design__instance__count": 13370, + "globalroute__design__instance__count__hold_buffer": 6, "globalroute__design__instance__count__macros": 0, - "globalroute__design__instance__count__setup_buffer": 224, - "globalroute__design__instance__count__stdcell": 13264, - "globalroute__design__instance__displacement__max": 14.148, - "globalroute__design__instance__displacement__mean": 0.4, - "globalroute__design__instance__displacement__total": 5306.69, - "globalroute__design__instance__utilization": 0.591985, - "globalroute__design__instance__utilization__stdcell": 0.591985, + "globalroute__design__instance__count__setup_buffer": 302, + "globalroute__design__instance__count__stdcell": 13370, + "globalroute__design__instance__displacement__max": 15.174, + "globalroute__design__instance__displacement__mean": 0.479, + "globalroute__design__instance__displacement__total": 6415.25, + "globalroute__design__instance__utilization": 0.596406, + "globalroute__design__instance__utilization__stdcell": 0.596406, "globalroute__design__io": 200, "globalroute__design__violations": 0, "globalroute__flow__errors__count": 0, "globalroute__flow__warnings__count": 10, - "globalroute__mem__peak": 578664.0, - "globalroute__power__internal__total": 0.0582825, - "globalroute__power__leakage__total": 1.12733e-06, - "globalroute__power__switching__total": 0.0441551, - "globalroute__power__total": 0.102439, - "globalroute__route__wirelength__estimated": 49873.1, - "globalroute__runtime__total": "9:58.16", - "globalroute__timing__clock__slack": -619.049, - "globalroute__timing__drv__hold_violation_count": 5, + "globalroute__mem__peak": 578788.0, + "globalroute__power__internal__total": 0.0583974, + "globalroute__power__leakage__total": 1.13882e-06, + "globalroute__power__switching__total": 0.044395, + "globalroute__power__total": 0.102794, + "globalroute__route__wirelength__estimated": 53343.7, + "globalroute__runtime__total": "8:01.36", + "globalroute__timing__clock__slack": -657.968, + "globalroute__timing__drv__hold_violation_count": 1, "globalroute__timing__drv__max_cap": 0, - "globalroute__timing__drv__max_cap_limit": 0.0651465, + "globalroute__timing__drv__max_cap_limit": 0.0650722, "globalroute__timing__drv__max_fanout": 0, "globalroute__timing__drv__max_fanout_limit": 0, - "globalroute__timing__drv__max_slew": 0, - "globalroute__timing__drv__max_slew_limit": 0.0507696, + "globalroute__timing__drv__max_slew": 63, + "globalroute__timing__drv__max_slew_limit": -0.296644, "globalroute__timing__drv__setup_violation_count": 1333, - "globalroute__timing__setup__tns": -233667, - "globalroute__timing__setup__ws": -619.049, - "placeopt__cpu__total": 8.71, + "globalroute__timing__setup__tns": -226461, + "globalroute__timing__setup__ws": -657.968, + "placeopt__cpu__total": 9.08, "placeopt__design__core__area": 2872.41, "placeopt__design__die__area": 3342.11, "placeopt__design__instance__area": 1547.96, @@ -274,12 +270,12 @@ "placeopt__design__io": 200, "placeopt__flow__errors__count": 0, "placeopt__flow__warnings__count": 10, - "placeopt__mem__peak": 267232.0, + "placeopt__mem__peak": 267456.0, "placeopt__power__internal__total": 0.0495701, "placeopt__power__leakage__total": 9.9424e-07, "placeopt__power__switching__total": 0.0315582, "placeopt__power__total": 0.0811292, - "placeopt__runtime__total": "0:08.86", + "placeopt__runtime__total": "0:09.22", "placeopt__timing__drv__floating__nets": 0, "placeopt__timing__drv__floating__pins": 0, "placeopt__timing__drv__hold_violation_count": 0, @@ -293,10 +289,10 @@ "placeopt__timing__setup__tns": -243803, "placeopt__timing__setup__ws": -658.272, "run__flow__design": "mock-alu", - "run__flow__generate_date": "2024-07-20 14:04", + "run__flow__generate_date": "2024-07-25 21:50", "run__flow__metrics_version": "Metrics_2.1.2", "run__flow__openroad_commit": "N/A", - "run__flow__openroad_version": "v2.0-14658-gd48987e36", + "run__flow__openroad_version": "v2.0-14726-g72ee0f9c4", "run__flow__platform": "asap7", "run__flow__platform__capacitance_units": "1fF", "run__flow__platform__current_units": "1mA", @@ -307,12 +303,12 @@ "run__flow__platform__voltage_units": "1v", "run__flow__platform_commit": "N/A", "run__flow__scripts_commit": "not a git repo", - "run__flow__uuid": "96412de3-ae67-4acd-91d6-b8516dcc240c", + "run__flow__uuid": "45e73b4c-034c-410e-bb89-8b48882b1e87", "run__flow__variant": "base", - "synth__cpu__total": 16.55, + "synth__cpu__total": 18.76, "synth__design__instance__area__stdcell": 1447.85232, "synth__design__instance__count__stdcell": 11552.0, - "synth__mem__peak": 185740.0, - "synth__runtime__total": "0:16.90", - "total_time": "0:17:48.140000" + "synth__mem__peak": 186168.0, + "synth__runtime__total": "0:19.11", + "total_time": "0:16:18.830000" } \ No newline at end of file diff --git a/flow/designs/asap7/mock-alu/rules-base.json b/flow/designs/asap7/mock-alu/rules-base.json index 0721affa85..90a80597b7 100644 --- a/flow/designs/asap7/mock-alu/rules-base.json +++ b/flow/designs/asap7/mock-alu/rules-base.json @@ -40,7 +40,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -723.08, + "value": -782.56, "compare": ">=" }, "finish__design__instance__area": { @@ -59,4 +59,4 @@ "value": -97.42, "compare": ">=" } -} +} \ No newline at end of file diff --git a/flow/scripts/detail_route.tcl b/flow/scripts/detail_route.tcl index c3b9f28e70..03b22a4e7e 100644 --- a/flow/scripts/detail_route.tcl +++ b/flow/scripts/detail_route.tcl @@ -8,8 +8,6 @@ if { [info exists ::env(USE_WXL)]} { load_design $db_file 4_cts.sdc set_propagated_clock [all_clocks] -set_thread_count $::env(NUM_CORES) - set additional_args "" if { [info exists ::env(dbProcessNode)]} { append additional_args " -db_process_node $::env(dbProcessNode)" diff --git a/flow/scripts/global_place.tcl b/flow/scripts/global_place.tcl index 83a3489f40..0d3f5ca60e 100644 --- a/flow/scripts/global_place.tcl +++ b/flow/scripts/global_place.tcl @@ -2,6 +2,9 @@ utl::set_metrics_stage "globalplace__{}" source $::env(SCRIPTS_DIR)/load.tcl load_design 3_2_place_iop.odb 2_floorplan.sdc +# Temporary: remove after fixing instability in GPL with multithreading +set_thread_count 1 + set_dont_use $::env(DONT_USE_CELLS) # set fastroute layer reduction diff --git a/flow/scripts/global_place_skip_io.tcl b/flow/scripts/global_place_skip_io.tcl index 6badf74118..7fb283f955 100644 --- a/flow/scripts/global_place_skip_io.tcl +++ b/flow/scripts/global_place_skip_io.tcl @@ -1,6 +1,9 @@ source $::env(SCRIPTS_DIR)/load.tcl load_design 2_floorplan.odb 2_floorplan.sdc +# Temporary: remove after fixing instability in GPL with multithreading +set_thread_count 1 + if { [info exists ::env(FLOORPLAN_DEF)] || ( diff --git a/flow/scripts/global_route.tcl b/flow/scripts/global_route.tcl index 590cbb4d65..2b4f02ee86 100644 --- a/flow/scripts/global_route.tcl +++ b/flow/scripts/global_route.tcl @@ -2,7 +2,8 @@ utl::set_metrics_stage "globalroute__{}" source $::env(SCRIPTS_DIR)/load.tcl load_design 4_cts.odb 4_cts.sdc -set_thread_count $::env(NUM_CORES) +# Temporary: remove after fixing instability in ANT with multithreading +set_thread_count 1 if {[info exist env(PRE_GLOBAL_ROUTE)]} { source $env(PRE_GLOBAL_ROUTE) diff --git a/flow/scripts/load.tcl b/flow/scripts/load.tcl index abcd8c4d26..58bf76be06 100644 --- a/flow/scripts/load.tcl +++ b/flow/scripts/load.tcl @@ -2,6 +2,9 @@ source $::env(SCRIPTS_DIR)/util.tcl source $::env(SCRIPTS_DIR)/report_metrics.tcl +# Temporarily disable sta's threading due to random failures +sta::set_thread_count 1 + proc load_design {design_file sdc_file} { # Read liberty files source $::env(SCRIPTS_DIR)/read_liberty.tcl diff --git a/flow/scripts/macro_place_util.tcl b/flow/scripts/macro_place_util.tcl index 9ffdab38b5..15c63294b7 100644 --- a/flow/scripts/macro_place_util.tcl +++ b/flow/scripts/macro_place_util.tcl @@ -1,5 +1,3 @@ -set_thread_count $::env(NUM_CORES) - proc find_macros {} { set macros ""