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

SKY130 rule coverage

This deck is a SUBSET of the SKY130 design rules: passing it is NOT tape-out clean, and it does not cover antenna, density, latch-up, or most implant and well rules. It exists so the editor, the agent harness, and the benchmark suite can check the everyday geometry mistakes (too narrow, too close, too small, under-enclosed, short endcap) against real, cited SKY130 values, not so a design can be signed off.

The rules live in tech/sky130-drc-subset.toml, transcribed from the SkyWater SKY130 periphery rules for the digital metal stack. reticle_drc::sky130_drc_rules() embeds that file at compile time and returns it as engine rules ready for DrcEngine::new; see Design-rule checking for how the engine evaluates each kind. Values are database units (1 dbu = 1 nm); areas are dbu squared.

Checked rules

Layer names follow tech/sky130.tech (GDS layer/datatype).

Rule idKindLayer(s)ValueMeaning
li.1widthli1 (67/20)170 (0.17 um)Min width of li1
li.3spacingli1 (67/20)170 (0.17 um)Min li1 to li1 spacing
li.5enclosurelicon1 (66/44) in li1 (67/20)80 (0.08 um)licon1 enclosed by li1
li.6areali1 (67/20)56100 (0.0561 um²)Min li1 area
m1.1widthmet1 (68/20)140 (0.14 um)Min width of met1
m1.2spacingmet1 (68/20)140 (0.14 um)Min met1 to met1 spacing
m1.4enclosuremcon (67/44) in met1 (68/20)30 (0.03 um)mcon enclosed by met1
m1.6areamet1 (68/20)83000 (0.083 um²)Min met1 area
m2.1widthmet2 (69/20)140 (0.14 um)Min width of met2
m2.2spacingmet2 (69/20)140 (0.14 um)Min met2 to met2 spacing
m2.4enclosurevia (68/44) in met2 (69/20)55 (0.055 um)via enclosed by met2
m3.1widthmet3 (70/20)300 (0.3 um)Min width of met3
m3.2spacingmet3 (70/20)300 (0.3 um)Min met3 to met3 spacing
m4.1widthmet4 (71/20)300 (0.3 um)Min width of met4
m4.2spacingmet4 (71/20)300 (0.3 um)Min met4 to met4 spacing
m5.1widthmet5 (72/20)1600 (1.6 um)Min width of met5
m5.2spacingmet5 (72/20)1600 (1.6 um)Min met5 to met5 spacing
poly.1awidthpoly (66/20)150 (0.15 um)Min width of poly
poly.2spacingpoly (66/20)210 (0.21 um)Min poly to poly spacing
poly.8extensionpoly (66/20) past diff (65/20)130 (0.13 um)Poly endcap past diff
difftap.1widthdiff (65/20)150 (0.15 um)Min width of diff or tap
difftap.3spacingdiff (65/20)270 (0.27 um)Min diff to diff spacing
licon.1widthlicon1 (66/44)170 (0.17 um)licon1 size, as min width
ct.1widthmcon (67/44)170 (0.17 um)mcon size, as min width
via.1awidthvia (68/44)150 (0.15 um)via size, as min width
via2.1awidthvia2 (69/44)200 (0.2 um)via2 size, as min width

26 rules: 12 width, 8 spacing, 3 enclosure, 2 area, 1 extension. The loader’s tests pin this count and the per-kind distribution, so the table above and the committed data cannot drift apart silently.

Not covered

Everything not in the table, including but not limited to:

  • Antenna rules. No charge-accumulation checks at all.
  • Density rules. No metal fill or min/max density windows (the engine has a density check, but this deck defines none).
  • Latch-up and well rules. No nwell spacing/width, no tap distance rules (tap.*, nwell.*), no butting rules.
  • Implant and marker layers. nsdm/psdm/npc and friends are in the layer map but carry no rules here; most implant enclosure/spacing rules (nsd.*, psd.*, npc.*) are absent.
  • Most contact/via rules. Sizes are encoded as min width only (the real rules are exact-size), and only three enclosure directions are present; end-of-line, differential enclosure (m1.5, m2.5), array spacing, and licon-on-poly vs licon-on-diff distinctions are absent.
  • Transistor-level rules. Gate spacing to licon, diff extension past poly (difftap.2, poly.7), and everything hvi/hv related.
  • Resistors, capacitors, SRAM, sealring, pad special-case rules.

Two engine caveats also apply (see Design-rule checking): shapes are reduced to axis-aligned bounding boxes, which is exact for rectangles but conservative (may over-report, never under-report) for polygons and paths; and same-layer spacing treats touching or overlapping shapes as merged rather than as violations.

If a layout must be manufacturable, run the full SkyWater deck in a sign-off tool. This subset is a fast, honest first filter, nothing more.