1#=====================================================================
2#
3#                         ALLIANCE VLSI CAD
4#            (R)eal (D)ata (S)tructure parameter file
5#         (c) copyright 1992 Laboratory UPMC/MASI/CAO-VLSI
6#                        all rights reserved
7#                   e-mail : cao-vlsi@masi.ibp.fr
8#
9#                   file       : cmos.rds
10#                   version    : 12
11#                   last modif : Apr 4, 2002
12#
13##-------------------------------------------------------------------
14# Symbolic to micron on a 'one lambda equals one micron' basis
15##-------------------------------------------------------------------
16# Refer to the documentation for more precise information.
17#=====================================================================
18# 01/11/09 ALU5/6 pitch 10
19#
20# 99/11/3 ALU5/6 rules
21# . theses rules are preliminary rules, we hope that they wil change
22#   in future. For now, ALU5/6 are dedicated to supplies an clock.
23#
24# 99/3/22 new symbolics rules
25# . ALU1 width remains 1, ALU2/3/4 is 2
26# . ALU1/2/3/4 distance (edge to edge) is now 3 for all
27# . GATE to GATE distance is 3 but POLY wire to POLY wire remains 2
28# . All via stacking are allowed
29#
30# 98/12/1 drc rules were updated
31# distance VIA to POLY or gate is one rather 2
32# VIA2 and ALU3 appeared
33# . ALU3 width is 3
34# . ALU2/VIA2/ALU3 is resp. 3/1/3
35# . ALU3 edge distance is 2
36# . stacked VIA/VIA2 is allowed
37# . if they are not stacked they must distant of 2
38# . CONT/VIA2 is free
39# note
40# . stacked CONT/VIA is always not allowed
41# NWELL is automatically drawn with the DIFN and NTIE layers
42#=====================================================================
43
44##-------------------------------------------------------------------
45# PHYSICAL_GRID :
46##-------------------------------------------------------------------
47
48DEFINE  PHYSICAL_GRID  .5
49
50##-------------------------------------------------------------------
51# LAMBDA :
52##-------------------------------------------------------------------
53
54DEFINE  LAMBDA         1
55
56##-------------------------------------------------------------------
57# TABLE MBK_TO_RDS_SEGMENT :
58#
59# MBK      RDS layer 1                 RDS layer 2
60# name     name TRANS DLR DWR OFFSET   name TRANS DLR DWR OFFSET  ...
61##-------------------------------------------------------------------
62
63TABLE MBK_TO_RDS_SEGMENT
64
65  PWELL    RDS_PWELL  VW  0.0  0.0  0.0  EXT
66  NWELL    RDS_NWELL  VW  0.0  0.0  0.0  ALL
67  NDIF     RDS_NDIF   VW  0.5  0.0  0.0  ALL
68  PDIF     RDS_PDIF   VW  0.5  0.0  0.0  ALL \
69           RDS_NWELL  VW  1.0  1.0  0.0  ALL
70  NTIE     RDS_NTIE   VW  0.5  0.0  0.0  ALL \
71           RDS_NWELL  VW  1.0  1.0  0.0  ALL
72  PTIE     RDS_PTIE   VW  0.5  0.0  0.0  ALL
73  NTRANS   RDS_POLY   VW  0.0  0.0  0.0  ALL \
74           RDS_NDIF  LCW -1.5  2.0  0.0  EXT \
75           RDS_NDIF  RCW -1.5  2.0  0.0  EXT \
76           RDS_NDIF   VW -1.5  4.0  0.0  DRC \
77           RDS_ACTIV  VW -1.5  5.0  0.0  ALL \
78	   RDS_PWELL  VW -1.5  0.0  0.0  EXT
79  PTRANS   RDS_POLY   VW  0.0  0.0  0.0  ALL \
80           RDS_PDIF  LCW -1.5  2.0  0.0  EXT \
81           RDS_PDIF  RCW -1.5  2.0  0.0  EXT \
82           RDS_PDIF   VW -1.5  4.0  0.0  DRC \
83           RDS_ACTIV  VW -1.5  5.0  0.0  ALL \
84           RDS_NWELL  VW -1.0  5.0  0.0  ALL
85  POLY     RDS_POLY   VW  0.5  0.0  0.0  ALL
86  POLY2    RDS_POLY2  VW  0.5  0.0  0.0  ALL
87  ALU1     RDS_ALU1   VW  0.5  0.0  0.0  ALL
88  ALU2     RDS_ALU2   VW  1.0  0.0  0.0  ALL
89  ALU3     RDS_ALU3   VW  1.0  0.0  0.0  ALL
90  ALU4     RDS_ALU4   VW  1.0  0.0  0.0  ALL
91  ALU5     RDS_ALU5   VW  1.0  0.0  0.0  ALL
92  ALU6     RDS_ALU6   VW  1.0  0.0  0.0  ALL
93  CALU1    RDS_ALU1   VW  1.0  0.0  0.0  ALL
94  CALU2    RDS_ALU2   VW  1.0  0.0  0.0  ALL
95  CALU3    RDS_ALU3   VW  1.0  0.0  0.0  ALL
96  CALU4    RDS_ALU4   VW  1.0  0.0  0.0  ALL
97  CALU5    RDS_ALU5   VW  1.0  0.0  0.0  ALL
98  CALU6    RDS_ALU6   VW  1.0  0.0  0.0  ALL
99  TPOLY    RDS_TPOLY  VW  0.5  0.0  0.0  ALL
100  TALU1    RDS_TALU1  VW  0.5  0.0  0.0  ALL
101  TALU2    RDS_TALU2  VW  1.0  0.0  0.0  ALL
102  TALU3    RDS_TALU3  VW  1.0  0.0  0.0  ALL
103  TALU4    RDS_TALU4  VW  1.0  0.0  0.0  ALL
104  TALU5    RDS_TALU5  VW  1.0  0.0  0.0  ALL
105  TALU6    RDS_TALU6  VW  1.0  0.0  0.0  ALL
106
107END
108
109##-------------------------------------------------------------------
110# TABLE MBK_TO_RDS_CONNECTOR :
111#
112# MBK      RDS layer
113# name     name     DER DWR
114##-------------------------------------------------------------------
115
116TABLE MBK_TO_RDS_CONNECTOR
117
118  POLY    RDS_POLY  .5  0
119  POLY2   RDS_POLY2 .5  0
120  ALU1    RDS_ALU1  .5  0
121  ALU2    RDS_ALU2 1.0  0
122  ALU3    RDS_ALU3 1.0  0
123  ALU4    RDS_ALU4 1.0  0
124  ALU5    RDS_ALU5 1.0  0
125  ALU6    RDS_ALU6 1.0  0
126
127END
128
129##-------------------------------------------------------------------
130# TABLE MBK_TO_RDS_REFERENCE :
131#
132# MBK ref    RDS layer
133# name       name       width
134##-------------------------------------------------------------------
135
136TABLE MBK_TO_RDS_REFERENCE
137
138  REF_REF    RDS_REF    1
139  REF_CON    RDS_VALU1  2  RDS_TVIA1 1  RDS_TALU2  2
140
141END
142
143##-------------------------------------------------------------------
144# TABLE MBK_TO_RDS_VIA1 :
145#
146# MBK via      RDS layer 1  RDS  layer 2  RDS  layer 3  RDS layer 4
147# name         name  width  name   width  name   width  name  width
148##-------------------------------------------------------------------
149
150TABLE MBK_TO_RDS_VIA
151
152  CONT_BODY_P  RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_PTIE 3 ALL
153  CONT_BODY_N  RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_NTIE 3 ALL  RDS_NWELL 4 ALL
154  CONT_DIF_N   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_NDIF 3 ALL
155  CONT_DIF_P   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_PDIF 3 ALL  RDS_NWELL 4 ALL
156  CONT_POLY    RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_POLY 3 ALL
157  CONT_POLY2   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_POLY2 3 ALL
158  CONT_VIA     RDS_ALU1 2 ALL  RDS_VIA1 1 ALL  RDS_ALU2 2 ALL
159  CONT_VIA2    RDS_ALU2 2 ALL  RDS_VIA2 1 ALL  RDS_ALU3 2 ALL
160  CONT_VIA3    RDS_ALU3 2 ALL  RDS_VIA3 1 ALL  RDS_ALU4 2 ALL
161  CONT_VIA4    RDS_ALU4 2 ALL  RDS_VIA4 1 ALL  RDS_ALU5 2 ALL
162  CONT_VIA5    RDS_ALU5 2 ALL  RDS_VIA5 1 ALL  RDS_ALU6 2 ALL
163  C_X_N        RDS_POLY 1 ALL  RDS_NDIF 5 ALL  RDS_ACTIV 6 ALL
164  C_X_P        RDS_POLY 1 ALL  RDS_PDIF 5 ALL  RDS_NWELL 6 ALL  RDS_ACTIV 6 ALL
165
166END
167
168##-------------------------------------------------------------------
169# TABLE MBK_TO_RDS_BIGVIA_HOLE :
170#
171# MBK via      RDS Hole
172# name         name  side step mode
173##-------------------------------------------------------------------
174
175TABLE MBK_TO_RDS_BIGVIA_HOLE
176
177CONT_VIA   RDS_VIA1 1 4 ALL
178CONT_VIA2  RDS_VIA2 1 4 ALL
179CONT_VIA3  RDS_VIA3 1 4 ALL
180CONT_VIA4  RDS_VIA4 1 4 ALL   # should be more than 4
181CONT_VIA5  RDS_VIA5 1 4 ALL   # should be more than 4
182
183END
184
185##-------------------------------------------------------------------
186# TABLE MBK_TO_RDS_BIGVIA_METAL :
187#
188# MBK via      RDS layer 1                      ...
189# name         name  delta-width overlap mode
190##-------------------------------------------------------------------
191
192TABLE MBK_TO_RDS_BIGVIA_METAL
193
194CONT_VIA  RDS_ALU1 0.0 0.5 ALL RDS_ALU2 0.0 0.5 ALL
195CONT_VIA2 RDS_ALU2 0.0 0.5 ALL RDS_ALU3 0.0 0.5 ALL
196CONT_VIA3 RDS_ALU3 0.0 0.5 ALL RDS_ALU4 0.0 0.5 ALL
197CONT_VIA4 RDS_ALU4 0.0 0.5 ALL RDS_ALU5 0.0 0.5 ALL
198CONT_VIA5 RDS_ALU5 0.0 0.5 ALL RDS_ALU6 0.0 0.5 ALL
199
200END
201
202##-------------------------------------------------------------------
203# TABLE MBK_TO_RDS_TURNVIA :
204#
205# MBK via      RDS layer 1                      ...
206# name         name  DWR MODE
207##-------------------------------------------------------------------
208
209TABLE MBK_TO_RDS_TURNVIA
210
211CONT_TURN1 RDS_ALU1 0 ALL
212CONT_TURN2 RDS_ALU2 0 ALL
213CONT_TURN3 RDS_ALU3 0 ALL
214CONT_TURN4 RDS_ALU4 0 ALL
215CONT_TURN5 RDS_ALU5 0 ALL
216CONT_TURN6 RDS_ALU6 0 ALL
217
218END
219
220
221##-------------------------------------------------------------------
222# TABLE LYNX_GRAPH :
223#
224# RDS layer   Rds layer 1   Rds layer 2    ...
225# name        name          name           ...
226##-------------------------------------------------------------------
227
228TABLE LYNX_GRAPH
229
230##---------------------------
231#
232# Modifie par L.Jacomme (Pb Bulk/Alim avec Lynx)
233# 23.11.99
234#
235# RDS_NWELL  RDS_NTIE   RDS_NWELL
236# RDS_PWELL  RDS_PTIE   RDS_PWELL
237# RDS_NDIF  RDS_CONT RDS_NDIF
238# RDS_PDIF  RDS_CONT RDS_PDIF
239# RDS_NTIE  RDS_CONT RDS_NTIE RDS_NWELL
240# RDS_PTIE  RDS_CONT RDS_PTIE RDS_PWELL
241
242  RDS_NDIF  RDS_CONT RDS_NDIF
243  RDS_PDIF  RDS_CONT RDS_PDIF
244  RDS_NTIE  RDS_CONT RDS_NTIE
245  RDS_PTIE  RDS_CONT RDS_PTIE
246
247  RDS_POLY  RDS_CONT RDS_POLY
248  RDS_POLY2  RDS_CONT RDS_POLY2
249  RDS_CONT  RDS_PDIF RDS_NDIF RDS_POLY RDS_PTIE  RDS_NTIE RDS_ALU1 RDS_CONT
250  RDS_ALU1  RDS_CONT RDS_VIA1 RDS_ALU1 RDS_VALU1 RDS_ALU1
251  RDS_VALU1 RDS_CONT RDS_VIA1 RDS_ALU1 RDS_VALU1
252  RDS_VIA1  RDS_ALU1 RDS_ALU2 RDS_VIA1
253  RDS_VIA2  RDS_ALU2 RDS_ALU3 RDS_VIA2
254  RDS_VIA3  RDS_ALU3 RDS_ALU4 RDS_VIA3
255  RDS_VIA4  RDS_ALU4 RDS_ALU5 RDS_VIA4
256  RDS_VIA5  RDS_ALU5 RDS_ALU6 RDS_VIA5
257  RDS_ALU2  RDS_VIA1 RDS_VIA2 RDS_ALU2
258  RDS_ALU3  RDS_VIA2 RDS_VIA3 RDS_ALU3
259  RDS_ALU4  RDS_VIA3 RDS_VIA4 RDS_ALU4
260  RDS_ALU5  RDS_VIA4 RDS_VIA5 RDS_ALU5
261  RDS_ALU6  RDS_VIA5          RDS_ALU6
262
263END
264
265##-------------------------------------------------------------------
266# TABLE LYNX_CAPA :
267#
268# RDS layer   Surface capacitance  Perimetric capacitance
269# name        piF / Micron^2       piF / Micron
270##-------------------------------------------------------------------
271
272TABLE LYNX_CAPA
273
274  RDS_POLY    1.00e-04    1.00e-04
275  RDS_POLY2   1.00e-04    1.00e-04
276  RDS_ALU1    0.50e-04    0.90e-04
277  RDS_ALU2    0.25e-04    0.95e-04
278  RDS_ALU3    0.25e-04    0.95e-04
279  RDS_ALU4    0.25e-04    0.95e-04
280  RDS_ALU5    0.25e-04    0.95e-04
281  RDS_ALU6    0.25e-04    0.95e-04
282
283END
284
285##-------------------------------------------------------------------
286# TABLE LYNX_RESISTOR :
287#
288# RDS layer   Surface resistor
289# name        Ohm / Micron^2
290##-------------------------------------------------------------------
291
292TABLE LYNX_RESISTOR
293
294  RDS_POLY    50.0
295  RDS_POLY2   50.0
296  RDS_ALU1     0.1
297  RDS_ALU2     0.05
298  RDS_ALU3     0.05
299  RDS_ALU4     0.05
300  RDS_ALU5     0.05
301  RDS_ALU6     0.05
302
303END
304
305##-------------------------------------------------------------------
306# TABLE LYNX_TRANSISTOR :
307#
308# MBK layer  Transistor Type  MBK via
309# name       name             name
310##-------------------------------------------------------------------
311
312TABLE LYNX_TRANSISTOR
313
314  NTRANS  NTRANS  C_X_N   RDS_POLY   RDS_NDIF  RDS_NDIF  RDS_PWELL
315  PTRANS  PTRANS  C_X_P   RDS_POLY   RDS_PDIF  RDS_PDIF  RDS_NWELL
316
317END
318
319##-------------------------------------------------------------------
320# TABLE LYNX_DIFFUSION :
321#
322# RDS layer  RDS layer
323# name       name
324##-------------------------------------------------------------------
325
326TABLE LYNX_DIFFUSION
327END
328
329##-------------------------------------------------------------------
330# TABLE LYNX_BULK_IMPLICIT :
331#
332# RDS layer  Bulk type
333# name       EXPLICIT/IMPLICIT
334##-------------------------------------------------------------------
335
336TABLE LYNX_BULK_IMPLICIT
337
338##---------------------------
339#
340# Modifie par L.Jacomme (Pb Bulk/Alim avec Lynx)
341# 23.11.99
342#
343# NWELL  EXPLICIT
344# PWELL  IMPLICIT
345
346END
347
348
349
350##-------------------------------------------------------------------
351# TABLE S2R_OVERSIZE_DENOTCH :
352##-------------------------------------------------------------------
353
354TABLE S2R_OVERSIZE_DENOTCH
355END
356
357##-------------------------------------------------------------------
358# TABLE S2R_BLOC_RING_WIDTH :
359##-------------------------------------------------------------------
360
361TABLE S2R_BLOC_RING_WIDTH
362END
363
364##-------------------------------------------------------------------
365# TABLE S2R_MINIMUM_LAYER_WIDTH :
366##-------------------------------------------------------------------
367
368TABLE S2R_MINIMUM_LAYER_WIDTH
369
370  RDS_NWELL   4
371  RDS_PDIF    2
372  RDS_NTIE    2
373  RDS_PTIE    2
374  RDS_POLY    1
375  RDS_POLY2   1
376  RDS_TPOLY   1
377  RDS_CONT    1
378  RDS_ALU1    1
379  RDS_TALU1   1
380  RDS_VIA1    1
381  RDS_ALU2    2
382  RDS_TALU2   2
383  RDS_VIA2    1
384  RDS_ALU3    2
385  RDS_TALU3   2
386  RDS_VIA3    1
387  RDS_ALU4    2
388  RDS_TALU4   2
389  RDS_VIA4    1
390  RDS_ALU5    2
391  RDS_TALU5   2
392  RDS_VIA5    1
393  RDS_ALU6    2
394  RDS_TALU6   2
395
396END
397
398##-------------------------------------------------------------------
399# TABLE CIF_LAYER :
400##-------------------------------------------------------------------
401
402TABLE CIF_LAYER
403
404  RDS_NWELL    LNWELL
405  RDS_NDIF     LNDIF
406  RDS_PDIF     LPDIF
407  RDS_NTIE     LNTIE
408  RDS_PTIE     LPTIE
409  RDS_POLY     LPOLY
410  RDS_POLY2    LPOLY2
411  RDS_TPOLY    LTPOLY
412  RDS_CONT     LCONT
413  RDS_ALU1     LALU1
414  RDS_VALU1    LVALU1
415  RDS_TALU1    LTALU1
416  RDS_VIA1     LVIA
417  RDS_TVIA1    LTVIA1
418  RDS_ALU2     LALU2
419  RDS_TALU2    LTALU2
420  RDS_VIA2     LVIA2
421  RDS_ALU3     LALU3
422  RDS_TALU3    LTALU3
423  RDS_VIA3     LVIA3
424  RDS_ALU4     LALU4
425  RDS_TALU4    LTALU4
426  RDS_VIA4     LVIA4
427  RDS_ALU5     LALU5
428  RDS_TALU5    LTALU5
429  RDS_VIA5     LVIA5
430  RDS_ALU6     LALU6
431  RDS_TALU6    LTALU6
432  RDS_REF      LREF
433
434END
435
436##-------------------------------------------------------------------
437# TABLE GDS_LAYER :
438##-------------------------------------------------------------------
439
440TABLE GDS_LAYER
441
442  RDS_NWELL    1
443  RDS_NDIF     3
444  RDS_PDIF     4
445  RDS_NTIE     5
446  RDS_PTIE     6
447  RDS_POLY     7
448  RDS_POLY2    8
449  RDS_TPOLY    9
450  RDS_CONT    10
451  RDS_ALU1    11
452  RDS_VALU1   12
453  RDS_TALU1   13
454  RDS_VIA1    14
455  RDS_TVIA1   15
456  RDS_ALU2    16
457  RDS_TALU2   17
458  RDS_VIA2    18
459  RDS_ALU3    19
460  RDS_TALU3   20
461  RDS_VIA3    21
462  RDS_ALU4    22
463  RDS_TALU4   23
464  RDS_VIA4    25
465  RDS_ALU5    26
466  RDS_TALU5   27
467  RDS_VIA5    28
468  RDS_ALU6    29
469  RDS_TALU6   30
470  RDS_REF     24
471
472END
473
474##-------------------------------------------------------------------
475# TABLE S2R_POST_TREAT :
476##-------------------------------------------------------------------
477
478TABLE S2R_POST_TREAT
479
480END
481DRC_RULES
482
483layer RDS_NWELL 4.;
484layer RDS_NTIE 2.;
485layer RDS_PTIE 2.;
486layer RDS_NDIF 2.;
487layer RDS_PDIF 2.;
488layer RDS_ACTIV 2.;
489layer RDS_CONT 1.;
490layer RDS_VIA1 1.;
491layer RDS_VIA2 1.;
492layer RDS_VIA3 1.;
493layer RDS_VIA4 1.;
494layer RDS_VIA5 1.;
495layer RDS_POLY 1.;
496layer RDS_POLY2 1.;
497layer RDS_ALU1 1.;
498layer RDS_ALU2 2.;
499layer RDS_ALU3 2.;
500layer RDS_ALU4 2.;
501layer RDS_ALU5 2.;
502layer RDS_ALU6 2.;
503layer RDS_USER0 1.;
504layer RDS_USER1 1.;
505layer RDS_USER2 1.;
506
507regles
508
509# Note : ``min'' is different from ``>=''.
510# min is applied on polygons and >= is applied on rectangles.
511# There is the same difference between max and <=.
512# >= is faster than min, but min must be used where it is
513# required to consider polygons, for example distance of
514# two objects in the same layer
515#
516# There is no rule to check NTIE and PDIF are included in NWELL
517# since this is necessarily true
518#-----------------------------------------------------------
519
520# Check the NWELL shapes
521#-----------------------
522caracterise RDS_NWELL (
523  regle 1 : largeur >= 4. ;
524  regle 2 : longueur_inter min 4. ;
525  regle 3 : notch >= 12. ;
526);
527relation RDS_NWELL , RDS_NWELL (
528  regle 4 : distance axiale min 12. ;
529);
530
531# Check RDS_PTIE is really excluded outside NWELL
532#------------------------------------------------
533relation RDS_PTIE , RDS_NWELL (
534  regle 5 : distance axiale >= 7.5;
535  regle 6 : enveloppe longueur_inter < 0. ;
536  regle 7 : marge longueur_inter < 0. ;
537  regle 8 : croix longueur_inter < 0. ;
538  regle 9 : intersection longueur_inter < 0. ;
539  regle 10 : extension longueur_inter < 0. ;
540  regle 11 : inclusion longueur_inter < 0. ;
541);
542
543# Check RDS_NDIF is really excluded outside NWELL
544#------------------------------------------------
545relation RDS_NDIF , RDS_NWELL (
546  regle 12 : distance axiale >= 7.5;
547  regle 13 : enveloppe longueur_inter < 0. ;
548  regle 14 : marge longueur_inter < 0. ;
549  regle 15 : croix longueur_inter < 0. ;
550  regle 16 : intersection longueur_inter < 0. ;
551  regle 17 : extension longueur_inter < 0. ;
552  regle 18 : inclusion longueur_inter < 0. ;
553);
554
555# Check the RDS_PDIF shapes
556#--------------------------
557caracterise RDS_PDIF (
558  regle 19 : largeur >= 2. ;
559  regle 20 : longueur_inter min 2. ;
560  regle 21 : notch >= 3. ;
561);
562relation RDS_PDIF , RDS_PDIF (
563  regle 22 : distance axiale min 3. ;
564);
565
566# Check the RDS_NDIF shapes
567#--------------------------
568caracterise RDS_NDIF (
569  regle 23 : largeur >= 2. ;
570  regle 24 : longueur_inter min 2. ;
571  regle 25 : notch >= 3. ;
572);
573relation RDS_NDIF , RDS_NDIF (
574  regle 26 : distance axiale min 3. ;
575);
576
577# Check the RDS_PTIE shapes
578#--------------------------
579caracterise RDS_PTIE (
580  regle 27 : largeur >= 2. ;
581  regle 28 : longueur_inter min 2. ;
582  regle 29 : notch >= 3. ;
583);
584relation RDS_PTIE , RDS_PTIE (
585  regle 30 : distance axiale min 3. ;
586);
587
588# Check the RDS_NTIE shapes
589#--------------------------
590caracterise RDS_NTIE (
591  regle 31 : largeur >= 2. ;
592  regle 32 : longueur_inter min 2. ;
593  regle 33 : notch >= 3. ;
594);
595relation RDS_NTIE , RDS_NTIE (
596  regle 34 : distance axiale min 3. ;
597);
598
599define RDS_PDIF , RDS_PTIE union -> ANY_P_DIF;
600define RDS_NDIF , RDS_NTIE union -> ANY_N_DIF;
601
602# Check the ANY_N_DIF ANY_P_DIFF exclusion
603#--------------------------------------
604relation ANY_N_DIF , ANY_P_DIF (
605  regle 35 : distance axiale >= 3. ;
606  regle 36 : enveloppe longueur_inter < 0. ;
607  regle 37 : marge longueur_inter < 0. ;
608  regle 38 : croix longueur_inter < 0. ;
609  regle 39 : intersection longueur_inter < 0. ;
610  regle 40 : extension longueur_inter < 0. ;
611  regle 41 : inclusion longueur_inter < 0. ;
612);
613
614undefine ANY_P_DIF;
615undefine ANY_N_DIF;
616
617define RDS_NDIF , RDS_PDIF union -> NP_DIF;
618
619# Check RDS_POLY related to NP_DIF
620#---------------------------------
621relation RDS_POLY , NP_DIF (
622  regle 42 : distance axiale >= 1. ;
623  regle 43 : intersection longueur_inter < 0. ;
624);
625
626define NP_DIF , RDS_POLY intersection -> CHANNEL;
627
628# Check the RDS_POLY shapes
629#--------------------------
630caracterise RDS_POLY (
631  regle 44 : largeur >= 1. ;
632  regle 45 : longueur_inter min 1. ;
633  regle 46 : notch >= 2. ;
634);
635relation RDS_POLY , RDS_POLY (
636  regle 47 : distance axiale min 2.;
637);
638
639define NP_DIF , RDS_CONT intersection -> CONT_DIFF;
640# Check the CHANNEL shapes
641#--------------------------
642caracterise CHANNEL (
643  regle 48 : notch >= 3. ;
644);
645relation CHANNEL , CHANNEL (
646  regle 49 : distance axiale min 3.;
647);
648
649undefine CHANNEL;
650
651# Check RDS_POLY is distant from ACTIV ZONE of TRANSISTOR
652#--------------------------------------------------------
653relation RDS_POLY , RDS_ACTIV (
654  regle 79 : distance axiale >= 1. ;
655);
656
657relation RDS_POLY , CONT_DIFF (
658  regle 50 : distance axiale >= 2. ;
659);
660
661undefine CONT_DIFF;
662undefine NP_DIF;
663
664
665# Check RDS_ALU1 shapes
666#----------------------
667caracterise RDS_ALU1 (
668  regle 51 : largeur >= 1. ;
669  regle 52 : longueur_inter min 1. ;
670  regle 53 : notch >= 3. ;
671);
672relation RDS_ALU1 , RDS_ALU1 (
673  regle 54 : distance axiale min 3. ;
674);
675
676# Check RDS_ALU2 shapes
677#----------------------
678caracterise RDS_ALU2 (
679  regle 55 : largeur >= 2. ;
680  regle 56 : longueur_inter min 2. ;
681  regle 57 : notch >= 3. ;
682);
683relation RDS_ALU2 , RDS_ALU2 (
684  regle 58 : distance axiale min 3. ;
685);
686
687# Check RDS_ALU3 shapes
688#----------------------
689caracterise RDS_ALU3 (
690  regle 59 : largeur >= 2. ;
691  regle 60 : longueur_inter min 2. ;
692  regle 61 : notch >= 3. ;
693);
694relation RDS_ALU3 , RDS_ALU3 (
695  regle 62 : distance axiale min 3. ;
696);
697
698# Check RDS_ALU4 shapes
699#----------------------
700caracterise RDS_ALU4 (
701  regle 63 : largeur >= 2. ;
702  regle 64 : longueur_inter min 2. ;
703  regle 65 : notch >= 3. ;
704);
705relation RDS_ALU4 , RDS_ALU4 (
706  regle 66 : distance axiale min 3. ;
707);
708
709# Check RDS_ALU5 shapes
710#----------------------
711caracterise RDS_ALU5 (
712  regle 80 : largeur >= 2. ;
713  regle 81 : longueur_inter min 2. ;
714  regle 82 : notch >= 3. ;
715);
716relation RDS_ALU5 , RDS_ALU5 (
717  regle 83 : distance axiale min 3. ;
718);
719
720# Check RDS_ALU6 shapes
721#----------------------
722caracterise RDS_ALU6 (
723  regle 84 : largeur >= 2. ;
724  regle 85 : longueur_inter min 2. ;
725  regle 86 : notch >= 3. ;
726);
727relation RDS_ALU6 , RDS_ALU6 (
728  regle 87 : distance axiale min 3. ;
729);
730
731# Check ANY_VIA layers, stacking are free
732#----------------------------------------
733relation RDS_CONT , RDS_CONT (
734  regle 67 : distance axiale >= 3. ;
735);
736relation RDS_VIA , RDS_VIA (
737  regle 68 : distance axiale >= 4. ;
738);
739relation RDS_VIA2 , RDS_VIA2 (
740  regle 69 : distance axiale >= 4. ;
741);
742relation RDS_VIA3 , RDS_VIA3 (
743  regle 70 : distance axiale >= 4. ;
744);
745relation RDS_VIA4 , RDS_VIA4 (
746  regle 88 : distance axiale >= 4. ;
747);
748relation RDS_VIA5 , RDS_VIA5 (
749  regle 89 : distance axiale >= 4. ;
750);
751caracterise RDS_CONT (
752  regle 71 : largeur >= 1. ;
753  regle 72 : longueur <= 1. ;
754);
755caracterise RDS_VIA (
756  regle 73 : largeur >= 1. ;
757  regle 74 : longueur <= 1. ;
758);
759caracterise RDS_VIA2 (
760  regle 75 : largeur >= 1. ;
761  regle 76 : longueur <= 1. ;
762);
763caracterise RDS_VIA3 (
764  regle 77 : largeur >= 1. ;
765  regle 78 : longueur <= 1. ;
766);
767caracterise RDS_VIA4 (
768  regle 90 : largeur >= 1. ;
769  regle 91 : longueur <= 1. ;
770);
771caracterise RDS_VIA5 (
772  regle 92 : largeur >= 1. ;
773  regle 93 : longueur <= 1. ;
774);
775
776# Check the POLY2 shapes
777#-----------------------
778caracterise RDS_POLY2 (
779  regle 94 : largeur >= 1. ;
780  regle 95 : longueur_inter min 1. ;
781  regle 96 : notch >= 5. ;
782);
783relation RDS_POLY2 , RDS_POLY2 (
784  regle 97 : distance axiale min 5. ;
785);
786
787# Check RDS_POLY2 is really included inside RDS_POLY1
788#----------------------------------------------------
789relation RDS_POLY , RDS_POLY2 (
790  regle 98 : distance axiale < 0.;
791  regle 99 : enveloppe inferieure min 5. ;
792  regle 100 : marge longueur_inter < 0. ;
793  regle 101 : croix longueur_inter < 0. ;
794  regle 102 : intersection longueur_inter < 0. ;
795  regle 103 : extension longueur_inter < 0. ;
796  regle 104 : inclusion longueur_inter < 0. ;
797);
798
799
800fin regles
801DRC_COMMENT
8021 (RDS_NWELL) minimum width 4.
8032 (RDS_NWELL) minimum width 4.
8043 (RDS_NWELL) Manhatan distance min 12.
8054 (RDS_NWELL,RDS_NWELL) Manhatan distance min 12.
8065 (RDS_PTIE,RDS_NWELL) Manhatan distance min 7.5
8076 (RDS_PTIE,RDS_NWELL) must never been in contact
8087 (RDS_PTIE,RDS_NWELL) must never been in contact
8098 (RDS_PTIE,RDS_NWELL) must never been in contact
8109 (RDS_PTIE,RDS_NWELL) must never been in contact
81110 (RDS_PTIE,RDS_NWELL) must never been in contact
81211 (RDS_PTIE,RDS_NWELL) must never been in contact
81312 (RDS_NDIF,RDS_NWELL) Manhatan distance min 7.5
81413 (RDS_NDIF,RDS_NWELL) must never been in contact
81514 (RDS_NDIF,RDS_NWELL) must never been in contact
81615 (RDS_NDIF,RDS_NWELL) must never been in contact
81716 (RDS_NDIF,RDS_NWELL) must never been in contact
81817 (RDS_NDIF,RDS_NWELL) must never been in contact
81918 (RDS_NDIF,RDS_NWELL) must never been in contact
82019 (RDS_PDIF) minimum width 2.
82120 (RDS_PDIF) minimum width 2.
82221 (RDS_PDIF) Manhatan distance min 3.
82322 (RDS_PDIF,RDS_PDIF) Manhatan distance min 3.
82423 (RDS_NDIF) minimum width 2.
82524 (RDS_NDIF) minimum width 2.
82625 (RDS_NDIF) Manhatan distance min 3.
82726 (RDS_NDIF,RDS_NDIF) Manhatan distance min 3.
82827 (RDS_PTIE) minimum width 2.
82928 (RDS_PTIE) minimum width 2.
83029 (RDS_PTIE) Manhatan distance min 3.
83130 (RDS_PTIE,RDS_PTIE) Manhatan distance min 3.
83231 (RDS_NTIE) minimum width 2.
83332 (RDS_NTIE) minimum width 2.
83433 (RDS_NTIE) Manhatan distance min 3.
83534 (RDS_NTIE,RDS_NTIE) Manhatan distance min 3.
83635 (ANY_N_DIF,ANY_P_DIF) Manhatan distance min 3.
83736 (ANY_N_DIF,ANY_P_DIF) must never been in contact
83837 (ANY_N_DIF,ANY_P_DIF) must never been in contact
83938 (ANY_N_DIF,ANY_P_DIF) must never been in contact
84039 (ANY_N_DIF,ANY_P_DIF) must never been in contact
84140 (ANY_N_DIF,ANY_P_DIF) must never been in contact
84241 (ANY_N_DIF,ANY_P_DIF) must never been in contact
84342 (RDS_POLY,ANY_N_DIF) Manhatan distance min 1.
84443 (RDS_POLY,NP_DIF) bad intersection
84544 (RDS_POLY) minimum width 1.
84645 (RDS_POLY) minimum width 1.
84746 (RDS_POLY) Manhatan distance min 2.
84847 (RDS_POLY,RDS_POLY) Manhatan distance min 2.
84948 (CHANNEL) Manhatan distance min 3.
85049 (CHANNEL,CHANNEL) Manhatan distance min 3.
85150 (RDS_POLY,CONT_DIFF) Manhatan distance min 2.
85251 (RDS_ALU1) minimum width 1.
85352 (RDS_ALU1) minimum width 1.
85453 (RDS_ALU1) Manhatan distance min 3.
85554 (RDS_ALU1,RDS_ALU1) Manhatan distance min 3.
85655 (RDS_ALU2) minimum width 2.
85756 (RDS_ALU2) minimum width 2.
85857 (RDS_ALU2) Manhatan distance min 3.
85958 (RDS_ALU2,RDS_ALU2) Manhatan distance min 3.
86059 (RDS_ALU3) minimum width 2.
86160 (RDS_ALU3) minimum width 2.
86261 (RDS_ALU3) Manhatan distance min 3.
86362 (RDS_ALU3,RDS_ALU3) Manhatan distance min 3.
86463 (RDS_ALU4) minimum width 2.
86564 (RDS_ALU4) minimum width 2.
86665 (RDS_ALU4) Manhatan distance min 3.
86766 (RDS_ALU4,RDS_ALU4) Manhatan distance min 3.
86867 (RDS_CONT,RDS_CONT) Manhatan distance min 3.
86968 (RDS_VIA,RDS_VIA) Manhatan distance min 4.
87069 (RDS_VIA2,RDS_VIA2) Manhatan distance min 4.
87170 (RDS_VIA3,RDS_VIA3) Manhatan distance min 4.
87271 (RDS_CONT) minimum width 1.
87372 (RDS_CONT) maximum length 1.
87473 (RDS_VIA) minimum width 1.
87574 (RDS_VIA) maximum length 1.
87675 (RDS_VIA2) minimum width 1.
87776 (RDS_VIA2) maximum length 1.
87877 (RDS_VIA3) minimum width 1.
87978 (RDS_VIA3) maximum length 1.
88079 (RDS_POLY,RDS_ACTIV) Manhatan distance min 1.
88180 (RDS_ALU5) minimum width 2.
88281 (RDS_ALU5) minimum width 2.
88382 (RDS_ALU5) Manhatan distance min 4.
88483 (RDS_ALU5,RDS_ALU5) Manhatan distance min 4.
88584 (RDS_ALU6) minimum width 2.
88685 (RDS_ALU6) minimum width 2.
88786 (RDS_ALU6) Manhatan distance min 4.
88887 (RDS_ALU6,RDS_ALU6) Manhatan distance min 4.
88988 (RDS_VIA4,RDS_VIA4) Manhatan distance min 4.
89089 (RDS_VIA5,RDS_VIA5) Manhatan distance min 4.
89190 (RDS_VIA4) minimum width 1.
89291 (RDS_VIA4) maximum length 1.
89392 (RDS_VIA5) minimum width 1.
89493 (RDS_VIA5) maximum length 1.
89594 (RDS_POLY2) minimum width 1.
89695 (RDS_POLY2) minimum width 1.
89796 (RDS_POLY2) Manhatan distance min 5.
89897 (RDS_POLY2,POLY2) Manhatan distance min 5.
89998 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
90099 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
901100 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
902101 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
903102 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
904103 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
905104 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
906END_DRC_COMMENT
907END_DRC_RULES
908