Skip to content

Commit 7c3d080

Browse files
committed
Merge remote-tracking branch 'upstream/master' into dft_save_clock_domain
2 parents 81ed917 + a4b5d14 commit 7c3d080

File tree

494 files changed

+32819
-10661
lines changed

Some content is hidden

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

494 files changed

+32819
-10661
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 = [

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,8 @@ if(BUILD_MAN)
176176
install(DIRECTORY ${OPENROAD_HOME}/docs/cat DESTINATION ${OPENROAD_SHARE}/man)
177177
install(DIRECTORY ${OPENROAD_HOME}/docs/html DESTINATION ${OPENROAD_SHARE}/man)
178178
endif()
179+
180+
####################################################################
181+
# Add a configuration for ReleaseWithAsserts
182+
set(CMAKE_CXX_FLAGS_RELEASEWITHASSERTS "${CMAKE_CXX_FLAGS_RELEASE} -UNDEBUG" CACHE STRING "" FORCE)
183+
set(CMAKE_C_FLAGS_RELEASEWITHASSERTS "${CMAKE_C_FLAGS_RELEASE} -UNDEBUG" CACHE STRING "" FORCE)

MODULE.bazel

Lines changed: 1 addition & 0 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)

MODULE.bazel.lock

Lines changed: 2 additions & 0 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))

include/ord/OpenRoad.hh

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ class ICeWall;
101101

102102
namespace utl {
103103
class Logger;
104-
}
104+
class CallBackHandler;
105+
} // namespace utl
105106

106107
namespace dst {
107108
class Distributed;
@@ -114,6 +115,10 @@ namespace dft {
114115
class Dft;
115116
}
116117

118+
namespace est {
119+
class EstimateParasitics;
120+
}
121+
117122
namespace ord {
118123

119124
using std::string;
@@ -137,6 +142,7 @@ class OpenRoad
137142

138143
Tcl_Interp* tclInterp() { return tcl_interp_; }
139144
utl::Logger* getLogger() { return logger_; }
145+
utl::CallBackHandler* getCallBackHandler() { return callback_handler_; }
140146
odb::dbDatabase* getDb() { return db_; }
141147
sta::dbSta* getSta() { return sta_; }
142148
sta::dbNetwork* getDbNetwork();
@@ -162,6 +168,10 @@ class OpenRoad
162168
dst::Distributed* getDistributed() { return distributer_; }
163169
stt::SteinerTreeBuilder* getSteinerTreeBuilder() { return stt_builder_; }
164170
dft::Dft* getDft() { return dft_; }
171+
est::EstimateParasitics* getEstimateParasitics()
172+
{
173+
return estimate_parasitics_;
174+
}
165175

166176
// Return the bounding box of the db rows.
167177
odb::Rect getCore();
@@ -256,6 +266,8 @@ class OpenRoad
256266
dst::Distributed* distributer_ = nullptr;
257267
stt::SteinerTreeBuilder* stt_builder_ = nullptr;
258268
dft::Dft* dft_ = nullptr;
269+
est::EstimateParasitics* estimate_parasitics_ = nullptr;
270+
utl::CallBackHandler* callback_handler_ = nullptr;
259271

260272
int threads_ = 1;
261273

0 commit comments

Comments
 (0)