Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

vyges-drc — design-rule check

Part of the Vyges Loom suite. Install once with vyges install loom, then run vyges loom drc. It’s also a standalone vyges-drc binary on your PATH (the integration contract for flow authors).

vyges-drc answers the geometric half of physical verification: does the layout obey the foundry’s rules? It reads a laid-out GDS and a small per-layer rule deck and returns the list of violations. It is the geometric sibling of vyges-lvs — LVS asks does the layout implement the schematic?, DRC asks does it obey the rules? — and rides the same vyges-layout GDS/boolean/flatten kernel.

Run it

vyges install loom                                       # one-time: fetch the Loom suite
vyges loom drc demo                                       # built-in layout with violations
vyges loom drc check block.gds --rules sky130.drc         # -> violations report
vyges loom drc check block.gds --rules sky130.drc --fail-on-violation   # exit 3 (CI gate)
vyges loom drc fill  block.gds --rules sky130.drc -o filled.gds         # metal-fill generator

A rule deck keys on the GDS layer number; today’s classes are width, spacing, area, windowed metal density, per-net antenna ratio, and enclosure — plus a fill rule that drives the metal-fill generator (vyges loom drc fill … -o out.gds):

# rule     layer  args
width      66     170             # min width on layer 66
space      68     140             # min spacing on layer 68
area       68     20000           # min polygon area (dbu²)
density    68     20 70 100000    # coverage on 68 must be 20–70% per 100000-dbu window
connect    5      68              # layers connect where they overlap (via/contact)
antenna    68     5  400          # per net: conductor area ≤ 400 × gate area
enclosure  68     66 40           # layer-66 shapes enclosed by layer-68 with ≥40 margin
fill       70     30 100000 600 400   # generate fill: top layer 70 to 30% per window

See the full CLI reference (generated from --help).

Where it sits

GDS + a .drc deck → violations (text or --json, with a CI exit code). It’s the layout-rule check at sign-off, beside LVS. The deck is the plugin boundary: an open reference deck ships for the open PDKs; a certified per-foundry deck stays private under that foundry’s terms. Same-layer pre-merge is the next depth pass on the same engine.