Repository navigation
Expand file tree
/
Copy pathlayout.conf
More file actions
428 lines (366 loc) · 15.8 KB
/
Copy pathlayout.conf
File metadata and controls
428 lines (366 loc) · 15.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
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
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
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
360
361
362
363
364
365
366
367
368
369
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
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
begin info
string name "sky130"
string date "Created on Dec 31, 2023 by Ned Bingham"
end
begin general
real scale 5 # manufacturing grid (nm)
int metals 6 # li1 met1 met2 met3 met4 met5
int dummy_poly 1
int welltap_adjust 0
end
begin gds
string_table layers "diff.drawing" "tap.drawing" "nwell.drawing" "dnwell.drawing" "pwbm.drawing" "pwde.drawing" "hvtr.drawing" "hvtp.drawing" "ldntm.drawing" "hvi.drawing" "tunm.drawing" "lvtn.drawing" "poly.drawing" "hvntm.drawing" "nsdm.drawing" "psdm.drawing" "rpm.drawing" "urpm.drawing" "npc.drawing" "licon1.drawing" "li1.drawing" "mcon.drawing" "met1.drawing" "via.drawing" "met2.drawing" "via2.drawing" "met3.drawing" "via3.drawing" "met4.drawing" "via4.drawing" "met5.drawing" "pad.drawing" "nsm.drawing" "capm.drawing" "cap2m.drawing" "vhvi.drawing" "uhvi.drawing" "npn.drawing" "inductor.drawing" "capacitor.drawing" "pnp.drawing" "lvsPrune.drawing" "ncm.drawing" "padcenter.drawing" "target.drawing" "areaid_sl.identifier" "areaid_ce.identifier" "areaid_fe.identifier" "areaid_sc.identifier" "areaid_sf.identifier" "areaid_sl.identifier1" "areaid_sr.identifier" "areaid_mt.identifier" "areaid_dt.identifier" "areaid_ft.identifier" "areaid_ww.identifier" "areaid_ld.identifier" "areaid_ns.identifier" "areaid_ij.identifier" "areaid_zr.identifier" "areaid_ed.identifier" "areaid_de.identifier" "areaid_rd.identifier" "areaid_dn.identifier" "areaid_cr.identifier" "areaid_cd.identifier" "areaid_st.identifier" "areaid_op.identifier" "areaid_en.identifier" "areaid_en20.identifier" "areaid_le.identifier" "areaid_hl.identifier" "areaid_sd.identifier" "areaid_po.identifier" "areaid_it.identifier" "areaid_et.identifier" "areaid_lvt.identifier" "areaid_re.identifier" "fom.dummy" "poly.gate" "poly.model" "poly.resistor" "diff.resistor" "pwell.resistor" "li1.resistor" "diff.highVoltage" "met4.fuse" "inductor.terminal1" "inductor.terminal2" "inductor.terminal3" "li1.block" "met1.block" "met2.block" "met3.block" "met4.block" "met5.block" "prbndry.boundary" "diff.boundary" "tap.boundary" "mcon.boundary" "poly.boundary" "via.boundary" "via2.boundary" "via3.boundary" "via4.boundary" "li1.label" "met1.label" "met2.label" "met3.label" "met4.label" "met5.label" "poly.label" "diff.label" "pwell.label" "pwelliso.label" "pad.label" "tap.label" "nwell.label" "inductor.label" "text.label" "li1.net" "met1.net" "met2.net" "met3.net" "met4.net" "met5.net" "poly.net" "diff.net" "li1.pin" "met1.pin" "met2.pin" "met3.pin" "met4.pin" "met5.pin" "poly.pin" "diff.pin" "nwell.pin" "pad.pin" "pwell.pin" "pwelliso.pin" "nwell.pin1" "poly.pin1" "li1.pin1" "met1.pin1" "met2.pin1" "met3.pin1" "met4.pin1" "met5.pin1" "pad.pin1" "pwell.pin1" "diff.cut" "poly.cut" "li1.cut" "met1.cut" "met2.cut" "met3.cut" "met4.cut" "met5.cut" "met5.probe" "met4.probe" "met3.probe" "met2.probe" "met1.probe" "li1.probe" "poly.probe" "poly.short" "li1.short" "met1.short" "met2.short" "met3.short" "met4.short" "met5.short" "cncm.mask" "crpm.mask" "cpdm.mask" "cnsm.mask" "cmm5.mask" "cviam4.mask" "cmm4.mask" "cviam3.mask" "cmm3.mask" "cviam2.mask" "cmm2.mask" "cviam.mask" "cmm1.mask" "ctm1.mask" "cli1m.mask" "clicm1.mask" "cpsdm.mask" "cnsdm.mask" "cldntm.mask" "cnpc.mask" "chvntm.mask" "cntm.mask" "cp1m.mask" "clvom.mask" "conom.mask" "ctunm.mask" "chvtrm.mask" "chvtpm.mask" "clvtnm.mask" "cnwm.mask" "cdnm.mask" "cfom.mask" "cfom.drawing" "clvtnm.drawing" "chvtpm.drawing" "conom.drawing" "clvom.drawing" "cntm.drawing" "chvntm.drawing" "cnpc.drawing" "cnsdm.drawing" "cpsdm.drawing" "cli1m.drawing" "cviam3.drawing" "cviam4.drawing" "cncm.drawing" "cntm.maskAdd" "clvtnm.maskAdd" "chvtpm.maskAdd" "cli1m.maskAdd" "clicm1.maskAdd" "cpsdm.maskAdd" "cnsdm.maskAdd" "cp1m.maskAdd" "cfom.maskAdd" "cntm.maskDrop" "clvtnm.maskDrop" "chvtpm.maskDrop" "cli1m.maskDrop" "clicm1.maskDrop" "cpsdm.maskDrop" "cnsdm.maskDrop" "cp1m.maskDrop" "cfom.maskDrop" "cmm4.waffleDrop" "cmm3.waffleDrop" "cmm2.waffleDrop" "cmm1.waffleDrop" "cp1m.waffleDrop" "cfom.waffleDrop" "cmm5.waffleDrop" "text.drawing" "outline"
int_table major 65 65 64 64 19 124 18 78 11 75 80 125 66 125 93 94 86 79 95 66 67 67 68 68 69 69 70 70 71 71 72 76 61 89 97 74 74 82 82 82 82 84 92 81 76 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 22 66 66 66 65 64 67 65 71 82 82 82 67 68 69 70 71 72 235 65 65 67 66 68 69 70 71 67 68 69 70 71 72 66 65 64 44 76 65 64 82 83 67 68 69 70 71 72 66 65 67 68 69 70 71 72 66 65 64 76 122 44 64 66 67 68 69 70 71 72 76 122 65 66 67 68 69 70 71 72 72 71 70 69 68 67 66 66 67 68 69 70 71 72 17 96 37 22 59 58 51 50 34 44 41 40 36 35 56 43 32 30 11 49 39 27 28 46 88 20 98 97 25 21 48 23 22 25 88 87 45 26 38 44 29 31 115 112 117 96 26 25 97 115 106 31 29 33 22 26 25 97 115 106 31 29 33 22 112 107 105 62 33 22 117 83 236
int_table minor 20 44 20 18 44 20 20 44 44 20 20 44 20 20 44 20 20 20 20 44 20 44 20 44 20 44 20 44 20 44 20 20 20 44 44 21 22 20 24 64 44 44 44 20 44 1 2 3 4 6 7 8 10 11 12 13 14 15 17 18 19 23 24 50 51 52 53 54 57 58 60 63 70 81 84 101 108 125 23 9 83 13 13 13 13 8 17 26 27 28 10 10 10 10 10 10 4 4 60 60 4 60 60 60 60 5 5 5 5 5 5 5 6 59 5 5 5 5 25 44 23 23 23 23 23 23 23 23 16 16 16 16 16 16 16 16 16 16 16 16 0 0 0 0 0 0 0 0 0 0 14 14 14 14 14 14 14 14 25 25 25 25 25 25 25 15 15 15 15 15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 44 44 44 20 20 20 20 20 20 44 20 20 44 21 43 43 43 43 21 21 43 21 22 42 42 42 42 22 22 42 22 4 24 52 24 24 24 4 44 0
end
begin diff
string_table types "svt" # "hvt" "lvt"
string_table ntype "ndiff" # "ndiff" "ndiff"
string_table ptype "pdiff" # "pdiff" "pdiff"
string_table nfet "svtnfet" # "svtnfet" "lvtnfet"
string_table pfet "svtpfet" # "hvtpfet" "svtpfet"
string_table nfet_well ":ptap" # ":ptap" ":ptap"
string_table pfet_well "nwell:ntap" # "nwell:ntap" "nwell:ntap"
#string_table nselect
#string_table pselect
end
begin materials
begin ndiff
int width 30 # difftap.1 0.150um
int_table spacing 54 # 54 54 # difftap.3 0.270um
int minarea 0 #
int_table oppspacing 54 # 54 54 # difftap.3 0.270um ??
int polyspacing 15 # poly.4 0.075um
int notchspacing 15 # poly.4 0.075um
int_table overhang 50 # poly.7 0.250um
begin via
int edge 8 # licon.5a 0.040um
int fet 11 # licon.11 0.055um
end
string_table gds "nsdm.drawing" "diff.drawing"
int_table gds_bloat 25 0 # n/ psd.5a 0.125um
end
begin pdiff
int width 30 # difftap.1 0.150um
int_table spacing 54 # 54 54 # difftap.3 0.270um
int minarea 0 #
int_table oppspacing 54 # 54 54 # difftap.3 0.270um ??
int polyspacing 15 # poly.4 0.075um
int notchspacing 15 # poly.4 0.075um
int_table overhang 50 # poly.7 0.250um
begin via
int edge 8 # licon.5a 0.040um
int fet 11 # licon.11 0.055um
end
string_table gds "psdm.drawing" "diff.drawing"
int_table gds_bloat 25 0 # n/ psd.5a 0.125um
end
begin svtpfet
int width 30 # poly.1a 0.150um
int_table spacing 42 # poly.2 0.210um
string_table gds "psdm.drawing" "diff.drawing" "poly.drawing"
int_table gds_bloat 25 0 0 # n/ psd.5a 0.125um
end
begin svtnfet
int width 30 # poly.1a 0.150um
int_table spacing 42 # poly.2 0.210um
string_table gds "nsdm.drawing" "diff.drawing" "poly.drawing"
int_table gds_bloat 25 0 0 # n/ psd.5a 0.125um
end
#begin hvtpfet
# int width 30 # poly.1a 0.150um
# int_table spacing 42 # poly.2 0.210um
# string_table gds "psdm.drawing" "hvtp.drawing" "diff.drawing" "poly.drawing"
# int_table gds_bloat 25 36 0 0 # n/ psd.5a 0.125um hvtp.3 0.180um
#end
#begin lvtnfet
# int width 30 # poly.1a 0.150um
# int_table spacing 42 # poly.2 0.210um
# string_table gds "nsdm.drawing" "lvtn.drawing" "diff.drawing" "poly.drawing"
# int_table gds_bloat 25 36 0 0 # n/ psd.5a 0.125um lvtn.4b 0.180um
#end
begin ntap
int width 30 # difftap.1 0.150um
int diffspacing 54 # difftap.3 0.270um
int_table spacing 54 # 54 54 # difftap.3 0.270um
int_table oppspacing 54 # 54 54 # difftap.3 0.270um
int polyspacing 11 # poly.5 0.055um
int minarea 0 #
string_table gds "pwell.label" "pwell.pin" "nsdm.drawing" "tap.drawing"
int_table gds_bloat 0 0 25 0 # n/ psd.5a 0.125um
end
begin ptap
int width 30 # difftap.1 0.150um
int diffspacing 54 # difftap.3 0.270um
int_table spacing 54 # 54 54 # difftap.3 0.270um
int_table oppspacing 54 # 54 54 # difftap.3 0.270um
int polyspacing 11 # poly.5 0.055um
int minarea 0 #
string_table gds "nwell.pin" "nwell.label" "psdm.drawing" "tap.drawing"
int_table gds_bloat 0 0 25 0 # n/ psd.5a 0.125um
end
begin nwell
int width 168 # nwell.1 0.840um
int overhang 36 # difftap.8 0.180um
int overhang_welldiff 36 # difftap.10 0.180um
int_table spacing 254 # 254 254 # nwell.2a 1.270um
int_table oppspacing 76 # 76 76 # n/ psd.2 0.380um
int plug_dist 1140 # licon.12 5.700um
string_table gds "nwell.drawing"
int_table gds_bloat 0
end
#begin pwell
# int width 168 # nwell.1 0.840um
# int overhang 36 # difftap.8 0.180um
# int overhang_welldiff 36 # difftap.10 0.180um
# int_table spacing 254 # 254 254 # nwell.2a 1.270um
# int_table oppspacing 76 # 76 76 # n/ psd.2 0.380um
# int plug_dist 1140 # licon.12 5.700um
# string_table gds "pwell.drawing"
# int_table gds_bloat 0
#end
begin polysilicon
int width 30 # poly.1a 0.150um
int_table spacing 42 # poly.2 0.210um
# no pitch rules
int direction 0
int minarea 0
int minjog 0
int endofline 11 # poly.5 0.055um
int endofline_width 30 # poly.1a 0.150um
int_table overhang 26 # poly.8 0.130um
int_table notch_overhang 26 # poly.8 0.130um
string_table gds "poly.drawing"
int_table gds_bloat 0
begin via
int_table nspacing 38 # 38 38 # licon.14 0.190um
int_table pspacing 38 # 38 38 # licon.14 0.190um
end
end
begin metal
begin li1
int_table width 34 # li.1.- 0.170um
int_table spacing 34 # li.3.- 0.170um
int direction 0
int minarea 12 # li.6.- 0.0561um2
int minjog 0
int endofline 34 # li.3.- 0.170um
int endofline_width 34 # li.1.- 0.170um
end
begin met1
int_table width 28 # m1.1 0.140um
int_table spacing 28 # m1.2 0.140um
int direction 0
int minarea 17 # m1.6 0.083um
int minjog 0
int endofline 28 # m1.2 0.140um
int endofline_width 28 # m1.1 0.140um
end
begin met2
int_table width 28 # m2.1 0.140um
int_table spacing 28 # m2.2 0.140um
int direction 0
int minarea 14 # m2.6 0.0676um
int minjog 0
int endofline 28 # m2.2 0.140um
int endofline_width 28 # m2.1 0.140um
end
begin met3
int_table width 60 # m3.1 0.300um
int_table spacing 60 # m3.2 0.300um
int direction 0
int minarea 48 # m3.6 0.240um
int minjog 0
int endofline 60 # m3.2 0.300um
int endofline_width 60 # m3.1 0.300um
end
begin met4
int_table width 60 # m4.1 0.300um
int_table spacing 60 # m4.2 0.300um
int direction 0
int minarea 48 # m4.4a 0.240um
int minjog 0
int endofline 60 # m4.2 0.300um
int endofline_width 60 # m4.1 0.300um
end
begin met5
int_table width 320 # m5.1 1.600um
int_table spacing 320 # m5.2 1.600um
int direction 0
int minarea 800 # m5.4 4.000um
int minjog 0
int endofline 320 # m5.2 1.600um
int endofline_width 320 # m5.1 1.600um
end
string m1 "li1"
string m1_lefname "li1"
string_table m1_gds "li1.drawing"
int_table m1_gds_bloat 0
string m2 "met1"
string m2_lefname "met1"
string_table m2_gds "met1.drawing"
int_table m2_gds_bloat 0
string m3 "met2"
string m3_lefname "met2"
string_table m3_gds "met2.drawing"
int_table m3_gds_bloat 0
string m4 "met3"
string m4_lefname "met3"
string_table m4_gds "met3.drawing"
int_table m4_gds_bloat 0
string m5 "met4"
string m5_lefname "met4"
string_table m5_gds "met4.drawing"
int_table m5_gds_bloat 0
string m6 "met5"
string m6_lefname "met5"
string_table m6_gds "met5.drawing"
int_table m6_gds_bloat 0
end
end
begin vias
begin difflicon
int width 34 # licon.1 0.170um
int spacing 34 # licon.2 0.170um
begin surround
int up 0
int asym_up 16 # li.5.- 0.080um
int dn 8 # licon.5a 0.040um
int asym_dn 12 # licon.5c 0.060um
end
end
begin polylicon
int width 34 # licon.1 0.170um
int spacing 34 # licon.2 0.170um
begin surround
int up 0
int asym_up 16 # li.5.- 0.080um
int dn 10 # licon.8 0.050um
int asym_dn 16 # licon.8a 0.080um
end
end
begin mcon
int width 34 # ct.1 0.170um
int spacing 38 # ct.2 0.190um
begin surround
int up 6 # m1.4 0.030um
int asym_up 12 # m1.5 0.060um
int dn 0 # ct.4 0.000um
int asym_dn 0 # ct.4 0.000um
end
end
# m1 to m2
begin via1
# AL Backend
int width 30 # via.1a 0.150um
int spacing 34 # via.2 0.170um
begin surround
int up 11 # m2.4 0.055um
int asym_up 17 # m2.5 0.085um
int dn 11 # via.4a 0.055um
int asym_dn 11 # via.4a 0.055um
end
# CU Backend
# int width 36 # via.11 0.180um
# int spacing 26 # via.12 0.130um
# begin surround
# int up 8 # m2.15 0.040um
# int asym_up 8 # m2.15 0.040um
# int dn 8 # via.14 0.040um
# int asym_dn 8 # via.14 0.040um
# end
end
# m2 to m3
begin via2
# AL Backend
int width 40 # via2.1a 0.200um
int spacing 40 # via2.2 0.200um
begin surround
int up 13 # m3.4 0.065um
int asym_up 13 # m3.5 0.065um
int dn 8 # via2.4 0.040um
int asym_dn 17 # via2.5 0.085um
end
# CU Backend
# int width 42 # via2.11 0.210um
# int spacing 36 # via2.12 0.180um
# begin surround
# int up 12 # m3.15 0.060um
# int asym_up 12 # m3.15 0.060um
# int dn 7 # via2.14 0.035um
# int asym_dn 7 # via2.14 0.035um
# end
end
# m3 to m4
begin via3
# AL Backend
int width 40 # via3.1 0.200um
int spacing 40 # via3.2 0.200um
begin surround
int up 13 # m4.3 0.065um
int asym_up 13 # m4.3 0.065um
int dn 12 # via3.4 0.060um
int asym_dn 18 # via3.5 0.090um
end
# CU Backend
# int width 42 # via3.11 0.210um
# int spacing 36 # via3.12 0.180um
# begin surround
# int up 12 # m4.15 0.060um
# int asym_up 12 # m4.15 0.060um
# int dn 11 # via3.13 0.055um
# int asym_dn 11 # via3.13 0.055um
# end
end
# m4 to m5
begin via4
int width 160 # via4.1 0.800um
int spacing 160 # via4.2 0.800um
begin surround
int up 62 # m5.3 0.310um
int asym_up 62 # m5.3 0.310um
int dn 38 # via4.4 0.190um
int asym_dn 38 # via4.4 0.190um
end
end
string polysilicon "polylicon"
string polysilicon_name "pc"
string_table polysilicon_gds "licon1.drawing"
int_table polysilicon_gds_bloat 0
string ndiff "difflicon"
string ndiff_name "ndc"
string_table ndiff_gds "licon1.drawing"
int_table ndiff_gds_bloat 0
string pdiff "difflicon"
string pdiff_name "pdc"
string_table pdiff_gds "licon1.drawing"
int_table pdiff_gds_bloat 0
string ntap "difflicon"
string ntap_name "nsc"
string_table ntap_gds "mcon.drawing"
int_table ntap_gds_bloat 0
string ptap "difflicon"
string ptap_name "psc"
string_table ptap_gds "mcon.drawing"
int_table ptap_gds_bloat 0
string m1 "mcon"
string m1_name "mcon"
string_table m1_gds "mcon.drawing"
int_table m1_gds_bloat 0
string m2 "via1"
string m2_name "v1"
string_table m2_gds "via.drawing"
int_table m2_gds_bloat 0
string m3 "via2"
string m3_name "v2"
string_table m3_gds "via2.drawing"
int_table m3_gds_bloat 0
string m4 "via3"
string m4_name "v3"
string_table m4_gds "via3.drawing"
int_table m4_gds_bloat 0
string m5 "via4"
string m5_name "v4"
string_table m5_gds "via4.drawing"
int_table m5_gds_bloat 0
end