Skip to content

Commit 61a4c15

Browse files
committed
Merge branch 'master' into scanline_based_rows
Signed-off-by: Eder Monteiro <[email protected]>
2 parents ce4c0f1 + 1f00c70 commit 61a4c15

File tree

1,225 files changed

+43961
-13045
lines changed

Some content is hidden

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

1,225 files changed

+43961
-13045
lines changed

.clang-tidy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ CheckOptions:
6565

6666
# All modules but sta
6767
# Exclude build as there is too much noise from swig generated code
68-
HeaderFilterRegex: "(?!build/.*)/(ant|cts|dbSta|dft|dpl|drt|dst|exa|fin|gpl|grt|gui|ifp|mpl|odb|ord|pad|par|pdn|ppl|psm|rcx|rmp|rsz|stt|tap|upf|utl)/.*"
68+
HeaderFilterRegex: "(?!build/.*)/(ant|cts|dbSta|dft|dpl|drt|dst|est|exa|fin|gpl|grt|gui|ifp|mpl|odb|ord|pad|par|pdn|ppl|psm|rcx|rmp|rsz|stt|tap|upf|utl)/.*"
6969

7070
# Not currently handling identifier naming
7171
# WarningsAsErrors: "*"

.github/workflows/github-actions-are-odb-files-generated.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
19+
submodules: 'recursive'
1920
- name: setup
2021
run: |
2122
python3 -m venv venv

.github/workflows/github-actions-lint-tcl.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
steps:
1515
- name: Checkout repository
1616
uses: actions/checkout@v4
17+
with:
18+
submodules: 'recursive'
1719
- name: Install Dependencies
1820
run: |
1921
python3 -m venv venv

BUILD.bazel

Lines changed: 20 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ load("//bazel:tcl_wrap_cc.bzl", "tcl_wrap_cc")
88
package(
99
features = [
1010
"-parse_headers",
11-
"-layering_check",
11+
"layering_check",
1212
# TODO(b/299593765): Fix strict ordering.
1313
"-libcxx_assertions",
1414
],
@@ -62,6 +62,8 @@ OPENROAD_LIBRARY_DEPS = [
6262
"//src/drt:ui",
6363
"//src/dst",
6464
"//src/dst:ui",
65+
"//src/est",
66+
"//src/est:ui",
6567
"//src/exa",
6668
"//src/exa:ui",
6769
"//src/fin",
@@ -82,6 +84,8 @@ OPENROAD_LIBRARY_DEPS = [
8284
"//src/psm",
8385
"//src/rcx",
8486
"//src/rcx:ui",
87+
"//src/rmp",
88+
"//src/rmp:ui",
8589
"//src/rsz",
8690
"//src/rsz:ui",
8791
"//src/stt",
@@ -127,24 +131,20 @@ cc_binary(
127131
name = "openroad",
128132
srcs = [
129133
"src/Main.cc",
130-
"src/OpenRoad.cc",
131-
":openroad_swig",
132-
":openroad_tcl",
133-
":rmp_swig",
134-
":rmp_tcl",
135134
"//bazel:runfiles",
136135
],
137136
copts = OPENROAD_COPTS,
138137
features = ["-use_header_modules"],
139138
malloc = "@tcmalloc//tcmalloc",
140139
visibility = ["//visibility:public"],
141140
deps = [
142-
":openroad_lib_private",
141+
":openroad_lib",
143142
":openroad_version",
144-
"//src/odb",
145-
"//src/rsz",
143+
"//:ord",
144+
"//src/gui",
146145
"//src/sta:opensta_lib",
147146
"//src/utl",
147+
"@boost.stacktrace",
148148
"@rules_cc//cc/runfiles",
149149
"@tk_tcl//:tcl",
150150
],
@@ -163,21 +163,17 @@ cc_library(
163163
"src/Design.cc",
164164
"src/Tech.cc",
165165
"src/Timing.cc",
166-
] + glob([
167-
"src/rmp/src/*.h",
168-
"src/rmp/src/*.cpp",
169-
]),
170-
hdrs = glob([
171-
"src/rmp/include/rmp/*.h",
172-
]),
166+
],
173167
copts = OPENROAD_COPTS,
174168
defines = OPENROAD_DEFINES + GUI_BUILD_FLAGS,
175169
features = ["-use_header_modules"],
176170
includes = [
177171
"include",
178-
"src/rmp/include",
179172
],
180-
deps = OPENROAD_LIBRARY_DEPS,
173+
deps = OPENROAD_LIBRARY_DEPS + [
174+
"//src/sta:opensta_lib",
175+
"@tk_tcl//:tcl",
176+
]
181177
)
182178

183179
cc_library(
@@ -189,22 +185,19 @@ cc_library(
189185
"src/Timing.cc",
190186
":openroad_swig",
191187
":openroad_tcl",
192-
":rmp_swig",
193-
":rmp_tcl",
194-
] + glob([
195-
"src/rmp/src/*.cpp",
196-
"src/rmp/src/*.h",
197-
]),
198-
hdrs = glob(["src/rmp/include/rmp/*.h"]),
188+
],
199189
copts = OPENROAD_COPTS,
200190
defines = OPENROAD_DEFINES + GUI_BUILD_FLAGS,
201191
features = ["-use_header_modules"],
202192
includes = [
203193
"include",
204-
"src/rmp/include",
205194
],
206195
visibility = ["//visibility:public"],
207-
deps = OPENROAD_LIBRARY_DEPS,
196+
deps = OPENROAD_LIBRARY_DEPS + [
197+
"//src/sta:opensta_lib",
198+
"@boost.stacktrace",
199+
"@tk_tcl//:tcl",
200+
]
208201
)
209202

210203
cc_library(
@@ -252,15 +245,6 @@ tcl_encode(
252245
namespace = "ord",
253246
)
254247

255-
tcl_encode(
256-
name = "rmp_tcl",
257-
srcs = [
258-
"src/rmp/src/rmp.tcl",
259-
],
260-
char_array_name = "rmp_tcl_inits",
261-
namespace = "rmp",
262-
)
263-
264248
tcl_wrap_cc(
265249
name = "openroad_swig",
266250
srcs = [
@@ -275,22 +259,6 @@ tcl_wrap_cc(
275259
],
276260
)
277261

278-
tcl_wrap_cc(
279-
name = "rmp_swig",
280-
srcs = [
281-
"src/rmp/src/rmp.i",
282-
":error_swig",
283-
"//src/sta:sta_swig_files",
284-
],
285-
module = "rmp",
286-
namespace_prefix = "rmp",
287-
root_swig_src = "src/rmp/src/rmp.i",
288-
swig_includes = [
289-
"src/rmp/src",
290-
"src/sta",
291-
],
292-
)
293-
294262
filegroup(
295263
name = "error_swig",
296264
srcs = [

MODULE.bazel

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ bazel_dep(name = "boost.smart_ptr", version = BOOST_VERSION)
7979
bazel_dep(name = "boost.spirit", version = BOOST_VERSION)
8080
bazel_dep(name = "boost.stacktrace", version = BOOST_VERSION)
8181
bazel_dep(name = "boost.system", version = BOOST_VERSION)
82+
bazel_dep(name = "boost.test", version = BOOST_VERSION + ".bcr.1")
8283
bazel_dep(name = "boost.thread", version = BOOST_VERSION + ".bcr.2")
8384
bazel_dep(name = "boost.tokenizer", version = BOOST_VERSION)
8485
bazel_dep(name = "boost.unordered", version = BOOST_VERSION)
@@ -151,7 +152,7 @@ bazel_dep(name = "bazel-orfs")
151152
# To bump version, run: bazelisk run @bazel-orfs//:bump
152153
git_override(
153154
module_name = "bazel-orfs",
154-
commit = "abacf584d7515bebec96491c757a806431b7f9f7",
155+
commit = "9cdf6d5d8a7be885c5b89ac20372500777874fcf",
155156
remote = "https://github.com/The-OpenROAD-Project/bazel-orfs.git",
156157
)
157158

@@ -160,10 +161,10 @@ orfs = use_extension("@bazel-orfs//:extension.bzl", "orfs_repositories")
160161
# To bump version, run: bazelisk run @bazel-orfs//:bump
161162
orfs.default(
162163
# Official image https://hub.docker.com/r/openroad/orfs/tags
163-
image = "docker.io/openroad/orfs:v3.0-3503-gd7c7e73f",
164+
image = "docker.io/openroad/orfs:v3.0-3675-g1592c420",
164165
# Use OpenROAD of this repo instead of from the docker image
165166
openroad = "//:openroad",
166-
sha256 = "d5539ade517724de3765362589be443afb2624b14391b365612c8949a7c99a19",
167+
sha256 = "ae830cfa6a86b1921db89868eb7133c94d77443e79cd534ba3808dfd139ffc53",
167168
)
168169
use_repo(orfs, "com_github_nixos_patchelf_download")
169170
use_repo(orfs, "docker_orfs")

MODULE.bazel.lock

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

WORKSPACE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ workspace(name = "openroad")
88

99
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
1010

11-
rules_hdl_git_hash = "80266603b55778dd30531c9b286152a7b664fbb7"
11+
rules_hdl_git_hash = "cf2bd95334741db74b39b47fa1d4622b0d45ce6c"
1212

13-
rules_hdl_git_sha256 = "38f04d38cfbf46c52643325b496673d607ce5ea6fda99dc1dfa3997a520bb0c2"
13+
rules_hdl_git_sha256 = "137e1fbde970a41f295ca348f9105bc7eedd6640374ec7f4a8abaee9a2cfc2d0"
1414

1515
http_archive(
1616
name = "rules_hdl",

docs/contrib/DeveloperGuide.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ Tool namespaces are usually three-lettered lowercase letters.
240240
- Macro Placer ([mpl](../main/src/mpl/README.md))
241241
- RePlAce Global Placer ([gpl](../main/src/gpl/README.md))
242242
- Gate resizing and buffering ([rsz](../main/src/rsz/README.md))
243+
- Parasitics estimation ([est](../main/src/est/README.md))
243244
- Detailed placement ([dpl](../main/src/dpl/README.md))
244245
- Clock tree synthesis ([cts](../main/src/cts/README.md))
245246
- FastRoute Global routing ([grt](../main/src/grt/README.md))

etc/DependencyInstaller.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ _installCommonDev() {
9191
cmakeBin=${cmakePrefix}/bin/cmake
9292
if [[ ! -f ${cmakeBin} || -z $(${cmakeBin} --version | grep ${cmakeVersionBig}) ]]; then
9393
cd "${baseDir}"
94-
eval wget https://cmake.org/files/v${cmakeVersionBig}/cmake-${cmakeVersionSmall}-${osName}-${arch}.sh
94+
eval wget https://github.com/Kitware/CMake/releases/download/v${cmakeVersionSmall}/cmake-${cmakeVersionSmall}-linux-${arch}.sh
9595
md5sum -c <(echo "${cmakeChecksum} cmake-${cmakeVersionSmall}-${osName}-${arch}.sh") || exit 1
9696
chmod +x cmake-${cmakeVersionSmall}-${osName}-${arch}.sh
9797
./cmake-${cmakeVersionSmall}-${osName}-${arch}.sh --skip-license --prefix=${cmakePrefix}
@@ -861,10 +861,10 @@ while [ "$#" -gt 0 ]; do
861861
export GIT_SSL_NO_VERIFY=true
862862
;;
863863
-save-deps-prefixes=*)
864-
saveDepsPrefixes=$(realpath ${1#-save-deps-prefixes=})
864+
saveDepsPrefixes=$(realpath ${1#*=})
865865
;;
866866
-threads=*)
867-
numThreads=${1}
867+
numThreads=${1#*=}
868868
;;
869869
*)
870870
echo "unknown option: ${1}" >&2
@@ -933,11 +933,13 @@ case "${os}" in
933933
_installOrTools "ubuntu" "${ubuntuVersion}" "amd64"
934934
fi
935935
;;
936-
"Red Hat Enterprise Linux" | "Rocky Linux")
936+
"Red Hat Enterprise Linux" | "Rocky Linux" | "AlmaLinux")
937937
if [[ "${os}" == "Red Hat Enterprise Linux" ]]; then
938938
rhelVersion=$(rpm -q --queryformat '%{VERSION}' redhat-release | cut -d. -f1)
939939
elif [[ "${os}" == "Rocky Linux" ]]; then
940940
rhelVersion=$(rpm -q --queryformat '%{VERSION}' rocky-release | cut -d. -f1)
941+
elif [[ "${os}" == "AlmaLinux" ]]; then
942+
rhelVersion=$(rpm -q --queryformat '%{VERSION}' almalinux-release | cut -d. -f1)
941943
fi
942944
if [[ "${rhelVersion}" != "8" ]] && [[ "${rhelVersion}" != "9" ]]; then
943945
echo "ERROR: Unsupported ${rhelVersion} version. Versions '8' and '9' are supported."
@@ -1018,4 +1020,8 @@ esac
10181020
if [[ ! -z ${saveDepsPrefixes} ]]; then
10191021
mkdir -p "$(dirname $saveDepsPrefixes)"
10201022
echo "$CMAKE_PACKAGE_ROOT_ARGS" > $saveDepsPrefixes
1023+
# Fix permissions if running as root to allow user access
1024+
if [[ $(id -u) == 0 && ! -z "${SUDO_USER+x}" ]]; then
1025+
chown "$SUDO_USER:$(id -gn "$SUDO_USER")" "$saveDepsPrefixes" 2>/dev/null || true
1026+
fi
10211027
fi

include/ord/OpenRoad.hh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ namespace dft {
115115
class Dft;
116116
}
117117

118+
namespace est {
119+
class EstimateParasitics;
120+
}
121+
118122
namespace ord {
119123

120124
using std::string;
@@ -164,6 +168,10 @@ class OpenRoad
164168
dst::Distributed* getDistributed() { return distributer_; }
165169
stt::SteinerTreeBuilder* getSteinerTreeBuilder() { return stt_builder_; }
166170
dft::Dft* getDft() { return dft_; }
171+
est::EstimateParasitics* getEstimateParasitics()
172+
{
173+
return estimate_parasitics_;
174+
}
167175

168176
// Return the bounding box of the db rows.
169177
odb::Rect getCore();
@@ -258,6 +266,7 @@ class OpenRoad
258266
dst::Distributed* distributer_ = nullptr;
259267
stt::SteinerTreeBuilder* stt_builder_ = nullptr;
260268
dft::Dft* dft_ = nullptr;
269+
est::EstimateParasitics* estimate_parasitics_ = nullptr;
261270
utl::CallBackHandler* callback_handler_ = nullptr;
262271

263272
int threads_ = 1;

0 commit comments

Comments
 (0)