Skip to content

Commit 489ff76

Browse files
authored
Merge pull request #3991 from Pinata-Consulting/delta-debug-pruned
retire deltaDebug.py references, replace with whittle.py
2 parents ed40258 + 27b6251 commit 489ff76

File tree

4 files changed

+5
-28
lines changed

4 files changed

+5
-28
lines changed

docs/user/FlowVariables.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ configuration file.
234234
| <a name="REMOVE_CELLS_FOR_LEC"></a>REMOVE_CELLS_FOR_LEC| String patterns directly passed to write_verilog -remove_cells <> for lec checks.| |
235235
| <a name="REPAIR_PDN_VIA_LAYER"></a>REPAIR_PDN_VIA_LAYER| Remove power grid vias which generate DRC violations after detailed routing.| |
236236
| <a name="REPORT_CLOCK_SKEW"></a>REPORT_CLOCK_SKEW| Report clock skew as part of reporting metrics, starting at CTS, before which there is no clock skew. This metric can be quite time-consuming, so it can be useful to disable.| 1|
237-
| <a name="ROUTING_LAYER_ADJUSTMENT"></a>ROUTING_LAYER_ADJUSTMENT| Adjusts routing layer capacities to manage congestion and improve detailed routing. High values ease detailed routing but risk excessive detours and long global routing times, while low values reduce global routing failure but can complicate detailed routing. The global routing running time normally reduces dramatically (entirely design specific, but going from hours to minutes has been observed) when the value is low (such as 0.10). Sometimes, global routing will succeed with lower values and fail with higher values. Exploring results with different values can help shed light on the problem. Start with a too low value, such as 0.10, and bisect to value that works by doing multiple global routing runs. As a last resort, `make global_route_issue` and using the tools/OpenROAD/etc/deltaDebug.py can be useful to debug global routing errors. If there is something specific that is impossible to route, such as a clock line over a macro, global routing will terminate with DRC errors routes that could have been routed were it not for the specific impossible routes. deltaDebug.py should weed out the possible routes and leave a minimal failing case that pinpoints the problem.| 0.5|
237+
| <a name="ROUTING_LAYER_ADJUSTMENT"></a>ROUTING_LAYER_ADJUSTMENT| Adjusts routing layer capacities to manage congestion and improve detailed routing. High values ease detailed routing but risk excessive detours and long global routing times, while low values reduce global routing failure but can complicate detailed routing. The global routing running time normally reduces dramatically (entirely design specific, but going from hours to minutes has been observed) when the value is low (such as 0.10). Sometimes, global routing will succeed with lower values and fail with higher values. Exploring results with different values can help shed light on the problem. Start with a too low value, such as 0.10, and bisect to value that works by doing multiple global routing runs. As a last resort, `make global_route_issue` and using the tools/OpenROAD/etc/whittle.py can be useful to debug global routing errors. If there is something specific that is impossible to route, such as a clock line over a macro, global routing will terminate with DRC errors routes that could have been routed were it not for the specific impossible routes. whittle.py should weed out the possible routes and leave a minimal failing case that pinpoints the problem.| 0.5|
238238
| <a name="RTLMP_AREA_WT"></a>RTLMP_AREA_WT| Weight for the area of the current floorplan.| 0.1|
239239
| <a name="RTLMP_ARGS"></a>RTLMP_ARGS| Overrides all other RTL macro placer arguments.| |
240240
| <a name="RTLMP_BOUNDARY_WT"></a>RTLMP_BOUNDARY_WT| Weight for the boundary or how far the hard macro clusters are from boundaries.| 50.0|

flow/scripts/variables.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ ROUTING_LAYER_ADJUSTMENT:
5252
a too low value, such as 0.10, and bisect
5353
to value that works by doing multiple global routing runs.
5454
As a last resort, `make global_route_issue` and using
55-
the tools/OpenROAD/etc/deltaDebug.py can be useful to debug
55+
the tools/OpenROAD/etc/whittle.py can be useful to debug
5656
global routing errors. If there is something specific that is
5757
impossible to route, such as a clock line over a macro, global
5858
routing will terminate with DRC errors routes that could
5959
have been routed were it not for the specific impossible routes.
60-
deltaDebug.py should weed out the possible routes and leave
60+
whittle.py should weed out the possible routes and leave
6161
a minimal failing case that pinpoints the problem.
6262
stages:
6363
- floorplan

flow/test/test_delta_debug.sh

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,4 @@
11
#!/usr/bin/env bash
22
#
3-
# deltaDebug.py integration smoke-test, run from ORFS/flow folder.
4-
#
5-
# Exit with error if anything is amiss, including evaluation of
6-
# variable names such as $(false), unused variables, etc.
7-
set -ue -o pipefail
8-
9-
cd "$(dirname "$0")/.."
10-
. ../env.sh
11-
12-
echo "Test deltaDebug.py with a make invocation"
13-
make DESIGN_CONFIG=designs/asap7/gcd/config.mk clean_all floorplan
14-
openroad -exit -python ../tools/OpenROAD/etc/deltaDebug.py --persistence 2 --use_stdout --error_string " 100 | " --base_db_path results/asap7/gcd/base/2_floorplan.odb --step "make DESIGN_CONFIG=designs/asap7/gcd/config.mk do-3_1_place_gp_skip_io"
3+
# Delete me when this file is no longer invoked from Jenkins CI
154

16-
echo "Test deltaDebug.py with a make issue"
17-
testname=uart
18-
make DESIGN_CONFIG=designs/asap7/$testname/config.mk place
19-
make DESIGN_CONFIG=designs/asap7/$testname/config.mk global_place_issue
20-
latest_file=$(ls -t global_place_${testname}_asap7_base*.tar.gz | head -n1)
21-
echo "Testing $latest_file"
22-
rm -rf results/delta-debug/
23-
mkdir -p results/delta-debug/
24-
cd results/delta-debug/
25-
tar --strip-components=1 -xzf ../../$latest_file
26-
sed -i 's/openroad -no_init/openroad -exit -no_init/g' run-me-$testname-asap7-base.sh
27-
openroad -exit -python ../../../tools/OpenROAD/etc/deltaDebug.py --persistence 3 --use_stdout --error_string " 100 | " --base_db_path results/asap7/$testname/base/3_2_place_iop.odb --step ./run-me-$testname-asap7-base.sh --multiplier 2

flow/test/test_outoftree.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22
#
3-
# deltaDebug.py integration smoke-test, run from ORFS/flow folder.
3+
# Out of tree integration smoke-test, run from ORFS/flow folder.
44
#
55
# Exit with error if anything is amiss, including evaluation of
66
# variable names such as $(false), unused variables, etc.

0 commit comments

Comments
 (0)