Skip to content

Replace efabless Docker CI with Yosys synthesis check; document upstream OpenLane flow - #2

Merged
jordanrule merged 2 commits into
mainfrom
copilot/update-ci-workflow-documentation
Oct 13, 2026
Merged

jordanrule merged 2 commits into
mainfrom
copilot/update-ci-workflow-documentation

Conversation

Copilot AI commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

CI should not depend on the efabless/openlane Docker image. This PR adds a fast Yosys synthesis check in its place and documents upstream OpenLane for full P&R, which stays a local/manual step.

  • CI (.github/workflows/sky130-smoke.yml)

    • The file did not exist, so it is created with sim, formal and a new synthesis-check job.
    • synthesis-check runs make sky130-synth-yosys-only.
    • The efabless Docker smoke test is dropped, not kept as optional.
    • The formal job's sby install step uses || true. A failed install only surfaces when make formal runs.
  • Makefile

    • sky130-synth-yosys-only runs PDK-agnostic synth and check -assert, with no liberty file or Docker.
    • sky130-synth-local does dfflibmap and abc against the sky130_fd_sc_hd liberty. Set SKY130_LIB, or PDK_ROOT to locate it. It writes build/synth/stat.txt and a mapped netlist, and fails with a clear message if the liberty is missing.
    • sky130-synth now invokes upstream OpenLane through OPENLANE_ROOT and is marked as requiring Docker.
    • clean also removes build/.
    • The frozen widths (DATA_W=8, ACC_W=16, LEN_W=6) are applied with chparam, because the RTL defaults are still 24 and 8.
  • Docs

    • openlane/README.md covers the CI (Yosys) vs. local (OpenLane) split and how to run upstream OpenLane locally.
    • docs/SYNTHESIS.md covers the Yosys flow with sky130 .lib/.lef, the commands, and expected cell mappings and constraints.
    • The root README.md gets a "Physical Design Flow" section and updated file list.
make sky130-synth-yosys-only                  # CI: no PDK, no Docker
make sky130-synth-local PDK_ROOT=$HOME/.volare  # sky130_fd_sc_hd mapping

Review notes

  • The repo has no OpenLane config.json, so make sky130-synth will not run end to end yet. openlane/README.md only lists what it must contain (top dpu_tile, the frozen widths, 10 ns clock).
  • The CI check is PDK-agnostic, so it does not validate sky130 mapping or timing. Those happen locally via sky130-synth-local and OpenLane.
  • I only ran sky130-synth-yosys-only, which passes (754 cells). sky130-synth-local and sky130-synth have not been run, and the workflow has not run in CI.

Co-authored-by: jordanrule <[email protected]>
Copilot AI changed the title [WIP] Update CI workflow and documentation for Yosys synthesis check Replace efabless Docker CI with Yosys synthesis check; document upstream OpenLane flow Oct 13, 2026
Copilot AI requested a review from jordanrule October 13, 2026 17:13
@jordanrule
jordanrule marked this pull request as ready for review October 13, 2026 17:25
@jordanrule
jordanrule merged commit 00d52cf into main Oct 13, 2026
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