Commit Graph

1742 Commits

Author SHA1 Message Date
Øyvind Harboe
85e0e57d85 Merge remote-tracking branch 'origin/master' into HEAD 2026-04-15 18:35:45 +02:00
Matt Liberty
6010ea5689 odb: fix messages_txt to scan sub-package sources
After the odb Bazel split, messages_txt only globbed include/odb/*.h
(8 messages) and missed ~576 logger messages in sub-package source
files. Add message_srcs filegroups to each sub-package, an extra_srcs
parameter to the messages_txt macro, and positional file-path support
in find_messages.py so that sources spanning multiple Bazel packages
are scanned correctly.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-04-14 18:05:12 +00:00
Matt Liberty
051f93f93e Merge pull request #10064 from gudeh/dpl-negotiation-legalizer
dpl: introduce new legalization algorithm - negotiation based
2026-04-13 20:10:43 +00:00
Augusto Berndt
b425768350 Merge remote-tracking branch 'private/master' into dpl-negotiation-legalizer 2026-04-13 11:40:22 +00:00
Peter Gadfort
d7bd1d125d pad: add corner cell with overlap
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
2026-04-12 17:59:43 -04:00
Øyvind Harboe
945e74cad8 Update test/install/install_test.sh
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-04-12 13:47:48 +02:00
Øyvind Harboe
e2d8208679 Update test/install/install_test.sh
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-04-12 13:47:14 +02:00
Øyvind Harboe
dc04ecd404 bazel: fix installed binary Tcl init failure
install.sh deleted openroad.runfiles/_main which contains the Tcl
resource files (init.tcl, tclreadline, etc.) needed by the Bazel-built
binary.  Remove that rm so the runfiles tree stays intact after install.

Add an install smoke test that extracts the packaging tarball and
verifies the binary can evaluate a Tcl expression — catches regressions
like this automatically.

Validate: bazelisk test //test/install/...

Fixes #10115

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-04-12 13:39:48 +02:00
Mike Inouye
cff5d54859 Move test to timing_report_api.py
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2026-04-08 15:18:15 -07:00
Mike Inouye
aa0f711d26 Revert timing_api.py
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2026-04-08 15:17:56 -07:00
Mike Inouye
16e1b0f536 Add test to verify tech has a name
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2026-04-08 15:13:05 -07:00
Augusto Berndt
f477048824 Merge remote-tracking branch 'private/master' into dpl-negotiation-legalizer 2026-04-07 19:40:59 +00:00
Matt Liberty
fa69edb612 Merge pull request #10042 from hzeller/feature-20260402-no-demo-lock
Remove MODULE.bazel.lock for downstream testing.
2026-04-07 18:23:51 +00:00
Augusto Berndt
8ef8aa8769 test: update multiple after DPL log change
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
2026-04-07 10:35:39 +00:00
Matt Liberty
f2408812b6 Merge pull request #10041 from hzeller/feature-20260402-tcl-builtin
Some checks failed
Automatically sync branch from upstream. / Automatic sync 'master' from The-OpenROAD-Project/OpenROAD (push) Has been cancelled
Mark stale issues and pull requests / Stale (push) Has been cancelled
Lint Python / Black (push) Has been cancelled
Lint Bazel / Buildifier format (push) Has been cancelled
Lint Bazel / Buildifier lint (push) Has been cancelled
Check That ODB Files Are Generated / Are-Odb-Files-Generated (push) Has been cancelled
Format Code with pre commit trigger / Clang-Format (push) Has been cancelled
Lint Tcl code / Tclint (push) Has been cancelled
Build on macOS / Mac-Build (push) Has been cancelled
Scan Code with pre commit trigger / Security-Scan (push) Has been cancelled
Run Repo stats / repostats-for-nice-project (push) Has been cancelled
Bazel tcl initialization: use zipfs on Tcl9 and runfiles on Tcl8
2026-04-04 20:28:44 +00:00
dsengupta0628
a8120ae8c2 revert numeric diff.py and regolden regressions, reverse of part of PR 9965
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-03 18:01:49 +00:00
Henner Zeller
5af56087d8 Bazel tcl initialization: use zipfs on Tcl9 and runfiles on Tcl8
* For Tcl9, all relevant system tcl files, the tcl library and
   readline library, are packed in a zip file, compiled into the
   binary mounted on the virtual filesystem //zipfs:/
 * On Tcl 8, which does not allow to do that quite yet, we
   take the same directory structure (unpacked), and use them
   via runfiles as before; however, since this is now a single
   directory the runfile symbolic links are reduced to one.

Default for now is to use the runfile method, as we're still on
Tcl8; The code is prepared for Tcl9, awaiting some changes in
STA to be merged, then we can change the default.

Fixes: #9962 #9980

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2026-04-03 14:07:48 +02:00
Henner Zeller
c93775e377 Remove MODULE.bazel.lock for downstream testing.
This file is not relevant for testing if a downstream
compile would work, but a maintenance burden.

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2026-04-02 23:30:24 +02:00
Øyvind Harboe
b2b9dbdfb0 docs: update bazel-orfs _deps targets to //:deps wrapper
bazel-orfs replaced per-stage _deps targets with a single //:deps
wrapper using --output_groups=deps. Update documentation to reflect
the new syntax while keeping tmp/ directory paths unchanged.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-31 23:12:32 +02:00
Matt Liberty
b3a329795b Merge remote-tracking branch 'origin/master' into drt-determinism
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-03-28 21:05:34 +00:00
Matt Liberty
6f56372114 Merge pull request #9965 from The-OpenROAD-Project-staging/update_or_sta_LVF_with_JCfix
Update or sta lvf with James' fork of OpenROAD
2026-03-28 15:29:29 +00:00
Matt Liberty
d8041c92a1 Merge pull request #9952 from hzeller/feature-20260325-rules-shell
sh_test and sh_binary are used in BUILD.bazel. Import.
2026-03-27 23:08:02 +00:00
dsengupta0628
d7d563cc1a Merge branch 'master' into update_or_sta_LVF_with_JCfix 2026-03-27 15:27:50 +00:00
Matt Liberty
4d2ee4c0f7 pdn: get all tests running in bazel
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-03-27 04:30:05 +00:00
Matt Liberty
367af9dc10 update metrics for drt determinism
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-03-27 04:10:46 +00:00
Matt Liberty
53a7dcf73b add pipefail to test/regression_test.sh
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-03-27 03:54:42 +00:00
dsengupta0628
f0fee61f5c make the new pythin file pass with black linter in jenkins
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-26 17:30:20 +00:00
dsengupta0628
63ee3441a4 avoid using float match like string match as std::format({}, float) in C++20 uses the shortest round-trip representation, producing more significant digits than the old fmt library default
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-26 15:08:31 +00:00
Henner Zeller
479921da58 Make sure downstream is compiling with c++20
... openroad is not compatible with older versions and
the default compilers resort to is c++17.

Last change that finally fixes #9937

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2026-03-25 23:22:06 +01:00
Henner Zeller
d5e930f0c3 sh_test and sh_binary are used in BUILD.bazel. Import.
That means, that rules_shell is indeed not a dev_dependency
anymore, but a real one.

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2026-03-25 22:17:18 +01:00
Matt Liberty
50bb0081d8 Merge pull request #9827 from Pinata-Consulting/dev-dependency-cleanup-v2
build: dev_dependency cleanup, visibility, and downstream test
2026-03-25 11:33:58 +00:00
Matt Liberty
cd1b593933 Update test/orfs/check_same.sh
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Matt Liberty <matt.liberty@gmail.com>
2026-03-24 20:09:42 -07:00
Øyvind Harboe
8d87f8408f test: add idempotency test for gcd using orfs_sweep
Replace orfs_flow with orfs_sweep for the gcd test design, adding
an identical "b" variant alongside the existing "base". A new
check_same() macro diffs .odb and .sdc outputs from every stage
between the two variants to verify deterministic results.

fixes #2229

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-24 23:47:44 +01:00
Øyvind Harboe
47cb9b075c Merge remote-tracking branch 'origin/master' into HEAD 2026-03-24 01:16:19 +01:00
Øyvind Harboe
b764cc5bc2 bazel: lint
Run black on check_visibility.py and check_dev_dep.py.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-24 01:13:48 +01:00
Øyvind Harboe
458efdb6e8 test: replace slow downstream workspace tests with instant py_tests
Instead of spinning up a separate Bazel workspace (minutes), inspect
BUILD.bazel and MODULE.bazel directly with py_test (0.1s each).

7 individual tests: visibility checks for openroad, openroad_py,
openroad_lib, and dev_dependency checks for rules_shell, rules_pkg,
rules_verilator, verilator.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-24 00:55:09 +01:00
Øyvind Harboe
465f2e9a55 test: split downstream visibility test into individual sh_tests
Replace monolithic visibility_test.sh (7 sequential bazelisk invocations)
with 7 individual sh_test targets that can run in parallel and be
debugged independently.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-24 00:44:27 +01:00
Øyvind Harboe
3ca22372a6 fix: make aspect_rules_js and rules_nodejs non-dev dependencies
src/web uses @npm for bundled assets, so aspect_rules_js, rules_nodejs,
and their extensions (node, npm) must be non-dev for downstream consumers.
Add .bazelrc to test/downstream for --experimental_isolated_extension_usages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-24 00:39:45 +01:00
Matt Liberty
5153e1bf31 Merge pull request #9733 from Pinata-Consulting/bazel-fast-doc-tests
Bazel fast doc tests
2026-03-23 23:17:32 +00:00
Øyvind Harboe
0818868bfb Merge remote-tracking branch 'origin/master' into HEAD
# Conflicts:
#	MODULE.bazel.lock
2026-03-23 23:21:46 +01:00
Øyvind Harboe
aa45cd2865 mock-array: README.md
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-23 19:24:10 +01:00
Matt Liberty
7589698eb7 Merge pull request #9880 from hzeller/feature-20260323-shebang-bash
Fix uses of `/bin/bash` to use `/usr/bin/env bash` instead.
2026-03-23 15:35:40 +00:00
Øyvind Harboe
bc1df04560 Bump bazel-orfs to 272cc07, add bazel-orfs-verilog dep
bazel-orfs moved generate.bzl and verilog.bzl into the
bazel-orfs-verilog submodule.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-23 15:13:55 +01:00
Henner Zeller
c10380196d Fix uses of /bin/bash to use /usr/bin/env bash instead.
The only Posix compatible way to call bash is via `/usr/bin/env`
as bash might be installed in different locations on the system.
`/bin/bash` is not a Posix-required location for that binary
(only `/bin/sh` is).

Use `set -o noglob` instead of `bash -f` for improved readability.

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2026-03-23 02:57:02 -07:00
Matt Liberty
a6ae10058b test: skip web_server in commands_without_load.tcl
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-03-22 04:33:54 +00:00
Øyvind Harboe
1c8778b5c8 Fix downstream visibility test for Bazel test environment
Two issues prevented the test from working under bazelisk test:
- dirname "$0" resolved to the runfiles tree, not the source tree;
  use readlink -f to follow the symlink to the real script location
- HOME is not set in Bazel test environments; bazelisk needs it to
  locate its cache directory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-20 17:46:24 +01:00
Øyvind Harboe
8602ede150 Merge remote-tracking branch 'origin/master' into HEAD
# Conflicts:
#	BUILD.bazel
2026-03-20 16:29:16 +01:00
Øyvind Harboe
a6fbd74b8a Merge origin/master into bazel-fast-doc-tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-20 13:43:49 +01:00
Øyvind Harboe
215843a74f build: migrate chisel_binary to rules_chisel
The local bazel-orfs moved chisel support from
@bazel-orfs//toolchains/scala:chisel.bzl to the standalone
@rules_chisel//chisel:defs.bzl package. Add rules_chisel as a
dev dependency, configure the chisel extension toolchain, and
update the mock-array BUILD load path accordingly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-19 22:46:27 +01:00
Øyvind Harboe
7e13b33816 build: run buildifier on modified Bazel files
Signed-off-by: Claude Code <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2026-03-19 12:21:33 +01:00