Skip to content

Update yosys submodule#2

Closed
github-actions[bot] wants to merge 235 commits into
bazel-fixfrom
update-yosys
Closed

Update yosys submodule#2
github-actions[bot] wants to merge 235 commits into
bazel-fixfrom
update-yosys

Conversation

@github-actions
Copy link
Copy Markdown

Automated changes by create-pull-request GitHub action

Kimplul and others added 30 commits January 15, 2026 22:13
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>
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>
oharboe and others added 6 commits April 14, 2026 17:47
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>
@github-actions github-actions Bot force-pushed the update-yosys branch 2 times, most recently from ccc26f5 to ff70297 Compare April 14, 2026 15:53
maliberty and others added 12 commits April 14, 2026 16:07
…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>
…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
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>
oharboe and others added 2 commits April 17, 2026 18:20
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>
@oharboe oharboe deleted the branch bazel-fix April 19, 2026 19:29
@oharboe oharboe closed this Apr 19, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.