skywater-pdk/docs/rules/periphery/periphery.csv

61 KiB

10 Errors10
2RuleSection G2: Design Rules for SKY130*Use
3sky130
4Section G2a. Periphery Rules
5
6(x.-)General
7
81ap1m.md (OPC), DECA and AMKOR layers (pi1.dg, pmm.dg, rdl.dg, pi2.dg, ubm.dg, bump.dg) and mask data for p1m, met1, via, met2 must be on a grid of [mm]0.001
91bData for SKY130 layout and mask on all layers except those mentioned in 1a must be on a grid of [mm] (except inside Seal ring)0.005
102Angles permitted on: diffN/A
11Angles permitted on: diff except for:\n- diff inside "advSeal_6um* OR cuPillarAdvSeal_6um*" pcell, \n- diff rings around the die at min total L>1000 um and W=0.3 umn x 90
12Angles permitted on: tap (except inside :drc_tag:`areaid.en`), poly (except for ESD flare gates or gated_npn), li1(periphery), licon1, capm, mcon, via, via2. Anchors are exempted.n x 90
13Angles permitted on: via3 and via4. Anchors are exempted.n x 90
142aAnalog circuits identified by :drc_tag:`areaid.analog` to use rectangular diff and tap geometries only; that are not to be merged into more complex shapes (T's or L's)
152c45 degree angles allowed on diff, tap inside UHVI
16
173Angles permitted on all other layers and in the seal ring for all the layers
183aAngles permitted on all other layers except WLCSP layers (pmm, rdl, pmm2, ubm and bump)n x 45
194Electrical DR cover layout guidelines for electromigrationNC
205All "pin"polygons must be within the "drawing" polygons of the layerAl
216All intra-layer separation checks will include a notch check
227Mask layer line and space checks must be done on all layers (checked with s.x rules)NC
238Use of areaid "core" layer ("coreid") must be approved by technologyNC
249Shapes on maskAdd or maskDrop layers ("serifs") are allowed in core only. Exempted are: \n- cfom md/mp inside "advSeal_6um* OR cuPillarAdvSeal_6um*" pcell \n- diff rings around the die at min total L>1000 um and W=0.3 um, and PMM/PDMM inside areaid:sl
25Shapes on maskAdd or maskDrop layers ("serifs") are allowed in core only. PMM/PDMM inside areaid:sl are excluded.N/A
2610Res purpose layer for (diff, poly) cannot overlap licon1
2711Metal fuses are drawn in met2LVSN/A
28Metal fuses are drawn in met3LVSN/A
29Metal fuses are drawn in met4LVS
30\n12a\n12b\n12cTo comply with the minimum spacing requirement for layer X in the frame:\n- Spacing of :drc_tag:`areaid.mt` to any non-ID layer\n- Enclosure of any non-ID layer by :drc_tag:`areaid.mt`\n- Rules exempted for cells with name "*_buildspace"F
3112d- Spacing of :drc_tag:`areaid.mt` to huge_metX (Exempt met3.dg)FN/A
3212d- Spacing of :drc_tag:`areaid.mt` to huge_metX (Exempt met5.dg)F
3312e- Enclosure of huge_metX by :drc_tag:`areaid.mt` (Exempt met3.dg)FN/A
3412e- Enclosure of huge_metX by :drc_tag:`areaid.mt` (Exempt met5.dg)F
3513Spacing between features located across areaid:ce is checked by …
3614Width of features straddling areaid:ce is checked by …
3715aDrawn compatible, mask, and waffle-drop layers are allowed only inside areaid:mt (i.e., etest modules), or inside areaid:sl (i.e., between the outer and inner areaid:sl edges, but not in the die) or inside areaid:ft (i.e., frame, blankings). Exception: FOM/P1M/Metal waffle drop are allowed inside the dieP
3815bRule X.15a exempted for cpmm.dg inside cellnames "PadPLfp", "padPLhp", "padPLstg" and "padPLwlbi" (for the SKY130di-5r-gsmc flow)Exempt
3916Die must not overlap :drc_tag:`areaid.mt` (rule waived for test chips and exempted for cellnames "*tech_CD_*", "*_techCD_*", "lazX_*" or "lazY_*" )
4017All labels must be within the "drawing" polygons of the layer; This check is enabled by using switch "floating_labels"; Identifies floating labels which appear as warnings in LVS. Using this check would enable cleaner LVS run; Not a gate for tapeout
4118Use redundant mcon, via, via2, via3 and via4 (Locations where additional vias/contacts can be added to existing single vias/contacts will be identified by this rule).\nSingle via under :drc_tag:`areaid.core` and :drc_tag:`areaid.standarc` are excluded from the single via checkRR
4219Lower left corner of the seal ring should be at origin i.e (0,0)
4320Min spacing between pins on the same layer (center to center); Check enabled by switch "IP_block"
4421prunde.dg is allowed only inside :drc_tag:`areaid.mt` or :drc_tag:`areaid.sc`
4522No floating interconnects (poly, li1, met1-met5) or capm allowed; Rule flags interconnects with no path to poly, difftap or metal pins. Exempt floating layers can be excluded using poly_float, li1_float, m1_float, m2_float, m3_float, m4_float and m5_float text labels. Also flags an error if these text labels are placed on connected layers (not floating) and if the labels are not over the appropriate metal layer. \nIf floating interconnects need to be connected at a higher level (Parent IP or Full chip), such floating interconnects can be exempted using poly_tie, li1_tie, m1_tie, m2_tie, m3_tie, m4_tie and m5_tie text labels.\nIt is the responsibility of the IP owner and chip/product owner to communicate and agree to the node each of these texted lines is connected to, if there is any risk to how a line is tied, and to what node.\nOnly metals outside :drc_tag:`areaid.stdcell` are checked.\nRC
46The following are exempt from x.22 violations: _techCD_ , inductor.dg, modulecut, capacitors and s8blerf
47The 'notPublicCell' switch will deactivate this rule
4823a:drc_tag:`areaid.sl` must not overlap diffN/A
4923bdiff cannot straddle :drc_tag:`areaid.sl`
5023c:drc_tag:`areaid.sl` must not overlap tap, poly, li1 and metX
5123d:drc_tag:`areaid.sl` must not overlap tap, polyN/A
5223eareaid:sl must not overlap li1 and metX for pcell "advSeal_6um"N/A
5323fareaid:SubstrateCut (:drc_tag:`areaid.st`, local_sub) must not straddle p+ tapRR
5424condiode label must be in iso_pwell
5525pnp.dg must be only within cell name "s8rf_pnp", "s8rf_pnp5x" or "s8tesd_iref_pnp", "stk14ecx_*"
5626"advSeal_6um" pcell must overlap diff
5727If the sealring is present, then partnum is required. To exempt the requirement, place text.dg saying "partnum_not_necessary".\n"partnum*block" pcell should be used instead of "partnum*" pcellsRRN/A
5828Min width of :drc_tag:`areaid.sl`N/A
5929nfet must be enclosed by dnwell. Rule is checked when switch nfet_in_dnwell is turned on.
60
61UseExplanation
62PRule applies to periphery only (outside :drc_tag:`areaid.ce`). A corresponding core rule may or may not exist.
63NERule not checked for esd_nwell_tap. There are no corresponding rule for esd_nwell_tap.
64NCRule not checked by DRC. It should be used as a guideline only.
65TCRule not checked for cell name "*_tech_CD_top*"
66ARule documents a functionality implemented in CL algorithms and may not be checked by DRC.
67ADRule documents a functionality implemented in CL algorithms and checked by DRC.
68DERule not checked for source of Drain Extended device
69LVSRule handled by LVS
70FRule intended for Frame only, not checked inside Die
71DNFDrawn Not equal Final. The drawn rule does not reflect the final dimension on silicon. See table J for details.
72RCRecommended rule at the chip level, required rule at the IP level.
73RRRecommended rule at any IP level
74Al CuRules applicable only to Al or Cu BE flows
75IRIR drop check compering Al database and slotted Cu database for the same product (2 gds files) must be cleanCu
76
77
78Note: some rules contain correction factors to compensate possible mask defect and unpredicted process biases
79
80(dnwell.-)Deep Nwellsky130
81Function: Define deep nwell for isolating pwell and noise immunity
82
832Min width of deep nwell3.000
843Min spacing between deep nwells. Rule exempt inside UHVI.6.300
853aMin spacing between deep nwells on same net inside UHVI.N/A
863bMin spacing between deep-nwells inside UHVI and deep-nwell outside UHVIN/A
873cMin spacing between deep-nwells inside UHVI and nwell outsideUHVIN/A
883dMin spacing between deep-nwells inside UHVI on different netsN/A
894Dnwell can not overlap pnp:dg
905P+_diff can not straddle Dnwell
916RF NMOS must be enclosed by deep nwell (RF FETs are listed in $DESIGN/config/tech/model_set/calibre/fixed_layout_model_map of corresponding techs)
927Dnwell can not straddle areaid:substratecut
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117(nwell.-)Nwellsky130
118Function: Define nwell implant regions
119
1201Width of nwell0.840
1212aSpacing between two n-wells1.270
1222bManual merge wells if less than minimum
1234All n-wells will contain metal-contacted tap (rule checks only for licon on tap) . Rule exempted from high voltage cells inside UHVI
1245Deep nwell must be enclosed by nwell by atleast... Exempted inside UHVI or :drc_tag:`areaid.lw`TC0.400
125Nwells can merge over deep nwell if spacing too small (as in rule nwell.2)
1265amin enclosure of nwell by dnwell inside UHVIN/A
1275bnwell inside UHVI must not be on the same net as nwell outside UHVIN/A
1286Min enclosure of nwell hole by deep nwell outside UHVITC1.030
1297Min spacing between nwell and deep nwell on separate netsTC4.500
130Spacing between nwell and deep nwell on the same net is set by the sum of the rules nwell.2 and nwell.5. By default, DRC run on a cell checks for the separate-net spacing, when nwell and deep nwell nets are separate within the cell hierarchy and are joined in the upper hierarchy. To allow net names to be joined and make the same-net rule applicable in this case, the "joinNets" switch should be turned on.
131
132
133waffle_chip
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155(pwbm.-)Pwbmsky130
156Function: Define p-well block
157
1581Min width of pwbm.dgN/A
1592Min spacing between two pwbm.dg inside UHVIN/A
1603Min enclosure of dnwell:dg by pwbm.dg inside UHVI (exempt pwbm hole inside dnwell)N/A
1614dnwell inside UHVI must be enclosed by pwbm (exempt pwbm hole inside dnwell)N/A
1625Min Space between two pwbm holes inside UHVIN/A
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177(pwdem.-)Pwdemsky130
178
179
1801Min width of pwdem.dgN/A
1812Min spacing between two pwdem.dg inside UHVI on same netN/A
1823Min enclosure of pwdem:dg by pwbm.dg inside UHVIN/A
1834pwdem.dg must be enclosed by UHVIN/A
1845pwdem.dg inside UHVI must be enclosed by deep nwellN/A
1856Min enclosure of pwdem:dg by deep nwell inside UHVIN/A
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205(hvtp.-)Hvtpsky130
206Function: Define Vt adjust implant region for high Vt LV PMOS;
207
2081Min width of hvtp0.380
2092Min spacing between hvtp to hvtp0.380
2103Min enclosure of pfet by hvtpP0.180
2114Min spacing between pfet and hvtpP0.180
2125Min area of hvtp (um^2)0.265
2136Min area of hvtp Holes (um^2)0.265
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238(hvtr.-)Hvtrsky130
239Function: Define low VT adjust implant region for pmedlvtrf;
240
2411Min width of hvtr0.380
2422Min spacing between hvtp to hvtr0.380
2433Min enclosure of pfet by hvtrP0.180
244
245
246(lvtn.-)Lvtnmsky130
247Function: Define regions to block Vt adjust implant for low Vt LV PMOS/NMOS, SONOS FETs and Native NMOS
248
2491aMin width of lvtn0.380
2502Min space lvtn to lvtn0.380
2513aMin spacing of lvtn to gate. Rule exempted inside UHVI.P0.180
2523bMin spacing of lvtn to pfet along the S/D directionP0.235
2534bMin enclosure of gate by lvtn. Rule exempted inside UHVI.P0.180
2549Min spacing, no overlap, between lvtn and hvtp0.380
25510Min enclosure of lvtn by (nwell not overlapping Var_channel) (exclude coincident edges)0.380
25612Min spacing between lvtn and (nwell inside :drc_tag:`areaid.ce`)0.380
25713Min area of lvtn (um^2)0.265
25814Min area of lvtn Holes (um^2)0.265
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291(ncm.-)Ncmsky130
292Function: Define Vt adjust implant region for LV NMOS in the core of NVSRAM
293
294X.2Ncm overlapping areaid:ce is checked for core rules only
295X.3Ncm overlapping core cannot overlap N+diff in peripheryTC
2961Width of ncm0.380
2972aSpacing of ncm to ncm0.380
2982bManual merge ncm if space is below minimum
2993Min enclosure of P+diff by NcmP0.180
3004Min enclosure of P+diff within (areaid:ed AndNot areaid:de) by NcmP0.180
3015Min space, no overlap, between ncm and (LVTN_gate) OR (diff containing lvtn)P0.230
3026Min space, no overlap, between ncm and nfetP0.200
3037Min area of ncm (um^2)0.265
3048Min area of ncm Holes (um^2)0.265
305
306
307
308
309
310
311
312
313
314
315
316
317(difftap.-)Diff/tapsky130
318Function: Defines active regions and contacts to substrate
319
3201Width of diff or tapP0.150
3212Minimum channel width (Diff And Poly) except for FETs inside :drc_tag:`areaid.sc`: Rule exempted in the SP8* flows only, for the cells listed in rule difftap.2a P0.420
3222aMinimum channel width (Diff And Poly) for cell names "s8cell_ee_plus_sseln_a", "s8cell_ee_plus_sseln_b", "s8cell_ee_plus_sselp_a", "s8cell_ee_plus_sselp_b" , "s8fpls_pl8", "s8fpls_rdrv4" , "s8fpls_rdrv4f" and "s8fpls_rdrv8"PNA
3232bMinimum channel width (Diff And Poly) for FETs inside :drc_tag:`areaid.sc`P0.360
3243Spacing of diff to diff, tap to tap, or non-abutting diff to tap0.270
3254Min tap bound by one diffusion0.290
3265Min tap bound by two diffusionsP0.400
3276Diff and tap are not allowed to extend beyond their abutting edge
3287Spacing of diff/tap abutting edge to a non-conciding diff or tap edgeNE0.130
3298Enclosure of (p+) diffusion by N-well. Rule exempted inside UHVI.DE, NE, P0.180
3309Spacing of (n+) diffusion to N-well outside UHVIDE, NE, P0.340
33110Enclosure of (n+) tap by N-well. Rule exempted inside UHVI.NE, P0.180
33211Spacing of (p+) tap to N-well. Rule exempted inside UHVI.0.130
33312ESD_nwell_tap is considered shorted to the abutting diffNC
33413Diffusion or the RF FETS in Table H5 is defined by Ldiff and Wdiff.
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359(tunm.-)Tunnelsky130
360Function: Defines SONOS FETs
361
3621Min width of tunm0.410
3632Min spacing of tunm to tunm0.500
3643Extension of tunm beyond (poly and diff)0.095
3654Min spacing of tunm to (poly and diff) outside tunm0.095
3665(poly and diff) may not straddle tunm
3676aTunm outside deep n-well is not allowedTC
3687Min tunm area0.672
3698tunm must be enclosed by :drc_tag:`areaid.ce`
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395(poly.-)Poly sky130
396Function: Defines FET gates, interconnects and resistors
397
398X.1All FETs would be checked for W/Ls as documented in spec 001-02735 (Exempt FETs that are pruned; exempt for W/L's inside :drc_tag:`areaid.sc` and inside cell name scs8*decap* and listed in the MRGA as a decap only W/L)
399X.1aMin & max dummy_poly L is equal to min L allowed for corresponding device type (exempt rule for dummy_poly in cells listed on Table H3)
4001aWidth of poly0.150
4011bMin channel length (poly width) for pfet overlapping lvtn (exempt rule for dummy_poly in cells listed on Table H3)0.350
4022Spacing of poly to poly except for poly.c2 and poly.c3; Exempt cell: sr_bltd_eq where it is same as poly.c20.210
4033Min poly resistor width0.330
4044Spacing of poly on field to diff (parallel edges only)P0.075
4055Spacing of poly on field to tapP0.055
4066Spacing of poly on diff to abutting tap (min source)P0.300
4077Extension of diff beyond poly (min drain)P0.250
4088Extension of poly beyond diffusion (endcap)P0.130
4099Poly resistor spacing to poly or spacing (no overlap) to diff/tap0.480
41010Poly can't overlap inner corners of diff
41111No 90 deg turns of poly on diff
41212(Poly NOT (nwell NOT hvi)) may not overlap tap; Rule exempted for cell name "s8fgvr_n_fg2" and gated_npn and inside UHVI.P
41315Poly must not overlap diff:rs
41416Inside RF FETs defined in Table H5, poly cannot overlap poly across multiple adjacent instances
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447(rpm.-)P+ Poly resistorsky130
448Function: Defines p+ poly resistors
449
4501aMin width of rpm1.270
4511bMin/Max prec_resistor width xhrpoly_0p350.350
4521cMin/Max prec_resistor width xhrpoly_0p690.690
4531dMin/Max prec_resistor width xhrpoly_1p411.410
4541eMin/Max prec_resistor width xhrpoly_2p852.850
4551fMin/Max prec_resistor width xhrpoly_5p735.730
4561gOnly 1 licon is allowed in xhrpoly_0p35 prec_resistor_terminal
4571hOnly 1 licon is allowed in xhrpoly_0p69 prec_resistor_terminal
4581iOnly 2 licons are allowed in xhrpoly_1p41 prec_resistor_terminal
4591jOnly 4 licons are allowed in xhrpoly_2p85 prec_resistor_terminal
4601kOnly 8 licons are allowed in xhrpoly_5p73 prec_resistor_terminal
4612Min spacing of rpm to rpm0.840
4623rpm must enclose prec_resistor by atleast0.200
4634prec_resistor must be enclosed by psdm by atleast0.110
4645prec_resistor must be enclosed by npc by atleast0.095
4656Min spacing, no overlap, of rpm and nsdm0.200
4667Min spacing between rpm and poly0.200
4678poly must not straddle rpm
4689Min space, no overlap, between prec_resistor and hvntm0.185
46910Min spacing of rpm to pwbmN/A
47011rpm should not overlap or straddle pwbm except cells\ns8usbpdv2_csa_top\ns8usbpdv2_20vconn_sw_300ma_ovp_ngate_unit\ns8usbpdv2_20vconn_sw_300ma_ovp\ns8usbpdv2_20sbu_sw_300ma_ovpN/A
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494(varac.-)Varactorsky130
495Function: Defines varactors
496
4971Min channel length (poly width) of Var_channel0.180
4982Min channel width (tap width) of Var_channel1.000
4993Min spacing between hvtp to Var_channel0.180
5004Min spacing of licon on tap to Var_channel0.250
5015Min enclosure of poly overlapping Var_channel by nwell0.150
5026Min spacing between VaracTap and difftap0.270
5037Nwell overlapping Var_channel must not overlap P+ diff
5048Min enclosure of Var_channel by hvtp0.255
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528(photo.-)Photo diodesky130
529Function: Photo diode for sensing light
530
5311Rules dnwell.3 and nwell.5 are exempted for photoDiode
5322Min/Max width of photoDiode3.000
5333Min spacing between photoDiode5.000
5344Min spacing between photoDiode and deep nwell5.300
5355photoDiode edges must be coincident with :drc_tag:`areaid.po`
5366photoDiode must be enclosed by dnwell ring
5377photoDiode must be enclosed by p+ tap ring
5388Min/Max width of nwell inside photoDiode0.840
5399Min/Max enclosure of nwell by photoDiode1.080
54010Min/Max width of tap inside photoDiode0.410
54111Min/Max enclosure of tap by nwell inside photoDiode0.215
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567(npc.-)Nitride Poly Cut (NPC)sky130
568Function: Defines nitride openings to contact poly and Li1
569
5701Min width of NPC0.270
5712Min spacing of NPC to NPC0.270
5723Manual merge if less than minimum
5734Spacing (no overlap) of NPC to Gate0.090
5745Max enclosure of poly overlapping slotted_licon by npcm (merge between adjacent short edges of the slotted_licons if space < min)0.095
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594(n/ psd.-)N+/P+ Source/Drain Implants (Nsdm and Psdm)sky130
595Function: Defines opening for N+/P+ implants
596
5971Width of nsdm(psdm)P0.380
5982Spacing of nsdm(psdm) to nsdm(psdm)P0.380
5993Manual merge if less than minimum
6005aEnclosure of diff by nsdm(psdm), except for butting edge0.125
6015bEnclosure of tap by nsdm(psdm), except for butting edgeP0.125
6026Enclosure of diff/tap butting edge by nsdm (psdm) 0.000
6037Spacing of NSDM/PSDM to opposite implant diff or tap (for non-abutting diff/tap edges)0.130
6048Nsdm and psdm cannot overlap diff/tap regions of opposite dopingDE
6059Diff and tap must be enclosed by their corresponding implant layers. Rule exempted for\n- diff inside "advSeal_6um* OR cuPillarAdvSeal_6um*" pcell for SKY130P*/SP8P*/SKY130DI-5R-CSMC flows\n- diff rings around the die at min total L>1000 um and W=0.3 um\n- gated_npn \n- :drc_tag:`areaid.zer`.DE
60610aMin area of Nsdm (um^2)0.265
60710bMin area of Psdm (um^2)0.255
60811Min area of n/psdmHoles (um^2)0.265
609
610
611
612
613
614
615
616
617
618
619
620
621(licon.-)Local Interconnect Contact (Licon)sky130
622Function: Defines contacts between poly/diff/tap and Li1
623
6241Min and max L and W of licon (exempt licons inside prec_resistor)0.170
6251bMin and max width of licon inside prec_resistor0.190
6261cMin and max length of licon inside prec_resistor2.000
6272Spacing of licon to liconP0.170
6282bMin spacing between two slotted_licon (when the both the edges are 0.19um in length)0.350
6292cMin spacing between two slotted_licon (except for rule licon.2b)0.510
6302dMin spacing between a slotted_licon and 0.17um square licon0.510
6313Only min. square licons are allowed except die seal ring where licons are (licon CD)*L 0.170 *L
6324Licon1 must overlap li1 and (poly or diff or tap)
6335aEnclosure of licon by diffP0.040
6345bMin space between tap_licon and diff-abutting tap edgeP0.060
6355cEnclosure of licon by diff on one of two adjacent sidesP0.060
6366Licon cannot straddle tapP
6377Enclosure of licon by one of two adjacent edges of isolated tapP0.120
6388Enclosure of poly_licon by polyP0.050
6398aEnclosure of poly_licon by poly on one of two adjacent sidesP0.080
6409Spacing, no overlap, between poly_licon and psdm; In SKY130DIA/SKY130TMA/SKY130PIR-10 flows, the rule is checked only between (poly_licon outside rpm) and psdmP0.110
64110Spacing of licon on (tap AND (nwell NOT hvi)) to Var_channelP0.250
64211Spacing of licon on diff or tap to poly on diff (except for all FETs inside :drc_tag:`areaid.sc` and except s8spf-10r flow for 0.5um phv inside cell names "s8fs_gwdlvx4", "s8fs_gwdlvx8", "s8fs_hvrsw_x4", "s8fs_hvrsw8", "s8fs_hvrsw264", and "s8fs_hvrsw520" and for 0.15um nshort inside cell names "s8fs_rdecdrv", "s8fs_rdec8", "s8fs_rdec32", "s8fs_rdec264", "s8fs_rdec520")P0.055
64311aSpacing of licon on diff or tap to poly on diff (for all FETs inside :drc_tag:`areaid.sc` except 0.15um phighvt)P0.050
64411bSpacing of licon on diff or tap to poly on diff (for 0.15um phighvt inside :drc_tag:`areaid.sc`)P0.050
64511cSpacing of licon on diff or tap to poly on diff (for 0.5um phv inside cell names "s8fs_gwdlvx4", "s8fs_gwdlvx8", "s8fs_hvrsw_x4", "s8fs_hvrsw8", "s8fs_hvrsw264", and "s8fs_hvrsw520")P0.040
64611dSpacing of licon on diff or tap to poly on diff (for 0.15um nshort inside cell names "s8fs_rdecdrv", "s8fs_rdec8", "s8fs_rdec32", "s8fs_rdec264", "s8fs_rdec520")P0.045
64712Max SD width without liconNC5.700
64813Spacing (no overlap) of NPC to licon on diff or tapP0.090
64914Spacing of poly_licon to diff or tapP0.190
65015poly_licon must be enclosed by npc by…P0.100
65116Every source_diff and every tap must enclose at least one licon1, including the diff/tap straddling areaid:ce. \nRule exempted inside UHVI.P
65217Licons may not overlap both poly and (diff or tap)
65318Npc must enclose poly_licon
65419poly of the HV varactor must not interact with liconP
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699(li.-.-)Local Interconnect (LI)sky130
700Function: Defines local interconnect to diff/tap and poly
701
7021Width of LI (except for li.1a)P0.170
7031aWidth of LI inside of cells with name s8rf2_xcmvpp_hd5_*P0.140
7042Max ratio of length to width of LI without licon or mconNC10.000
7053Spacing of LI to LI (except for li.3a)P0.170
7063aSpacing of LI to LI inside cells with names s8rf2_xcmvpp_hd5_*P0.140
7075Enclosure of licon by one of two adjacent LI sidesP0.080
7086Min area of LIP0.0561
7097Min LI resistor width (rule exempted within :drc_tag:`areaid.ed`; Inside :drc_tag:`areaid.ed`, min width of the li resistor is determined by rule li.1)0.290
710
711
712
713
714
715
716
717
718
719
720
721
722(ct.-)Metal contact (Mcon)sky130
723Function: Defines contact between Li1 and met1
724
7251Min and max L and W of mconDNF0.170
7262Spacing of mcon to mconDNF0.190
7273Only min. square mcons are allowed except die seal ring where mcons are…0.170*L
7284Mcon must be enclosed by LI by at least …P0.000
729irdrop.1For 1 <= n <= 10 contacts on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.2
730irdrop.2For 11 <= n <= 100 contacts on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.3
731irdrop.3For n > 100 contacts on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.7
732
733
734
735
736
737
738
739
740
741
742(capm.-)MIM Capacitor (Capm)sky130
743Function: Defines MIM capacitor
744
7451Min width of capmN/A
7462aMin spacing of capm to capmN/A
7472bMinimum spacing of capacitor bottom_plate to bottom plateN/A
7483Minimum enclosure of capm (top_plate) by met2N/A
7494Min enclosure of via2 by capmN/A
7505Min spacing between capm and via2N/A
7516Maximum Aspect Ratio (Length/Width) N/A
7527Only rectangular capacitors are allowedN/A
7538Min space, no overlap, between via and capmN/A
75410capm must not straddle nwell, diff, tap, poly, li1 and met1 (Rule exempted for capm overlapping capm_2t.dg)TCN/A
75511Min spacing between capm to (met2 not overlapping capm)N/A
75612Max area of capm (um^2)N/A
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781(vpp.-)VPP Capacitor sky130
782Function: Defines VPP capacitor
783
7841Min width of capacitor:dg1.430
7851bMax width of capacitor:dg; Rule not applicable for vpp_with_Met3Shield and vpp_with_LiShield and vpp_over_MOSCAP and vpp_with_Met5 and vpp_with_noLi11.350
7861cMin/Max width of cell name "s8rf_xcmvpp1p8x1p8_m3shield "3.880
7873capacitor:dg must not overlap (tap or diff or poly); (one exception: Poly is allowed to overlap vpp_with_Met3Shield and vpp_with_Met5PolyShield); (not applicable for vpp_over_Moscap or "s8rf2_xcmvppx4_2xnhvnative10x4" or vpp_with_LiShield)
7884capacitor:dg must not straddle (nwell or dnwell)
7895Min spacing between (capacitor:dg edge and (poly or li1 or met1 or met2)) to (poly or li1 or met1 or met2) on separate nets (Exempt area of the error shape less than 2.25 (um^2) and run length less than 2.0um); Rule not applicable for vpp_with_Met3Shield and vpp_with_LiShield and vpp_over_MOSCAP and vpp_with_Met5 and vpp_with_noLi1.500
7905aMax pattern density of met3.dg over capacitor.dg (not applicable for vpp_with_Met3Shield and vpp_with_LiShield and vpp_over_MOSCAP and vpp_with_Met5)0.25
7915bMax pattern density of met4.dg over capacitor.dg (not applicable for vpp_with_Met3Shield and vpp_with_Met5 and vpp_over_MOSCAP)0.3
7925cMax pattern density of met5.dg over capacitor.dg (not applicable for vpp_with_Met3Shield and vpp_with_Met5 and vpp_over_MOSCAP and vpp_with_noLi); (one exception: rules does apply to cell "s8rf2_xcmvpp11p5x11p7_m1m4" and "s8rf2_xcmvpp_hd5_atlas*")0.4
7938Min enclosure of capacitor:dg by nwell1.500
7949Min spacing of capacitor:dg to nwell (not applicable for vpp_over_MOSCAP)1.500
79510vpp capacitors must not overlap; Rule checks for capacitor.dg overlapping more than one pwell pin
79611Min pattern density of (poly and diff) over capacitor.dg; (vpp_over_Moscap only)0.87
79712aNumber of met4 shapes inside capacitor.dg of cell "s8rf2_xcmvpp8p6x7p9_m3_lim5shield" must overlap with size 2.01 x 2.01 (no other met4 shapes allowed)9.00
79812bNumber of met4 shapes inside capacitor.dg of cell "s8rf2_xcmvpp11p5x11p7_m3_lim5shield" must overlap with size 2.01 x 2.01 (no other met4 shapes allowed)16.00
79912cNumber of met4 shapes inside capacitor.dg of cell "s8rf2_xcmvpp4p4x4p6_m3_lim5shield" must overlap with size 1.5 x 1.5 (no other met4 shapes allowed)4.00
80013Min space of met1 to met1inside VPP capacitorCu0.160
80114Min space of met2 to met2 inside VPP capacitorCu0.160
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825(m1.-)Met1sky130
826Function: Defines first level of metal interconnects, buses etc;
827
828.X.1Algorithm should flag errors, for met1, if ANY of the following is true:\nAn entire 700x700 window is covered by cmm1 waffleDrop, and metX PD < 70% for same window.\n80-100% of 700x700 window is covered by cmm1 waffleDrop, and metX PD < 65% for same window.\n60-80% of 700x700 window is covered by cmm1 waffleDrop, and metX PD < 60% for same window.\n50-60% of 700x700 window is covered by cmm1 waffleDrop, and metX PD < 50% for same window.\n40-50% of 700x700 window is covered by cmm1 waffleDrop, and metX PD < 40% for same window.\n30-40% of 700x700 window is covered by cmm1 waffleDrop, and metX PD < 30% for same window.\nExclude cells whose area is below 40Kum2. NOTE: Required for IP, Recommended for Chip-level.RC
8291Width of metal10.140
8302Spacing of metal1 to metal10.140
8313aMin. spacing of features attached to or extending from huge_met1 for a distance of up to 0.280 um to metal1 (rule not checked over non-huge met1 features)0.280
8323bMin. spacing of huge_met1 to metal1 excluding features checked by m1.3a0.280
8334Mcon must be enclosed by Met1 by at least …(Rule exempted for cell names documented in rule m1.4a)P0.030
8344aMcon must be enclosed by Met1 by at least (for cell names "s8cell_ee_plus_sseln_a", "s8cell_ee_plus_sseln_b", "s8cell_ee_plus_sselp_a", "s8cell_ee_plus_sselp_b", "s8fpls_pl8", and "s8fs_cmux4_fm")P0.005
8355Mcon must be enclosed by Met1 on one of two adjacent sides by at least …P, Al0.060
8366Min metal 1 area [um2]0.083
8377Min area of metal1 holes [um2]0.140
838pd.1Min MM1_oxide_Pattern_densityRR, Al0.7
839pd.2aRule m1.pd.1 has to be checked by dividing the chip into square regions of width and length equal to …A, Al700
840pd.2bRule m1.pd.1 has to be checked by dividing the chip into steps of …A, Al70
84111Max width of metal1after slottingCu, NC4.000
84212Add slots and remove vias and contacts if met1 wider than…..Cu3.200
84313Max pattern density (PD) of met1Cu0.77
84414Met1 PD window size Cu50.000
84514aMet1 PD window stepCu25.000
84615Mcon must be enclosed by met1 on one of two adjacent sides by at least …Cu0.030
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873(via.-)Viasky130
874Function: Defines contact between met1 and met2
875
8761aMin and max L and W of via outside :drc_tag:`areaid.mt`Al0.150
8771bThree sizes of square Vias allowed inside areaid:mt: 0.150um, 0.230um and 0.280umAl
8782Spacing of via to viaAl0.170
8793Only min. square vias are allowed except die seal ring where vias are (Via CD)*L0.2*L
8804a0.150 um Via must be enclosed by Met1 by at least …0.055
8814bInside :drc_tag:`areaid.mt`, 0.230 um Via must be enclosed by met1 by atleastAl0.030
8824cInside :drc_tag:`areaid.mt`, 0.280 um Via must be enclosed by met1 by atleastAl0.000
8835a0.150 um Via must be enclosed by Met1 on one of two adjacent sides by at least …0.085
8845bInside :drc_tag:`areaid.mt`, 0.230 um Via must be enclosed by met1 on one of two adjacent sides by at least …Al0.060
8855cInside :drc_tag:`areaid.mt`, 0.280 um Via must be enclosed by met1 on one of two adjacent sides by at least …Al0.000
88611Min and max L and W of via outside :drc_tag:`areaid.mt`Cu0.180
88712Min spacing between viasCu0.130
88813Max of 5 vias within …Cu0.350
889140.180 um Via must be enclosed by parallel edges of Met1 by at least …Cu0.040
890irdrop.1For 1 <= n <= 2 vias on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.0
891irdrop.2For 3 <= n <= 15 vias on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.6
892irdrop.3For 16 <= n <= 30 vias on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.8
893irdrop.4For n > 30 vias on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.9
89414a0.180 um Via must be enclosed by 45 deg edges of Met1 by at least …Cu0.037
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909(m2.-)Metal 2sky130
910Function: Defines second level of metal interconnects, buses etc
911
912.X.1Algorithm should flag errors, for met2, if ANY of the following is true:\nAn entire 700x700 window is covered by cmm2 waffleDrop, and metX PD < 70% for same window.\n80-100% of 700x700 window is covered by cmm2 waffleDrop, and metX PD < 65% for same window.\n60-80% of 700x700 window is covered by cmm2 waffleDrop, and metX PD < 60% for same window.\n50-60% of 700x700 window is covered by cmm2 waffleDrop, and metX PD < 50% for same window.\n40-50% of 700x700 window is covered by cmm2 waffleDrop, and metX PD < 40% for same window.\n30-40% of 700x700 window is covered by cmm2 waffleDrop, and metX PD < 30% for same window.\nExclude cells whose area is below 40Kum2. Required for IP, Recommended for Chip-level.RC
9131Width of metal 20.140
9142Spacing of metal 2 to metal 20.140
9153aMin. spacing of features attached to or extending from huge_met2 for a distance of up to 0.280 um to metal2 (rule not checked over non-huge met2 features)0.280
9163bMin. spacing of huge_met2 to metal2 excluding features checked by m2.3a0.280
9173cMin spacing between floating_met2 with AR_met2_A >= 0.05 and AR_met2_B =< 0.032, outside areaid:sc must be greater thanRR0.145
9184Via must be enclosed by Met2 by at least … P, Al0.055
9195Via must be enclosed by Met2 on one of two adjacent sides by at least …Al0.085
9206Min metal2 area [um2]0.0676
9217Min area of metal2 holes [um2]0.140
922pd.1Min MM2_oxide_Pattern_densityRR0.7
923pd.2aRule m2.pd.1 has to be checked by dividing the chip into square regions of width and length equal to …A700
924pd.2bRule m2.pd.1 has to be checked by dividing the chip into steps of …A70
92511Max width of metal2Cu4.000
92612Add slots and remove vias and contacts if met2 wider than…..Cu3.200
92713Max pattern density (PD) of metal2Cu0.77
92814Met2 PD window size Cu50.000
92914aMet2 PD window stepCu25.000
93015Via must be enclosed by met2 by at least…Cu0.040
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953(via2.-)Via2sky130
954Function: Via2 connects met2 to met3 in the SKY130T*/SKY130P*/SP8Q/SP8P* flows and met2/capm to met3 in the SKY130DI* flow.
955
956X.1Via2 connects met2 to met3 in the SKY130T*/SKY130P*/SP8Q/SP8P* flow and met2/capm to met3 in the SKY130DI* flow.
9571aMin and max L and W of via2 (except for rule via2.1b/1c/1d/1e/1f)Al0.200
9581bThree sizes of square Vias allowed inside areaid:mt: 0.280um, 1.2 um and 1.5 umAlN/A
9591cTwo sizes of square Vias allowed inside areaid:mt: 1.2 um and 1.5 umAlN/A
9601dFour sizes of square Vias allowed inside areaid:mt: 0.2um, 0.280um, 1.2 um and 1.5 umAl
9611eThree sizes of square Vias allowed inside areaid:mt: 0.8um, 1.2 um and 1.5 umAlN/A
9621fTwo sizes of square Vias allowed outside areaid:mt: 0.8um and 1.2 umAlN/A
9632Spacing of via2 to via2Al0.200
9643Only min. square via2s are allowed except die seal ring where via2s are (Via2 CD)*LAl0.2*L
9654Via2 must be enclosed by Met2 by at least …Al0.040
9664aInside :drc_tag:`areaid.mt`, 1.5 um Via2 must be enclosed by met2 by atleast0.140
9675Via2 must be enclosed by Met2 on one of two adjacent sides by at least …Al0.085
96811Min and max L and W of via2Cu0.210
96912Min spacing between via2'sCu0.180
97013Min spacing between via2 rowsCu0.200
97114Via2 must be enclosed by met2 by atleastCu0.035
972irdrop.1For 1 <= n <= 2 via2's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.0
973irdrop.2For 3 <= n <= 4 via2's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.6
974irdrop.3For 5 <= n <= 30 via2's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.79
975irdrop.4For n > 30 via2's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.9
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990(m3.-)Metal 3sky130
991Function: Defines third level of metal interconnects, buses etc
992
993.X.1Algorithm should flag errors, for met3, if ANY of the following is true:\nAn entire 700x700 window is covered by cmm3 waffleDrop, and metX PD < 70% for same window.\n80-100% of 700x700 window is covered by cmm3 waffleDrop, and metX PD < 65% for same window.\n60-80% of 700x700 window is covered by cmm3 waffleDrop, and metX PD < 60% for same window.\n50-60% of 700x700 window is covered by cmm3 waffleDrop, and metX PD < 50% for same window.\n40-50% of 700x700 window is covered by cmm3 waffleDrop, and metX PD < 40% for same window.\n30-40% of 700x700 window is covered by cmm3 waffleDrop, and metX PD < 30% for same window.\nExclude cells whose area is below 40Kum2. NOTE: Required for IP, Recommended for Chip-level.RC
9941Width of metal 30.300
9952Spacing of metal 3 to metal 30.300
9963aMin. spacing of features attached to or extending from huge_met3 for a distance of up to 0.480 um to metal3 (rule not checked over non-huge met3 features)N/A
9973bMin. spacing of huge_met3 to metal3 excluding features checked by m3.3aN/A
9983cMin. spacing of features attached to or extending from huge_met3 for a distance of up to 0.400 um to metal3 (rule not checked over non-huge met3 features)0.400
9993dMin. spacing of huge_met3 to metal3 excluding features checked by m3.3a0.400
10004Via2 must be enclosed by Met3 by at least …Al0.065
10015Via2 must be enclosed by Met3 on one of two adjacent sides by at least …N/A
10025aVia2 must be enclosed by Met3 on all sides by at least …(Rule not checked on a layout when it satisfies both rules m3.4 and m3.5)N/A
10036Min area of metal3 0.240
10047Min area of metal3 holes [um2]Cu0.200
1005pd.1Min MM3_oxide_Pattern_densityRR0.7
1006pd.2aRule m3.pd.1 has to be checked by dividing the chip into square regions of width and length equal to …A700
1007pd.2bRule m3.pd.1 has to be checked by dividing the chip into steps of …A70
100811Max width of metal3Cu4.000
100912Add slots and remove vias and contacts if wider than…..Cu3.200
101013Max pattern density (PD) of metal3Cu0.77
101114Met3 PD window size Cu50.000
101214aMet3 PD window stepCu25.000
101315Via2 must be enclosed by met3 by at least…Cu0.060
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032(via3.-)Via3sky130
1033Function: Via3 connects met3 to met4 in the SKY130Q*/SKY130P*/SP8Q/SP8P* flow
1034
10351Min and max L and W of via3 (except for rule via3.1a)Al0.200
10361aTwo sizes of square via3 allowed inside :drc_tag:`areaid.mt`: 0.200um and 0.800umAl
10372Spacing of via3 to via3Al0.200
10383Only min. square via3s are allowed except die seal ring where via3s are (Via3 CD)*L0.2*L
10394Via3 must be enclosed by Met3 by at least …Al0.060
10405Via3 must be enclosed by Met3 on one of two adjacent sides by at least …Al0.090
104111Min and max L and W of via3Cu0.210
104212Min spacing between via2'sCu0.180
104313Via3 must be enclosed by Met3 by at least …Cu0.055
104414Min spacing between via3 rowsCu0.350
1045irdrop.1For 1 <= n <= 2 via3's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.0
1046irdrop.2For 3 <= n <= 15 via3's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.6
1047irdrop.3For 16 <= n <= 30 via3's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.8
1048irdrop.4For n > 30 via3's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.9
1049
1050(nsm.-)Nitride Seal Masksky130
1051
10521Min. width of nsm3.000
10532Min. spacing of nsm to nsm4.000
10543Min spacing, no overlap, between NSM_keepout to diff.dg, tap.dg, fom.dy, cfom.dg, cfom.mk, poly.dg, p1m.mk, li1.dg, cli1m.mk, metX.dg (X=1 to 5) and cmmX.mk (X=1 to 5). Exempt the following from the check: (a) cell name "nikon*" and (b) diff ring inside :drc_tag:`areaid.sl` Al1.000
10553aMin enclosure of diff.dg, tap.dg, fom.dy, cfom.dg, cfom.mk, poly.dg, p1m.mk, li1.dg, cli1m.mk, metX.dg (X=1 to 5) and cmmX.mk (X=1 to 5) by :drc_tag:`areaid.ft`. Exempt the following from the check: (a) cell name "s8Fab_crntic*" (b) blankings in the frame (rule uses :drc_tag:`areaid.dt` for exemption)3.000
10563bMin spacing between :drc_tag:`areaid.dt` to diff.dg, tap.dg, fom.dy, cfom.dg, cfom.mk, poly.dg, p1m.mk, li1.dg, cli1m.mk, metX.dg (X=1 to 5) and cmmX.mk (X=1 to 5). Exempt the following from the check: (a) blankings in the frame (rule uses :drc_tag:`areaid.dt` for exemption)3.000
1057
1058(indm.-)Inductor metalsky130
1059Function: Defines third level of metal interconnects, buses and inductor; top_indmMetal is met3 for SKY130D* flows; Similarly top_padVia is Via2 for SKY130D*
1060
10611Min width of top_indmMetalN/A
10622Min spacing between two top_indmMetalN/A
10633top_padVia must be enclosed by top_indmMetal by atleastN/A
10644Min area of top_indmMetalN/A
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075(m4.-)Metal 4sky130
1076Function: Defines Fourth level of metal interconnects;
1077
1078.X.1Algorithm should flag errors, for met4, if ANY of the following is true:\nAn entire 700x700 window is covered by cmm4 waffleDrop, and metX PD < 70% for same window.\n80-100% of 700x700 window is covered by cmm4 waffleDrop, and metX PD < 65% for same window.\n60-80% of 700x700 window is covered by cmm4 waffleDrop, and metX PD < 60% for same window.\n50-60% of 700x700 window is covered by cmm4 waffleDrop, and metX PD < 50% for same window.\n40-50% of 700x700 window is covered by cmm4 waffleDrop, and metX PD < 40% for same window.\n30-40% of 700x700 window is covered by cmm4 waffleDrop, and metX PD < 30% for same window.\nExclude cells whose area is below 40Kum2. Required for IP, Recommended for Chip-level.RC
10791Min width of met40.300
10802Min spacing between two met40.300
10813via3 must be enclosed by met4 by atleastAl0.065
10824Min area of met4 (rule exempted for probe pads which are exactly 1.42um by 1.42um)N/A
10834aMin area of met4 0.240
10845aMin. spacing of features attached to or extending from huge_met4 for a distance of up to 0.400 um to metal4 (rule not checked over non-huge met4 features)0.400
10855bMin. spacing of huge_met4 to metal4 excluding features checked by m4.5a0.400
10867Min area of meta4 holes [um2]Cu0.200
1087pd.1Min MM4_oxide_Pattern_densityRR0.7
1088pd.2aRule m4.pd.1 has to be checked by dividing the chip into square regions of width and length equal to …A700
1089pd.2bRule m4.pd.1 has to be checked by dividing the chip into steps of …A70
109011Max width of metal4Cu10.000
109112Add slots and remove vias and contacts if wider than…..Cu10.000
109213Max pattern density (PD) of metal4; met4 overlapping pdm areas are excluded from the checkCu0.77
109314Met4 PD window size Cu50.000
109414aMet4 PD window stepCu25.000
109515Via3 must be enclosed by met4 by at least…Cu0.060
109616Min enclosure of pad by met4Cu0.850
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124(via4.-)Via4sky130
1125Function: Via4 connects met4 to met5 in the SKY130P*/SP8P* flow
1126
11271Min and max L and W of via40.800
11282Spacing of via4 to via40.800
11293Only min. square via4s are allowed except die seal ring where via4s are (Via4 CD)*L0.8*L
11304Via4 must be enclosed by Met4 by at least …0.190
1131irdrop.1For 1 <= n <= 4 via4's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.0
1132irdrop.2For 5 <= n <= 10 via4's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.2
1133irdrop.3For 11 <= n <= 100 via4's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.5
1134irdrop.4For n > 100 via4's on the same connector, mcon area pre- and post- Cu conversion must differ by no more than… Cu, IR0.8
1135
1136(m5.-)Metal 5sky130
1137Function: Defines Fifth level of metal interconnects;
1138
11391Min width of met51.600
11402Min spacing between two met51.600
11413via4 must be enclosed by met5 by atleast0.310
11424Min area of met5 (For all flows except SKY130PIR*/SKY130PF*, the rule is exempted for probe pads which are exactly 1.42um by 1.42um)4.000
1143
1144(pad.-)Padsky130
1145Function: Opens the passivation
1146
11472Min spacing of pad:dg to pad:dg1.270
11483Max area of hugePad NOT top_metal 30000
1149
1150(rdl.-)Cu Inductorsky130
1151Function: Defines the Cu Inductor. Connects to met5 through the pad opening
1152
11531Min width of rdl10
11542Min spacing between two rdl10
11553Min enclosure of pad by rdl, except rdl interacting with bump10.750
11564Min spacing between rdl and outer edge of the seal ring15.000
11575(rdl OR ccu1m.mk) must not overlap :drc_tag:`areaid.ft`. Exempt the following from the check: (a) blankings in the frame (rule uses :drc_tag:`areaid.dt` for exemption)
11586Min spacing of rdl to pad, except rdl interacting with bump19.660
1159
1160(mf.-)Metal Fusesky130
1161Function: Defines metal fuses
1162For SKY130D* and SKY130TM* CADflow use MM2 for Metal Fuse
1163For SP8P*/SKY130P* (PLM) CADflow use MM4 for Metal Fuse
11641Min. and max width of fuse0.800
11652Length of fuse7.200
11663Spacing between centers of adjacent fuses2.760
11674Spacing between center of fuse and fuse_metal (fuse shields are exempted)3.300
11685Max. extension of fuse_metal beyond fuse boundary 0.830
11696Spacing (no overlapping) between fuse center and Metal13.300
11707Spacing (no overlapping) between fuse center and LI3.300
11718Spacing (no overlapping) between fuse center and poly2.660
11729Spacing (no overlapping) between fuse center and tap2.640
117310Spacing (no overlapping) between fuse center and diff3.250
117411Spacing (no overlapping) between fuse center and nwell3.320
117512Size of fuse_shield0.5x2.4
117613Min. spacing of center of fuse to fuse_shield2.200
117714Max. spacing of center of fuse to fuse_shield3.300
117815Fuse_shields are only placed between periphery metal (i.e., without fuse:dg) and non-isolated edges of fuse as defined by mf.16
117916The edge of a fuse is considered non-isolated if wider than or equal to mf.2 and spaced to fuse_metal by less than …4.000
118017Offset between fuse_shields center and fuse centerNC0.000
118118Min and max space between fuse_shield and fuse_metal (opposite edges). Rule checked within 1 gridpoint.0.600
118219Spacing (no overlapping) between fuse center and Metal23.300
118320Only one fuse per metal line allowed
118421Min spacing , no overlap, between metal3 and fuse center3.300
118522Min spacing between fuse_contact to fuse_contact1.960
118623Spacing (no overlapping) between fuse center and Metal4N/A
118724Spacing (no overlapping) between fuse center and Metal53.300
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219Section G2b: Rules for HV devices
1220
1221(hvi.-)HVIsky130
1222Function: Defines thick oxide for high voltage devices
1223
12241Min width of HviP0.600
12252aMin spacing of Hvi to HviP0.700
12262bManual merge if space is below minimum
12274Hvi must not overlap tunm
12285Min space between hvi and nwell (exclude coincident edges)0.700
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240(nwell.-)High Voltage Nwellsky130
1241Function: Defines rules for HV nwell; All nwell connected to voltages greater than 1.8V must be enclosed by hvi; Nets connected to LV nwell or nwell overlapping hvi but connected to LV voltages (i.e 1.8V) should be tagged "lv_net" using text.dg; This tag should be only on Li layer
1242
12438Min space between HV_nwell and any nwell on different nets2.000
12449(Nwell overlapping hvi) must be enclosed by hvi
124510LVnwell and HnWell should not be on the same net (for the purposes of this check, short the connectivity through resistors); Exempt HnWell with li nets tagged "lv_net" using text.dg and Hnwell connected to nwell overlapping :drc_tag:`areaid.hl`TC
124611Nwell connected to the nets mentioned in the "Power_Net_Hv" field of the latcup GUI must be enclosed by hvi (exempt nwell inside :drc_tag:`areaid.hl`). Also for the purposes of this check, short the connectivity through resistors. The rule will be checked in the latchup run and exempted for cells "s8tsg5_tx_ibias_gen" and "s8bbcnv_psoc3p_top_18", "rainier_top, indus_top*", "rainier_top, manas_top, ccg3_top"
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261(difftap.-)High Voltage Diff/Tapsky130
1262Function: Defines rules for HV diff/tap
1263
126414Min width of diff inside Hvi, except HV Pdiff resistors (difftap.14a)P0.290
126514aMin width of diff inside Hvi, HV Pdiff resistors onlyP0.150
126615aMin space of Hdiff to Hdiff P0.300
126715bMin space of n+diff to non-abutting p+tap inside HviP0.370
126816Min width tap butting diff on one or two sides inside Hvi (rule exempted inside UHVI)0.700
126917P+ Hdiff or Pdiff inside areaid:hvnwell must be enclosed by Hv_nwell by at least ….[Rule exempted inside UHVI]DE, NE0.330
127018Spacing of N+ diff to HV_nwell (rule exempted inside UHVI)DE, NE0.430
127119N+ Htap must be enclosed by Hv_nwell by at least …Rule exempted inside UHVI.NE0.330
127220Spacing of P+ tap to HV_nwell (Exempted for p+tap butting pwell.rs; rule exempted inside UHVI)0.430
127321Diff or tap cannot straddle Hvi P
127422Min enclosure of Hdiff or Htap by Hvi. Rule exempted inside UHVI.P0.180
127523Space between diff or tap outside Hvi and HviP0.180
127624Spacing of nwell to N+ Hdiff (rule exempted inside UHVI)DE, NE0.430
127725Min space of N+ Hdiff inside HVI across non-abutting P+_tapNC1.070
127826Min spacing between pwbm to difftap outside UHVIN/A
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317(poly.-)High Voltage Polysky130
1318Function: Defines rules for HV poly
1319
132013Min width of poly over diff inside HviP0.500
132114(poly and diff) cannot straddle Hvi
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345(hvntm.-)Hvntmsky130
1346Function: Defines tip implants for the HV NMOS
1347
1348X.1 Hvntm can be drawn inside HVI. Drawn layer will be OR-ed with the CL and rechecked for CLDRC
13491Width of hvntmP0.700
13502Spacing of hvntm to hvntmP0.700
13513Min. enclosure of (n+_diff inside Hvi) but not overlapping :drc_tag:`areaid.ce` by hvntmP0.185
13524Space, no overlap, between n+_diff outside Hvi and hvntmP0.185
13535Space, no overlap, between p+_diff and hvntmP, DE0.185
13546aSpace, no overlap, between p+_tap and hvntm (except along the diff-butting edge)P0.185
13556bSpace, no overlap, between p+_tap and hvntm along the diff-butting edgeP0.000
13567hvntm must enclose ESD_nwell_tap inside hvi by atleastP0.000
13579Hvntm must not overlap :drc_tag:`areaid.ce`
135810Hvntm must overlap hvi
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388(denmos.-)Denmossky130
1389Function: Defines rules for the 16V Drain extended NMOS devices
1390
13911Min width of de_nFet_gate1.055
13922Min width of de_nFet_source not overlapping poly0.280
13933Min width of de_nFet_source overlapping poly0.925
13944Min width of the de_nFet_drain0.170
13955Min/Max extension of de_nFet_source over nwell0.225
13966Min/Max spacing between de_nFet_drain and de_nFet_source1.585
13977Min channel width for de_nFet_gate5.000
1398890 degree angles are not permitted for nwell overlapping de_nFET_drain
13999aAll bevels on nwell are 45 degree, 0.43 um from cornersNC
14009bAll bevels on de_nFet_drain are 45 degree, 0.05 um from cornersNC
140110Min enclosure of de_nFet_drain by nwell0.660
140211Min spacing between p+ tap and (nwell overlapping de_nFet_drain)0.860
140312Min spacing between nwells overlapping de_nFET_drain2.400
140413de_nFet_source must be enclosed by nsdm by0.130
140514nvhv FETs must be enclosed by :drc_tag:`areaid.mt`N/A
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430(depmos.-)Depmossky130
1431Function: Defines rules for the 16V Drain extended NMOS devices
1432
14331Min width of de_pFet_gate1.050
14342Min width of de_pFet_source not overlapping poly0.280
14353Min width of de_pFet_source overlapping poly0.920
14364Min width of the de_pFet_drain0.170
14375Min/Max extension of de_pFet_source beyond nwell0.260
14386Min/Max spacing between de_pFet_drain and de_pFet_source1.190
14397Min channel width for de_pFet_gate5.000
1440890 degree angles are not permitted for nwell hole overlapping de_pFET_drain
14419aAll bevels on nwell hole are 45 degree, 0.43 um from cornersNC
14429bAll bevels on de_pFet_drain are 45 degree, 0.05 um from cornersNC
144310Min enclosure of de_pFet_drain by nwell hole0.860
144411Min spacing between n+ tap and (nwell hole enclosing de_pFET_drain)0.660
144512de_pFet_source must be enclosed by psdm by0.130
144613pvhv fets( except those with W/L = 5.0/0.66) must be enclosed by :drc_tag:`areaid.mt`N/A
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473(extd.-)Extended Drainsky130
1474Function: Defines rules :drc_tag:`areaid.en`
1475
14761Difftap cannot straddle areaid:en
14772DiffTap must have 2 or 3 coincident edges with areaid:en if enclosed by areaid:en
14783Poly must not be entirely overlapping difftap in areaid:en
14794Only cell name "s8rf_n20vhv1*" is a valid cell name for n20vhv1 device (Check in LVS as invalid device)N/A
14805Only cell name "s8rf_n20vhviso1" is a valid cell name for n20vhviso1 device (Check in LVS as invalid device)N/A
14816Only cell name "s8rf_p20vhv1" is a valid cell name for p20vhv1 device (Check in LVS as invalid device)N/A
14827Only cell name "s8rf_n20nativevhv1*" is a valid cell name for n20nativevhv1 device (Check in LVS as invalid device)N/A
14838Only cell name "s8rf_n20zvtvhv1*" is a valid cell name for n20zvtvhv1 device (Check in LVS as invalid device)N/A
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497(hv.-.-)High Voltage Rulessky130
1498
1499NoteHigh voltage rule apply for an operating voltage range of 5.5 - 12V; Nodes switching between 0 to 5.5V do not need to follow these rules
1500.X.1High voltage source/drain regions must be tagged by diff:hv
1501.X.3High voltage poly can be drawn over multiple diff regions that are ALL reverse-biased by at least 300 mV (existence of reverse-bias is not checked by the CAD flow). It can also be drawn over multiple diffs when all sources and all drain are shorted together. In these case, the high voltage poly can be tagged with the text:dg label with a value “hv_bb”. Exceptions to this use of the hv_bb label must be approved by technology. Under certain bias conditions, high voltage poly tagged with hv_bb can cross an nwell boundary. The poly of the drain extended device crosses nwell by construction and can be tagged with the "hv_bb" label. Use of the hv_bb label on high voltage poly crossing an nwell boundary must be approved by technology. All high voltage poly tagged with hv_bb will not be checked to hv.poly.1, hv.poly.2, hv.poly.3 and hv.poly.4.
1502.X.4Any piece of layout that is shorted to hv_source/drain becomes a high voltage feature.
1503.X.5In cases where an hv poly gate abuts only low voltage source and drain, the poly gate can be tagged with the text:dg label with a value "hv_lv". In this case, the "hv_lv" tagged poly gate and its extensions will not be checked to hv.poly.6, but is checked by rules in the poly.-.- section. The use of the hv_lv label must be approved by technology.
1504.X.6Nwell biased at voltages >= 7.2V must be tagged with text "shv_nwell"NC
1505.nwell.1Min spacing of nwell tagged with text "shv_nwell" to any nwell on different nets2.500
1506.diff.1aMinimum hv_source/drain spacing to diff for edges of hv_source/drain and diff not butting tap0.300
1507.diff.1bMinimum spacing of (n+/p+ diff resistors and diodes) connected to hv_source/drain to diff0.300
1508.diff.2Minimum spacing of nwell connected to hv_source/drain to n+ diffDE0.430
1509.diff.3aMinimum n+ hv_source/drain spacing to nwell0.550
1510.diff.3bMinimum spacing of (n+ diff resistors and diodes) connected to hv_source/drain to nwell0.550
1511.poly.1Hv poly feature hvPoly (including hv poly resistors) can be drawn over only one diff region and is not allowed to cross nwell boundary except (1) as allowed in rule .X.3 and (2) nwell hole boundary in depmos
1512.poly.2Min spacing of hvPoly (including hv poly resistor) on field to diff (diff butting hvPoly are excluded)0.300
1513.poly.3Min spacing of hvPoly (including hv poly resistor) on field to n-well (exempt poly stradding nwell in a denmos/depmos)0.550
1514.poly.4Enclosure of hvPoly (including hv poly resistor) on field by n-well (exempt poly stradding nwell in a denmos/depmos)0.300
1515.poly.6aMin extension of poly beyond hvFET_gate (exempt poly extending beyond diff along the S/D direction in a denmos/depmos)0.160
1516.poly.6bExtension of hv poly beyond FET_gate (including hvFET_gate; exempt poly extending beyond diff along the S/D direction in a denmos/depmos)0.160
1517.poly.7Minimum overlap of hv poly ring_FET and diff
1518.poly.8Any poly gate abutting hv_source/drain becomes a hvFET_gate
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579(vhvi.-.-)VHVI - Very HV ID and Rulessky130
1580Function: Identify nets working between 12-16V
1581
1582.vhv.1Terminals operating at nominal 12V (maximum 16V) bias must be tagged as Very-High-Voltage (VHV) using vhvi:dg layerNC
1583.vhv.2A source or drain of a drain-extended device can be tagged by vhvi:dg. A device with either source or drain (not both) tagged with vhvi:dg serves as a VHV propagation stopperNC
1584.vhv.3Any feature connected to VHVSourceDrain becomes a very-high-voltage featureNC
1585.vhv.4Any feature connected to VHVPoly becomes a very-high-voltage featureNC
1586.vhv.5Diffusion that is not a part of a drain-extended device (i.e., diff not areaid:en) must not be on the same net as VHVSourceDrain. Only diffusion inside :drc_tag:`areaid.ed` and LV diffusion tagged with vhvi:dg are exempted.
1587.vhv.6Poly resistor can act as a VHV propagation stopper. For this, it should be tagged with text "vhv_block"NC
15881Min width of vhvi:dg0.020
15892Vhvi:dg cannot overlap areaid:ce
15903VHVGate must overlap hvi:dg
15914Poly connected to the same net as a VHVSourceDrain must be tagged with vhvi:dg layer
15925Vhvi:dg cannot straddle VHVSourceDrain
15936Vhvi:dg overlapping VHVSourceDrain must not overlap poly
15947Vhvi:dg cannot straddle VHVPoly
15958Min space between nwell tagged with vhvi:dg and deep nwell, nwell, or n+diff on a separate net (except for n+diff overlapping nwell tagged with vhvi:dg).11.240
1596
1597(uhvi.-.-)UHVI - Ultra HV ID and Rulessky130
1598Function: Identify nets working between 20V
1599
16001diff/tap can not straddle UHVIN/A
16012poly can not straddle UHVIN/A
16023pwbm.dg must be enclosed by UHVI (exempt inside :drc_tag:`areaid.lw`)N/A
16034dnw.dg can not straddle UHVIN/A
16045UHVI must enclose :drc_tag:`areaid.ext`N/A
16056UHVI must enclose dnwellN/A
16067natfet.dg must be enclosed by UHVI layer by at leastN/A
16078Minimum width of natfet.dgN/A
16089Minimum Space spacing of natfet.dg N/A
160910natfet.dg layer is not allowedN/A
1610
1611(ulvt-.-):drc_tag:`areaid.low_vt` for UHV Diodes sky130
1612Function: Identify dnwdiodehv_Psub(BV~60V)
1613NA
16141:drc_tag:`areaid.low_vt` must enclose dnw for the UHV dnw-psub diode texted "condiodeHvPsub"NA
16152:drc_tag:`areaid.low_vt` must enclose pwbm.dg for the UHV dnw-psub diode texted "condiodeHvPsub"NA
16163:drc_tag:`areaid.low_vt` can not straddle UHVINA
1617
1618(pwres.-.-)Pwell resistorsky130
1619Function: Identify pwell resistors
1620
16211Pwell resistor has to be enclosed by the res layerNC
16222Min/Max width of pwell resistor 2.650
16233Min length of pwell resistor26.500
16244Max length of pwell resistor265.00
16255Min/Max spacing of tap inside the pwell resistor to nwell 0.220
16266Min/Max width of tap inside the pwell resistor 0.530
16277aEvery pwres_terminal must enclose 12 licon1
16287bEvery pwres_terminal must enclose 12 mcons if routed through metal1
16298Diff or poly is not allowed in the pwell resistor.
16309Nwell surrounding the pwell resistor must have a full ring of contacted tap strapped with metal.
163110The res layer must abut pwres_terminal on opposite and parallel edges
163211The res layer must abut nwell on opposite and parallel edges not checked in Rule pwres.10
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657(rfdiode.-.-)Areaid.re for RF Diodes sky130
1658Function: Identify RF diodes; Used for RCX
1659
16601Only 90 degrees allowed for :drc_tag:`areaid.re`
16612:drc_tag:`areaid.re` must be coincident with nwell for the rf nwell diode
16623:drc_tag:`areaid.re` must be coincident with innwer edge of the nwell ring for the rf pwell-deep nwell diode
1663
1664
1665Allowed PNP layout
1666Layout: pnppar
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691Allowed NPN layout
1692Layout: npnpar1x1
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720