-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaureo.tf
383 lines (337 loc) · 14.9 KB
/
aureo.tf
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
;********************************
; CONTROLS
;********************************
controls(
viewTypeUnits(
( maskLayout "micron" 1000 )
( schematic "inch" 160 )
( schematicSymbol "inch" 160 )
( netlist "inch" 160 )
( hierDesign "_def_" 1000 )
) ;viewTypeUnits
mfgGridResolution(
(0.01000)
) ;mfgGridResolution
)
;********************************
; LAYER DEFINITION
;********************************
layerDefinitions(
techPurposes(
;( PurposeName Purpose# Abbreviation )
;( ----------- -------- ------------ )
( drawing -1 drw )
( pin 251 pin )
( net 253 net )
( derivedCut 13 dcut )
( resID 14 resID )
( dummy 15 dummy )
) ;techPurposes
techLayers(
;( LayerName Layer# Abbreviation )
;( --------- ------ ------------ )
;User-Defined Layers:
( SOIFAB 0 SOI )
( POLYFAB 1 POLY )
( METALFAB 2 METAL )
( SOI1FAB 3 S1FAB )
( POLY1FAB 4 P1FAB )
( METAL1FAB 5 M1FAB )
( METAL2FAB 6 M1FAB )
( POLY2FAB 7 P2FAB )
( SOI2FAB 8 S2FAB )
( SOI1 9 S1 )
( SOIHOLE1 10 S1HOLE )
( POLY1 11 P1 )
( LOWMETAL1 12 LM1 )
( HIGHMETAL1 13 HM1 )
( HIGHMETAL2 14 HM2 )
( LOWMETAL2 15 LM2 )
( POLY2 16 P2 )
( SOI2 17 S2 )
( SOIHOLE2 18 S2HOLE )
( PIMPLANT 19 PIMP )
( NIMPLANT 20 NIMP )
( BONDCONTACT 41 BONDCONTACT )
( MASKBOUNDARY 43 MSKBOUNDARY )
) ;techLayers
techDerivedLayers(
;( t_derivedLayerName x_derivedLayerNum (tx_layer1 s_op tx_layer2) )
;( ------------------- ----------------- ------------------------ )
;( D1 100 (SOI1 'and METAL1) )
;( SOI1Stopped 10001 ("SOI1" 'not "SOIHOLE1" ) )
;( SOI2Stopped 10002 ("SOI2" 'not "SOIHOLE2" ) )
; End examples
)
techLayerPurposePriorities(
;layers are ordered from lowest to highest priority
;( LayerName Purpose )
;( --------- ------- )
( SOI1 drawing )
( NIMPLANT drawing )
( PIMPLANT drawing )
( POLY1 drawing )
( LOWMETAL1 drawing )
( HIGHMETAL1 drawing )
( SOI2 drawing )
( POLY2 drawing )
( LOWMETAL2 drawing )
( HIGHMETAL2 drawing )
( BONDCONTACT drawing )
( MASKBOUNDARY drawing )
( SOI1 net )
( NIMPLANT net )
( PIMPLANT net )
( POLY1 net )
( LOWMETAL1 net )
( HIGHMETAL1 net )
( SOI2 net )
( POLY2 net )
( LOWMETAL2 net )
( HIGHMETAL2 net )
( SOI1 pin )
( NIMPLANT pin )
( PIMPLANT pin )
( POLY1 pin )
( LOWMETAL1 pin )
( HIGHMETAL1 pin )
( SOI2 pin )
( POLY2 pin )
( LOWMETAL2 pin )
( HIGHMETAL2 pin )
( SOI1 resID )
( NIMPLANT resID )
( PIMPLANT resID )
( POLY1 resID )
( LOWMETAL1 resID )
( HIGHMETAL1 resID )
( SOI2 resID )
( POLY2 resID )
( LOWMETAL2 resID )
( HIGHMETAL2 resID )
( SOI1 dummy )
( NIMPLANT dummy )
( PIMPLANT dummy )
( POLY1 dummy )
( LOWMETAL1 dummy )
( HIGHMETAL1 dummy )
( SOI2 dummy )
( POLY2 dummy )
( LOWMETAL2 dummy )
( HIGHMETAL2 dummy )
( SOI1 fill )
( NIMPLANT fill )
( PIMPLANT fill )
( POLY1 fill )
( LOWMETAL1 fill )
( HIGHMETAL1 fill )
( SOI2 fill )
( POLY2 fill )
( LOWMETAL2 fill )
( HIGHMETAL2 fill )
) ;techLayerPurposePriorities
techDisplays(
;( LayerName Purpose Packet Vis Sel Con2ChgLy DrgEnbl Valid)
;( --------- ------- ------ --- --- --------- ------- -----)
( SOI1 drawing whiteSolid t t t t t )
( NIMPLANT drawing tanSolid t t t t t )
( PIMPLANT drawing purpleSolid t t t t t )
( POLY1 drawing redSolid t t t t t )
( LOWMETAL1 drawing cyanSolidSp t t t t t )
( HIGHMETAL1 drawing yellowSolidSp t t t t t )
( LOWMETAL2 drawing blueSolidSp t t t t t )
( HIGHMETAL2 drawing greenSolidSp t t t t t )
( POLY2 drawing orangeSolid t t t t t )
( SOI2 drawing skyBlueSolid t t t t t )
( SOI1 fill whiteSolid t t t t t )
( NIMPLANT fill tanSolid t t t t t )
( PIMPLANT fill purpleSolid t t t t t )
( POLY1 fill redSolid t t t t t )
( LOWMETAL1 fill cyanSolidSp t t t t t )
( HIGHMETAL1 fill yellowSolidSp t t t t t )
( LOWMETAL2 fill blueSolidSp t t t t t )
( HIGHMETAL2 fill greenSolidSp t t t t t )
( POLY2 fill orangeSolid t t t t t )
( SOI2 fill skyBlueSolid t t t t t )
( SOI1 dummy whiteSolid t t t t t )
( NIMPLANT dummy tanSolid t t t t t )
( PIMPLANT dummy purpleSolid t t t t t )
( POLY1 dummy redSolid t t t t t )
( LOWMETAL1 dummy cyanSolidSp t t t t t )
( HIGHMETAL1 dummy yellowSolidSp t t t t t )
( LOWMETAL2 dummy blueSolidSp t t t t t )
( HIGHMETAL2 dummy greenSolidSp t t t t t )
( POLY2 dummy orangeSolid t t t t t )
( SOI2 dummy skyBlueSolid t t t t t )
( SOI1 net whiteDashed t t t t nil )
( NIMPLANT net tanDashed t t t t nil )
( PIMPLANT net purpleDashed t t t t nil )
( POLY1 net redDashed t t t t nil )
( LOWMETAL1 net cyanDashed t t t t nil )
( HIGHMETAL1 net yellowDashed t t t t nil )
( LOWMETAL2 net blueDashed t t t t nil )
( HIGHMETAL2 net greenDashed t t t t nil )
( POLY2 net orangeDashed t t t t nil )
( SOI2 net skyBlueDashed t t t t nil )
( SOI1 pin whiteSolid3Sp t t t t t )
( NIMPLANT pin tanSolid3Sp t t t t t )
( PIMPLANT pin purpleSolid3Sp t t t t t )
( POLY1 pin redSolid3 t t t t t )
( LOWMETAL1 pin cyanSolid3Sp t t t t t )
( HIGHMETAL1 pin yellowSolid3Sp t t t t t )
( LOWMETAL2 pin blueSolid3Sp t t t t t )
( HIGHMETAL2 pin greenSolid3Sp t t t t t )
( POLY2 pin orangeSolid3Sp t t t t t )
( SOI2 pin skyBlueSolid3Sp t t t t t )
( SOI1 resID whiteSolid t t t t t )
( NIMPLANT resID tanSolid t t t t t )
( PIMPLANT resID purpleSolid t t t t t )
( POLY1 resID redSolid t t t t t )
( LOWMETAL1 resID cyanSolidSp t t t t t )
( HIGHMETAL1 resID yellowSolidSp t t t t t )
( LOWMETAL2 resID blueSolidSp t t t t t )
( HIGHMETAL2 resID greenSolidSp t t t t t )
( POLY2 resID orangeSolid t t t t t )
( SOI2 resID skyBlueSolid t t t t t )
) ;techDisplays
techLayerProperties(
;( PropName Layer1 [ Layer2 ] PropValue )
( sheetResistance LOWMETAL1 0.0244 )
( sheetResistance LOWMETAL2 0.0244 )
( sheetResistance HIGHMETAL1 0.0244 )
( sheetResistance HIGHMETAL2 0.0244 )
( sheetResistance SOI1 2.5 )
( sheetResistance SOI2 2.5 )
( sheetResistance POLY1 30 )
( sheetResistance POLY2 30 )
( sheetResistance PIMPLANT 2.5 )
( sheetResistance NIMPLANT 2.5 )
)
) ;layerDefinitions
;********************************
; LAYER RULES
;********************************
layerRules(
functions(
;( layer function [maskNumber] )
;( ----- -------- ---------- )
( SOI1 "substrate" 1 )
( LOWMETAL1 "li" 3 )
( POLY1 "li" 4 )
( HIGHMETAL1 "li" 5 )
( HIGHMETAL2 "li" 6 )
( POLY2 "li" 8 )
( LOWMETAL2 "li" 9 )
( SOI2 "li" 10 )
( NIMPLANT "li" 11 )
( PIMPLANT "li" 12 )
) ;functions
mfgResolutions(
( "LOWMETAL1" 0.05 )
( "LOWMETAL2" 0.05 )
( "HIGHMETAL1" 0.05 )
( "HIGHMETAL2" 0.05 )
( "POLY1" 0.01 )
( "POLY2" 0.01 )
( "SOI1" 0.01 )
( "SOI2" 0.01 )
;( "SOIHOLE1" 0.01 )
;( "SOIHOLE2" 0.01 )
) ;mfgResolutions
) ;layerRules
;********************************
; VIA DEFINITIONS
;********************************
viaDefs(
standardViaDefs(
;standardViaDefs(
; ( t_viaDefName tx_layer1 tx_layer2
; ( tx_cutLayer n_cutWidth n_cutHeight [n_resistancePerCut] )
; ( x_cutRows x_cutCols ( l_cutSpace ) [(l_cutPattern)])
; (l_layer1Enc) (l_layer2Enc)
; ( l_layer1Offset ) ( l_layer2Offset ) ( l_origOffset )
; [tx_implant1 ( l_implant1Enc )
; [tx_implant2 ( l_implant2Enc ) [ tx_wellSubstrate ] ]
; ]
; )
;) ;standardViaDefs
;(t_viaDefName tx_layer1 tx_layer2 cutLayer )
( POLY1xHM1 POLY1 HIGHMETAL1 ( "HIGHMETAL1" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( SOI1xLM1 SOI1 LOWMETAL1 ( "LOWMETAL1" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( LM1xHM1 LOWMETAL1 HIGHMETAL1 ( "HIGHMETAL1" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( HM1xHM2 HIGHMETAL1 HIGHMETAL2 ( "HIGHMETAL2" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( HM2xLM2 HIGHMETAL2 LOWMETAL2 ( "LOWMETAL2" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( LM2xSOI2 LOWMETAL2 SOI2 ( "LOWMETAL2" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
( HM2xPOLY2 HIGHMETAL2 POLY2 ( "HIGHMETAL2" 1.0 1.0 )
( 1 1 ( 0.0 0.0 ) )
( 0.5 0.5 ) ( 0.5 0.5 ) ( 0.0 0.0 ) ( 0.0 0.0 ) ( 0.0 0.0 )
)
);standardViaDefs
) ;viaDefs
;********************************
; CONSTRAINT GROUPS
;********************************
constraintGroups(
; ( group [override] )
; ( ----- -------- )
( "virtuosoDefaultExtractorSetup" nil
; layer constraints
interconnect(
( validLayers ( "SOI1" "POLY1" "LOWMETAL1" "HIGHMETAL1" "SOI2" "POLY2" "LOWMETAL2" "HIGHMETAL2") )
( validVias ( "POLY1xHM1" "SOI1xLM1" "LM1xHM1" "HM1xHM2" "HM2xLM2" "LM2xSOI2" "HM2xPOLY2" ) )
( validPurposes 'include ("drawing" "net" "pin" "derivedCut") )
);interconnect
);virtuosoDefaultExtractorSetup
( "foundry"
; physical constraints
spacings(
;( constraint layer1 layer2 value )
;( ---------- ------ ------ ----- )
( minWidth "LOWMETAL1" 4 )
( minWidth "HIGHMETAL1" 4 )
( minWidth "SOI1" 2 )
( minWidth "POLY1" 2 )
( minWidth "LOWMETAL2" 4 )
( minWidth "HIGHMETAL2" 4 )
( minWidth "SOI2" 2 )
( minWidth "POLY2" 2 )
( minSpacing "LOWMETAL1" 4 )
( minSpacing "HIGHMETAL1" 4 )
( minSpacing "SOI1" 2 )
( minSpacing "POLY1" 2 )
( minSpacing "LOWMETAL2" 4 )
( minSpacing "HIGHMETAL2" 4 )
( minSpacing "SOI2" 2 )
( minSpacing "POLY2" 2 )
( minSpacing "LOWMETAL1" "SOI1" 5 )
( minSpacing "HIGHMETAL1" "SOI1" 5 )
( minSpacing "LOWMETAL2" "SOI2" 5 )
( minSpacing "HIGHMETAL2" "SOI2" 5 )
);spacings
orderedSpacings(
( minExtensionDistance "SOI1" "LOWMETAL1" 5 )
( minExtensionDistance "SOI1" "HIGHMETAL1" 5 )
( minExtensionDistance "SOI2" "LOWMETAL2" 5 )
( minExtensionDistance "SOI2" "HIGHMETAL2" 5 )
;( minSideSpacing "LOWMETAL1" "SOI1" 5 )
);orderedSpacings
);foundry
);constraintGroups