Skip to content

DRC+LVS CI flow for sky130/gf180#88

Open
AL-255 wants to merge 22 commits intoReaLLMASIC:mainfrom
AL-255:main
Open

DRC+LVS CI flow for sky130/gf180#88
AL-255 wants to merge 22 commits intoReaLLMASIC:mainfrom
AL-255:main

Conversation

@AL-255
Copy link
Copy Markdown
Contributor

@AL-255 AL-255 commented Apr 30, 2026

Adds two GitHub Actions workflows that run DRC (klayout, optionally magic) and LVS (magic + netgen) for every glayout cell for both sky130 and gf180.

CI runs in the hpretl/iic-osic-tools container, which ships klayout, magic, netgen, and the sky130A / gf180mcuD PDKs. Automatically summarizing results to the github actions page.

The CI takes ~10 minutes to run. The Python venv created inside the docker container is cached to save some time. After DRC, the generated artifacts are used for the LVS run.

Cell Status

The flow exposes many DRC/LVS failures. It could be caused by the following reasons

  • Some of those violations were fixed by hand before.
  • A recent ruleset update may have introduced more strict design rules.
  • Recent updates of GDSFactory have changed behavior from when the cell is first introduced.

To make sure it's not introduced by a recent commit, the DRC/LVS pipeline is tested on 4b21466 (when the repo is first seperated from OpenFASoC), and it has much more violations with many build failures. So the failure is probably not introduced by the DRC/LVS flow itself nor a recent commit. Also tested different combination of design parameters and they always fail, so it's unlikely an issue with design parameters.

Many failures can be fixed with small changes to the existing code base (usually by introducing more relaxed constraints). This PR also includes a number of fixes to make sure the CI gives at least a clean result on DRC.

LVS still need more investigation: diff_pair_ibias, differential_to_single_ended_converter, opamp have LVS failures in both PDK.

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.

1 participant