Update yosys submodule#2
Closed
github-actions[bot] wants to merge 235 commits into
Closed
Conversation
Signed-off-by: Kimplul <kimi.h.kuparinen@gmail.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
- Previously, KF for those designs were disabled due to KF & OR issues Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Add LEC_AUX_VERILOG_FILES support to lec_check.tcl so that auxiliary Verilog files (e.g., blackbox module stubs) are concatenated into LEC netlists before Kepler Formal runs. For sky130hd/chameleon, provide clean blackbox stubs for DFFRAM_4K, DMC_32x16HC, ibex_wrapper, and apb_sys_0 so KF can resolve these macro modules during CTS LEC. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…ate/OpenROAD-flow-scripts into secure-enable-kf-lec-check Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Update OpenROAD to 9b0caf1a52 which includes the unified makeNewNetName fix, resolving wire collision for hierarchical designs (e.g., microwatt CTS LEC "wire collision for net net"). Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
KF crashes with assertion failure in SNLLogicCloud.cpp:349: "Iso have no drivers and more than one reader, not supported" Both base and verific variants affected. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Widen globalroute and finish setup TNS thresholds from -697 to -750 to accommodate timing change from OR 9b0caf1a52 (makeNewNetName). Actual: -727.5 (4.4% regression). Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Widen area and TNS thresholds for gcd, ibex, ethmac, jpeg to accommodate changes from OR 9b0caf1a52 (makeNewNetName). Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
cva6/verific: widen stdcell count (173997→183000), CTS WS (-0.14→-0.15) hercules_idecode/verific: widen CTS/GRT/finish TNS thresholds for timing regression from OR 9b0caf1a52. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Empty commit to retrigger sync and Jenkins PR-merge build. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…ate/OpenROAD-flow-scripts into secure-enable-kf-lec-check Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
The bumped kepler-formal still has bugs for these designs: - nangate45/mempool_group: assertion crash in SNLLogicCloud.cpp:349 "Iso have no drivers and more than one reader, not supported" - rapidus2hp/cva6: netlist loading failure bus net "icache_areq_o" cannot be found in ALU module Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
designs/rapidus2hp/cva6/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | globalroute__timing__setup__tns | -452.0 | -463.0 | Failing | | finish__timing__setup__tns | -452.0 | -463.0 | Failing | designs/rapidus2hp/cva6/rules-verific.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | placeopt__design__instance__count__stdcell | 201058 | 200149 | Tighten | | cts__timing__setup__ws | -0.136 | -0.167 | Failing | | finish__timing__setup__tns | -550.0 | -738.0 | Failing | Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
designs/nangate45/swerv_wrapper/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__ws | -0.197 | -0.466 | Failing | | cts__timing__setup__tns | -84.6 | -290.0 | Failing | | globalroute__timing__setup__tns | -86.3 | -211.0 | Failing | | detailedroute__route__wirelength | 5546498 | 4367567 | Tighten | | finish__timing__setup__tns | -88.2 | -198.0 | Failing | Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…ate/OpenROAD-flow-scripts into secure-enable-kf-lec-check Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…ate/OpenROAD-flow-scripts into secure-enable-kf-lec-check Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
…c-check # Conflicts: # flow/designs/nangate45/swerv_wrapper/rules-base.json # flow/designs/rapidus2hp/cva6/rules-base.json # flow/designs/rapidus2hp/cva6/rules-verific.json # tools/OpenROAD Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
designs/rapidus2hp/hercules_idecode/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | globalroute__timing__setup__tns | -0.339 | -0.473 | Failing | | finish__timing__setup__tns | -0.339 | -0.473 | Failing | Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
DFF_LIB_FILES (plural) was never used. The actual variable is DFF_LIB_FILE (singular), used in synth.tcl for dfflibmap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
The actual variable used in synth.tcl is SYNTH_KEEP_MODULES, which is already documented. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Not used anywhere in the codebase. CTS_BUF_LIST is the variable used in cts.tcl and is already documented. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
read_liberty.tcl uppercases the corner name via [string toupper], so "slow" maps to SLOW_LIB_FILES. Document this to remove ambiguity. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
ccc26f5 to
ff70297
Compare
…tform-weak-assignment
flow: platforms: {gf180,sky130}: allow PDK path overrides via weak assignment
designs/nangate45/ariane133/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | synth__design__instance__area__stdcell | 825000.0 | 823000.0 | Tighten | | placeopt__design__instance__area | 829883 | 827643 | Tighten | | cts__timing__setup__ws | -0.694 | -0.447 | Tighten | | cts__timing__setup__tns | -1670.0 | -502.0 | Tighten | | globalroute__antenna_diodes_count | 194 | 189 | Tighten | | globalroute__timing__setup__ws | -0.699 | -0.465 | Tighten | | globalroute__timing__setup__tns | -1850.0 | -550.0 | Tighten | | detailedroute__antenna_diodes_count | 194 | 190 | Tighten | | finish__timing__setup__ws | -0.716 | -0.464 | Tighten | | finish__timing__setup__tns | -1830.0 | -541.0 | Tighten | | finish__design__instance__area | 838429 | 837050 | Tighten | Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…weep Variables sweep
…endency Signed-off-by: saumya <saumyakr2006@gmail.com>
Sync variables.json after upstream changes added new tunable fields to CAP_MARGIN, SLEW_MARGIN, TNS_END_PERCENT and other variables. Signed-off-by: saumya <saumyakr2006@gmail.com>
- Apply yamlfix formatting to variables.yaml per yamlfix.toml rules - Regenerate variables.json from updated variables.yaml - Regenerate docs/user/FlowVariables.md from updated variables.yaml Signed-off-by: saumya <saumyakr2006@gmail.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…t-staging/secure-yosys_fix yosys non-determinism fix
ddstrb had no reset, risking spurious go assertion to jpeg_rle1 immediately after reset release, corrupting the first JPEG block. Signed-off-by: Ashnaa Seth <ashnaaseth2325@gmail.com> Signed-off-by: ashnaaseth2325-oss <ashnaaseth2325@gmail.com> Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
designs/sky130hd/jpeg/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | cts__timing__setup__tns | -155.0 | -170.0 | Failing | | globalroute__antenna_diodes_count | 100 | 115 | Failing | | globalroute__timing__setup__ws | -0.899 | -1.16 | Failing | | globalroute__timing__setup__tns | -201.0 | -268.0 | Failing | | finish__timing__setup__ws | -0.603 | -0.943 | Failing | | finish__timing__setup__tns | -96.0 | -146.0 | Failing | designs/sky130hs/jpeg/rules-base.json updates: | Metric | Old | New | Type | | ------ | --- | --- | ---- | | placeopt__design__instance__count__stdcell | 56019 | 55868 | Tighten | | cts__design__instance__count__setup_buffer | 4871 | 4858 | Tighten | | cts__design__instance__count__hold_buffer | 4871 | 4858 | Tighten | | globalroute__timing__setup__tns | -0.809 | -1.92 | Failing | | detailedroute__antenna_diodes_count | 100 | 102 | Failing | Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…odule-dependency fix: remove PyYAML runtime dependency from Bazel flow scripts
…fix/jpeg-rle-ddstrb-reset jpeg_rle: Add missing reset to ddstrb pipeline register to prevent spurious go after reset
ff70297 to
2c14fb9
Compare
Commit df79ba1 ("make: immediately expand deferred vars") changed the tool-path setup from export OPENROAD_EXE ?= $(abspath ...) to OPENROAD_EXE ?= $(abspath ...) export OPENROAD_EXE := $(OPENROAD_EXE) The := reassign gives the variable origin "file" even when the value was supplied through the environment. UNSET_VARIABLES_NAMES collects every file-origin variable and $(UNSET_AND_MAKE) unsets them in the bash wrapper before invoking the submake. That strips a caller- supplied OPENROAD_EXE / OPENSTA_EXE / YOSYS_EXE from the submake's environment, and variables.mk re-derives them via the $(FLOW_HOME)/../tools/install/... fallback — a path that does not exist in hermetic builds (e.g. bazel-orfs). Extend the unset exclusion list to cover OPENROAD%, OPENSTA%, YOSYS%, mirroring the KLAYOUT% entry already there for the same reason. This restores the pre-df79ba1d9 behavior for callers that pass tool paths through the environment, without reverting the immediate- expansion fix. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2c14fb9 to
727ab95
Compare
PYTHON_EXE follows the same `?=` then `export := $(PYTHON_EXE)` pattern as OPENROAD_EXE / OPENSTA_EXE / YOSYS_EXE, so a caller-supplied value is similarly stripped by UNSET_AND_MAKE because the re-export gives it origin "file". Add PYTHON% to the exclusion list alongside the other tool prefixes. Addresses gemini-code-assist review feedback on PR The-OpenROAD-Project#4159. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
727ab95 to
5f2bbaf
Compare
oharboe
added a commit
that referenced
this pull request
May 15, 2026
The previous bucket-#2 text walked the reader through the symptom ("bazel-built yosys and make-built yosys produce different `1_2_yosys.v`") before pointing at the diagnostic. Now that `rules-base.json` carries warning-level `synth__canonical_netlist__hash` and `synth__netlist__hash` entries (a5839b8), the diagnostic IS the symptom: `checkMetadata.py` emits [WARN] synth__canonical_netlist__hash differs test: <bazel> == <make> [WARN] synth__netlist__hash differs test: <bazel> == <make> right above the failing QoR row. Lead with that and keep `@bazel-orfs//:make-yosys-netlist` (+ the reverse-direction `@bazel-orfs//:yosys-check`) as the per-stage `.odb` SHA-matrix proof when the warning alone isn't enough. Drop the `SYNTH_NETLIST_FILES` and `BLOCKS=` parenthetical — that level of detail belongs in `@bazel-orfs//:TESTING.md`, which the link already points at. Dress-rehearsed on `//flow/designs/asap7/uart:uart_test`: after bumping `rules-base.json` from the classic make flow (ca657c9) the bazel `_test` fires both `[WARN] …__hash differs` lines exactly as described, alongside the pre-existing `detailedroute__route__wirelength` failure. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
oharboe
added a commit
that referenced
this pull request
May 15, 2026
`synth__canonical_netlist__hash` (1_1_yosys_canonicalize.rtlil,
post-front-end) and `synth__netlist__hash` (1_2_yosys.v, post-ABC)
already exist as warning-level entries in `rules-base.json`. On
asap7/uart both already DIFFER between bazel-pinned yosys and
make-pulled `tools/install` yosys (`cff062a8…` vs `6e8e16e4…`, and
`ab8b0b69…` vs `95652d90…` respectively), so the post-ABC hash on
its own can't tell us whether the drift is yosys-internal
non-determinism (read_verilog / hierarchy / opt_clean / techmap /
dfflibmap) or an ABC version mismatch.
Add a third fingerprint immediately before the main `abc` call in
synth.tcl:
[WARN] synth__canonical_netlist__hash differs ... # front-end snapshot
[WARN] synth__preabc_netlist__hash differs ... # mid-level synth
[WARN] synth__netlist__hash differs ... # post-ABC
The pre-ABC snapshot is computed by `write_rtlil` to a temp path,
`exec sha1sum`, file delete, then `puts` of the hash to the yosys
log. The full RTLIL is never shipped as a bazel artifact — only
the 40-char SHA in `1_2_yosys.log`, which is already collected by
the synth action. `extractTagFromFile` in `genMetrics.py` regex-
greps the line; the corresponding `level: warning` rule entry lives
alongside the other two in `genRuleFile.py`.
`flow/designs/asap7/uart/rules-base.json` is regenerated via
`make … metadata update_rules` so the third field is populated from
make-yosys. Re-running `bazelisk test //flow/designs/asap7/uart:
uart_test` then surfaces three warnings: `71b3e9b0…` vs `4ab7b670…`
for the new pre-ABC bucket, confirming drift is already present
mid-yosys (i.e., not only ABC).
Two supporting plumbing changes ride along:
* `MODULE.bazel` gains `patches =` on the bazel-orfs `git_override`,
pointing at the new `patches/bazel-orfs/` directory. The first
vendored patch teaches `orfs_generate_metadata` to pull synth's
outputs in via `data =` — without it the post-ABC
`synth__netlist__hash` lands as `N/A` because `1_2_yosys.v`
isn't otherwise in the metadata action's sandbox. Vendoring
here keeps small bazel-orfs fixes in this PR while we iterate;
when the patch lands upstream, drop the entry and bump
`BAZEL_ORFS_COMMIT`.
* `flow/README.md` "Triaging a failing `_test`" bucket #2 is
rewritten to document the three-way bisection.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Automated changes by create-pull-request GitHub action