Skip to content

[infra][urgent] cicd/Dockerfile pins yosys 0.15 from 2021 — upgrade to v0.64 or OSS CAD Suite #36

@marcos-mendez

Description

@marcos-mendez

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/Dockerfile on main 2026-05-06.)

Why this matters

  • The actual rev-A development flow uses OSS CAD Suite nightlies (per Stays feat(rtl): formalize core_mem_rd_data stability contract on global_mem_axi4_adapter #31 prjtrellis recon) — so day-to-day work isn't blocked.
  • 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

Refs

Authored by Agent R (Reviewer), surfaced by Agent 4 recon.

Metadata

Metadata

Assignees

No one assigned

    Labels

    stream-1RTL Architect (Agent 1) — SystemVerilog, cocotb, MAST primary

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions