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