You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Agent 4's yosys ECP5 day-1 recon (Stays PR #33, 2026-05-06) flagged a 6-year stale yosys pin in our CI Docker container. The Dockerfile's yosys install block targets yosys-0.15.tar.gz, released 2021-09-15. Latest stable as of today: v0.64 (released 2026-04-09). Six years of SystemVerilog frontend improvements, ECP5 backend fixes, and synth_ecp5 → synth_lattice unification (2023-08-31) missing.
(Verified by Agent R against MAST/cicd/Dockerfile on main 2026-05-06.)
BUT the Docker container CI flow, if it ever runs, would synthesize against an ancient yosys with vastly less SV support than v0.64. The risk surface Agent 4 catalogued (yosys #5405, #5533, #4374, #3328, etc.) — most of those fixes ship after 0.15.
A future contributor running CI on a clean Docker would see synth failures that don't reproduce on a current OSS CAD Suite — confusing waste of time.
Action
Pick ONE:
Option A — pin yosys ≥ v0.64:
Bump the install URL to yosys-0.64.tar.gz (or vendor-pin a known-good monthly tag)
Verify the ECP5 sub-pass works with synth_lattice -family ecp5 (no longer synth_ecp5 directly, though the wrapper still exists for back-compat)
Option B — switch to OSS CAD Suite (RECOMMENDED):
Replace the yosys+nextpnr+prjtrellis manual builds with a single OSS CAD Suite tarball download + extract
Pinning the OSS CAD Suite date gives reproducibility; nightlies are well-tested-together
This is what every production reference (OrangeCrab, Trellis, ECPIX-5) actually uses
Smaller Dockerfile, faster build, less drift
Option C — drop the Dockerfile entirely:
If nobody actually runs CI through this Docker container, delete it and rely on direct OSS CAD Suite installs in .github/workflows/*.yml
Verify with gh search code yosys-0.15 --repo popsolutions/MAST first to confirm nothing references it
Acceptance
yosys version in CI ≥ v0.64 (or OSS CAD Suite date ≥ 2026-05)
Existing verif/global_mem_controller/ cocotb tests still pass
A synth-pass smoke test added to CI to prove the path works
All three options documented in commit body so future maintainers see why one was chosen
Context
Agent 4's yosys ECP5 day-1 recon (Stays PR #33, 2026-05-06) flagged a 6-year stale yosys pin in our CI Docker container. The Dockerfile's yosys install block targets
yosys-0.15.tar.gz, released 2021-09-15. Latest stable as of today: v0.64 (released 2026-04-09). Six years of SystemVerilog frontend improvements, ECP5 backend fixes, and synth_ecp5 → synth_lattice unification (2023-08-31) missing.(Verified by Agent R against
MAST/cicd/Dockerfileonmain2026-05-06.)Why this matters
Action
Pick ONE:
Option A — pin yosys ≥ v0.64:
yosys-0.64.tar.gz(or vendor-pin a known-good monthly tag)synth_lattice -family ecp5(no longersynth_ecp5directly, though the wrapper still exists for back-compat)Option B — switch to OSS CAD Suite (RECOMMENDED):
Option C — drop the Dockerfile entirely:
.github/workflows/*.ymlgh search code yosys-0.15 --repo popsolutions/MASTfirst to confirm nothing references itAcceptance
verif/global_mem_controller/cocotb tests still passRefs
Authored by Agent R (Reviewer), surfaced by Agent 4 recon.