What it does
The harness runs LibreLane on the Ibex core against the sky130A process in a pinned environment. It extracts metrics for each stage into schema-shaped JSON and writes a run manifest that records how the run was made.
It then scaffolds an episode file from the run. The mechanical fields arrive filled in. The judgment fields carry a marker for a domain expert to complete.
Status
Work units W2.1 to W2.8 are in place. The environment, flow harness, extractor, sweeps and episode tooling all run. No LibreLane flow has been executed yet because none could be run from the machine that built the repository.
The repository contains no episodes. The episode template holds structure only. Filling in the judgment fields is work for a domain expert.
Layout
| Path | Purpose |
|---|---|
designs/ibex/ | LibreLane configuration and constraints for Ibex on sky130A. |
flow/run.py | One command that provisions, runs, extracts and writes the manifest. |
flow/sweeps/ | Named configurations that change a single variable to provoke a failure. |
extractors/ | Turn a LibreLane run directory into per-stage metrics JSON. |
tools/ | An episode scaffolder and a checker for drafts and duplicate ids. |
episodes/ | The template today and real episodes later. |
pdk/sky130.pin | The pinned sky130 revision. |
flake.nix | A pinned LibreLane 3.0.11 environment. |
The flow is LibreLane. The place-and-route engine inside it is OpenROAD. The tests run without LibreLane installed.
Licence
The code is under the Apache License 2.0. The episode corpus and fixture data the tooling exports are under CC BY 4.0. The repository records the split in its NOTICE file.
Where to get it
- The source repository: github.com/PostOakLabs/openeda-decision-dataset.
- The code licence: Apache License 2.0.