Skip to content

Commit 7bfacd4

Browse files
committed
Merge remote-tracking branch 'private/master' into gpl-new-regions
2 parents 58e0a3e + 7cbd77e commit 7bfacd4

File tree

123 files changed

+2459
-714
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+2459
-714
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ build
2929
build_linux
3030
build_mac
3131
test/results
32-
flow
3332

3433
docs/main
3534
README2.md
@@ -57,7 +56,8 @@ obj-x86_64-linux-gnu/
5756

5857
user.bazelrc
5958

60-
bazel-*
59+
# Limit ignore to these files, so we see and clean out other cruft that pollutes grep
60+
/bazel-*
6161

6262
projectview.bazelproject
6363
.bsp/

MODULE.bazel

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ git_override(
112112

113113
bazel_dep(name = "googletest", version = "1.17.0", dev_dependency = True)
114114

115+
bazel_dep(name = "abseil-cpp", version = "20240722.0", repo_name = "com_google_absl")
116+
115117
# Dependencies needed by one of the rules_hdl repos. Once they are on
116118
# BCR, they should depend on their own version.
117119
bazel_dep(name = "glpk", version = "5.0.bcr.3", repo_name = "org_gnu_glpk")
@@ -169,10 +171,10 @@ orfs = use_extension("@bazel-orfs//:extension.bzl", "orfs_repositories")
169171
# To bump version, run: bazelisk run @bazel-orfs//:bump
170172
orfs.default(
171173
# Official image https://hub.docker.com/r/openroad/orfs/tags
172-
image = "docker.io/openroad/orfs:v3.0-4076-gf94bb8c31",
174+
image = "docker.io/openroad/orfs:v3.0-4091-gc1e9016cf",
173175
# Use OpenROAD of this repo instead of from the docker image
174176
openroad = "//:openroad",
175-
sha256 = "3338a59012776ed939a3d4e66fc2609ac68d2c7f588a4563ed9ca7cefd913faf",
177+
sha256 = "4e4daf718eb0281738f6f50ae6bb17445fae0c75a30f6570adda1ce6d2dd2308",
176178
)
177179
use_repo(orfs, "com_github_nixos_patchelf_download")
178180
use_repo(orfs, "docker_orfs")

MODULE.bazel.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/user/Bazel.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,3 +369,32 @@ First create a local work folder with all dependencies for the step that you wan
369369
Now run make directly with the `/tmp/floorplan/_main` work folder, but be sure to use the `do-` targets that side-step ORFS make dependency checking:
370370

371371
make --file ~/OpenROAD-flow-scripts/flow/Makefile --dir /tmp/floorplan/_main DESIGN_CONFIG=config.mk do-floorplan
372+
373+
## Whittling down .odb files with deltaDebug.py
374+
375+
Global place can take hours to run and to debug an error, the test case has to be whittled down to minutes, or it is probably intractable.
376+
377+
Consider an error such as:
378+
379+
[ERROR GPL-0305] RePlAce diverged during gradient descent calculation, resulting in an invalid step length (Inf or NaN). This is often caused by numerical instability or high placement density. Consider reducing placement density to potentially resolve the issue.
380+
381+
First create a folder with all the dependencies to run global placement:
382+
383+
bazelisk run //test/orfs/gcd:gcd_deps /tmp/bug
384+
385+
Drop into a shell that has the build environment set up:
386+
387+
$ /tmp/bug/make bash
388+
Makefile Environment /tmp/bug/_main
389+
390+
Run up to the failing stage and stop with ctrl-c on the step that you want to run the whittling down on:
391+
392+
make --file=$FLOW_HOME/Makefile do-place
393+
394+
Now run deltaDebug.py:
395+
396+
$OPENROAD_EXE -python ~/OpenROAD-flow-scripts/tools/OpenROAD/etc/deltaDebug.py --error_string GPL-0305 --base_db_path test/orfs/gcd/results/asap7/gcd/base/3_2_place_iop.odb --use_stdout --exit_early_on_error --step "make --file=$FLOW_HOME/Makefile do-3_3_place_gp"
397+
398+
This should eventually leave you with a whittled down .odb file. Copy the whittled down .odb file into the correct place for 3_2_place_iop.odb, then create a bug report:
399+
400+
/tmp/bug/make global_place_issue

include/ord/InitOpenRoad.hh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
#pragma once
55

6-
#include <tcl.h>
7-
86
#include <string>
97

8+
#include "tcl.h"
9+
1010
namespace ord {
1111

1212
// Call this inside of Tcl_Main.

src/Design.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
#include "ord/Design.h"
55

6-
#include <tcl.h>
7-
86
#include <cmath>
97
#include <cstdint>
108
#include <istream>
@@ -20,6 +18,7 @@
2018
#include "odb/db.h"
2119
#include "ord/OpenRoad.hh"
2220
#include "ord/Tech.h"
21+
#include "tcl.h"
2322
#include "utl/Logger.h"
2423

2524
namespace ord {

src/Main.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include <libgen.h>
55
#include <stdlib.h> // NOLINT(modernize-deprecated-headers): for setenv()
66
#include <strings.h>
7-
#include <tcl.h>
87

98
#include <array>
109
#include <climits>
@@ -19,6 +18,7 @@
1918
#include <system_error>
2019

2120
#include "boost/stacktrace/stacktrace.hpp"
21+
#include "tcl.h"
2222
#ifdef ENABLE_READLINE
2323
// If you get an error on this include be sure you have
2424
// the package tcl-tclreadline-devel installed

src/OpenRoad.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
#include "ord/OpenRoad.hh"
55

6-
#include <tcl.h>
7-
86
#include <cstdlib>
97
#include <cstring>
108
#include <filesystem>
@@ -16,6 +14,7 @@
1614
#include <vector>
1715

1816
#include "ord/Version.hh"
17+
#include "tcl.h"
1918
#ifdef ENABLE_PYTHON3
2019
#define PY_SSIZE_T_CLEAN
2120
#include "Python.h"

src/Tech.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
#include "ord/Tech.h"
55

6-
#include <tcl.h>
7-
86
#include <string>
97

108
#include "db_sta/dbNetwork.hh"
@@ -15,6 +13,7 @@
1513
#include "sta/Liberty.hh"
1614
#include "sta/MinMax.hh"
1715
#include "sta/Units.hh"
16+
#include "tcl.h"
1817

1918
namespace ord {
2019

src/Timing.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
#include "ord/Timing.h"
55

6-
#include <tcl.h>
7-
86
#include <algorithm>
97
#include <array>
108
#include <cstring>

0 commit comments

Comments
 (0)