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