; ============================================================================ ; Copyright (C) 1986 by Xerox Corporation. All rights reserved. ; Written by Mark Ross December 5, 1986 3:06:26 pm PST ; ; The design rules contained herein are proprietary and confidential. Any ; release of these rules without the written consent of Xerox Corporation is prohibited. ; ; Command file for 2 micron design rules. ; This file assumes that the mebes file which is read in has been biased with the ; skews shown below (numbers are given in microns per side): ; ; nwell -0.5 ; diff +0.75 ; field -- ; poly +0.25 ; nimp +0.5 ; pimp -- ; contact -0.25 ; met1 +0.5 ; via -- ; met2 +0.5 ; pad1 -- ; pad2 -- ; ; ============================================================================ ; ============================================================================ ; The stuff for the description block goes here. I won't specify it now. ; ============================================================================ *DESCRIPTION PRIMARY = IFU SYSTEM = MEBES SYSOUT = CIF *END ; ============================================================================ ; Specify the input layers coming from the tape. ; ============================================================================ *Input-Layer nwell = CNW nwcont = CNWC pwcont = CPWC ndiff = CND pdiff = CPD poly = CP contact = CC met1 = CM via = CC2 met2 = CM2 butting = CB pad = CG *END ; ============================================================================ ; Actual DRC follows: ; ============================================================================ *Operation ; Create all of the right "things" from the mask data OR nwcont pwcont cdiff OR pdiff ndiff sdiff OR cdiff sdiff diff AND poly ndiff ntrans AND poly pdiff ptrans OR ptrans ntrans trans ; Generate necessary layers AND poly contact polcont AND diff contact dcont AND pdiff contact pdcont AND ndiff contact ndcont ; Checks (listed in order of VTI design rules) ; **** Tub Rules **** WIDTH nwell LT 4 OUTPUT errw1 1 ; VTIRule 6.1.1 (4) EXT[h] nwell LT 12 OUTPUT errw2 1 ; VTIRule 6.1.2 (12) ; **** Diffusion Rules **** WIDTH diff LT 2 OUTPUT errd1 2 ; VTIRule 6.3.1 (2) INT poly diff LT 3 OUTPUT errd2 2 ; VTIRule 6.3.2 (3) EXT[h] diff LT 3.5 OUTPUT errd3 2 ; VTIRule 6.3.3 (3.5) EXT[o] pdiff ndiff LT 3.5 OUTPUT errd4 2 ; VTIRule 6.3.4 (3.5) ENC[to] pdiff nwell LT 5 OUTPUT errd5 2 ; VTIRule 6.3.5 (5) ENC ndiff nwell LT 3 OUTPUT errd6 2 ; VTIRule 6.3.6 (3) EXT ndiff nwell LT 7 outpout errd7 2 ; VTIRule 6.3.7 (7) WIDTH nplug LT 1 OUTPUT errd8 2 ; VTIRule 6.3.8 (1) EXT[t] pplug nwell LT 5 OUTPUT errd9 2 ; VTIRule 6.3.9 (5) EXT[t] pplug nplug LT 4 OUTPUT errd10 2 ; VTIRule 6.3.10 (4) EXT psource nsource LT 12 OUTPUT errd11 2 ; VTIRule 6.3.12 (2) ENC trans diff LT 3 OUTPUT errd12 2 ; VTIRule 6.3.18 (3) ; **** Poly Rules **** WIDTH poly LT 2 OUTPUT errp1 3 ; VTIRule 6.4.1 (2) EXT[h] poly LT 2.5 OUTPUT errp2 3 ; VTIRule 6.4.3 (2.5) ENC trans poly LT 2 OUTPUT errp3 3 ; VTIRule 6.4.4 (2) EXT[t] poly diff LT 1 OUTPUT errp4 3 ; VTIRule 6.4.5 (1) ; **** Contact Rules **** WIDTH contact LT 2 OUTPUT errc1 4 ; VTIRule 6.5.1.1 (2) EXT[h] contact LT 3 OUTPUT errc2 4 ; VTIRule 6.5.1.3 (3) ENC[to] contact poly LT 1 OUTPUT errc3 4 ; VTIRule 6.5.1.4 (1) ENC[to] contact diff LT 1 OUTPUT errc4 4 ; VTIRule 6.5.1.5 (1) EXT[t] dcont trans LT 1.5 OUTPUT errc5 4 ; VTIRule 6.5.1.6 (1.5) EXT[t] polcont diff LT 2 OUTPUT errc6 4 ; VTIRule 6.5.1.7 (2) ENC contact met1 LT 1 OUTPUT errc7 4 ; VTIRule 6.5.1.8 (1) EXT[to] ntrans pdiff LT 3 OUTPUT errc8 4 ; VTIRule 6.5.2.3 (3) EXT[to] ptrans ndiff LT 3 OUTPUT errc9 4 ; VTIRule 6.5.2.3 (3) ; Hacked way of doing butting contacts (when no butting layer is present) ENC pdcont dcont LT 3 OUTPUT errc10 4 ; must have (3)um of ndiff cont AND ENC ndcont dcont LT 3 OUTPUT errc11 4 ; (3)um of pdiff ; **** Met1 Rules **** WIDTH met1 LT 2 OUTPUT err1m1 5 ; VTIRule 6.6.1 (2) EXT[h] met1 LT 3 OUTPUT err1m2 5 ; VTIRule 6.6.2 (3) ; **** Via Rules **** WIDTH via LT 2 OUTPUT errv1 6 ; VTIRule 6.7.2 (2) EXT[h] via LT 4 OUTPUT errv2 6 ; VTIRule 6.7.4 (4) ENC[to] via met1 LT 1 OUTPUT errv3 6 ; VTIRule 6.7.5 (1) ENC[to] via met2 LT 1 OUTPUT errv4 6 ; VTIRule 6.7.5 (1) EXT via poly LT 2 OUTPUT errv5 6 ; VTIRule 6.7.6 (2) ENC[to] via poly LT 3 OUTPUT errv6 6 ; VTIRule 6.7.7 (3) EXT[to] via dcont LT 2 OUTPUT errv7 6 ; VTIRule 6.7.8 (2) EXT[to] via polcont LT 3 OUTPUT errv8 6 ; VTIRule 6.7.9 (3) ; **** Met2 Rules **** WIDTH met2 LT 3 OUTPUT err2m1 7 ; VTIRule 6.8.1 (3) EXT[h] met2 LT 4 OUTPUT err2m2 7 ; VTIRule 6.8.2 (4) ; **** Misc. Checks **** AND ntrans newll junk1 OUTPUT errmisc1 8 ; Check for bad ntrans NOT ptrans nwell junk2 OUTPUT errmisc2 8 ; Check for bad ptrans ; EXT nplug ptrans range 80 10000 OUTPUT errsc3 8 ; Checks for well plugs ; EXT pplug ntrans range 200 10000 OUTPUT errsc3 8 ; Checks for substrate taps *END