1# Modified version of the cmos.rds file
2#=====================================================================
3#
4#                         ALLIANCE VLSI CAD
5#            (R)eal (D)ata (S)tructure parameter file
6#         (c) copyright 1992 Laboratory UPMC/MASI/CAO-VLSI
7#                        all rights reserved
8#                   e-mail : cao-vlsi@masi.ibp.fr
9#
10#                   file       : cmos.rds
11#                   version    : 12
12#                   last modif : Apr 4, 2002
13#
14##-------------------------------------------------------------------
15# Symbolic to micron on a 'one lambda equals one micron' basis
16##-------------------------------------------------------------------
17# Refer to the documentation for more precise information.
18#=====================================================================
19# 01/11/09 ALU5/6 pitch 10
20#
21# 99/11/3 ALU5/6 rules
22# . theses rules are preliminary rules, we hope that they wil change
23#   in future. For now, ALU5/6 are dedicated to supplies an clock.
24#
25# 99/3/22 new symbolics rules
26# . ALU1 width remains 1, ALU2/3/4 is 2
27# . ALU1/2/3/4 distance (edge to edge) is now 3 for all
28# . GATE to GATE distance is 3 but POLY wire to POLY wire remains 2
29# . All via stacking are allowed
30#
31# 98/12/1 drc rules were updated
32# distance VIA to POLY or gate is one rather 2
33# VIA2 and ALU3 appeared
34# . ALU3 width is 3
35# . ALU2/VIA2/ALU3 is resp. 3/1/3
36# . ALU3 edge distance is 2
37# . stacked VIA/VIA2 is allowed
38# . if they are not stacked they must distant of 2
39# . CONT/VIA2 is free
40# note
41# . stacked CONT/VIA is always not allowed
42# NWELL is automatically drawn with the DIFN and NTIE layers
43#=====================================================================
44
45##-------------------------------------------------------------------
46# PHYSICAL_GRID :
47##-------------------------------------------------------------------
48
49DEFINE  PHYSICAL_GRID  .5
50
51##-------------------------------------------------------------------
52# LAMBDA :
53##-------------------------------------------------------------------
54
55DEFINE  LAMBDA         1
56
57##-------------------------------------------------------------------
58# TABLE MBK_TO_RDS_SEGMENT :
59#
60# MBK      RDS layer 1                 RDS layer 2
61# name     name TRANS DLR DWR OFFSET   name TRANS DLR DWR OFFSET  ...
62##-------------------------------------------------------------------
63
64TABLE MBK_TO_RDS_SEGMENT
65
66  PWELL    RDS_PWELL  VW  0.0  0.0  0.0  EXT
67  NWELL    RDS_NWELL  VW  0.0  0.0  0.0  ALL
68  NDIF     RDS_NDIF   VW  0.5  0.0  0.0  ALL
69  PDIF     RDS_PDIF   VW  0.5  0.0  0.0  ALL \
70           RDS_NWELL  VW  1.0  1.0  0.0  ALL
71  NTIE     RDS_NTIE   VW  0.5  0.0  0.0  ALL \
72           RDS_NWELL  VW  1.0  1.0  0.0  ALL
73  PTIE     RDS_PTIE   VW  0.5  0.0  0.0  ALL
74  NTRANS   RDS_POLY   VW  0.0  0.0  0.0  ALL \
75           RDS_NDIF  LCW -1.5  2.0  0.0  EXT \
76           RDS_NDIF  RCW -1.5  2.0  0.0  EXT \
77           RDS_NDIF   VW -1.5  4.0  0.0  DRC \
78           RDS_ACTIV  VW -1.5  5.0  0.0  ALL \
79	   RDS_PWELL  VW -1.5  0.0  0.0  EXT
80  PTRANS   RDS_POLY   VW  0.0  0.0  0.0  ALL \
81           RDS_PDIF  LCW -1.5  2.0  0.0  EXT \
82           RDS_PDIF  RCW -1.5  2.0  0.0  EXT \
83           RDS_PDIF   VW -1.5  4.0  0.0  DRC \
84           RDS_ACTIV  VW -1.5  5.0  0.0  ALL \
85           RDS_NWELL  VW -1.0  5.0  0.0  ALL
86  POLY     RDS_POLY   VW  0.5  0.0  0.0  ALL
87  POLY2    RDS_POLY2  VW  0.5  0.0  0.0  ALL
88  ALU1     RDS_ALU1   VW  0.5  0.0  0.0  ALL
89  ALU2     RDS_ALU2   VW  1.0  0.0  0.0  ALL
90  ALU3     RDS_ALU3   VW  1.0  0.0  0.0  ALL
91  ALU4     RDS_ALU4   VW  1.0  0.0  0.0  ALL
92  ALU5     RDS_ALU5   VW  1.0  0.0  0.0  ALL
93  ALU6     RDS_ALU6   VW  1.0  0.0  0.0  ALL
94  ALU7     RDS_ALU7   VW  1.0  0.0  0.0  ALL
95  ALU8     RDS_ALU8   VW  1.0  0.0  0.0  ALL
96  CALU1    RDS_ALU1   VW  1.0  0.0  0.0  ALL
97  CALU2    RDS_ALU2   VW  1.0  0.0  0.0  ALL
98  CALU3    RDS_ALU3   VW  1.0  0.0  0.0  ALL
99  CALU4    RDS_ALU4   VW  1.0  0.0  0.0  ALL
100  CALU5    RDS_ALU5   VW  1.0  0.0  0.0  ALL
101  CALU6    RDS_ALU6   VW  1.0  0.0  0.0  ALL
102  CALU7    RDS_ALU7   VW  1.0  0.0  0.0  ALL
103  CALU8    RDS_ALU8   VW  1.0  0.0  0.0  ALL
104  TPOLY    RDS_TPOLY  VW  0.5  0.0  0.0  ALL
105  TALU1    RDS_TALU1  VW  0.5  0.0  0.0  ALL
106  TALU2    RDS_TALU2  VW  1.0  0.0  0.0  ALL
107  TALU3    RDS_TALU3  VW  1.0  0.0  0.0  ALL
108  TALU4    RDS_TALU4  VW  1.0  0.0  0.0  ALL
109  TALU5    RDS_TALU5  VW  1.0  0.0  0.0  ALL
110  TALU6    RDS_TALU6  VW  1.0  0.0  0.0  ALL
111  TALU7    RDS_TALU7  VW  1.0  0.0  0.0  ALL
112  TALU8    RDS_TALU8  VW  1.0  0.0  0.0  ALL
113
114END
115
116##-------------------------------------------------------------------
117# TABLE MBK_TO_RDS_CONNECTOR :
118#
119# MBK      RDS layer
120# name     name     DER DWR
121##-------------------------------------------------------------------
122
123TABLE MBK_TO_RDS_CONNECTOR
124
125  POLY    RDS_POLY  .5  0
126  POLY2   RDS_POLY2 .5  0
127  ALU1    RDS_ALU1  .5  0
128  ALU2    RDS_ALU2 1.0  0
129  ALU3    RDS_ALU3 1.0  0
130  ALU4    RDS_ALU4 1.0  0
131  ALU5    RDS_ALU5 1.0  0
132  ALU6    RDS_ALU6 1.0  0
133  ALU7    RDS_ALU7 1.0  0
134  ALU8    RDS_ALU8 1.0  0
135
136END
137
138##-------------------------------------------------------------------
139# TABLE MBK_TO_RDS_REFERENCE :
140#
141# MBK ref    RDS layer
142# name       name       width
143##-------------------------------------------------------------------
144
145TABLE MBK_TO_RDS_REFERENCE
146
147  REF_REF    RDS_REF    1
148  REF_CON    RDS_VALU1  2  RDS_TVIA1 1  RDS_TALU2  2
149
150END
151
152##-------------------------------------------------------------------
153# TABLE MBK_TO_RDS_VIA1 :
154#
155# MBK via      RDS layer 1  RDS  layer 2  RDS  layer 3  RDS layer 4
156# name         name  width  name   width  name   width  name  width
157##-------------------------------------------------------------------
158
159TABLE MBK_TO_RDS_VIA
160
161  CONT_BODY_P  RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_PTIE 3 ALL
162  CONT_BODY_N  RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_NTIE 3 ALL  RDS_NWELL 4 ALL
163  CONT_DIF_N   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_NDIF 3 ALL
164  CONT_DIF_P   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_PDIF 3 ALL  RDS_NWELL 4 ALL
165  CONT_POLY    RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_POLY 3 ALL
166  CONT_POLY2   RDS_ALU1 2 ALL  RDS_CONT 1 ALL  RDS_POLY2 3 ALL
167  CONT_VIA     RDS_ALU1 2 ALL  RDS_VIA1 1 ALL  RDS_ALU2 2 ALL
168  CONT_VIA2    RDS_ALU2 2 ALL  RDS_VIA2 1 ALL  RDS_ALU3 2 ALL
169  CONT_VIA3    RDS_ALU3 2 ALL  RDS_VIA3 1 ALL  RDS_ALU4 2 ALL
170  CONT_VIA4    RDS_ALU4 2 ALL  RDS_VIA4 1 ALL  RDS_ALU5 2 ALL
171  CONT_VIA5    RDS_ALU5 2 ALL  RDS_VIA5 1 ALL  RDS_ALU6 2 ALL
172  CONT_VIA6    RDS_ALU6 2 ALL  RDS_VIA6 1 ALL  RDS_ALU7 2 ALL
173  CONT_VIA7    RDS_ALU7 2 ALL  RDS_VIA7 1 ALL  RDS_ALU8 2 ALL
174  C_X_N        RDS_POLY 1 ALL  RDS_NDIF 5 ALL  RDS_ACTIV 6 ALL
175  C_X_P        RDS_POLY 1 ALL  RDS_PDIF 5 ALL  RDS_NWELL 6 ALL  RDS_ACTIV 6 ALL
176
177END
178
179##-------------------------------------------------------------------
180# TABLE MBK_TO_RDS_BIGVIA_HOLE :
181#
182# MBK via      RDS Hole
183# name         name  side step mode
184##-------------------------------------------------------------------
185
186TABLE MBK_TO_RDS_BIGVIA_HOLE
187
188CONT_VIA   RDS_VIA1 1 4 ALL
189CONT_VIA2  RDS_VIA2 1 4 ALL
190CONT_VIA3  RDS_VIA3 1 4 ALL
191CONT_VIA5  RDS_VIA3 1 9 ALL
192CONT_VIA6  RDS_VIA3 1 9 ALL
193CONT_VIA7  RDS_VIA3 1 9 ALL
194
195END
196
197##-------------------------------------------------------------------
198# TABLE MBK_TO_RDS_BIGVIA_METAL :
199#
200# MBK via      RDS layer 1                      ...
201# name         name  delta-width overlap mode
202##-------------------------------------------------------------------
203
204TABLE MBK_TO_RDS_BIGVIA_METAL
205
206CONT_VIA  RDS_ALU1 0.0 0.5 ALL RDS_ALU2 0.0 0.5 ALL
207CONT_VIA2 RDS_ALU2 0.0 0.5 ALL RDS_ALU3 0.0 0.5 ALL
208CONT_VIA3 RDS_ALU3 0.0 0.5 ALL RDS_ALU4 0.0 0.5 ALL
209CONT_VIA4 RDS_ALU4 0.0 0.5 ALL RDS_ALU5 0.0 0.5 ALL
210CONT_VIA5 RDS_ALU5 0.0 0.5 ALL RDS_ALU6 0.0 0.5 ALL
211
212END
213
214##-------------------------------------------------------------------
215# TABLE MBK_TO_RDS_TURNVIA :
216#
217# MBK via      RDS layer 1                      ...
218# name         name  DWR MODE
219##-------------------------------------------------------------------
220
221TABLE MBK_TO_RDS_TURNVIA
222
223CONT_TURN1 RDS_ALU1 0 ALL
224CONT_TURN2 RDS_ALU2 0 ALL
225CONT_TURN3 RDS_ALU3 0 ALL
226CONT_TURN4 RDS_ALU4 0 ALL
227CONT_TURN5 RDS_ALU5 0 ALL
228CONT_TURN6 RDS_ALU6 0 ALL
229
230END
231
232
233##-------------------------------------------------------------------
234# TABLE LYNX_GRAPH :
235#
236# RDS layer   Rds layer 1   Rds layer 2    ...
237# name        name          name           ...
238##-------------------------------------------------------------------
239
240TABLE LYNX_GRAPH
241
242##---------------------------
243#
244# Modifie par L.Jacomme (Pb Bulk/Alim avec Lynx)
245# 23.11.99
246#
247# RDS_NWELL  RDS_NTIE   RDS_NWELL
248# RDS_PWELL  RDS_PTIE   RDS_PWELL
249# RDS_NDIF  RDS_CONT RDS_NDIF
250# RDS_PDIF  RDS_CONT RDS_PDIF
251# RDS_NTIE  RDS_CONT RDS_NTIE RDS_NWELL
252# RDS_PTIE  RDS_CONT RDS_PTIE RDS_PWELL
253
254  RDS_NDIF  RDS_CONT RDS_NDIF
255  RDS_PDIF  RDS_CONT RDS_PDIF
256  RDS_NTIE  RDS_CONT RDS_NTIE
257  RDS_PTIE  RDS_CONT RDS_PTIE
258
259  RDS_POLY  RDS_CONT RDS_POLY
260  RDS_POLY2 RDS_CONT RDS_POLY2
261  RDS_CONT  RDS_PDIF RDS_NDIF RDS_POLY RDS_PTIE  RDS_NTIE RDS_ALU1 RDS_CONT
262  RDS_ALU1  RDS_CONT RDS_VIA1 RDS_ALU1 RDS_VALU1 RDS_ALU1
263  RDS_VALU1 RDS_CONT RDS_VIA1 RDS_ALU1 RDS_VALU1
264  RDS_VIA1  RDS_ALU1 RDS_ALU2 RDS_VIA1
265  RDS_VIA2  RDS_ALU2 RDS_ALU3 RDS_VIA2
266  RDS_VIA3  RDS_ALU3 RDS_ALU4 RDS_VIA3
267  RDS_VIA4  RDS_ALU4 RDS_ALU5 RDS_VIA4
268  RDS_VIA5  RDS_ALU5 RDS_ALU6 RDS_VIA5
269  RDS_VIA6  RDS_ALU6 RDS_ALU7 RDS_VIA6
270  RDS_VIA7  RDS_ALU7 RDS_ALU8 RDS_VIA7
271  RDS_ALU2  RDS_VIA1 RDS_VIA2 RDS_ALU2
272  RDS_ALU3  RDS_VIA2 RDS_VIA3 RDS_ALU3
273  RDS_ALU4  RDS_VIA3 RDS_VIA4 RDS_ALU4
274  RDS_ALU5  RDS_VIA4 RDS_VIA5 RDS_ALU5
275  RDS_ALU6  RDS_VIA5 RDS_VIA6 RDS_ALU6
276  RDS_ALU7  RDS_VIA6 RDS_VIA7 RDS_ALU7
277  RDS_ALU8  RDS_VIA7          RDS_ALU8
278
279END
280
281##-------------------------------------------------------------------
282# TABLE LYNX_CAPA :
283#
284# RDS layer   Surface capacitance  Perimetric capacitance
285# name        piF / Micron^2       piF / Micron
286##-------------------------------------------------------------------
287
288TABLE LYNX_CAPA
289
290  RDS_POLY    1.00e-04    1.00e-04
291  RDS_POLY2   1.00e-04    1.00e-04
292  RDS_ALU1    0.50e-04    0.90e-04
293  RDS_ALU2    0.25e-04    0.95e-04
294  RDS_ALU3    0.25e-04    0.95e-04
295  RDS_ALU4    0.25e-04    0.95e-04
296  RDS_ALU5    0.25e-04    0.95e-04
297  RDS_ALU6    0.25e-04    0.95e-04
298  RDS_ALU7    0.25e-04    0.95e-04
299  RDS_ALU8    0.25e-04    0.95e-04
300
301END
302
303##-------------------------------------------------------------------
304# TABLE LYNX_RESISTOR :
305#
306# RDS layer   Surface resistor
307# name        Ohm / Micron^2
308##-------------------------------------------------------------------
309
310TABLE LYNX_RESISTOR
311
312  RDS_POLY    50.0
313  RDS_POLY2   50.0
314  RDS_ALU1     0.1
315  RDS_ALU2     0.05
316  RDS_ALU3     0.05
317  RDS_ALU4     0.05
318  RDS_ALU5     0.05
319  RDS_ALU6     0.05
320  RDS_ALU7     0.05
321  RDS_ALU8     0.05
322
323END
324
325##-------------------------------------------------------------------
326# TABLE LYNX_TRANSISTOR :
327#
328# MBK layer  Transistor Type  MBK via
329# name       name             name
330##-------------------------------------------------------------------
331
332TABLE LYNX_TRANSISTOR
333
334  NTRANS  NTRANS  C_X_N   RDS_POLY   RDS_NDIF  RDS_NDIF  RDS_PWELL
335  PTRANS  PTRANS  C_X_P   RDS_POLY   RDS_PDIF  RDS_PDIF  RDS_NWELL
336
337END
338
339##-------------------------------------------------------------------
340# TABLE LYNX_DIFFUSION :
341#
342# RDS layer  RDS layer
343# name       name
344##-------------------------------------------------------------------
345
346TABLE LYNX_DIFFUSION
347END
348
349##-------------------------------------------------------------------
350# TABLE LYNX_BULK_IMPLICIT :
351#
352# RDS layer  Bulk type
353# name       EXPLICIT/IMPLICIT
354##-------------------------------------------------------------------
355
356TABLE LYNX_BULK_IMPLICIT
357
358##---------------------------
359#
360# Modifie par L.Jacomme (Pb Bulk/Alim avec Lynx)
361# 23.11.99
362#
363# NWELL  EXPLICIT
364# PWELL  IMPLICIT
365
366END
367
368
369
370##-------------------------------------------------------------------
371# TABLE S2R_OVERSIZE_DENOTCH :
372##-------------------------------------------------------------------
373
374TABLE S2R_OVERSIZE_DENOTCH
375END
376
377##-------------------------------------------------------------------
378# TABLE S2R_BLOC_RING_WIDTH :
379##-------------------------------------------------------------------
380
381TABLE S2R_BLOC_RING_WIDTH
382END
383
384##-------------------------------------------------------------------
385# TABLE S2R_MINIMUM_LAYER_WIDTH :
386##-------------------------------------------------------------------
387
388TABLE S2R_MINIMUM_LAYER_WIDTH
389
390  RDS_NWELL   4
391  RDS_PDIF    2
392  RDS_NTIE    2
393  RDS_PTIE    2
394  RDS_POLY    1
395  RDS_POLY2   1
396  RDS_TPOLY   1
397  RDS_CONT    1
398  RDS_ALU1    1
399  RDS_TALU1   1
400  RDS_VIA1    1
401  RDS_ALU2    2
402  RDS_TALU2   2
403  RDS_VIA2    1
404  RDS_ALU3    2
405  RDS_TALU3   2
406  RDS_VIA3    1
407  RDS_ALU4    2
408  RDS_TALU4   2
409  RDS_VIA4    1
410  RDS_ALU5    2
411  RDS_TALU5   2
412  RDS_VIA5    1
413  RDS_ALU6    2
414  RDS_TALU6   2
415  RDS_VIA6    1
416  RDS_ALU7    2
417  RDS_TALU7   2
418  RDS_VIA7    1
419  RDS_ALU8    2
420  RDS_TALU8   2
421
422END
423
424##-------------------------------------------------------------------
425# TABLE CIF_LAYER :
426##-------------------------------------------------------------------
427
428TABLE CIF_LAYER
429
430  RDS_NWELL    LNWELL
431  RDS_NDIF     LNDIF
432  RDS_PDIF     LPDIF
433  RDS_NTIE     LNTIE
434  RDS_PTIE     LPTIE
435  RDS_POLY     LPOLY
436  RDS_POLY2    LPOLY2
437  RDS_TPOLY    LTPOLY
438  RDS_CONT     LCONT
439  RDS_ALU1     LALU1
440  RDS_VALU1    LVALU1
441  RDS_TALU1    LTALU1
442  RDS_VIA1     LVIA
443  RDS_TVIA1    LTVIA1
444  RDS_ALU2     LALU2
445  RDS_TALU2    LTALU2
446  RDS_VIA2     LVIA2
447  RDS_ALU3     LALU3
448  RDS_TALU3    LTALU3
449  RDS_VIA3     LVIA3
450  RDS_ALU4     LALU4
451  RDS_TALU4    LTALU4
452  RDS_VIA4     LVIA4
453  RDS_ALU5     LALU5
454  RDS_TALU5    LTALU5
455  RDS_VIA5     LVIA5
456  RDS_ALU6     LALU6
457  RDS_TALU6    LTALU6
458  RDS_VIA6     LVIA6
459  RDS_ALU7     LALU7
460  RDS_TALU7    LTALU7
461  RDS_VIA7     LVIA7
462  RDS_ALU8     LALU8
463  RDS_TALU8    LTALU8
464  RDS_REF      LREF
465
466END
467
468##-------------------------------------------------------------------
469# TABLE GDS_LAYER :
470##-------------------------------------------------------------------
471
472TABLE GDS_LAYER
473
474  RDS_NWELL    1
475  RDS_NDIF     3
476  RDS_PDIF     4
477  RDS_NTIE     5
478  RDS_PTIE     6
479  RDS_POLY     7
480  RDS_POLY2    8
481  RDS_TPOLY    9
482  RDS_CONT    10
483  RDS_ALU1    11
484  RDS_VALU1   12
485  RDS_TALU1   13
486  RDS_VIA1    14
487  RDS_TVIA1   15
488  RDS_ALU2    16
489  RDS_TALU2   17
490  RDS_VIA2    18
491  RDS_ALU3    19
492  RDS_TALU3   20
493  RDS_VIA3    21
494  RDS_ALU4    22
495  RDS_TALU4   23
496  RDS_VIA4    25
497  RDS_ALU5    26
498  RDS_TALU5   27
499  RDS_VIA5    28
500  RDS_ALU6    29
501  RDS_TALU6   30
502  RDS_VIA6    31
503  RDS_ALU7    32
504  RDS_TALU7   33
505  RDS_VIA7    34
506  RDS_ALU8    35
507  RDS_TALU8   36
508  RDS_REF     37
509
510END
511
512##-------------------------------------------------------------------
513# TABLE S2R_POST_TREAT :
514##-------------------------------------------------------------------
515
516TABLE S2R_POST_TREAT
517
518END
519DRC_RULES
520
521layer RDS_NWELL 4.;
522layer RDS_NTIE 2.;
523layer RDS_PTIE 2.;
524layer RDS_NDIF 2.;
525layer RDS_PDIF 2.;
526layer RDS_ACTIV 2.;
527layer RDS_CONT 1.;
528layer RDS_VIA1 1.;
529layer RDS_VIA2 1.;
530layer RDS_VIA3 1.;
531layer RDS_VIA4 1.;
532layer RDS_VIA5 1.;
533layer RDS_VIA6 1.;
534layer RDS_VIA7 1.;
535layer RDS_POLY 1.;
536layer RDS_POLY2 1.;
537layer RDS_ALU1 1.;
538layer RDS_ALU2 2.;
539layer RDS_ALU3 2.;
540layer RDS_ALU4 2.;
541layer RDS_ALU5 2.;
542layer RDS_ALU6 2.;
543layer RDS_ALU7 2.;
544layer RDS_ALU8 2.;
545layer RDS_USER0 1.;
546layer RDS_USER1 1.;
547layer RDS_USER2 1.;
548
549regles
550
551# Note : ``min'' is different from ``>=''.
552# min is applied on polygons and >= is applied on rectangles.
553# There is the same difference between max and <=.
554# >= is faster than min, but min must be used where it is
555# required to consider polygons, for example distance of
556# two objects in the same layer
557#
558# There is no rule to check NTIE and PDIF are included in NWELL
559# since this is necessarily true
560#-----------------------------------------------------------
561
562# Check the NWELL shapes
563#-----------------------
564caracterise RDS_NWELL (
565  regle 1 : largeur >= 4. ;
566  regle 2 : longueur_inter min 4. ;
567  regle 3 : notch >= 12. ;
568);
569relation RDS_NWELL , RDS_NWELL (
570  regle 4 : distance axiale min 12. ;
571);
572
573# Check RDS_PTIE is really excluded outside NWELL
574#------------------------------------------------
575relation RDS_PTIE , RDS_NWELL (
576  regle 5 : distance axiale >= 7.5;
577  regle 6 : enveloppe longueur_inter < 0. ;
578  regle 7 : marge longueur_inter < 0. ;
579  regle 8 : croix longueur_inter < 0. ;
580  regle 9 : intersection longueur_inter < 0. ;
581  regle 10 : extension longueur_inter < 0. ;
582  regle 11 : inclusion longueur_inter < 0. ;
583);
584
585# Check RDS_NDIF is really excluded outside NWELL
586#------------------------------------------------
587relation RDS_NDIF , RDS_NWELL (
588  regle 12 : distance axiale >= 7.5;
589  regle 13 : enveloppe longueur_inter < 0. ;
590  regle 14 : marge longueur_inter < 0. ;
591  regle 15 : croix longueur_inter < 0. ;
592  regle 16 : intersection longueur_inter < 0. ;
593  regle 17 : extension longueur_inter < 0. ;
594  regle 18 : inclusion longueur_inter < 0. ;
595);
596
597# Check the RDS_PDIF shapes
598#--------------------------
599caracterise RDS_PDIF (
600  regle 19 : largeur >= 2. ;
601  regle 20 : longueur_inter min 2. ;
602  regle 21 : notch >= 3. ;
603);
604relation RDS_PDIF , RDS_PDIF (
605  regle 22 : distance axiale min 3. ;
606);
607
608# Check the RDS_NDIF shapes
609#--------------------------
610caracterise RDS_NDIF (
611  regle 23 : largeur >= 2. ;
612  regle 24 : longueur_inter min 2. ;
613  regle 25 : notch >= 3. ;
614);
615relation RDS_NDIF , RDS_NDIF (
616  regle 26 : distance axiale min 3. ;
617);
618
619# Check the RDS_PTIE shapes
620#--------------------------
621caracterise RDS_PTIE (
622  regle 27 : largeur >= 2. ;
623  regle 28 : longueur_inter min 2. ;
624  regle 29 : notch >= 3. ;
625);
626relation RDS_PTIE , RDS_PTIE (
627  regle 30 : distance axiale min 3. ;
628);
629
630# Check the RDS_NTIE shapes
631#--------------------------
632caracterise RDS_NTIE (
633  regle 31 : largeur >= 2. ;
634  regle 32 : longueur_inter min 2. ;
635  regle 33 : notch >= 3. ;
636);
637relation RDS_NTIE , RDS_NTIE (
638  regle 34 : distance axiale min 3. ;
639);
640
641define RDS_PDIF , RDS_PTIE union -> ANY_P_DIF;
642define RDS_NDIF , RDS_NTIE union -> ANY_N_DIF;
643
644# Check the ANY_N_DIF ANY_P_DIFF exclusion
645#--------------------------------------
646relation ANY_N_DIF , ANY_P_DIF (
647  regle 35 : distance axiale >= 3. ;
648  regle 36 : enveloppe longueur_inter < 0. ;
649  regle 37 : marge longueur_inter < 0. ;
650  regle 38 : croix longueur_inter < 0. ;
651  regle 39 : intersection longueur_inter < 0. ;
652  regle 40 : extension longueur_inter < 0. ;
653  regle 41 : inclusion longueur_inter < 0. ;
654);
655
656undefine ANY_P_DIF;
657undefine ANY_N_DIF;
658
659define RDS_NDIF , RDS_PDIF union -> NP_DIF;
660
661# Check RDS_POLY related to NP_DIF
662#---------------------------------
663relation RDS_POLY , NP_DIF (
664  regle 42 : distance axiale >= 1. ;
665  regle 43 : intersection longueur_inter < 0. ;
666);
667
668define NP_DIF , RDS_POLY intersection -> CHANNEL;
669
670# Check the RDS_POLY shapes
671#--------------------------
672caracterise RDS_POLY (
673  regle 44 : largeur >= 1. ;
674  regle 45 : longueur_inter min 1. ;
675  regle 46 : notch >= 2. ;
676);
677relation RDS_POLY , RDS_POLY (
678  regle 47 : distance axiale min 2.;
679);
680
681define NP_DIF , RDS_CONT intersection -> CONT_DIFF;
682# Check the CHANNEL shapes
683#--------------------------
684caracterise CHANNEL (
685  regle 48 : notch >= 3. ;
686);
687relation CHANNEL , CHANNEL (
688  regle 49 : distance axiale min 3.;
689);
690
691undefine CHANNEL;
692
693# Check RDS_POLY is distant from ACTIV ZONE of TRANSISTOR
694#--------------------------------------------------------
695relation RDS_POLY , RDS_ACTIV (
696  regle 79 : distance axiale >= 1. ;
697);
698
699relation RDS_POLY , CONT_DIFF (
700  regle 50 : distance axiale >= 2. ;
701);
702
703undefine CONT_DIFF;
704undefine NP_DIF;
705
706
707# Check RDS_ALU1 shapes
708#----------------------
709caracterise RDS_ALU1 (
710  regle 51 : largeur >= 1. ;
711  regle 52 : longueur_inter min 1. ;
712  regle 53 : notch >= 3. ;
713);
714relation RDS_ALU1 , RDS_ALU1 (
715  regle 54 : distance axiale min 3. ;
716);
717
718# Check RDS_ALU2 shapes
719#----------------------
720caracterise RDS_ALU2 (
721  regle 55 : largeur >= 2. ;
722  regle 56 : longueur_inter min 2. ;
723  regle 57 : notch >= 3. ;
724);
725relation RDS_ALU2 , RDS_ALU2 (
726  regle 58 : distance axiale min 3. ;
727);
728
729# Check RDS_ALU3 shapes
730#----------------------
731caracterise RDS_ALU3 (
732  regle 59 : largeur >= 2. ;
733  regle 60 : longueur_inter min 2. ;
734  regle 61 : notch >= 3. ;
735);
736relation RDS_ALU3 , RDS_ALU3 (
737  regle 62 : distance axiale min 3. ;
738);
739
740# Check RDS_ALU4 shapes
741#----------------------
742caracterise RDS_ALU4 (
743  regle 63 : largeur >= 2. ;
744  regle 64 : longueur_inter min 2. ;
745  regle 65 : notch >= 3. ;
746);
747relation RDS_ALU4 , RDS_ALU4 (
748  regle 66 : distance axiale min 3. ;
749);
750
751# Check RDS_ALU5 shapes
752#----------------------
753# caracterise RDS_ALU5 (
754#  regle 80 : largeur >= 2. ;
755#  regle 81 : longueur_inter min 2. ;
756#  regle 82 : notch >= 8. ;
757#);
758#relation RDS_ALU5 , RDS_ALU5 (
759#  regle 83 : distance axiale min 8. ;
760#);
761
762# Check RDS_ALU5 shapes
763# it is not true !!   LUDO
764# Only to work with OCR
765#----------------------
766caracterise RDS_ALU5 (
767  regle 80 : largeur >= 2. ;
768  regle 81 : longueur_inter min 2. ;
769  regle 82 : notch >= 3. ;
770);
771relation RDS_ALU5 , RDS_ALU5 (
772  regle 83 : distance axiale min 3. ;
773);
774
775# Check RDS_ALU6 shapes
776#----------------------
777#caracterise RDS_ALU6 (
778#  regle 84 : largeur >= 2. ;
779#  regle 85 : longueur_inter min 2. ;
780#  regle 86 : notch >= 8. ;
781#);
782#relation RDS_ALU6 , RDS_ALU6 (
783#  regle 87 : distance axiale min 8. ;
784#);
785
786# Check RDS_ALU6 shapes
787# it is not true !!   LUDO
788# Only to work with OCR
789#----------------------
790caracterise RDS_ALU6 (
791  regle 84 : largeur >= 2. ;
792  regle 85 : longueur_inter min 2. ;
793  regle 86 : notch >= 3. ;
794);
795relation RDS_ALU6 , RDS_ALU6 (
796  regle 87 : distance axiale min 3. ;
797);
798
799# Check ANY_VIA layers, stacking are free
800#----------------------------------------
801relation RDS_CONT , RDS_CONT (
802  regle 67 : distance axiale >= 3. ;
803);
804relation RDS_VIA , RDS_VIA (
805  regle 68 : distance axiale >= 4. ;
806);
807relation RDS_VIA2 , RDS_VIA2 (
808  regle 69 : distance axiale >= 4. ;
809);
810relation RDS_VIA3 , RDS_VIA3 (
811  regle 70 : distance axiale >= 4. ;
812);
813
814# It's not true !!  LUDO
815# only to work with OCR
816relation RDS_VIA4 , RDS_VIA4 (
817  regle 88 : distance axiale >= 4. ;
818);
819
820# relation RDS_VIA4 , RDS_VIA4 (
821#  regle 88 : distance axiale >= 9. ;
822#);
823
824# It's not true !!  LUDO
825# only to work with OCR
826relation RDS_VIA5 , RDS_VIA5 (
827  regle 89 : distance axiale >= 4. ;
828);
829
830# relation RDS_VIA5 , RDS_VIA5 (
831# regle 89 : distance axiale >= 9. ;
832# );
833caracterise RDS_CONT (
834  regle 71 : largeur >= 1. ;
835  regle 72 : longueur <= 1. ;
836);
837caracterise RDS_VIA (
838  regle 73 : largeur >= 1. ;
839  regle 74 : longueur <= 1. ;
840);
841caracterise RDS_VIA2 (
842  regle 75 : largeur >= 1. ;
843  regle 76 : longueur <= 1. ;
844);
845caracterise RDS_VIA3 (
846  regle 77 : largeur >= 1. ;
847  regle 78 : longueur <= 1. ;
848);
849caracterise RDS_VIA4 (
850  regle 90 : largeur >= 1. ;
851  regle 91 : longueur <= 1. ;
852);
853caracterise RDS_VIA5 (
854  regle 92 : largeur >= 1. ;
855  regle 93 : longueur <= 1. ;
856);
857
858# Check the POLY2 shapes
859#-----------------------
860caracterise RDS_POLY2 (
861  regle 94 : largeur >= 1. ;
862  regle 95 : longueur_inter min 1. ;
863  regle 96 : notch >= 5. ;
864);
865relation RDS_POLY2 , RDS_POLY2 (
866  regle 97 : distance axiale min 5. ;
867);
868
869# Check RDS_POLY2 is really included inside RDS_POLY1
870#----------------------------------------------------
871relation RDS_POLY , RDS_POLY2 (
872  regle 98 : distance axiale < 0.;
873  regle 99 : enveloppe inferieure min 5. ;
874  regle 100 : marge longueur_inter < 0. ;
875  regle 101 : croix longueur_inter < 0. ;
876  regle 102 : intersection longueur_inter < 0. ;
877  regle 103 : extension longueur_inter < 0. ;
878  regle 104 : inclusion longueur_inter < 0. ;
879);
880
881
882fin regles
883DRC_COMMENT
8841 (RDS_NWELL) minimum width 4.
8852 (RDS_NWELL) minimum width 4.
8863 (RDS_NWELL) Manhatan distance min 12.
8874 (RDS_NWELL,RDS_NWELL) Manhatan distance min 12.
8885 (RDS_PTIE,RDS_NWELL) Manhatan distance min 7.5
8896 (RDS_PTIE,RDS_NWELL) must never been in contact
8907 (RDS_PTIE,RDS_NWELL) must never been in contact
8918 (RDS_PTIE,RDS_NWELL) must never been in contact
8929 (RDS_PTIE,RDS_NWELL) must never been in contact
89310 (RDS_PTIE,RDS_NWELL) must never been in contact
89411 (RDS_PTIE,RDS_NWELL) must never been in contact
89512 (RDS_NDIF,RDS_NWELL) Manhatan distance min 7.5
89613 (RDS_NDIF,RDS_NWELL) must never been in contact
89714 (RDS_NDIF,RDS_NWELL) must never been in contact
89815 (RDS_NDIF,RDS_NWELL) must never been in contact
89916 (RDS_NDIF,RDS_NWELL) must never been in contact
90017 (RDS_NDIF,RDS_NWELL) must never been in contact
90118 (RDS_NDIF,RDS_NWELL) must never been in contact
90219 (RDS_PDIF) minimum width 2.
90320 (RDS_PDIF) minimum width 2.
90421 (RDS_PDIF) Manhatan distance min 3.
90522 (RDS_PDIF,RDS_PDIF) Manhatan distance min 3.
90623 (RDS_NDIF) minimum width 2.
90724 (RDS_NDIF) minimum width 2.
90825 (RDS_NDIF) Manhatan distance min 3.
90926 (RDS_NDIF,RDS_NDIF) Manhatan distance min 3.
91027 (RDS_PTIE) minimum width 2.
91128 (RDS_PTIE) minimum width 2.
91229 (RDS_PTIE) Manhatan distance min 3.
91330 (RDS_PTIE,RDS_PTIE) Manhatan distance min 3.
91431 (RDS_NTIE) minimum width 2.
91532 (RDS_NTIE) minimum width 2.
91633 (RDS_NTIE) Manhatan distance min 3.
91734 (RDS_NTIE,RDS_NTIE) Manhatan distance min 3.
91835 (ANY_N_DIF,ANY_P_DIF) Manhatan distance min 3.
91936 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92037 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92138 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92239 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92340 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92441 (ANY_N_DIF,ANY_P_DIF) must never been in contact
92542 (RDS_POLY,ANY_N_DIF) Manhatan distance min 1.
92643 (RDS_POLY,NP_DIF) bad intersection
92744 (RDS_POLY) minimum width 1.
92845 (RDS_POLY) minimum width 1.
92946 (RDS_POLY) Manhatan distance min 2.
93047 (RDS_POLY,RDS_POLY) Manhatan distance min 2.
93148 (CHANNEL) Manhatan distance min 3.
93249 (CHANNEL,CHANNEL) Manhatan distance min 3.
93350 (RDS_POLY,CONT_DIFF) Manhatan distance min 2.
93451 (RDS_ALU1) minimum width 1.
93552 (RDS_ALU1) minimum width 1.
93653 (RDS_ALU1) Manhatan distance min 3.
93754 (RDS_ALU1,RDS_ALU1) Manhatan distance min 3.
93855 (RDS_ALU2) minimum width 2.
93956 (RDS_ALU2) minimum width 2.
94057 (RDS_ALU2) Manhatan distance min 3.
94158 (RDS_ALU2,RDS_ALU2) Manhatan distance min 3.
94259 (RDS_ALU3) minimum width 2.
94360 (RDS_ALU3) minimum width 2.
94461 (RDS_ALU3) Manhatan distance min 3.
94562 (RDS_ALU3,RDS_ALU3) Manhatan distance min 3.
94663 (RDS_ALU4) minimum width 2.
94764 (RDS_ALU4) minimum width 2.
94865 (RDS_ALU4) Manhatan distance min 3.
94966 (RDS_ALU4,RDS_ALU4) Manhatan distance min 3.
95067 (RDS_CONT,RDS_CONT) Manhatan distance min 3.
95168 (RDS_VIA,RDS_VIA) Manhatan distance min 4.
95269 (RDS_VIA2,RDS_VIA2) Manhatan distance min 4.
95370 (RDS_VIA3,RDS_VIA3) Manhatan distance min 4.
95471 (RDS_CONT) minimum width 1.
95572 (RDS_CONT) maximum length 1.
95673 (RDS_VIA) minimum width 1.
95774 (RDS_VIA) maximum length 1.
95875 (RDS_VIA2) minimum width 1.
95976 (RDS_VIA2) maximum length 1.
96077 (RDS_VIA3) minimum width 1.
96178 (RDS_VIA3) maximum length 1.
96279 (RDS_POLY,RDS_ACTIV) Manhatan distance min 1.
96380 (RDS_ALU5) minimum width 2.
96481 (RDS_ALU5) minimum width 2.
96582 (RDS_ALU5) Manhatan distance min 8.
96683 (RDS_ALU5,RDS_ALU5) Manhatan distance min 8.
96784 (RDS_ALU6) minimum width 2.
96885 (RDS_ALU6) minimum width 2.
96986 (RDS_ALU6) Manhatan distance min 8.
97087 (RDS_ALU6,RDS_ALU6) Manhatan distance min 8.
97188 (RDS_VIA4,RDS_VIA4) Manhatan distance min 9.
97289 (RDS_VIA5,RDS_VIA5) Manhatan distance min 9.
97390 (RDS_VIA4) minimum width 1.
97491 (RDS_VIA4) maximum length 1.
97592 (RDS_VIA5) minimum width 1.
97693 (RDS_VIA5) maximum length 1.
97794 (RDS_POLY2) minimum width 1.
97895 (RDS_POLY2) minimum width 1.
97996 (RDS_POLY2) Manhatan distance min 5.
98097 (RDS_POLY2,POLY2) Manhatan distance min 5.
98198 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
98299 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
983100 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
984101 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
985102 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
986103 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
987104 (RDS_POLY,RDS_POLY2) POLY2 must be enclosed by POLY of 5.
988END_DRC_COMMENT
989END_DRC_RULES
990