Skip to content

treewide: Move all tools to OSEDA 2026.09 - #352

Open
DanielKellerM wants to merge 4 commits into
pulp-platform:mainfrom
DanielKellerM:dk/yosys-oseda-2026.09
Open

DanielKellerM wants to merge 4 commits into
pulp-platform:mainfrom
DanielKellerM:dk/yosys-oseda-2026.09

Conversation

@DanielKellerM

@DanielKellerM DanielKellerM commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Moves every tool to one OSEDA version, 2026.09, both locally (iis-setup.sh) and in the Docker image: Verilator 5.044 -> 5.052, Yosys 0.62 -> 0.69, slang 10.0 -> 11.0, bender 0.31.0 -> 0.32.1. Locally bender comes from the IIS bender-0.32.1 command, in Docker from OSEDA; both are 0.32.1.

This fixes the internal Yosys job, which has been running out of time (4 h) since #345 and #350. The old Yosys frontend was extremely slow on the latch-based register files; with the new one the whole Yosys run takes about half the time, with the same memory and area within 0.2%.

Two other changes:

  • The new Verilator crashes on how the FP operand is picked in snitch_fp_ss. The operand is now picked first and copied across the lanes in a separate step. It behaves exactly the same.
  • The Yosys scripts now count as inputs of the netlist, so changing them reruns the Yosys job.

Verified internally:

  • Same test results as main: run.yaml 87/87, ISA tests 70/70, mempool 29/29, spatz 6/6
  • Internal CI fully green, including Yosys (2h14 instead of timing out at 4 h)
  • Bender.lock unchanged, and bender lists exactly the same source files as before
  • snitch_fp_ss change proven identical to the old code with two independent formal equivalence checks, for every config used in CI
  • Old and new snitch_fp_ss give bit-identical traces on 157 tests in Questa and Verilator
  • Docker image build (could not build it locally)

@DanielKellerM
DanielKellerM requested a review from colluca as a code owner October 2, 2026 09:34
Copilot AI balanced review requested due to automatic review settings October 2, 2026 09:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@DanielKellerM
DanielKellerM marked this pull request as draft October 2, 2026 09:45
@DanielKellerM DanielKellerM changed the title asic: Run Yosys from OSEDA 2026.09 ci: Run Yosys from OSEDA 2026.09 Oct 2, 2026
The operand mux wrote op[i] and then read it back to replicate it, and
its default arm assigned op[i] to itself. Verilator 5.052 hits an
internal error in its scoped DFG pass on this (V3Dfg.h: Replacing
DfgVertex with itself). Select the operand into op_sel and replicate it
in a separate process. No functional change.
@DanielKellerM
DanielKellerM force-pushed the dk/yosys-oseda-2026.09 branch from 8bf87cb to 3a0eb60 Compare October 2, 2026 12:47
@DanielKellerM DanielKellerM changed the title ci: Run Yosys from OSEDA 2026.09 treewide: Move all tools to OSEDA 2026.09 Oct 2, 2026
@DanielKellerM
DanielKellerM force-pushed the dk/yosys-oseda-2026.09 branch 2 times, most recently from d2ee07f to aaccdec Compare October 2, 2026 15:43
@DanielKellerM
DanielKellerM marked this pull request as ready for review October 3, 2026 04:15
The yosys-slang frontend of OSEDA 2026.02 (Yosys 0.62) is quadratic on
loop-assigned unpacked arrays. The latch SCM register files alone take
31 of its 35 min, which pushes the internal Yosys job past 4 h. The
sv-elab frontend of 2026.09 (Yosys 0.69) elaborates the cluster in
2.5 min. It drops --ignore-unknown-modules (the design has none) and
--compat-mode has no effect anymore.

Verilator (5.052) and slang move along. Bender moves to 0.32.1, the
version OSEDA 2026.09 ships: the Docker image takes it from OSEDA, the
IIS setup uses the bender-0.32.1 wrapper, which keeps SN_BENDER a
single command for its Tcl consumers.
Script-only changes did not rerun Yosys, so CI skipped the job on them
(e.g. on main after pulp-platform#345).
@DanielKellerM
DanielKellerM force-pushed the dk/yosys-oseda-2026.09 branch from aaccdec to 82967b3 Compare October 3, 2026 04:19
Since Verilator 5.050 the FST writer (fstcpp) includes lz4.h and links
-llz4, so building the traced model in hw-builder needs liblz4-dev.
The OSEDA image only ships the liblz4-1 runtime.

This branch has not been deployed

No deployments
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.

2 participants