yosys 0.65 + bazel-orfs bump + sweep/yosys-idempotency README — investigation record#43
Closed
oharboe wants to merge 9774 commits into
Closed
yosys 0.65 + bazel-orfs bump + sweep/yosys-idempotency README — investigation record#43oharboe wants to merge 9774 commits into
oharboe wants to merge 9774 commits into
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Record of a sweep-and-triage session across asap7 + sky130hd to validate the
@bazel-orfs//:make-yosys-netlistworkflow and surface upstream-fixablebugs. Stops short of a clean classification because of a hierarchical-PDN
gap in bazel-orfs for
BLOCKS=designs (see "Open" below) — we hold furtherQoR/idempotency work until ABC catches up to yosys 0.65 upstream.
Commits
flow/README.md: document host-aware sweep + yosys-idempotency triage— restores the sweep recipe and the failing-
_testtriage decision treethat previously lived on an abandoned branch. References
@bazel-orfs//:yosys-check/@bazel-orfs//:make-yosys-netlistanddefers to
@bazel-orfs//:TESTING.mdfor the full classification matrix.bazel: bump yosys to 0.65 via BCR PR registry override— points.bazelrcat oharboe's fork branch forbazelbuild/bazel-central-registry#8863
(adds yosys 0.65 to BCR) and forces yosys resolution to 0.65 via
single_version_overrideso it overrides bazel-orfs's 0.63 pin.Fixes the WRAPCELL/RTLIL-identifier memory corruption on 0.63 that
produced garbage like
'\<random>_KOGGE_STONE'in cva6/ibex/riscv32isynthesis on the asap7 platform.
bazel: bump bazel-orfs to c000cb3 (user_sources= is upstream)—user_sources=is now in bazel-orfs main; drop the local patch.Verified during the session
cva6_synthbuilds clean(
ALU_64_0_64_0_64_KOGGE_STONE, etc. — no control characters).Open
[ERROR PDN-0233] Failed to generate full power gridvia bazel-orfs even with
abstract_stage="final"for sub-blocks (testedand reverted in this session). Root: bazel's sub-block abstract has
OBS LAYER M5 ; RECT 0 0 9.144 9.144 ;covering the full macro, whilemake's leaves M5 channels open. Compounded by sub-block size delta
(9.144 vs 9.235 µm) driven by yosys-version cell-count differences.
This is a real bazel-orfs bug for hierarchical (
BLOCKS=) designs;diagnosis on hand, fix pending.
make-yosys-netlistphase-3 re-synth are queued at
oharboe/bazel-orfs#1.
Phase-3 still doesn't complete end-to-end (SDC source files aren't in
orfs_final's runfiles) — needs a follow-up to bundle synth sourceinputs into downstream runfiles.
is the reason this PR doesn't try to classify the 7 QoR-failing designs
via
make-yosys-netlist— wait for ABC sync upstream before re-running.Resuming
Once ABC catches up upstream and the BLOCKS PDN gap is fixed:
the BLOCKS fix.
flow/README.mdrecipe) and the classification(
make-yosys-netlistper failing_test).Test plan
bazelisk test //flow/designs/asap7/cva6:cva6_synthbuilds cleanwith yosys 0.65 (was the canonical WRAPCELL-garbage repro on 0.63).
cd flow && make finish DESIGN_CONFIG=designs/asap7/aes-block/config.mkproduces full 6_final.{def,gds,odb,sdc,spef,v} chain — confirms the
bazel-orfs PDN failure is build-infrastructure, not design.
🤖 Generated with Claude Code