/* --------------------------------------------------------------------* * scmos.tech --scalable CMOS * * * * Defines the MOSIS 1.0/1.2/1.6/2.0/3.0 micron Scalable CMOS * * technology --- Revision 7.0 * * * * Some of the characteristics of this technology are: * * * * 1. 3 levels of metal - for HP's CMOS26B (lambda=0.5) process * * 2 levels of metal interconnection for all other technologies * * 2. 2 levels of poly * * (second poly is used for poly-capacitor or electrode fet (efet)* * low noise anaolog layers: bd, nbd, nbdc, emc, clc, pbase, pbc * * 3. No stacked contacts (all contacts are to 1st-level metal) * * 4. Wells (Pwell or Nwell) can be implicit or explicit in the layout * * and both types of diffusion must have well contacts * * 5 A Cap-well for HP's CMOS34 (lambda=0.6) process, It is used for * * consctruction of linear capacitors, must be drawn explicitly * * 6. Painting Nwell over N-type diffusion will result in P-type * * diffusion * * 7. Scalable with Default to be 2.0 micron rules for Nwell process * * 8. Substrate contacts must be 3 units away from gates * * * * Revision 7.0.4 (pi) * * C-preprocessing fix. Thanks goes to Jeffrey C. Gealow form * * MIT (jgealow@mtl.mit.edu). * * 10/20/92 pi@isi.edu * * Revision 7.0.3 (pi) * * Colorversatec support. Thanks got to Jeffrey C. Gealow form * * MIT (jgealow@mtl.mit.edu). * * 10/8/92 pi@isi.edu * * Revision 7.0.2 (pi) * * Separate 'spacing allWell...' rule into two rules to avoid * * well adjacency problem... * * 10/2/92 pi@isi.edu * * Revision 7.0.1 (pi) * * CIFoutput for "pad2" layer, CCA contact fix, CIFinput for HP's * * 1.0 um process... * * 9/28/92 pi@isi.edu * * Revision 7.0 (pi) * * Major revision which includes * * HP's cap_well and well-capacitance, NPN & BCCD DRC rules... * * 9/22/92 pi@isi.edu * * Revision 6.2.0 (pi) * * Merging 'scmos26.tech' into scmos.tech * * 9/7/92 pi@isi.edu * * Revision 6.1.4 (pi) * * Select CIF layers generation is revised based on Brian * * Kingsbury's (bedk@icsi.berkeley.edu) notice of inconsistency * * 9/4/92 pi@isi.edu * * Revision 6.1.3 (pi) * * Install MITRE's (Mike Butler) fix for CIFinput "cap" layer and * * poly1/poly2 crossing in DRC section * * 9/3/92 pi@isi.edu * * Revision 6.1.2 (pi) * * Fixed metal2 contact on falt surface bug for poly2 layer * * 8/3/92 pi@lepton.isi.edu * * Revision 6.1.1 (pi) * * fixed CIFoutput CSP layer bug for lambda=0.8(gen) technology * * 4/13/92 pi@lepton.isi.edu * * Revision 6.1.0 (pi) * * add implant plane for Buried CCD devices * * both cifin and cifoutput are changed correspondingly * * Revision 6.0.2 (pi) * * remove bug for nbdc not generate CMF in cifoutput section * * Revision 6.0.1 (sllu) * * added CX for collector layer * * Revised for Magic Version 6. * * Revision 6.0 90/05/11 20:12:34 pi * * include color versatech support * * eliminated active2 plane * * (rule version # 5.01 (S. Lu) = rule 5.0 + mod. for cc spacing * * (rule version # 5.0 (Shih-Lien Lu sllu@MOSIS.EDU) 8/15/89) * * (rule 5.0 = rule 4.01 + new layers for analog process * * (rule 4.01 = rule 4.0 + comments + cifout style lambda=0.8(pwell) * * (correction made by L. McMurchie of UW) * * (rule 4.0 = rule 3.1 + new layer : electrode) * * (rule 3.1 = rule 3.0 + new cifout method for select layers ) * * (design can be more compact now with this version ) * * (layout should be upward compatible:: you old layout will not) * * (flag any drc violations) * * (rule 3.0 = rule 2.0 + rev #6 + new cifin section for new nwell) * * * * (rule version # 2.0 10/28/87) * * (rule 2.0 = rule 1.9 + modification to extract section * * (rule 1.9 = rule 1.82 + additions of two more CIF in/output styles * * (rule 1.82 = rule 1.81+ modification of drc #4.1 & cifoutput of * * wells * * (rule 1.81 = rule 1.8 + modification on line 1761 * * (rule 1.8 = rule 1.7 + Rev 5 of the SCMOS rules) * * (difference from rule 1.7: * * (1) well width = 9 lambda * * (2) N well process accepts both N and P selects * * ------------------------------------------------------------------- */ /* Definition for actives */ /* NOTE: Some version of cpp may have problem with two consective tabs * or even two consective space... So we have only single space * here... */ #define allNDiff ndiff,ndc/act #define allPDiff pdiff,pdc/act #define allNActive ndiff,ndc/act,nfet,enfet,nffet,wcap #define allPActive pdiff,pdc/act,pfet,epfet,pffet #define allNOhmic nsd,nsc/act #define allPOhmic psd,psc/act #define allOhmic allNOhmic,allPOhmic #define allBiNDiff emit,emc/act,col,clc/act #define allBiPDiff pbase,pbc/act #define allBiDiff allBiNDiff,allBiPDiff #define allCCDiff bd,nbd,nbdc/act #define allDiff allNDiff,allPDiff #define allActive allNActive,allPActive,allOhmic /* first poly without those overlapped with the second */ #define allP1 poly,pc/act,nfet,pfet,wcap /* all first poly */ #define allPoly allP1,cap,capc/act,nffet,pffet /* second poly without those overlapped with the first */ #define allP2 poly2,ec/act,enfet,epfet /* all second poly */ #define allPoly2 allP2,cap,capc/act,nffet,pffet /* MOSFETs */ #define NFet nfet,enfet,nffet #define PFet pfet,epfet,pffet #define allFet NFet,PFet /* Definitions for contacts */ #define DiffCut pdc,ndc,psc,nsc #define PolyCut pc #define CapCut ec,capc #define BiCut clc,emc,pbc #define allCut DiffCut,PolyCut,CapCut,nbdc /* Definitions for metals */ #define DiffMetal pdc/m1,ndc/m1,psc/m1,nsc/m1 #define PolyMetal pc/m1,ec/m1,capc/m1 #define BiMetal clc/m1,emc/m1,pbc/m1 #define CCDMetal nbdc/m1 #define allMetal1 DiffMetal,PolyMetal,BiMetal,CCDMetal,m1,m2c/m1 #define allMetal2 m2,m2c/m2,m3c/m2,pad #define allMetal3 m3,m3c/m3,pad2 /* Definitions for wells */ #define allWell nwell,pwell #define allNwell nwell,nsc,nsd #define allPwell pwell,psc,psd tech scmos end version #ifndef WELL_ROUTE_CHECK version 1.0.0 description "scmos.tech27: MOSIS cmos26b,cmos34,scmos100 (sidirop@chroma)" #else version 1.0.0 description "scmosWR.tech27: no connect through wells (for checking)" #endif end planes implant,imp,i well,w active,diffusion,polysilicon,act,a metal1,m1 metal2,m2 metal3,m3 oxide,ox end types /* primary layers -12 */ well pwell,pw well nwell,nw well capwell,cwell,cw active polysilicon,red,poly,p active poly2,electrode,el,p2 active capacitor,polycap,pcap,cap active wellcapacitor,wellcap,wcap active ndiffusion,green,ndiff active pdiffusion,brown,pdiff metal1 metal1,m1,blue metal2 metal2,m2,purple metal3 metal3,m3,magenta /* MOSFETs -6 */ active ntransistor,nfet active ptransistor,pfet active entransistor,enfet active eptransistor,epfet active doublentransistor,nfloating-gate,nfloatg,nfg,nffet active doubleptransistor,pfloating-gate,pfloatg,pfg,pffet /* NPN transistor layers -3 */ active collector,coll,col,co,cl active emitter,emit,em active pbase,pb /* layers for BCCD devices -2 */ implant bccdiffusion,bd active nbccdiffusion,nbd /* Contacts between interconnection layers -11 */ active polycontact,pcontact,polycut,pc active ndcontact,ndiffcut,ndc active pdcontact,pdiffcut,pdc active capcontact,ccontact,capc,cc active electrodecontact,econtact,ec,poly2contact,p2c active collectorcontact,colcontact,colc,coc,clc active emittercontact,emitcontact,emc active pbasecontact,pbcontact,pbc active nbccdiffcontact,nbdc metal1 m2contact,m2cut,m2c,via,v metal2 m3contact,m3cut,m3c,via2,v2 /* Well contacts -4 */ /* pohmic and nohmic are included for compatibility */ /* nwc, pwc, etc ... are included for compatibility */ active psubstratepcontact,ppcontact,pwcontact,ppc,pwc,psc active nsubstratencontact,nncontact,nwcontact,nnc,nwc,nsc active psubstratepdiff,ppdiff,pohmic,ppd,psd active nsubstratendiff,nndiff,nohmic,nnd,nsd /* Additional stuff, used in pads. -3 */ metal2 pad metal3 pad2 oxide glass end contact clc col metal1 emc emit metal1 pbc pbase metal1 nbdc nbd metal1 ec poly2 metal1 cc cap metal1 pc poly metal1 ndc ndiff metal1 pdc pdiff metal1 nsc nndiff metal1 psc ppdiff metal1 m2c metal1 metal2 m3c metal2 metal3 /* pad metal2 metal1 pad2 metal2 metal3 glass */ end styles styletype mos poly 1 poly2 14 ndiff 2 pdiff 4 nfet 6 nfet 7 pfet 8 pfet 9 enfet 6 enfet 14 epfet 8 epfet 14 nffet 6 nffet 7 nffet 14 pffet 8 pffet 9 pffet 14 pbase 15 pbc 15 pbc 20 pbc 32 emit 16 emc 16 emc 20 emc 32 col 3 clc 3 clc 20 clc 32 cap 1 cap 14 wcap 6 wcap 10 cc 1 cc 14 cc 20 cc 32 metal1 20 metal2 21 metal3 22 pcontact 1 pcontact 20 pcontact 32 ec 14 ec 20 ec 32 ndcontact 2 ndcontact 20 ndcontact 32 pdcontact 4 pdcontact 20 pdcontact 32 m2contact 20 m2contact 21 m2contact 33 m3contact 21 m3contact 22 m3contact 37 psc 5 psc 20 psc 32 nsc 3 nsc 20 nsc 32 psd 5 nsd 3 nwell 12 cwell 10 pwell 13 pad 20 pad 21 pad 33 pad 34 pad2 21 pad2 22 pad2 33 pad2 34 bd 17 nbd 17 nbd 3 nbdc 3 nbdc 17 nbdc 20 nbdc 32 glass 34 error_p 42 error_s 42 error_ps 42 end compose /* MOSFET combination rules */ compose nfet poly ndiff compose pfet poly pdiff compose enfet poly2 ndiff compose epfet poly2 pdiff compose nffet nfet poly2 compose pffet pfet poly2 compose nffet enfet poly compose pffet epfet poly /* Transistor combination rules */ paint clc col clc paint emc emit emc paint emc pbase emc /* Poly2 capacitor combination rules */ paint poly2 poly cap paint poly poly2 cap paint poly cap cap paint poly2 cap cap paint cap poly cap paint cap poly2 cap paint poly ec cc paint ec poly cc /* The rules allow nwell to be painted over an area to * flip all the p-well types to n-well types. Pwell can be * painted to flip in the reverse. */ paint pwell nwell nwell paint nwell pwell pwell paint pdc/act pwell ndc/act paint pdc/m1 pwell ndc/m1 paint pfet pwell nfet paint epfet pwell enfet paint pdiff pwell ndiff paint nsd pwell psd paint nsc/act pwell psc/act paint ndc/act nwell pdc/act paint nfet nwell pfet paint enfet nwell epfet paint ndiff nwell pdiff paint psd nwell nsd paint psc/act nwell nsc/act /* BCCD layers combination rules */ /* paint bd ndiff 0 implant */ /* erase nbd bd ndiff erase nbd ndiff bd erase nbdc/act bd ndc/act */ /* Well capacitor combination rules */ paint nfet cwell wcap paint poly wcap wcap paint ndiff wcap wcap paint wcap poly wcap paint wcap ndiff wcap erase wcap poly ndiff erase wcap ndiff poly erase wcap cwell nfet end connect /* This creates a tech file where the wells are not connected therefore enabling extractions to check whether the wells are used accidentaly to route signals or power. To check for these cases you have to compare the netlists generated with the normal tech file with those generated with the special one (eg. using gemini). */ #ifndef WELL_ROUTE_CHECK allNwell allNwell allPwell allPwell #endif allMetal1 allMetal1 allMetal2 allMetal2 allMetal3 allMetal3 allP1 allP1 allPoly2 allPoly2 ndiff ndc pdiff pdc nbd nbdc pbase pbc pad allMetal1 pad allMetal2 pad2 allMetal1 pad2 allMetal2 pad2 allMetal3 end /* WARNING ::::: automatic generation of wells does not guarantee */ /* rules on width and spacing of wells are followed !! */ /* It is strongly recommanded that designers layout their own wells */ /* PWELL styles cannot generate CBA and CCD correctly */ /* BOTH NWELL and GEN can do CCD and CBA */ cifoutput /* default: fab on 2.0 micron (NW) rules each magic unit is 100 centmicrons */ style lambda=1.0(nwell) scalefactor 100 50 layer CWN nwell bloat-or pbase,pbc/act * 600 bloat-or allPDiff * 500 bloat-or allNOhmic * 300 bloat-or clc/act * 100 or col grow 300 shrink 300 calma 42 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 100 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 100 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 100 calma 60 1 layer CVA pad shrink 500 calma 50 1 layer CVA m2c squares 100 200 300 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 200 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 200 calma 48 1 layer CCA nsc,psc squares 200 calma 48 1 layer CCP pc squares 200 calma 47 1 layer CBA emc,emit grow 400 bloat-or pbc * 100 or pb grow 200 shrink 200 calma 57 1 /* temp CIF layer for select generation */ templayer XTN clc grow 100 or em,emc,col grow 200 bloat-or allNDiff * 200 allPOhmic 0 bloat-or nbd,nbdc * 200 templayer XTP pbc grow 100 bloat-or allPDiff * 200 allNOhmic 0 layer CSN clc grow 100 or emc,emit,col grow 200 bloat-or allNDiff * 200 allPOhmic 0 bloat-or NFet * 200 ndiff 300 allPOhmic 0 bloat-or allNOhmic * 200 allPDiff 0 bloat-or nbd,nbdc * 200 and-not XTP grow 100 shrink 100 shrink 50 grow 50 calma 45 1 layer CSP pbc grow 100 bloat-or allPDiff * 200 allNOhmic 0 bloat-or PFet * 200 pdiff 300 allNOhmic 0 bloat-or allPOhmic * 200 allNDiff 0 and-not XTN grow 100 shrink 100 shrink 50 grow 50 calma 44 1 layer CCD allCCDiff grow 200 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad /* technology SCP */ style lambda=1.5(pwell) scalefactor 150 25 layer CWP pwell bloat-or allNDiff * 750 bloat-or allPOhmic * 450 /* merge wells of the same potential only */ /* if wells are painted explicitly, they are check with a spacing of 9 in drc section */ grow 450 shrink 450 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 150 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 150 or allActive labels ndiff,pdiff calma 43 1 layer CX col,clc grow 150 calma 60 1 layer CVA pad shrink 450 calma 50 1 layer CVA m2c squares 150 300 450 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 300 calma 55 1 layer CCA ndc,pdc,BiCut squares 300 calma 48 1 layer CCA nsc,psc squares 300 calma 48 1 layer CCP pc squares 300 calma 47 1 layer CBA emc,emit grow 600 bloat-or pbc * 150 or pb grow 300 shrink 300 calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 300 allPOhmic 0 templayer XTP bloat-or allPDiff * 300 allNOhmic 0 layer CSP bloat-or allPDiff * 300 allNOhmic 0 bloat-or PFet * 300 pdiff 450 allNOhmic 0 bloat-or allPOhmic * 300 allNDiff 0 and-not XTN grow 150 shrink 150 shrink 75 grow 75 calma 44 1 layer CSN bloat-or allNDiff * 300 allPOhmic 0 bloat-or NFet * 300 ndiff 450 allPOhmic 0 bloat-or allNOhmic * 300 allPDiff 0 and-not XTP grow 150 shrink 150 shrink 75 grow 75 calma 45 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad style lambda=1.0(pwell) scalefactor 100 50 layer CWP pwell bloat-or allNDiff * 500 bloat-or allPOhmic * 300 grow 300 shrink 300 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 100 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 100 or allActive labels ndiff,pdiff calma 43 1 layer CX col,clc grow 100 calma 60 1 layer CVA pad shrink 500 calma 50 1 layer CVA m2c squares 100 200 300 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 200 calma 55 1 layer CCA ndc,pdc,BiCut squares 200 calma 48 1 layer CCA nsc,psc squares 200 calma 48 1 layer CCP pc squares 200 calma 47 1 layer CBA emc,emit grow 400 bloat-or pbc * 100 or pb grow 200 shrink 200 calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 200 allPOhmic 0 templayer XTP bloat-or allPDiff * 200 allNOhmic 0 layer CSP bloat-or allPDiff * 200 allNOhmic 0 bloat-or PFet * 200 pdiff 300 allNOhmic 0 bloat-or allPOhmic * 200 allNDiff 0 and-not XTN grow 100 shrink 100 shrink 50 grow 50 calma 44 1 layer CSN bloat-or allNDiff * 200 allPOhmic 0 bloat-or NFet * 200 ndiff 300 allPOhmic 0 bloat-or allNOhmic * 200 allPDiff 0 and-not XTP grow 100 shrink 100 shrink 50 grow 50 calma 45 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad style lambda=0.8(pwell) scalefactor 80 40 layer CWP pwell bloat-or allNDiff * 400 bloat-or allPOhmic * 240 grow 240 shrink 240 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 80 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 80 or allActive labels ndiff,pdiff calma 43 1 layer CX col,clc grow 80 calma 60 1 layer CVA pad shrink 560 calma 50 1 /* this was wrong before should show 80 160 240 instead it was 800 ... */ layer CVA m2c squares 80 160 240 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 160 calma 55 1 layer CCA ndc,pdc,BiCut squares 160 calma 48 1 layer CCA nsc,psc squares 160 calma 48 1 layer CCP pc squares 160 calma 47 1 layer CBA emc,emit grow 320 bloat-or pbc * 80 or pb grow 160 shrink 160 calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 160 allPOhmic 0 templayer XTP bloat-or allPDiff * 160 allNOhmic 0 layer CSP bloat-or allPDiff * 160 allNOhmic 0 bloat-or PFet * 160 pdiff 240 allNOhmic 0 bloat-or allPOhmic * 160 allNDiff 0 and-not XTN grow 80 shrink 80 shrink 40 grow 40 calma 44 1 layer CSN bloat-or allNDiff * 160 allPOhmic 0 bloat-or NFet * 160 ndiff 240 allPOhmic 0 bloat-or allNOhmic * 160 allPDiff 0 and-not XTP grow 80 shrink 80 shrink 40 grow 40 calma 45 1 layer COG pad shrink 640 or glass calma 52 1 layer XP pad style lambda=0.6(pwell) scalefactor 60 6 layer CWP pwell bloat-or allNDiff * 300 bloat-or allPOhmic * 180 grow 180 shrink 180 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 60 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 60 or allActive labels ndiff,pdiff calma 43 1 layer CX col,clc grow 60 calma 60 1 layer CVA pad shrink 540 calma 50 1 layer CVA m2c squares 60 120 180 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 120 calma 55 1 layer CCA ndc,pdc,BiCut squares 120 calma 48 1 layer CCA nsc,psc squares 120 calma 48 1 layer CCP pc squares 120 calma 47 1 layer CBA emc,emit grow 240 bloat-or pbc * 60 or pb grow 120 shrink 120 calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 120 allPOhmic 0 templayer XTP bloat-or allPDiff * 120 allNOhmic 0 layer CSP bloat-or allPDiff * 120 allNOhmic 0 bloat-or PFet * 120 pdiff 180 allNOhmic 0 bloat-or allPOhmic * 120 allNDiff 0 and-not XTN grow 60 shrink 60 shrink 30 grow 30 calma 44 1 layer CSN bloat-or allNDiff * 120 allPOhmic 0 bloat-or NFet * 120 ndiff 180 allPOhmic 0 bloat-or allNOhmic * 120 allPDiff 0 and-not CSP grow 60 shrink 60 shrink 30 grow 30 calma 45 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad /* SCN technology : Both CSN and CSP are generated to reduce field poly */ /* sheet resistance */ style lambda=1.5(nwell) scalefactor 150 25 layer CWN nwell bloat-or pbase,pbc/act * 900 bloat-or allPDiff * 750 bloat-or allNOhmic * 450 bloat-or clc/act * 150 or col grow 450 shrink 450 calma 42 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 150 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 150 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 150 calma 60 1 layer CVA pad shrink 450 calma 50 1 layer CVA m2c squares 150 300 450 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 300 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 300 calma 48 1 layer CCA nsc,psc squares 300 calma 48 1 layer CCP pc squares 300 calma 47 1 layer CBA emc,emit grow 600 bloat-or pbc * 150 or pb calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 300 allPOhmic 0 templayer XTP bloat-or allPDiff * 300 allNOhmic 0 layer CSN clc grow 150 or emc,emit,col grow 300 bloat-or allNDiff * 300 allPOhmic 0 bloat-or NFet * 300 ndiff 450 allPOhmic 0 bloat-or allNOhmic * 200 allPDiff 0 bloat-or nbd,nbdc * 300 and-not XTP grow 150 shrink 150 shrink 75 grow 75 calma 45 1 layer CSP pbc grow 150 bloat-or allPDiff * 300 allNOhmic 0 bloat-or PFet * 300 pdiff 450 allNOhmic 0 bloat-or allPOhmic * 300 allNDiff 0 and-not XTN grow 150 shrink 150 shrink 75 grow 75 calma 44 1 layer CCD allCCDiff grow 300 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad style lambda=0.8(nwell) scalefactor 80 40 layer CWN nwell bloat-or pbase,pbc/act * 480 bloat-or allPDiff * 400 bloat-or allNOhmic * 240 bloat-or clc/act * 80 or col grow 240 shrink 240 calma 42 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 80 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 80 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 80 calma 60 1 layer CVA pad shrink 560 calma 50 1 layer CVA m2c squares 80 160 240 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 160 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 160 calma 48 1 layer CCA nsc,psc squares 160 calma 48 1 layer CCP pc squares 160 calma 47 1 layer CBA emc,emit grow 320 bloat-or pbc * 80 or pb calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 160 allPOhmic 0 templayer XTP bloat-or allPDiff * 160 allNOhmic 0 layer CSN clc grow 80 or emc,emit,col grow 160 bloat-or allNDiff * 160 allPOhmic 0 bloat-or NFet * 160 ndiff 240 allPOhmic 0 bloat-or allNOhmic * 160 allPDiff 0 bloat-or nbd,nbdc * 160 and-not XTP grow 80 shrink 80 shrink 40 grow 40 calma 45 1 layer CSP pbc grow 80 bloat-or allPDiff * 160 allNOhmic 0 bloat-or PFet * 160 pdiff 240 allNOhmic 0 bloat-or allPOhmic * 160 allNDiff 0 and-not XTN grow 80 shrink 80 shrink 40 grow 40 calma 44 1 layer CCD allCCDiff grow 160 calma 58 1 layer COG pad shrink 640 or glass calma 52 1 layer XP pad style lambda=0.6(nwell) scalefactor 60 6 layer CWC cwell labels cwell calma 59 1 layer CWN nwell bloat-or pbase,pbc/act * 360 bloat-or allPDiff * 300 bloat-or allNOhmic * 180 bloat-or clc/act * 60 or col grow 180 shrink 180 calma 42 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 60 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 60 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 60 calma 60 1 layer CVA pad shrink 540 calma 50 1 layer CVA m2c squares 60 120 180 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 120 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 120 calma 48 1 layer CCA nsc,psc squares 120 calma 48 1 layer CCP pc squares 120 calma 47 1 layer CBA emc,emit grow 240 bloat-or pbc * 60 or pb calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 120 allPOhmic 0 templayer XTP bloat-or allPDiff * 120 allNOhmic 0 layer CSN clc grow 60 or emc,emit,col grow 120 bloat-or wcap * 120 bloat-or allNDiff * 120 allPOhmic 0 bloat-or NFet * 120 ndiff 180 allPOhmic 0 bloat-or allNOhmic * 120 allPDiff 0 bloat-or nbd,nbdc * 120 and-not XTP grow 60 shrink 60 shrink 30 grow 30 calma 45 1 layer CSP pbc grow 60 bloat-or allPDiff * 120 allNOhmic 0 bloat-or PFet * 120 pdiff 180 allNOhmic 0 bloat-or allPOhmic * 120 allNDiff 0 and-not XTN grow 60 shrink 60 shrink 30 grow 30 calma 44 1 layer CCD allCCDiff grow 120 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad /* For HP CMOS26B process... No CCD, Bipolar, Poly2 layers. Two types of pad layer are supported, one (the pad layer) contains both metal1 and metal2 layer while the other (the pad2 layer) contains all three metals with all necessary via properly defined... */ /* This is prelimanary, please let me know if anything here seems abnormal to you... pi@lepton.isi.edu 9/17/92 */ /* Drew Wingard - Modified for SCN */ style lambda=0.5(nwell) scalefactor 50 5 layer CWN nwell bloat-or pbase,pbc/act * 300 bloat-or allPDiff * 250 bloat-or allNOhmic * 150 bloat-or clc/act * 50 or col grow 150 shrink 150 calma 42 1 /* DEW - no pwell for SCN layer CWP pwell bloat-or allNDiff * 250 bloat-or allPOhmic * 150 grow 150 shrink 150 calma 41 1 */ layer CMT allMetal3 labels m3 calma 62 1 layer CMS pad2 grow 500 or allMetal2 labels m2 calma 51 1 layer CMF pad2 grow 200 or pad grow 500 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA allActive labels ndiff,pdiff calma 43 1 layer CVS pad2 shrink 140 calma 61 1 layer CVS m3c squares 50 100 150 calma 61 1 layer CVA pad,pad2 shrink 260 calma 50 1 layer CVA m2c squares 50 100 150 calma 50 1 /* why is this here - we'll delete it (DEW) layer CCA pad,pad2 shrink 380 calma 48 1 */ layer CCA ndc,pdc squares 100 calma 48 1 layer CCA nsc,psc squares 100 calma 48 1 layer CCP pc squares 100 calma 47 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 100 allPOhmic 0 templayer XTP bloat-or allPDiff * 100 allNOhmic 0 layer CSN bloat-or allNDiff * 100 allPOhmic 0 bloat-or NFet * 100 ndiff 150 allPOhmic 0 bloat-or allNOhmic * 100 allPDiff 0 and-not XTP grow 50 shrink 50 shrink 25 grow 25 calma 45 1 layer CSP bloat-or allPDiff * 100 allNOhmic 0 bloat-or PFet * 100 pdiff 150 allNOhmic 0 bloat-or allPOhmic * 100 allNDiff 0 and-not XTN and-not CSN grow 50 shrink 50 shrink 25 grow 25 calma 44 1 layer COG pad,pad2 shrink 500 or glass calma 52 1 layer XP pad2 /* SCE technology: both CSN, CSP and CWN, CWP are generated */ style lambda=1.5(gen) scalefactor 150 25 layer CWN nwell bloat-or pbase,pbc/act * 900 bloat-or allPDiff * 750 bloat-or allNOhmic * 450 bloat-or clc/act * 150 or col grow 450 shrink 450 calma 42 1 layer CWP pwell bloat-or allNDiff * 750 bloat-or allPOhmic * 450 grow 450 shrink 450 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 150 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 150 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 150 calma 60 1 layer CVA pad shrink 450 calma 50 1 layer CVA m2c squares 150 300 450 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 300 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 300 calma 48 1 layer CCA nsc,psc squares 300 calma 48 1 layer CCP pc squares 300 calma 47 1 layer CBA emc,emit grow 600 bloat-or pbc * 150 or pb calma 57 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 300 allPOhmic 0 templayer XTP bloat-or allPDiff * 300 allNOhmic 0 layer CSN bloat-or allNDiff * 300 allPOhmic 0 bloat-or NFet * 300 ndiff 450 allPOhmic 0 bloat-or allNOhmic * 300 allPDiff 0 bloat-or nbd,nbdc * 300 and-not XTP grow 150 shrink 150 shrink 75 grow 75 calma 45 1 layer CSP bloat-or allPDiff * 300 allNOhmic 0 bloat-or PFet * 300 pdiff 450 allNOhmic 0 bloat-or allPOhmic * 300 allNDiff 0 and-not XTN and-not CSN grow 150 shrink 150 shrink 75 grow 75 calma 44 1 layer CCD allCCDiff grow 300 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad style lambda=1.0(gen) scalefactor 100 50 layer CWN nwell bloat-or pbase,pbc/act * 600 bloat-or allPDiff * 500 bloat-or allNOhmic * 300 bloat-or clc/act * 100 or col grow 300 shrink 300 calma 42 1 layer CWP pwell bloat-or allNDiff * 500 bloat-or allPOhmic * 300 grow 300 shrink 300 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 100 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 100 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CVA pad shrink 500 calma 50 1 layer CVA m2c squares 100 200 300 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 200 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 200 calma 48 1 layer CCA nsc,psc squares 200 calma 48 1 layer CCP pc squares 200 calma 47 1 layer CBA emc,emit grow 400 bloat-or pbc * 100 or pb calma 57 1 /* temp CIF layer for select generation */ templayer XTN clc grow 100 or em,emc,col grow 200 bloat-or allNDiff * 200 allPOhmic 0 bloat-or nbd,nbdc * 200 templayer XTP pbc grow 100 bloat-or allPDiff * 200 allNOhmic 0 layer CSN clc grow 100 or em,emc,col grow 200 bloat-or allNDiff * 200 allPOhmic 0 bloat-or NFet * 200 ndiff 300 allPOhmic 0 bloat-or allNOhmic * 200 allPDiff 0 bloat-or nbd,nbdc * 200 and-not XTP grow 100 shrink 100 shrink 50 grow 50 calma 45 1 layer CSP pbc grow 100 bloat-or allPDiff * 200 allNOhmic 0 bloat-or PFet * 200 pdiff 300 allNOhmic 0 bloat-or allPOhmic * 200 allNDiff 0 and-not XTN and-not CSN grow 100 shrink 100 shrink 50 grow 50 calma 44 1 layer CCD allCCDiff grow 200 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad style lambda=0.8(gen) scalefactor 80 40 layer CWN nwell bloat-or pbase,pbc/act * 480 bloat-or allPDiff * 400 bloat-or allNOhmic * 240 bloat-or clc/act * 80 or col grow 240 shrink 240 calma 42 1 layer CWP pwell bloat-or allNDiff * 400 bloat-or allPOhmic * 240 grow 240 shrink 240 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 80 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 80 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 80 calma 60 1 layer CVA pad shrink 560 calma 50 1 layer CVA m2c squares 80 160 240 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 160 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 160 calma 48 1 layer CCA nsc,psc squares 160 calma 48 1 layer CCP pc squares 160 calma 47 1 layer CBA emc,emit grow 320 bloat-or pbc * 80 or pb calma 57 1 templayer XTN bloat-or allNDiff * 160 allPOhmic 0 templayer XTP bloat-or allPDiff * 160 allNOhmic 0 layer CSN bloat-or allNDiff * 160 allPOhmic 0 bloat-or NFet * 160 ndiff 240 allPOhmic 0 bloat-or allNOhmic * 160 allPDiff 0 bloat-or nbd,nbdc * 160 and-not XTP grow 80 shrink 80 shrink 40 grow 40 calma 45 1 layer CSP bloat-or allPDiff * 160 allNOhmic 0 bloat-or PFet * 160 pdiff 240 allNOhmic 0 bloat-or allPOhmic * 160 allNDiff 0 and-not XTN and-not CSN grow 80 shrink 80 shrink 40 grow 40 calma 44 1 layer CCD allCCDiff grow 160 calma 58 1 layer COG pad shrink 640 or glass calma 52 1 layer XP pad style lambda=0.6(gen) scalefactor 60 6 layer CWC cwell labels cwell calma 59 1 layer CWN nwell bloat-or pbase,pbc/act * 360 bloat-or allPDiff * 300 bloat-or allNOhmic * 180 bloat-or clc/act * 60 or col grow 180 shrink 180 calma 42 1 layer CWP pwell bloat-or allNDiff * 300 bloat-or allPOhmic * 180 grow 180 shrink 180 calma 41 1 layer CMS allMetal2 labels m2 calma 51 1 layer CMF pad grow 60 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA clc grow 60 or em,emc,col or allActive or allCCDiff labels ndiff,pdiff calma 43 1 layer CX col,clc grow 60 calma 60 1 layer CVA pad shrink 540 calma 50 1 layer CVA m2c squares 60 120 180 calma 50 1 layer CEL allPoly2 calma 56 1 layer CCE capc,ec squares 120 calma 55 1 layer CCA ndc,pdc,BiCut,nbdc squares 120 calma 48 1 layer CCA nsc,psc squares 120 calma 48 1 layer CCP pc squares 120 calma 47 1 layer CBA emc,emit grow 240 bloat-or pbc * 60 or pb calma 57 1 templayer XTN bloat-or allNDiff * 120 allPOhmic 0 templayer XTP bloat-or allPDiff * 120 allNOhmic 0 layer CSN bloat-or wcap * 120 bloat-or allNDiff * 120 allPOhmic 0 bloat-or NFet * 120 ndiff 180 allPOhmic 0 bloat-or allNOhmic * 120 allPDiff 0 bloat-or nbd,nbdc * 120 and-not XTP grow 60 shrink 60 shrink 30 grow 30 calma 45 1 layer CSP bloat-or allPDiff * 120 allNOhmic 0 bloat-or PFet * 120 pdiff 180 allNOhmic 0 bloat-or allPOhmic * 120 allNDiff 0 and-not XTN and-not CSN grow 60 shrink 60 shrink 30 grow 30 calma 44 1 layer CCD allCCDiff grow 120 calma 58 1 layer COG pad shrink 600 or glass calma 52 1 layer XP pad /* For HP CMOS26B process... No CCD, Bipolar, Poly2 layers. Two types of pad layer are supported, one (the pad layer) contains both metal1 and metal2 layer while the other (the pad2 layer) contains all three metals with all necessary via properly defined... */ /* This is prelimanary, please let me know if anything here seems abnormal to you... pi@lepton.isi.edu 9/17/92 */ style lambda=0.5(gen) scalefactor 50 5 layer CWN nwell bloat-or pbase,pbc/act * 300 bloat-or allPDiff * 250 bloat-or allNOhmic * 150 bloat-or clc/act * 50 or col grow 150 shrink 150 calma 42 1 layer CWP pwell bloat-or allNDiff * 250 bloat-or allPOhmic * 150 grow 150 shrink 150 calma 41 1 layer CMT allMetal3 labels m3 calma 62 1 layer CMS pad2 grow 500 or allMetal2 labels m2 calma 51 1 layer CMF pad2 grow 200 or pad grow 500 or allMetal1 labels allMetal1 calma 49 1 layer CPG cap,cc or allPoly labels poly,nfet,pfet calma 46 1 layer CAA allActive labels ndiff,pdiff calma 43 1 layer CVS pad2 shrink 140 calma 61 1 layer CVS m3c squares 50 100 150 calma 61 1 layer CVA pad,pad2 shrink 260 calma 50 1 layer CVA m2c squares 50 100 150 calma 50 1 layer CCA pad,pad2 shrink 380 calma 48 1 layer CCA ndc,pdc squares 100 calma 48 1 layer CCA nsc,psc squares 100 calma 48 1 layer CCP pc squares 100 calma 47 1 /* temp CIF layer for select generation */ templayer XTN bloat-or allNDiff * 100 allPOhmic 0 templayer XTP bloat-or allPDiff * 100 allNOhmic 0 layer CSN bloat-or allNDiff * 100 allPOhmic 0 bloat-or NFet * 100 ndiff 150 allPOhmic 0 bloat-or allNOhmic * 100 allPDiff 0 and-not XTP grow 50 shrink 50 shrink 25 grow 25 calma 45 1 layer CSP bloat-or allPDiff * 100 allNOhmic 0 bloat-or PFet * 100 pdiff 150 allNOhmic 0 bloat-or allPOhmic * 100 allNDiff 0 and-not XTN and-not CSN grow 50 shrink 50 shrink 25 grow 25 calma 44 1 layer COG pad,pad2 shrink 500 or glass calma 52 1 layer XP pad2 /* this style is provided for interface only */ /* usually you should not submit CIF files designed with SCMOS rules */ /* for CBPM 3U runs. The bloating and shrinking will be incorrrect */ style cbpm3u scalefactor 150 25 layer CW pwell bloat-or ndiff,ndc,nfet * 750 bloat-or psc,ppd * 450 grow 450 shrink 450 calma 1 1 layer CQ allMetal2 labels m2 calma 14 1 layer CM pad grow 150 or allMetal1 labels allMetal1 calma 8 1 layer CP allPoly labels poly,nfet,pfet calma 4 1 layer CD allActive labels ndiff,pdiff calma 3 1 layer CV pad shrink 450 calma 13 1 layer CV m2c squares 150 300 450 calma 13 1 layer CC ndc,pdc,nnc,ppc,pc squares 300 calma 7 1 templayer TNF bloat-or nfet ndiff 450 poly 300 layer CS bloat-or pdiff,pfet,pdc/active * 300 nsd,nsc/active 0 bloat-or pfet * 300 pdiff 450 nsd,nsc/active 0 bloat-or psc/active,psd * 300 ndiff,ndc/active,nfet 0 and-not TNF grow 150 shrink 150 calma 5 1 layer CG pad shrink 600 or glass calma 9 1 layer XP pad /* Drew's checking CIF extraction */ style latchup scalefactor 50 5 /**** First check that all nfets are within 50um of ppdiff */ templayer PPD ppd,ppc/act grow 5000 /* 50um - apparently intervening NWELL is ok */ layer CPG nfet /* Illegal nfet's are those */ and-not PPD /* NOT covered by bloated PPD */ /**** Then check that all pfets are within 50um of nndiff IN SAME NWELL */ templayer NND nnd,nnc/act grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 450 /* 4.5um, the NWELL spacing rule */ and nwell /* don't want to include unconnected NWELL */ grow 50 /* last .5um to make 50um total */ and nwell /* don't want to include unconnected NWELL */ /* A total of 50um of bloat */ layer CMF pfet /* Illegal pfet's are those */ and-not NND /* NOT covered by bloated NND */ layer CMS pad,pad2 /* to help orient cell */ /* These following technologies are used to generate CIF */ /* used for for DRC batch jobs. Remove comment if you want to */ /* install it... style lambda=1.5(error) scalefactor 150 25 layer CX error_s,error_p,error_ps style lambda=1.0(error) scalefactor 100 50 layer CX error_s,error_p,error_ps style lambda=0.8(error) scalefactor 80 40 layer CX error_s,error_p,error_ps style lambda=0.6(error) scalefactor 60 30 layer CX error_s,error_p,error_ps style lambda=0.5(error) scalefactor 50 25 layer CX error_s,error_p,error_ps */ style plot scalefactor 100 50 layer CM2 m2,m2c/m2,pad/m2 labels m2 layer CM1 pad grow 100 or m1,m2c/m1,pc/m1,ndc/m1,pdc/m1,ppcont/m1,nncont/m1 labels m1,m2c/m1,pc/m1,ndc/m1,pdc/m1,ppcont/m1,nncont/m1,pad/m1 layer CP poly,pc/active,nfet,pfet labels poly,nfet,pfet layer CND ndiff,ndc,nfet,pwc,psd labels ndiff layer CPD pdiff,pdc,pfet,nwc,nsd labels pdiff layer CNP bloat-or nsd,nwc * 150 ndiff,pdiff,ndc/active,pdc/active,ppcont/active,nncont/active,pfet,nfet,psd,nsd 0 layer CPP bloat-or psd,pwc * 150 ndiff,pdiff,ndc/active,pdc/active,ppcont/active,nncont/active,pfet,nfet,psd,nsd 0 layer CV m2c squares 100 200 300 layer CC ndc,pdc,pc,pwc,nwc squares 200 layer CNW nwell grow 400 shrink 400 layer CG pad shrink 600 or glass labels glass end /* -------------------------------------------------------------------- * * In the CIFinput section, the order of layer specifications is very * * important. Each layer overrides any of the previous layers. There * * are places where one layer is generated over an area that is too * * large, but with the knowledge that later layers will "take over" * * the extraneous area, leaving the first layer only where it belongs. * * This happens for various flavors of diffusion, for example. * * Note: when reading in CMOS, wells are created in the Magic files. * * They can be eliminated manually if desired. * * ---------------------------------------------------------------------*/ cifinput /* default style is lambda=1.0 micron N Well */ style lambda=1.0(nwell) scalefactor 100 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA and CSP layer pdiff CWN and CAA and CSP layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer m2c CVA grow 150 shrink 50 and CMS and CMF layer electrode CEL labels CEL layer ec CCE grow 100 and CMF and CEL layer cc CCE grow 100 and CMF and CEL and CPG layer cap CPG and CEL and-not CAA labels CEL layer psc CCA grow 100 and CAA and CSP and CMF layer ndc CCA grow 100 and CAA and CSN and CMF layer pdc CCA grow 100 and CAA and CWN and CSP and CMF layer nsc CCA grow 100 and CAA and CSN and CWN and CMF layer pbc CCA grow 100 and CBA and CMF labels CBA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 100 and CBA and CSN and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 100 and CX and CAA and CSN and CWN and CMF labels CCA layer pc CCP grow 100 and CPG and CMF layer bd CAA and CCD and-not CSN grow 200 and CAA labels CCD layer nbd CSN shrink 200 and CCD and CAA labels CCD layer nbdc CCA grow 100 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 100 and CMS shrink 500 and CVA shrink 100 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=1.5(pwell) scalefactor 150 layer pwell CWP labels CWP layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer nsd CAA and CSN layer ndiff CWP and CAA and CSN layer pdiff CAA and CSP layer psd CWP and CSP and CAA layer pfet CPG and CAA and CSP layer nfet CAA and CPG and CSN and CWP layer epfet CEL and CAA and CSP layer enfet CAA and CEL and CSN and CWP layer m2c CVA grow 225 shrink 75 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 150 and CMF and CEL labels CMF layer cc CCE grow 150 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer nncont CCA grow 150 and CSN and CAA and CMF layer pdc CCA grow 150 and CAA and CSP and CMF layer ndc CCA grow 150 and CAA and CSN and CWP and CMF layer ppcont CCA grow 150 and CAA and CSP and CWP and CMF layer pc CCP grow 150 and CPG and CMF layer glass COG layer pad CMF shrink 150 and CMS shrink 450 and CVA shrink 150 and COG grow 600 and XP calma CWP 41 * calma CAA 43 * calma CSP 44 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * style lambda=1.0(pwell) scalefactor 100 layer pwell CWP labels CWP layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer nsd CAA and CSN layer ndiff CWP and CSN and CAA layer pdiff CAA and CSP layer psd CWP and CSP and CAA layer pfet CPG and CAA and CSP layer nfet CAA and CPG and CWP layer epfet CEL and CAA and CSP layer enfet CAA and CEL and CSN and CWP layer m2c CVA grow 150 shrink 50 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 100 and CMF and CEL labels CMF layer cc CCE grow 100 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer nncont CCA grow 100 and CAA and CSN and CMF layer pdc CCA grow 100 and CAA and CSP and CMF layer ndc CCA grow 100 and CSN and CAA and CWP and CMF layer ppcont CCA grow 100 and CAA and CSP and CWP and CMF layer pc CCP grow 100 and CPG and CMF layer glass COG layer pad CMF shrink 100 and CMS shrink 500 and CVA shrink 100 and COG grow 600 and XP calma CWP 41 * calma CAA 43 * calma CSP 44 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * style lambda=0.8(pwell) scalefactor 80 layer pwell CWP labels CWP layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer nsd CAA and CSN layer ndiff CWP and CAA and CSN layer pdiff CAA and CSP layer psd CWP and CSP and CAA layer pfet CPG and CAA and CSP layer nfet CAA and CPG and CSN and CWP layer epfet CEL and CAA and CSP layer enfet CAA and CEL and CWP and CSN layer m2c CVA grow 120 shrink 40 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 80 and CMF and CEL labels CMF layer cc CCE grow 80 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer nncont CCA grow 80 and CAA and CSN and CMF layer pdc CCA grow 80 and CAA and CSP and CMF layer ndc CCA grow 80 and CAA and CWP and CMF layer ppcont CCA grow 80 and CAA and CSP and CWP and CMF layer pc CCP grow 80 and CPG and CMF layer glass COG layer pad CMF shrink 80 and CMS shrink 560 and CVA shrink 160 and COG grow 640 and XP calma CWP 41 * calma CAA 43 * calma CSP 44 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * style lambda=0.6(pwell) scalefactor 60 layer pwell CWP labels CWP layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer nsd CAA and CSN layer ndiff CWP and CAA layer pdiff CAA and CSP layer psd CWP and CSP and CAA layer pfet CPG and CAA and CSP layer nfet CAA and CPG and CSN and CWP layer epfet CEL and CAA and CSP layer enfet CAA and CEL and CSN and CWP layer m2c CVA grow 90 shrink 30 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 60 and CMF and CEL labels CMF layer cc CCE grow 60 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer nncont CCA grow 60 and CAA and CSN and CMF layer pdc CCA grow 60 and CAA and CSP and CMF layer ndc CCA grow 60 and CAA and CWP and CSN and CMF layer ppcont CCA grow 60 and CAA and CSP and CWP and CMF layer pc CCP grow 60 and CPG and CMF layer glass COG layer pad CMF shrink 60 and CMS shrink 540 and CVA shrink 120 and COG grow 600 and XP calma CWP 41 * calma CAA 43 * calma CSP 44 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * style lambda=1.5(oldnwell) scalefactor 150 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA layer pdiff CWN and CAA layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CEL and CAA and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CWN labels CEL layer m2c CVA grow 225 shrink 75 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 150 and CMF and CEL labels CMF layer cc CCE grow 150 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 150 and CAA and CMF layer ndc CCA grow 150 and CAA and CSN and CMF layer pdc CCA grow 150 and CAA and CWN and CMF layer nncont CCA grow 150 and CAA and CSN and CWN and CMF layer pbc CCA grow 150 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 150 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 150 and CBA and CSN and CMF labels CBA layer pc CCP grow 150 and CPG and CMF layer bd CAA and CCD and-not CSN grow 300 and CAA labels CCD layer nbd CSN shrink 300 and CCD and CAA labels CCD layer nbdc CCA grow 150 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 150 and CMS shrink 450 and CVA shrink 150 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=1.0(oldnwell) scalefactor 100 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA layer pdiff CWN and CAA layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CWN labels CEL layer m2c CVA grow 150 shrink 50 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 100 and CMF and CEL labels CMF layer cc CCE grow 100 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 100 and CAA and CMF layer ndc CCA grow 100 and CAA and CSN and CMF layer pdc CCA grow 100 and CAA and CWN and CMF layer nncont CCA grow 100 and CAA and CSN and CWN and CMF layer pbc CCA grow 100 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 100 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 100 and CBA and CSN and CMF labels CBA layer pc CCP grow 100 and CPG and CMF layer bd CAA and CCD and-not CSN grow 200 and CAA labels CCD layer nbd CSN shrink 200 and CCD and CAA labels CCD layer nbdc CCA grow 100 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 100 and CMS shrink 500 and CVA shrink 100 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=0.8(oldnwell) scalefactor 80 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA layer pdiff CWN and CAA layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CWN labels CEL layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CWN labels CEL layer m2c CVA grow 120 shrink 40 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 80 and CMF and CEL labels CMF layer cc CCE grow 80 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 80 and CAA and CMF layer ndc CCA grow 80 and CAA and CSN and CMF layer pdc CCA grow 80 and CAA and CWN and CMF layer nncont CCA grow 80 and CAA and CSN and CWN and CMF layer pbc CCA grow 80 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 80 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 80 and CBA and CSN and CMF labels CBA layer pc CCP grow 80 and CPG and CMF layer bd CAA and CCD and-not CSN grow 160 and CAA labels CCD layer nbd CSN shrink 160 and CCD and CAA labels CCD layer nbdc CCA grow 80 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 80 and CMS shrink 480 and CVA shrink 160 and COG grow 640 and XP calma CWN 42 * calma CAA 43 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=0.6(oldnwell) scalefactor 60 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA layer pdiff CWN and CAA layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CWN labels CEL layer m2c CVA grow 90 shrink 30 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 60 and CMF and CEL labels CMF layer cc CCE grow 60 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 60 and CAA and CMF layer ndc CCA grow 60 and CAA and CSN and CMF layer pdc CCA grow 60 and CAA and CWN and CMF layer nncont CCA grow 60 and CAA and CSN and CWN and CMF layer pbc CCA grow 60 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 60 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 60 and CBA and CSN and CMF labels CBA layer pc CCP grow 60 and CPG and CMF layer bd CAA and CCD and-not CSN grow 120 and CAA labels CCD layer nbd CSN shrink 120 and CCD and CAA labels CCD layer nbdc CCA grow 60 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 60 and CMS shrink 540 and CVA shrink 120 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * /* missing emc,pbc,pbase,clc */ style lambda=1.5(nwell) scalefactor 150 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CSP and CAA layer pdiff CWN and CAA and CSP layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer m2c CVA grow 225 shrink 75 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 150 and CMF and CEL labels CMF layer cc CCE grow 150 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 150 and CAA and CSP and CMF layer ndc CCA grow 150 and CAA and CSN and CMF layer pdc CCA grow 150 and CAA and CWN and CSP and CMF layer nncont CCA grow 150 and CAA and CSN and CWN and CMF layer pbc CCA grow 150 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 150 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 150 and CBA and CSN and CMF labels CBA layer pc CCP grow 150 and CPG and CMF layer bd CAA and CCD and-not CSN grow 300 and CAA labels CCD layer nbd CSN shrink 300 and CCD and CAA labels CCD layer nbdc CCA grow 150 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 150 and CMS shrink 450 and CVA shrink 150 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=0.8(nwell) scalefactor 80 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA and CSP layer pdiff CWN and CAA and CSP layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer m2c CVA grow 120 shrink 40 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 80 and CMF and CEL labels CMF layer cc CCE grow 80 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 80 and CAA and CSP and CMF layer ndc CCA grow 80 and CAA and CSN and CMF layer pdc CCA grow 80 and CAA and CSP and CWN and CMF layer nncont CCA grow 80 and CAA and CSN and CWN and CMF layer pbc CCA grow 80 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 80 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 80 and CBA and CSN and CMF labels CBA layer pc CCP grow 80 and CPG and CMF layer bd CAA and CCD and-not CSN grow 160 and CAA labels CCD layer nbd CSN shrink 160 and CCD and CAA labels CCD layer nbdc CCA grow 80 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 80 and CMS shrink 480 and CVA shrink 160 and COG grow 640 and XP calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * style lambda=0.6(nwell) scalefactor 60 layer nwell CWN labels CWN layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CAA and CSP layer pdiff CWN and CAA and CSP layer ndiff CAA and CSN and-not CCD layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP and CWN layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP and CWN layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer m2c CVA grow 90 shrink 30 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 60 and CMF and CEL labels CMF layer cc CCE grow 60 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer ppcont CCA grow 60 and CAA and CSP and CMF layer ndc CCA grow 60 and CAA and CSN and CMF layer pdc CCA grow 60 and CAA and CSP and CWN and CMF layer nncont CCA grow 60 and CAA and CSN and CWN and CMF layer pbc CCA grow 60 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 60 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 60 and CBA and CSN and CMF labels CBA layer pc CCP grow 60 and CPG and CMF layer bd CAA and CCD and-not CSN grow 120 and CAA labels CCD layer nbd CSN shrink 120 and CCD and CAA labels CCD layer nbdc CCA grow 60 and CCD and CSN and CAA labels CCD layer cwell CWC labels CWC layer glass COG layer pad CMF shrink 60 and CMS shrink 540 and CVA shrink 120 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CWC 59 * calma CX 60 * /* Drew Wingard - muck with generic to make pads read in... */ style lambda=0.5(nwell) scalefactor 50 layer nwell CWN labels CWN layer m3 CMT labels CMT layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer psd CSP and CAA layer pdiff CWN and CSP and CAA layer ndiff CSN and CAA layer nsd CWN and CSN and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN labels CPG layer pfet CAA and CPG and CSP and CWN labels CPG layer psc CCA grow 50 and CAA and CSP and CMF layer ndc CCA grow 50 and CAA and CSN and CMF layer pdc CCA grow 50 and CAA and CWN and CSP and CMF layer nsc CCA grow 50 and CAA and CSN and CWN and CMF layer pbc CCA grow 50 and CBA and CMF labels CBA layer m3c CVS grow 75 shrink 25 and CMT and CMS labels CMS layer m2c CVA grow 75 shrink 25 and CMS and CMF labels CMS layer pc CCP grow 50 and CPG and CMF layer glass COG layer pad2 CMS shrink 50 and CMT shrink 500 and CVS shrink 100 and COG grow 600 and XP calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CVS 61 * calma CMT 62 * style lambda=1.5(gen) scalefactor 150 layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA and-not CCD layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer ndc CCA layer ndc CCA grow 150 and CAA and CWP and CSN and CMF layer pdc CCA grow 150 and CAA and CWN and CSP and CMF layer nncont CCA grow 150 and CAA and CSN and CWN and CMF layer ppcont CCA grow 150 and CAA and CSP and CWP and CMF layer m2c CVA grow 225 shrink 75 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 150 and CMF and CEL labels CMF layer cc CCE grow 150 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer pbc CCA grow 150 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 150 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 150 and CBA and CSN and CMF labels CBA layer pc CCP grow 150 and CPG and CMF layer bd CAA and CCD and-not CSN grow 300 and CAA labels CCD layer nbd CSN shrink 300 and CCD and CAA labels CCD layer nbdc CCA grow 150 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 150 and CMS shrink 450 and CVA shrink 150 and COG grow 600 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=1.0(gen) scalefactor 100 layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA and-not CCD layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP layer pbc CCA grow 100 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 100 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 100 and CBA and CSN and CMF labels CBA layer ndc CCA grow 100 and CAA and CWP and CSN and CMF layer pdc CCA grow 100 and CAA and CWN and CSP and CMF layer nncont CCA grow 100 and CAA and CSN and CWN and CMF layer ppcont CCA grow 100 and CAA and CSP and CWP and CMF layer m2c CVA grow 150 shrink 50 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 100 and CMF and CEL labels CMF layer cc CCE grow 100 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer pbc CCA grow 100 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 100 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 100 and CBA and CSN and CMF labels CBA layer pc CCP grow 100 and CPG and CMF layer bd CAA and CCD and-not CSN grow 200 and CAA labels CCD layer nbd CSN shrink 200 and CCD and CAA labels CCD layer nbdc CCA grow 100 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 100 and CMS shrink 500 and CVA shrink 100 and COG grow 600 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=0.8(gen) scalefactor 80 layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA and-not CCD layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer ndc CCA grow 80 and CAA and CWP and CSN and CMF layer pdc CCA grow 80 and CAA and CWN and CSP and CMF layer nncont CCA grow 80 and CAA and CSN and CWN and CMF layer ppcont CCA grow 80 and CAA and CSP and CWP and CMF layer m2c CVA grow 120 shrink 40 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 80 and CMF and CEL labels CMF layer cc CCE grow 80 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer pbc CCA grow 80 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 80 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 80 and CBA and CSN and CMF labels CBA layer pc CCP grow 80 and CPG and CMF layer bd CAA and CCD and-not CSN grow 160 and CAA labels CCD layer nbd CSN shrink 160 and CCD and CAA labels CCD layer nbdc CCA grow 80 and CCD and CSN and CAA labels CCD layer glass COG layer pad CMF shrink 80 and CMS shrink 560 and CVA shrink 160 and COG grow 640 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CX 60 * style lambda=0.6(gen) scalefactor 60 layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA and-not CCD layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN and-not CCD layer pfet CAA and CPG and CSP layer enfet CEL and CAA and CSN and-not CCD layer epfet CAA and CEL and CSP layer nffet CAA and CEL and CPG and CSN labels CEL layer pffet CAA and CEL and CPG and CSP and CWN labels CEL layer ndc CCA grow 60 and-not CWN and CAA and CSN and CMF layer pdc CCA grow 60 and CAA and CWN and CSP and CMF layer nsc CCA grow 60 and CAA and CSN and CWN and CMF layer psc CCA grow 60 and CAA and CSP and CWP and CMF layer pbc CCA grow 60 and CBA and CMF labels CBA layer col CX and CAA and CSN and CWN labels CAA layer clc CCA grow 60 and CX and CAA and CSN and CWN and CMF labels CCA layer emit CBA and CSN shrink 200 labels CBA layer emc CCA grow 60 and CBA and CSN and CMF labels CBA layer m2c CVA grow 90 shrink 30 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 60 and CMF and CEL labels CMF layer cc CCE grow 60 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer pc CCP grow 60 and CPG and CMF layer bd CAA and CCD and-not CSN grow 120 and CAA labels CCD layer nbd CSN shrink 120 and CCD and CAA labels CCD layer nbdc CCA grow 60 and CCD and CSN and CAA labels CCD layer cwell CWC labels CWC layer glass COG layer pad CMF shrink 60 and CMS shrink 540 and CVA shrink 120 and COG grow 600 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * calma CBA 57 * calma CCD 58 * calma CWC 59 * calma CX 60 * style lambda=0.5(gen) scalefactor 50 layer nwell CWN labels CWN layer m3 CMT labels CMT layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer pbase CBA labels CBA layer nfet CPG and CAA and CSN labels CPG layer pfet CAA and CPG and CSP labels CPG layer ndc CCA grow 50 and CAA and CWP and CSN and CMF layer pdc CCA grow 50 and CAA and CWN and CSP and CMF layer nsc CCA grow 50 and CAA and CSN and CWN and CMF layer psc CCA grow 50 and CAA and CSP and CWP and CMF layer pbc CCA grow 50 and CBA and CMF labels CBA layer m3c CVS grow 75 shrink 25 and CMT and CMS labels CMS layer m2c CVA grow 75 shrink 25 and CMS and CMF labels CMS layer pc CCP grow 50 and CPG and CMF layer glass COG layer pad2 CMS shrink 50 and CMT shrink 500 and CVS shrink 100 and COG grow 600 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CVS 61 * calma CMT 62 * style cbpm3u scalefactor 150 layer pwell CW labels CW layer m2 CM2,CQ labels CM2,CQ layer m1 CM labels CM layer poly CP labels CP layer nsd CD and CNS layer ndiff CD and CW and CNS layer pdiff CD and CS layer psd CW and CS and CD layer pfet CP and CD and CS layer nfet CD and CP and CW and CNS layer m2c CC2,CV grow 150 and CM2,CQ and CM layer pc CC grow 150 and CP and CM layer nncont CC grow 150 and CD and CNS and CM layer pdc CC grow 150 and CD and CS and CM layer ndc CC grow 150 and CD and CW and CM and CNS layer ppcont CC grow 150 and CD and CS and CW and CM layer glass CG layer pad CM and CM2,CQ shrink 500 and CC2,CV and CG grow 500 calma CW 1 * calma CD 3 * calma CP 4 * calma CS 5 * calma CNS 6 * calma CC 7 * calma CM 8 * calma CG 9 * calma CV 13 * calma CQ 14 * style oldcbpm3u scalefactor 150 layer pwell CW labels CW layer m2 CM2,CQ labels CM2,CQ layer m1 CM labels CM layer poly CP labels CP layer nsd CD layer ndiff CD and CW layer pdiff CD and CS layer psd CW and CS and CD layer pfet CP and CD and CS layer nfet CD and CP and CW layer m2c CC2,CV grow 150 and CM2,CQ and CM layer pc CC grow 150 and CP and CM layer nncont CC grow 150 and CD and CM layer pdc CC grow 150 and CD and CS and CM layer ndc CC grow 150 and CD and CW and CM layer ppcont CC grow 150 and CD and CS and CW and CM layer glass CG layer pad CM and CM2,CQ shrink 500 and CC2,CV and CG grow 500 calma CW 1 * calma CD 3 * calma CP 4 * calma CS 5 * calma CC 7 * calma CM 8 * calma CG 9 * calma CV 13 * calma CQ 14 * style oldcbpe2u scalefactor 100 layer pwell CW labels CW layer m2 CM2,CQ labels CM2,CQ layer m1 CM labels CM layer poly CP labels CP layer nsd CD layer ndiff CD and CW layer pdiff CD and CS layer psd CW and CS and CD layer pfet CP and CD and CS layer nfet CD and CP and CW layer m2c CC2,CV grow 150 and CM2,CQ and CM layer electrode CE labels CE layer pc CC grow 150 and CP and CM layer capc CC grow 150 and CE and CM layer nncont CC grow 150 and CD and CM layer pdc CC grow 150 and CD and CS and CM layer ndc CC grow 150 and CD and CW and CM layer ppcont CC grow 150 and CD and CS and CW and CM layer glass CG layer pad CM and CM2,CQ shrink 500 and CC2,CV and CG grow 500 calma CW 1 * calma CD 3 * calma CP 4 * calma CS 5 * calma CC 7 * calma CM 8 * calma CG 9 * calma CV 13 * calma CQ 14 * /* These follwoing technologies are for DRC error display */ /* Remove comment if you want to install them... style lambda=1.5(error) scalefactor 150 layer error_s CX style lambda=1.0(error) scalefactor 100 layer error_s CX style lambda=0.8(error) scalefactor 80 layer error_s CX style lambda=0.6(error) scalefactor 60 layer error_s CX */ /* This is an MOSIS internal testing technology... included */ /* for future extension.... */ /* for fusion :: test cif in style for half lambda grid style lambda=0.4(gen) scalefactor 40 layer m2 CMS labels CMS layer m1 CMF labels CMF layer poly CPG labels CPG layer pdiff CSP and CAA layer ndiff CSN and CAA layer nsd CWN and CSN and CAA layer psd CWP and CSP and CAA layer nfet CPG and CAA and CSN layer pfet CAA and CPG and CSP layer enfet CEL and CAA and CSN layer epfet CAA and CEL and CSP layer ndc CCA grow 80 and CAA and CWP and CSN and CMF layer pdc CCA grow 80 and CAA and CWN and CSP and CMF layer nncont CCA grow 80 and CAA and CSN and CWN and CMF layer ppcont CCA grow 80 and CAA and CSP and CWP and CMF layer m2c CVA grow 120 shrink 40 and CMS and CMF labels CMS layer electrode CEL labels CEL layer ec CCE grow 80 and CMF and CEL labels CMF layer cc CCE grow 80 and CMF and CEL and CPG labels CMF layer cap CPG and CEL and-not CAA labels CEL layer pc CCP grow 80 and CPG and CMF layer glass COG layer pad CMF shrink 80 and CMS shrink 560 and CVA shrink 160 and COG grow 640 and XP calma CWP 41 * calma CWN 42 * calma CAA 43 * calma CSP 44 * calma CSN 45 * calma CPG 46 * calma CCP 47 * calma CCA 48 * calma CMF 49 * calma CVA 50 * calma CMS 51 * calma COG 52 * calma CCE 55 * calma CEL 56 * */ end mzrouter style irouter layer m2 32 64 256 1 layer m1 64 32 256 1 layer poly 128 128 512 1 contact m2contact metal1 metal2 1024 contact pcontact metal1 poly 2056 notactive poly pcontact style garouter layer m2 32 64 256 1 layer m1 64 32 256 1 contact m2contact metal1 metal2 1024 end /* SCMOS rules revision 7 */ drc /* ---------------------------------------------------------------- */ /* Well */ /* ---------------------------------------------------------------- */ /* 1.1 */ width allWell 10 \ "Well width must be at least 10 (MOSIS rule #1.1)" /* 1.2 */ spacing allWell allWell 9 touching_ok \ "Well spacing must be at least 9 (MOSIS rule #1.2)" /* NOTE: rule 1.2 is equivalent to the following three rules where the third is a new one. This rule is add to force designers to be cautious about the wells... spacing nwell nwell 9 touching_ok \ "N-well spacing must be at least 9 (MOSIS rule #1.2)" spacing pwell pwell 9 touching_ok \ "P-well spacing must be at least 9 (MOSIS rule #1.2)" spacing nwell pwell 9 touching_ok \ "Well spacing must be at least 9 (MOSIS rule #1.2)" */ /* 1.3 is not checked */ /* for digital ckts where wells are not explicitly put, * * auto-generation may not ensure the minimul spacing and width * * rule: this is true when two geometries are diagonal. * * note: when both pwell and nwell are submitted they cannot * * overlap this is assured with the compose section - painting one * * well over another will erase the original well. * /* ---------------------------------------------------------------- */ /* Active */ /* ---------------------------------------------------------------- */ /* 2.1 */ width allActive 3 \ "Diffusion width must be at least 3 (MOSIS rule #2.1)" /* 2.2 */ spacing allNActive allNActive 3 touching_ok \ "Diffusion spacing must be at least 3 (MOSIS rule #2.2)" spacing allPActive allPActive 3 touching_ok \ "Diffusion spacing must be at least 3 (MOSIS rule #2.2)" /* 2.3 without explicit well definition */ spacing allNDiff allPDiff 10 touching_illegal \ "P-type diffusion must be 10 away from N-type diffusion (MOSIS rule #2.3)" /* 2.3 + 2.4 without explicit well definition */ spacing allNDiff allNOhmic 8 touching_illegal \ "N-type diffusion must be 8 away from N-substrate contact (MOSIS rule #2.3,4)" spacing allPDiff allPOhmic 8 touching_illegal \ "P-type diffusion must be 8 away from P-substrate contact (MOSIS rule #2.3,4)" /* 2.4 */ spacing allNOhmic allPOhmic 6 touching_illegal \ "Opposite well contacts must be separated by 6 (MOSIS rule #2.4)" /* MOSIS extension rule for diffusion and substrate contact of opposite type */ spacing allNActive allPOhmic 4 touching_ok \ "Opposite diffusion spacing must be at least 4 (MOSIS extension rule)" spacing allPActive allNOhmic 4 touching_ok \ "Opposite diffusion spacing must be at least 4 (MOSIS extension rule)" /* 2.3 + 2.4 with explicit well */ spacing allNActive nwell 5 touching_illegal \ "N-diffusion and N-well must be separated by 5 (MOSIS rule #2.3)" spacing allPActive pwell 5 touching_illegal \ "P-diffusion and P-well must be separated by 5 (MOSIS rule #2.3)" spacing allNOhmic pwell 3 touching_illegal \ "N-substrate diffusion and P-well must be separated by 3 (MOSIS rule #2.4)" spacing allPOhmic nwell 3 touching_illegal \ "P-substrate diffusion and N-well must be separated by 3 (MOSIS rule #2.4)" /* ---------------------------------------------------------------- */ /* Poly */ /* ---------------------------------------------------------------- */ /* 3.1 */ width allPoly 2 \ "Polysilicon width must be at least 2 (MOSIS rule #3.1)" /* 3.2 */ spacing allPoly allPoly 2 touching_ok \ "Polysilicon spacing must be at least 2 (MOSIS rule #3.2)" /* 3.3 */ edge4way nfet,pfet poly,pc/act 2 poly,pc/act 0 0 \ "Poly must overhang transistor by at least 2 (MOSIS rule #3.3)" /* 3.4 */ edge4way nfet,enfet ndiff,ndc/act 3 allNActive 0 0 \ "Diffusion must overhang transistor by at least 3 (MOSIS rule #3.4)" edge4way pfet,epfet pdiff,pdc/active 3 allPActive 0 0 \ "Diffusion must overhang transistor by at least 3 (MOSIS rule #3.4)" /* 3.3 + 3.4 */ edge4way nfet,pfet space 1 poly 0 0 \ "Transistor overhang is missing (MOSIS rule #3.3,4)" edge4way enfet,epfet space 1 poly2 0 0 \ "Transistor overhang is missing (MOSIS rule #3.3,4)" edge4way nffet,pffet space 1 poly 0 0 \ "Transistor overhang is missing (MOSIS rule #3.3,4)" edge4way nffet,pffet space 1 poly2 0 0 \ "Transistor overhang is missing (MOSIS rule #3.3,4)" /* 3.5 */ edge4way allDiff,allOhmic poly,pc 1 space 0 1 \ "Poly and diffusion must be separated by at least 1 (MOSIS rule #3.5)" /* Extra transistor rules */ /* These rules is really NOT necessary because others have already taken care of it. It is here for future reference... edge4way poly,pc/act pfet 3 pfet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" edge4way poly,pc/act nfet 3 nfet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" */ /* ---------------------------------------------------------------- */ /* Select */ /* ---------------------------------------------------------------- */ /* 4.1 */ spacing PFet allNOhmic 3 touching_illegal \ "Transistors must be separated from substrate contacts by 3 (MOSIS rule #4.1.a)" spacing NFet allPOhmic 3 touching_illegal \ "Transistors must be separated from substrate contacts by 3 (MOSIS rule #4.1.b)" edge4way allPOhmic space/act 4 ~(NFet)/act allPOhmic,allNDiff 3 \ "Transistors must be separated from selects(generated by well cont) by 3 (MOSIS rule #4.1.c)" edge4way allNOhmic space/act 4 ~(PFet)/act allNOhmic,allPDiff 3 \ "Transistors must be separated from selects(generated by well cont) by 3 (MOSIS rule #4.1.c)" edge4way allPOhmic ~(ndiff,ndc,psc,psd)/act 4 ~(nfet,enfet)/act ~(ndiff,ndc,psc,psd)/act 4 \ "Transistors must be separated from selects(generated by well cont) by 3 (MOSIS rule #4.1.e)" edge4way allNOhmic ~(pdiff,pdc,nsc,nsd)/act 4 ~(pfet,epfet)/act ~(pdiff,pdc,nsc,nsd)/act 4 \ "Transistors must be separated from selects(generated by well cont) by \3 (MOSIS rule #4.1.f)" /* 4.2 */ /* This one is very difficult.... Most likely done by CIF output */ edge4way ~(allPActive)/act pdiff,pdc,pfet 4 ~(allNOhmic)/act allPActive 2 \ "Backedge of diffusion must be 4 from substrate diff (MOSIS rule #4.2)" edge4way ~(allNActive)/act ndiff,ndc,nfet 4 ~(allPOhmic)/act allNActive 2 \ "Backedge of diffusion must be 4 from substrate diff (MOSIS rule #4.2)" /* 4.3 -- guaranteed automatically by CIF generator. */ /* 4.4 -- guaranteed automatically by CIF generator except diag. where this rule is not crucial */ /* ---------------------------------------------------------------- */ /* Contact ot Poly */ /* ---------------------------------------------------------------- */ /* 5B.1 + 5B.2 + 5B.3 */ width pc 4 \ "Poly contact width must be at least 4 (MOSIS rule #5B.1,2,3)" /* 5B.4 is guaranteed by 5B.1,2,3 with rule 7.2 (metal1 spacing) */ /* 5B.5 -- * Watch out here: a spacing "touching_ok" rule CANNOT be used here: * it will miss certain checks. */ edge4way allPoly ~(allPoly)/act 3 ~pc/act ~(allPoly)/act 3 \ "Poly contact must be at least 3 from other poly (MOSIS rule #5B.4,5)" /* 5B.6 -- * This is mostly handled by 3.5 already, but need rule here to handle * case of pc abutting transistor. */ spacing pc allActive 1 touching_illegal \ "Poly contact must be 1 unit from diffusion (MOSIS rule #5B.6)" /* 5B.7 -- not implemented */ /* ---------------------------------------------------------------- */ /* Contact to Active */ /* ---------------------------------------------------------------- */ /* 6B.1 + 6B.2 + 6B.3 */ width ndc,pdc 4 \ "Diffusion contact width must be at least 4 (MOSIS rule #6B.1,2,3)" width nsc,psc 4 \ "Substrate contact width must be at least 4 (MOSIS rule #6B.1,2,3)" /* 6B.4 & 6B.5 -- * Watch out here: a spacing "touching_ok" rule CANNOT be used here: * it will miss certain checks. */ edge4way allActive ~(allActive)/act 4 ~(ndc,pdc,nsc,psc)/act \ ~(allActive)/act 4 \ "Diffusion contacts must be 4 from other diffusions (MOSIS rule #6B.4,5)" /* 6B.6 */ spacing DiffCut allFet 1 touching_illegal \ "Diffusion contacts cannot touch transistors (MOSIS rule #6B.6)" /* 6B.7 */ spacing DiffCut poly 1 touching_illegal \ "Diffusion contact to field poly must be at least 1 (MOSIS rule #6B.7)" /* 6.8 -- not implemented */ /* 6B.9 */ spacing DiffCut pc/act 2 touching_illegal \ "Poly contacts must be 2 away from diffusion contacts (MOSIS rule #6B.9)" /* ---------------------------------------------------------------- */ /* Contacts must all be rectangular (no adjacent contacts */ /* of same type) because of the way their contact is generated by */ /* CIFoutput section rules. This is handled using the corner checks */ /* in the rules below. Overlaps between contacts must be exact */ /* overlaps. The only exception is overpad, which doesn't matter. */ edge4way m3c/m3 ~m3c/m3 1 ~m3c/m3 (~m3c,m3c)/m3 1 \ "Metal3 contacts must be rectangular (Magic rules)" edge4way m2c/m2 ~m2c/m2 1 ~m2c/m2 (~m2c,m2c)/m2 1 \ "Metal2 contacts must be rectangular (Magic rules)" edge4way ndc/m1 ~ndc/m1 1 ~ndc/m1 (~ndc,ndc)/m1 1 \ "N-diffusion contacts must be rectangular (Magic rules)" edge4way pdc/m1 ~pdc/m1 1 ~pdc/m1 (~pdc,pdc)/m1 1 \ "P-diffusion contacts must be rectangular (Magic rules)" edge4way psc/m1 ~psc/m1 1 ~psc/m1 (~psc,psc)/m1 1 \ "P-substrate contacts must be rectangular (Magic rules)" edge4way nsc/m1 ~nsc/m1 1 ~nsc/m1 (~nsc,nsc)/m1 1 \ "N-substrate contacts must be rectangular (Magic rules)" edge4way pc/m1 ~pc/m1 1 ~pc/m1 (~pc,pc)/m1 1 \ "Polysilicon contacts must be rectangular (Magic rules)" edge4way ec/m1 ~ec/m1 1 ~ec/m1 (~ec,ec)/m1 1 \ "Electrode contacts must be rectangular (Magic rules)" edge4way cc/m1 ~cc/m1 1 ~cc/m1 (~cc,cc)/m1 1 \ "Capacitor contacts must be rectangular (Magic rules)" edge4way emc/m1 ~emc/m1 1 ~emc/m1 (~emc,emc)/m1 1 \ "Emitter contacts must be rectangular (Magic rules)" edge4way clc/m1 ~clc/m1 1 ~clc/m1 (~clc,clc)/m1 1 \ "Collector contacts must be rectangular (Magic rules)" edge4way pbc/m1 ~pbc/m1 1 ~pbc/m1 (~pbc,pbc)/m1 1 \ "P-base Contacts must be rectangular (Magic rules)" edge4way nbdc/m1 ~nbdc/m1 1 ~nbdc/m1 (~nbdc,nbdc)/m1 1 \ "CCD-diffusion Contacts must be rectangular (Magic rules)" /* ---------------------------------------------------------------- */ /* Metal 1 */ /* ---------------------------------------------------------------- */ /* 7.1 + 7.2 */ width allMetal1 3 \ "First-level metal width must be at least 3 (MOSIS rule #7.1)" spacing allMetal1 allMetal1 3 touching_ok \ "First-level metal spacing must be at least 3 (MOSIS rule #7.2)" /* 7.3 + 7.4 */ /* guaranteed with 4x4 poly and diffusion contacts */ /* ---------------------------------------------------------------- */ /* Via */ /* ---------------------------------------------------------------- */ /* 8.1 + 8.2 + 8.3 */ width m2c 4 \ "Contact width must be at least 4 (MOSIS rule #8.1,2,3)" /* 8.4 + 8.5 */ /* Vias have to be on flat surface */ /* Don't allow poly or diffusion edges underneath metal2 contacts: */ edge4way allPoly ~(allPoly)/act 1 ~m2c/m2 ~(allPoly)/act 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 edge4way allPoly2 ~(allPoly2)/act 1 ~m2c/m2 ~(allPoly2)/act 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 edge4way allActive ~(allActive)/act 1 ~m2c/m2 ~(allActive)/act 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 edge4way ~(allPoly)/act allPoly 1 ~m2c/m2 allPoly 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 edge4way ~(allPoly2)/act allPoly2 1 ~m2c/m2 allPoly2 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 edge4way ~(allActive)/act allActive 1 ~m2c/m2 allActive 1 \ "Via must be on a flat surface (MOSIS rule #8.4,5)" metal2 /* ---------------------------------------------------------------- */ /* Metal 2 */ /* ---------------------------------------------------------------- */ /* 9.1 */ width allMetal2 3 \ "Second-level metal width must be at least 3 (MOSIS rule #9.1)" /* 9.2 */ spacing allMetal2 allMetal2 4 touching_ok \ "Second-level metal spacing must be at least 4 (MOSIS rule #9.2)" /* 9.3 */ /* achieved with via size of 4x4 */ /* ---------------------------------------------------------------- */ /* Via 2 */ /* ---------------------------------------------------------------- */ /* 10.1 + 10.2 + 10.3 */ /* By CIF output generation */ width m3c 4 \ "Third-level metal contact width must be at least 4 (MOSIS rule #10.1,2,3)" /* 10.4 */ edge4way m3c/m3 ~m3c/m3 1 m3 m3 1 \ "Mimimum metal3 overlap of contact must be at least 1 (MOSIS rule #10.4)" /* 10.5 */ /* guaranteed by 4x4 m2c and 4x4 m3c */ /* Via2, i.e "m3c" can overlap anything except m2c layer */ /* ---------------------------------------------------------------- */ /* Metal 3 */ /* ---------------------------------------------------------------- */ /* 11.1 */ width allMetal3 6 \ "Third-level metal width must be at least 6 (MOSIS rule #11.1)" /* 11.2 */ spacing allMetal3 allMetal3 4 touching_ok \ "Third-level metal spacing must be at least 4 from other third-level metal (MOSIS rule #11.2)" /* ---------------------------------------------------------------- */ /* Overglass */ /* ---------------------------------------------------------------- */ /* these rules are not check because they are either */ /* 1. absolute micron rules, and */ /* 2. vender/process dependent. */ /* except the metal overlap of overglass rule (10.3) can be handled */ /* case by case in CIFoutput section. */ /* MOSIS rules to make sure there are m2 under glass */ edge4way space glass 1 allMetal2 0 0 \ "There must be metal 2 under the glass openning" metal2 /* ---------------------------------------------------------------- */ /* Poly2 as Capacitor */ /* ---------------------------------------------------------------- */ /* 13.1 */ width cap,capc/act,nffet,pffet 2 \ "Electrode capacitor width must be at least 2 (MOSIS rule #13.1)" /* 13.2 + 14.2 */ spacing allPoly2 allPoly2 3 touching_ok \ "Second-level poly spacing must be at least 3 (MOSIS rule #13.2,14.2)" /* 13.3 */ edge4way cap,cc space 1 0 0 0 \ "Cap must be overlapped by poly or poly2 (MOSIS rule #13.3)" edge4way cap,cc poly 2 poly poly 2 \ "Cap must be overlapped by poly or poly2 (MOSIS rule #13.3)" edge4way cap,cc poly2 2 poly2 poly2 2 \ "Cap must be overlapped by poly or poly2 (MOSIS rule #13.3)" /* 13.4 */ edge4way nw,pw ~(nw,pw)/w 2 ~(cap,cc)/act ~(nw,pw)/w 2 \ "Cap must be on a flat surface (MOSIS rule #13.4)" active edge4way ~(nw,pw)/w nw,pw 2 ~(cap,cc)/act nw,pw 2 \ "Cap must be on a flat surface (MOSIS rule #13.4)" active edge4way cap ~(cap)/act 2 allFet,poly,poly2,space/act,cc/act \ allDiff,poly 2 "Cap must be on a flat surface (MOSIS rule #13.4)" active /* 13.5 */ /* Done by 13.3 and 13.4 */ /* ---------------------------------------------------------------- */ /* Poly2 as Transistor */ /* ---------------------------------------------------------------- */ /* 14.1 */ width allPoly2 2 \ "Electrode width must be at least 2 (MOSIS rule #14.1)" /* 14.2 */ /* Done by 13.2 */ /* 14.3 */ edge4way enfet,epfet poly2,ec/act 2 poly2,ec/act 0 0 \ "Poly2 must overhang transistor by at least 2 (MOSIS rule #14.3)" edge4way nffet,pffet cap 2 cap 0 0 \ "Cap must overhang transistor by at least 2 (MOSIS rule #14.3)" edge4way nffet ~(cap,nffet,enfet,nfet)/act 2 cap 0 0 \ "Cap must overhang doubletransistor by at least 2 (MOSIS rule #14.3)" edge4way pffet ~(cap,pffet,epfet,pfet)/act 2 cap 0 0 \ "Cap must overhang doubletransistor by at least 2 (MOSIS rule #14.3)" /* 14.4 */ edge4way allDiff,allOhmic el 1 space 0 1 \ "Poly2 and diffusion must be separated by at least 1 (MOSIS rule #14.4)" /* 14.5 */ /* 14.6 */ spacing allPoly2 pc,ndc,pdc 2 touching_illegal \ "Poly2 spacing to poly or diffusion contact must be at least 3 (MOSIS rule #14.6)" /* edge4way poly2,ec/act epfet 3 epfet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" edge4way poly2,ec/act enfet 3 enfet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" edge4way cap,capc/act pffet 3 pffet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" edge4way cap,capc/act nffet 3 nffet 0 0 \ "Transistors must be at least 3 units wide (MOSIS rule #2)" */ /* ---------------------------------------------------------------- */ /* Poly2 Contact */ /* ---------------------------------------------------------------- */ /* 15.1 + 15.2 */ width ec,capc 4 \ "Electrode contact width must be at least 4 (MOSIS rule #15.1)" /* 15.3 */ /* DOne by 13.3 */ /* 15.4 */ edge4way ec/act space 1 poly2 poly2 1 \ "Electrode contact must be overlaped by poly2 (MOSIS rule #15.4)" edge4way ec/act poly2 1 poly2 poly2 1 \ "Electrode contact must be overlaped by poly2 by 1 (MOSIS rule #15.4)" /* 15.5 */ edge4way allDiff,allOhmic ec 2 space 0 2 \ "Poly2 and diffusion contact must be separated by at least 2 (MOSIS rule #15.5)" /* ---------------------------------------------------------------- */ /* Buried CCD */ /* ---------------------------------------------------------------- */ /* 16.1 */ /* width bd 4 \ "CCD channel width must be at least 4 (MOSIS rule #16.1)" */ width nbd,nbdc,bd/act 4 \ "CCD channel width must be at least 4 (MOSIS rule #16.1)" /* 16.2 */ /* The 4 lambda spacing is a conservative guess here... */ /* This following rule will NOT work! Need to check 2 planes */ /* separately.... */ /* spacing bd/act,nbd,nbdc bd/act,nbd,nbdc 4 touching_ok \ "CCD channel spacing must be at least 4 (MOSIS rule #16.2)" */ edge4way nbd,nbdc ~(bd,nbd,nbdc)/act 4 bd,space 0 0 \ "CCD channel spacing must be at least 4 (MOSIS rule #16.2)" implant edge4way nbd,nbdc ~(nbd,nbdc)/act 4 ~(nbd,nbdc)/act ~(nbd,nbdc)/act 4 \ "CCD channel spacing must be at least 4 (MOSIS rule #16.2)" active /* 16.3 + 16.4 + 16.5 */ /* guranteed by the CIF generation */ /* 16.6 */ /* This first one check poly and electrode overhang */ edge4way bd space 2 nbd,poly,cap,el 0 0 \ "CCD channel overhang is missing (MOSIS rule #16.6)" active /* There is a problem with capacitor overhang, I have no way to do */ /* it now... */ /* MOSIS extension BCCD layout rule */ spacing nbdc poly,el 1 touching_illegal \ "CCD-diffusion contact spacing to poly must be at least 1 (MOSIS CCD rule)" edge4way nbd poly,el 1 bd 0 0 \ "Missing Buried CCD Difussion layer (MOSIS CCD rule)" implant /* ---------------------------------------------------------------- */ /* NPN Bipolar */ /* ---------------------------------------------------------------- */ /* 17.0 */ width em,emc/act 4 \ "Emitter width must be at least 4 (MOSIS Bipolar Transistor rule)" width col,clc/act 6 \ "Collector width must be at least 6 (MOSIS Bipolar Transistor rule)" /* 17.1 */ /* Explicit Nwell required for Bipolar transistors... */ edge4way pbase space/act 6 nwell space/act 6 \ "Nwell overlap of Pbase must be at least 6 (MOSIS rule #17.1)" well /* 17.2 */ /* This rule is enforced by checking whether collector is out of */ /* Nwell and the fact that collector width is required to be at */ /* least 6 */ edge4way ~col/act col 1 nwell col 1 \ "Collector must be in N-well (MOSIS rule #17.2)" well /* 17.3 */ edge4way clc (~clc)/act 1 col col 1 \ "Collector overlap of collector contact must be at least 1 (MOSIS rule #17.3)" /* 17.4 */ /* achieved by CIF output generation */ /* 17.5 */ spacing pbase,pbc/act col 4 touching_illegal \ "Pbase must be at least 4 away from collector (MOSIS rule #17.5)" /* 17.6 */ width clc,pbc,emc 4 \ "Transistor contact width must be at least 4 (MOSIS rule #17.6)" /* 17.7 */ /* achieved by CIF output generation and 4x4 emitter contact */ /* 17.8 */ edge4way emc/act,emit space 4 pbase pbase 4 \ "Emitter contact must be overlaped by pbase (MOSIS rule #17.8)" edge4way emc/act,emit pbase 4 pbase pbase 4 \ "Pbase overlap of emitter must be at least 4 (MOSIS rule #17.8)" /* 17.9 */ spacing pbc emc/act,emit 7 touching_illegal \ "Pbase must be 7 (4+2+1) away from emitter (MOSIS rule #17.9)" /* 17.10 */ edge4way pbc/act space 1 pbase pbase 1 \ "Pbase overlap of base contact must be at least 1 (MOSIS rule #17.10)" /* This is a special rule for multi-emitters transistor */ spacing em,emc/act em,emc/act 7 touching_ok \ "Unrelated emitter must be ta least 7 apart (MOSIS Bipolar transistor rule)" /* ---------------------------------------------------------------- */ /* Capacitor Well */ /* ---------------------------------------------------------------- */ /* These are DRC rules for Capacitor Well (CWell) according to HP's */ /* 1.2um linear capacitor process pi@isi.edu 9/18/92 */ /* ---------------------------------------------------------------- */ /* 18.1 */ width cwell 10 \ "Cap-well width must be at least 10 (MOSIS rule #18.1)" /* 18.2 */ spacing cwell cwell 9 touching_ok \ "Cap-well spacing must be at least 9 (MOSIS rule #18.2)" spacing cwell allWell 9 touching_illegal \ "Cap-well spacing must be at least 9 (MOSIS rule #18.2)" /* 18.3 */ spacing allFet cwell 5 touching_illegal \ "Cap-well spacing to external transistor must be at least 5 (MOSIS rule #18.3)" spacing allPOhmic cwell 3 touching_illegal \ "P-substrate diffusion and Cap-well must be separated by 3 (MOSIS rule #18.3)" /* 18.4 */ /* Need to fo this check from the Cap-well plane - in order Not */ /* to conflict with the general rules for N-diffusion */ edge4way space cwell 3 space,poly,pc/act 0 0 \ "Cap-well overlap of diffusion must be at least 3 (MOSIS rule #18.4)" active /* ---------------------------------------------------------------- */ /* Well-capacitor */ /* ---------------------------------------------------------------- */ /* These are DRC rules for Well-capacitor (wcap) according to HP's */ /* 1.2um linear capacitor process pi@isi.edu 9/18/92 */ /* Rule 19.5 and 19.6 are preliminary, they are conservative here! */ /* ---------------------------------------------------------------- */ /* 19.1 */ width wcap 3 \ "Well-capacitor must be at least 3 (MOSIS rule #19.1)" /* 19.2 */ /* achieved by rule 3.5 */ /* 19.3 */ edge4way wcap space 1 poly poly 1 \ "Well-capacitor overhang is missing (MOSIS rule #19.3)" /* 19.4 */ edge4way wcap ndiff 3 ndiff ndiff 3 \ "N-diffusion overlap of well-capacitor must be at least 3 (MOSIS rule #19.4)" /* 19.5 */ /* achieved by rule 5B.6 */ spacing wcap pc 2 touching_illegal \ "Well-capacitor spacing to poly contact must be at least 2 (MOSIS rule #19.5)" /* 19.6 */ /* similar to rule 6A.4 or 6B.6 */ spacing wcap ndc 4 touching_illegal \ "Well-capacitor spacing to diffusion contact must be at least 4 (MOSIS rule #19.6)" /* ---------------------------------------------------------------- */ /* overlapping rules */ exact_overlap m3c,m2c,ndc,pdc,pc,psc,nsc,ec,capc,clc,emc,pbc no_overlap pfet,nfet pfet,nfet no_overlap epfet,enfet epfet,enfet no_overlap pffet,nffet pffet,nffet end extract #include "scmosExt.tech" end wiring contact pdcontact 4 metal1 0 pdiff 0 contact ndcontact 4 metal1 0 ndiff 0 contact pcontact 4 metal1 0 poly 0 contact ec 6 metal1 0 poly2 0 contact m2contact 4 metal1 0 metal2 0 contact m3contact 5 metal2 0 metal3 0 end router layer1 metal1 3 allMetal1 3 layer2 metal2 3 allMetal2 4 allPoly,allDiff 1 contacts m2contact 4 gridspacing 8 end plowing fixed allFet,glass,pad covered allFet drag allFet end plot /* based on Jeffrey C. Gealow's (jgealow@mtl.mit.edu) contribution */ style colorversatec ndiff,ndc yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA ndiff,ndc cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 nsd,nsc,col,clc yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 nsd,nsc,col,clc cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 pdiff,pdc yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA pdiff,pdc cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 pdiff,pdc magenta \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 psd,psc yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 psd,psc cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 psd,psc magenta \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 poly,pc/active magenta \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA poly2,ec/active yellow \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF nfet yellow \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 nfet cyan \ 0000 0505 0000 1414 \ 0000 5050 0000 4141 \ 0000 0505 0000 1414 \ 0000 5050 0000 4141 nfet magenta \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A enfet yellow \ BABA 7575 EAEA D5D5 \ ABAB 5757 AEAE 5D5D \ BABA 7575 EAEA D5D5 \ ABAB 5757 AEAE 5D5D enfet cyan \ 4141 0A0A 0505 2828 \ 1414 A0A0 5050 8282 \ 4141 0A0A 0505 2828 \ 1414 A0A0 5050 8282 nffet yellow \ 8E8E 0707 8B8B D5D5 \ E8E8 7070 B8B8 5D5D \ 8E8E 0707 8B8B D5D5 \ E8E8 7070 B8B8 5D5D nffet cyan \ 0101 0808 1414 2828 \ 1010 8080 4141 8282 \ 0101 0808 1414 2828 \ 1010 8080 4141 8282 nffet magenta \ 5050 A0A0 4040 0202 \ 0505 0A0A 0404 2020 \ 5050 A0A0 4040 0202 \ 0505 0A0A 0404 2020 pfet yellow \ 6363 A0A0 5050 2828 \ 3636 0A0A 0505 8282 \ 6363 A0A0 5050 2828 \ 3636 0A0A 0505 8282 pfet cyan \ 0000 5151 0000 5454 \ 0000 1515 0000 1515 \ 0000 5151 0000 5454 \ 0000 1515 0000 1515 pfet magenta \ 9494 0A0A 2525 8282 \ 4949 A0A0 5252 2828 \ 9494 0A0A 2525 8282 \ 4949 A0A0 5252 2828 epfet yellow \ BCBC 4F4F 2F2F D3D3 \ CBCB F4F4 F2F2 3D3D \ BCBC 4F4F 2F2F D3D3 \ CBCB F4F4 F2F2 3D3D epfet cyan \ 0000 A0A0 0000 2828 \ 0000 0A0A 0000 8282 \ 0000 A0A0 0000 2828 \ 0000 0A0A 0000 8282 epfet magenta \ 4141 0000 5050 0000 \ 1414 0000 0505 0000 \ 4141 0000 5050 0000 \ 1414 0000 0505 0000 pffet yellow \ 7B7B F0F0 F0F0 E9E9 \ B7B7 0F0F 0F0F 9E9E \ 7B7B F0F0 F0F0 E9E9 \ B7B7 0F0F 0F0F 9E9E pffet cyan \ 0000 0101 0000 1414 \ 0000 1010 0000 4141 \ 0000 0101 0000 1414 \ 0000 1010 0000 4141 pffet magenta \ 8484 0A0A 2525 8282 \ 4848 A0A0 5252 2828 \ 8484 0A0A 2525 8282 \ 4848 A0A0 5252 2828 cap,cc/active yellow \ 3E3E 7777 E3E3 C1C1 \ E3E3 7777 3E3E 1C1C \ 3E3E 7777 E3E3 C1C1 \ E3E3 7777 3E3E 1C1C cap,cc/active magenta \ 4141 8888 1414 2A2A \ 1414 8888 4141 A2A2 \ 4141 8888 1414 2A2A \ 1414 8888 4141 A2A2 allMetal1 cyan \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 allMetal2 cyan \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 allMetal2 magenta \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 m2c/m1 black \ 0000 6666 6666 0000 \ 0000 9999 9999 0000 \ 0000 6666 6666 0000 \ 0000 9999 9999 0000 pad,pad2,glass black \ 0300 0700 0E00 1C00 \ 3800 7000 E000 C000 \ 00C0 00E0 0070 0038 \ 001C 000E 0007 0003 nwell yellow \ 0800 1000 2000 4000 \ 8000 0001 0002 0004 \ 0008 0010 0020 0040 \ 0080 0010 0200 0400 nwell cyan \ 1000 2000 4000 8000 \ 0001 0002 0004 0008 \ 0010 0020 0040 0080 \ 0100 0200 0400 0800 pwell yellow \ 1000 0400 0400 0100 \ 0100 0040 0040 0010 \ 0010 0004 0004 0001 \ 0001 4000 4000 1000 pwell cyan \ 0000 0800 0000 0200 \ 0000 0080 0000 0020 \ 0000 0008 0000 0002 \ 0000 8000 0000 2000 pwell magenta \ 0800 0000 0200 0000 \ 0080 0000 0020 0000 \ 0008 0000 0002 0000 \ 8000 0000 2000 0000 bd yellow \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 bd cyan \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 bd magenta \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 nbd,nbdc yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA nbd,nbdc cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 nbd,nbdc magenta \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 \ 8888 0000 8888 0000 em,emc yellow \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 \ 4444 8888 4444 8888 em,emc cyan \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 \ 0000 4444 0000 4444 pbase,pbc yellow \ 5555 AAAA 0000 0000 \ 5555 AAAA 0000 0000 \ 5555 AAAA 0000 0000 \ 5555 AAAA 0000 0000 pbase,pbc cyan \ 0000 5555 0000 0000 \ 0000 5555 0000 0000 \ 0000 5555 0000 0000 \ 0000 5555 0000 0000 pbase,pbc magenta \ AAAA 0000 0000 0000 \ AAAA 0000 0000 0000 \ AAAA 0000 0000 0000 \ AAAA 0000 0000 0000 allMetal3 black \ 0100 0000 0000 0000 \ 1010 0000 0000 0000 \ 0001 0000 0000 0000 \ 1010 0000 0000 0000 allMetal3 cyan \ 0280 0000 0820 0000 \ 2008 0000 8002 0000 \ 8002 0000 2008 0000 \ 0820 0000 0280 0000 allMetal3 magenta \ 0100 06C0 0440 1830 \ 1010 600C 4004 8003 \ 0001 C006 4004 3018 \ 1010 0C60 0440 0380 m3c/m2 black \ 0820 0820 0820 0FE0 \ E00F 2008 2008 2008 \ 2008 2008 2008 E00F \ 0000 0FE0 0820 0820 error_p,error_s,error_ps black \ 0000 3C3C 4646 4A4A \ 5252 6262 3C3C 0000 \ 0000 3C3C 4646 4A4A \ 5252 6262 3C3C 0000 magnet yellow \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 fence magenta \ FFFF 0000 0000 0000 \ 0000 0000 0000 0000 \ FFFF 0000 0000 0000 \ 0000 0000 0000 0000 rotate cyan \ 0000 E0E0 E0E0 E0E0 \ 0000 0000 0000 0000 \ 0000 E0E0 E0E0 E0E0 \ 0000 0000 0000 0000 allCut,BiCut X style versatec pfet \ 07c0 0f80 1f00 3e00 \ 7c00 f800 f001 e003 \ c007 800f 001f 003e \ 00c7 00f8 01f0 03e0 nfet \ 1f00 0f80 07c0 03e0 \ 01f0 00f8 007c 003e \ 001f 800f c007 e003 \ f001 f800 7c00 3e00 m2c \ c3c3 c3c3 0000 0000 \ 0000 0000 c3c3 c3c3 \ c3c3 c3c3 0000 0000 \ 0000 0000 c3c3 c3c3 pwell \ 2020 2020 2020 2020 \ 2020 2020 2020 2020 \ 0000 0000 0000 0000 \ 0000 0000 0000 0000 nwell \ 0808 0404 0202 0101 \ 0000 0000 0000 0000 \ 0808 0404 0202 0101 \ 0000 0000 0000 0000 allPoly \ 0808 0400 0202 0101 \ 8080 4000 2020 1010 \ 0808 0004 0202 0101 \ 8080 0040 2020 1010 allMetal1 \ 8080 0000 0000 0000 \ 0808 0000 0000 0000 \ 8080 0000 0000 0000 \ 0808 0000 0000 0000 pad,pad2,glass \ 0000 0000 1c1c 3e3e \ 3636 3e3e 1c1c 0000 \ 0000 0000 1c1c 3e3e \ 3636 3e3e 1c1c 0000 nsd,nsc,col,clc \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 allMetal2 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 pdiff,pdc,pfet \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 psd,psc \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 ndiff,nfet,ndc \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 allPoly2 \ 0000 2020 5050 2020 \ 0000 0202 0505 0202 \ 0000 2020 5050 2020 \ 0000 0202 0505 0202 allCut,BiCut X /* -------------------------------------------------------------- */ style gremlin pfet 9 nfet 10 m2c 11 pwell 15 nwell 16 allPoly 19 allMetal1 22 pad,glass 23 nsd,nsc 24 allMetal2 28 pdiff,pdc,pfet 29 psd,psc 30 ndiff,nfet,ndc 31 m2c/m1,pc/m1,ndc/m1,pdc/m1,ppc/m1,nsc/m1,pad/m1 X end