yosys@0.65#8863
Conversation
|
Hello @UebelAndre, modules you maintain (yosys) have been updated in this PR. |
Yosys 0.63 has a WRAPCELL/RTLIL-identifier memory corruption that
produces garbage characters in module names like
`'\\<random>_KOGGE_STONE'` during synthesis of designs that exercise
the $alu architectural-options path (cva6, ibex, riscv32i*,
swerv_wrapper, sky130hd/{ibex,microwatt} all hit this in the
asap7+sky130hd sweep). Upstream yosys fixed it; 0.65 produces clean
names like `ALU_64_0_64_0_64_KOGGE_STONE`.
bazelbuild/bazel-central-registry#8863 adds 0.65 to BCR. Until that
lands we point at oharboe's fork branch via an additional --registry
in .bazelrc, then force the root resolution to 0.65 via
single_version_override (bazel-orfs's MODULE.bazel pins to 0.63).
Verified: //flow/designs/asap7/cva6:cva6_synth now builds clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Yosys 0.63 has a WRAPCELL/RTLIL-identifier memory corruption that
produces garbage characters in module names like
`'\\<random>_KOGGE_STONE'` during synthesis of designs that exercise
the $alu architectural-options path (cva6, ibex, riscv32i*,
swerv_wrapper, sky130hd/{ibex,microwatt} all hit this in the
asap7+sky130hd sweep). Upstream yosys fixed it; 0.65 produces clean
names like `ALU_64_0_64_0_64_KOGGE_STONE`.
bazelbuild/bazel-central-registry#8863 adds 0.65 to BCR. Until that
lands we point at oharboe's fork branch via an additional --registry
in .bazelrc, then force the root resolution to 0.65 via
single_version_override (bazel-orfs's MODULE.bazel pins to 0.63).
Verified: //flow/designs/asap7/cva6:cva6_synth now builds clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
|
Rebase needed 😄 |
Adds yosys 0.65 to BCR. Overlay changes vs 0.64 for v0.65 source layout: - `VERSION = "0.65"` in `overlay/BUILD.bazel`. - New kernel header `kernel/wallace_tree.h` added to kernel `hdrs`. - New `passes/techmap/arith_tree.cc` added to `pass_techmap` srcs. - New `passes/techmap/liberty_cache.h` added to `pass_techmap` hdrs. - Inner and outer `MODULE.bazel` version bumped to 0.65. Patches: - `tcl9_mp_to_ubin.patch` — applies clean (verbatim from 0.64). - `use_cxxopt_module.patch` — applies clean (verbatim from 0.64). source.json refreshed: v0.65 tarball integrity + new sha256s for BUILD.bazel and overlay/MODULE.bazel. `tools/bcr_validation.py --check yosys@0.65` passes all checks. Stacks on top of bazelbuild#8862 (yosys@0.64) — metadata.json edit may need rebase once bazelbuild#8861/bazelbuild#8862 land. Upstream release notes: https://github.com/YosysHQ/yosys/releases/tag/v0.65 Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
v0.65 carries v0.64's work-steal queue with the same unconditional std::unique_lock use outside YOSYS_ENABLE_THREADS. Mirror PR bazelbuild#8862's threading_includes.patch fix here so non-threaded gcc 13+ builds compile. Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
The gcr.io/bazel-public/ubuntu2404:latest image was republished today (2026-05-26 11:20:08Z) as a single-arch amd64 manifest, causing arm64 runners to fail with `[FATAL tini (7)] exec /bin/sh failed: Exec format error` before any yosys code is fetched. Re-add via a yosys@0.65.bcr.1 once the multi-arch image is restored. Signed-off-by: Øyvind Harboe <oyvind@ascenium.com>
|
@UebelAndre — dropped Background: every (Example: https://buildkite.com/bazel/bcr-presubmit/builds/35045#019e64d2-2a31-4bce-b5ed-868f6e9a8924) The container can't start, so no yosys code is fetched. Root cause is in
Plan to restore arm64-on-24.04 coverage once |
|
@meteorcloudy @Wyverald re: #8863 (comment) Seems these images were recently broken? |
Adds `abc@0.65-yosyshq`, pairing with `yosys@0.65` (whose BCR module is in PR #8863). YosysHQ/yosys at tag `v0.65` pins its `abc` submodule at YosysHQ/abc tag `v0.65`, peeled SHA `5d51a5e420f5de493d07bf61109a977248c86ffb`. This module exposes that tag as a BCR-resolvable dependency. Based on `abc/0.64-yosyshq.bcr.1`. The BUILD.bazel overlay additionally lists: - `src/map/emap/{emap.c, emapCore.c}` — new mapper module in v0.65 - `src/opt/eslim/{areaEngine,delayEngine,eslimCirMan,relationSynthesiser,subcircuit}.cpp` — new sources in the existing `eslim` directory - `src/proof/cec/cecCorrIncr.c` — new source in the existing `cec` directory and adds `src/map/emap` to the `includes` list so files in that directory can resolve `#include "emap.h"`. @bazel-io skip_check unstable_url
|
@UebelAndre Do we need arm ubuntu 24 for this PR? Perhaps we can just pick it up in the yosys 0.66 release. It is only two weeks away or so? |
|
@UebelAndre Do you need anything more from me? 0.66 isn't that far away, the main use-case for this version is presumably testing or to get unstuck on some new problem that 0.66 introduced, so can we merge this as is without the broken arm platform? |
|
@UebelAndre Closing since there's no activity, let me know if I should re-open. @maliberty FYI if you need 0.65 you can wire up this closed PR until a newer version becomes available. |
Sorry, I was gone for a few days. The change seems fine but I want to know if there's a bug in the runners first before removing the coverage. |
Makes sense. Please re-open this PR if you want to move forward with it. |
Adds yosys 0.65 to BCR.
Overlay changes vs 0.64 for v0.65 source layout:
VERSION = "0.65"inoverlay/BUILD.bazel.kernel/wallace_tree.hadded to kernelhdrs.passes/techmap/arith_tree.ccadded topass_techmapsrcs.passes/techmap/liberty_cache.hadded topass_techmaphdrs.MODULE.bazelversion bumped to 0.65.Patches:
tcl9_mp_to_ubin.patch— applies clean (verbatim from 0.64).use_cxxopt_module.patch— applies clean (verbatim from 0.64).source.json refreshed: v0.65 tarball integrity + new sha256s for
BUILD.bazel and overlay/MODULE.bazel.
Local verification:
bazelisk run @yosys//:yosys -- -Vagainst thisfork branch as a custom registry prints
Yosys 0.65.tools/bcr_validation.py --check yosys@0.65passes all checks.Stacks on top of #8862 (yosys@0.64) — metadata.json edit may need
rebase once #8861/#8862 land.
Upstream release notes:
https://github.com/YosysHQ/yosys/releases/tag/v0.65