Public

RTL, Synthesis, and Simulation

RTL simulation, Yosys synthesis checks, gate-level tests, and regression isolation.

Scope

This page covers checks before physical design: RTL simulation, Yosys synthesis, gate-level simulation, and reduced synthesis test cases. Physical timing closure belongs on Timing and ECO.

Confirmed practice

  • Confirmed fact — 2025-10-02: The project-template example used cocotb 2.0.0 for both RTL and gate-level simulation. It also produced an open-PDK DRC/LVS-clean example with filler and seal-ring steps. Evidence (Discord)
  • Confirmed fact — 2025-11-18: When a Yosys check fails, inspect yosys-synthesis.log near Executing CHECK pass. Also inspect reports/pre_synth_chk.rpt when it exists. A later checker can repeat the failure without writing that report. Evidence (Discord)

Regression procedure

  1. Save the failing RTL, parameters, exact command, Yosys version, template tag, and Nix lock.
  2. Reduce the problem to a Yosys-only case when possible. In May 2026, a change between Yosys 0.64 and 0.65 was isolated this way and reported as a regression. Evidence (Discord)
  3. Test a pinned or corrected Yosys build, then run the full LibreLane CI path. The May 2026 fix was merged and the template was updated on 2026-05-29. Evidence (Discord)
  4. Re-run both RTL and gate-level tests after a synthesis-tool change. This final step is an inferred safety rule from the template's two simulation levels and the recorded synthesis regression. Evidence (Discord) Regression evidence (Discord)

Status boundaries

  • Obsolete guidance: Temporary Yosys version overrides from May 2026 are not a current version recommendation. They show how to isolate a regression. The recorded fix was merged on 2026-05-29. Evidence (Discord)
  • Open question: The archive does not establish that cocotb 2.0.0 is still the current template version. The version is a dated 2025-10-02 fact. Evidence (Discord)

Sources

  • 1423349035892478074 — 2025-10-02T16:40:54.703+00:00 — Leo Moser (mole99) (@mole99) — cocotb RTL/GL tests and completed example flow. Evidence (Discord)
  • 1440439686526144552 — 2025-11-18T20:33:03.343+00:00 — aedancullen — Yosys log and report locations. Evidence (Discord)
  • 1509289394022907985 — 2026-05-27T20:17:12.776+00:00 — Leo Moser (mole99) (@mole99) — Yosys regression and reduced-case request. Evidence (Discord)
  • 1509880409511432323 — 2026-05-29T11:25:41.849+00:00 — Leo Moser (mole99) (@mole99) — fix merged and template updated. Evidence (Discord)