vyges-drc — design-rule check
Part of the Vyges Loom suite. Install once with
vyges install loom, then runvyges loom drc. It’s also a standalonevyges-drcbinary 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.