Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 2.93 KB

File metadata and controls

94 lines (68 loc) · 2.93 KB

Reproducing the Latest Release with Apptainer

This flow reproduces the current OpenPLL release gate for the 25 MHz-reference Sky130 PLL path. It is intentionally scoped to the latest release evidence: the all-HD coarse DCO, hard top, configured wrapper, target-code rows, direct-RCX hold smokes, direct-RCX near-seed smokes, and make check-sky130-pll-25mhz-release.

Historical v1-v7 diagnostics are not regenerated by this container recipe.

Host Inputs

The Apptainer image provides the generic Ubuntu runtime layer. Large or environment-specific inputs are mounted from the host so they are not copied into the SIF:

  • Apptainer, or SingularityCE using the compatible CLI.
  • Ciel Sky130 PDK at $HOME/.volare/ciel/sky130.
  • Ciel Sky130 current version 7519dfb04400f224f140749cda44ee7de6f5e095.
  • LibreLane checkout at commit 0f39aab99009d4a81ee3f863f0da9ca2f0b43a99.
  • Nix store at /nix, used by the LibreLane nix-shell flow.
  • Xyce at /usr/local/bin/Xyce; MPI Xyce under $HOME/.local/xyce-mpi is used when present. The image includes the Ubuntu runtime libraries needed by these binaries, but the Xyce install itself is mounted from the host.

Set CIEL_SKY130_ROOT, LIBRELANE_ROOT, or XYCE_MPI_ROOT if your paths differ. Set OPENPLL_ALLOW_PDK_MISMATCH=1 or OPENPLL_ALLOW_LIBRELANE_MISMATCH=1 only for diagnostic runs; release reproduction should use the pinned versions above.

Build the Image

make apptainer-build

The image is written to build/apptainer/openpll-release.sif, overwriting any existing generated image at that path. If your Apptainer install requires fakeroot or sudo, pass the build flags explicitly:

OPENPLL_APPTAINER_BUILD_FLAGS=--fakeroot make apptainer-build

The run wrapper defaults to --userns, which works with unprivileged SingularityCE/Apptainer installs. If your site requires setuid execution instead, override it with:

OPENPLL_APPTAINER_RUN_FLAGS= make apptainer-audit-release

Audit Existing Artifacts

If the generated build/ and openlane/*/runs/ artifacts already exist, run:

make apptainer-audit-release

This executes make check-sky130-pll-25mhz-release inside the container.

Rebuild the Release Evidence

To regenerate the latest-release evidence and then audit it:

make apptainer-rebuild-release

For a clean generated-artifact rebuild:

make apptainer-clean-rebuild-release

The clean rebuild removes only ignored/generated release directories:

  • build/*, except build/apptainer/ so the default SIF is not removed while it is running
  • openlane/IntegerPLL_DCO_EINVP_COARSE/runs/
  • openlane/IntegerPLL_BBPD/runs/
  • openlane/IntegerPLL_DigitalCore/runs/librelane_signoff_force127_s4a2/
  • openlane/IntegerPLL_HardMacroTop_EINVP/runs/
  • openlane/IntegerPLL_HardMacroTop_EINVP_25MHzConfigured/runs/

The final expected artifact is:

build/sky130_pll_25mhz_release/check_summary.json

with "status": "pass".