tech version 30 scmos end version version 2003 description "SCMOS: Generic 9-metal layer process with stacked contacts" end # NOTES: # This tech file is designed to be used with magic version 7.3.4 or newer. # The stacked contacts are not compatible with magic versions 7.2 or earlier. planes well,w active,a metal1,m1 metal2,m2 metal3,m3 metal4,m4 metal5,m5 metal6,m6 metal7,m7 metal8,m8 metal9,m9 oxide,ox comment,c end types well nwell,nw well pwell,pw well rnwell,rnw,wellres active ntransistor,nfet active ptransistor,pfet active ndiffusion,ndif,green active pdiffusion,pdif,brown active rndiffusion,rndiff,rnd active rpdiffusion,rpdiff,rpd active ndcontact,ndc active pdcontact,pdc active psubstratepdiff,ppdiff,ppd,psd active nsubstratendiff,nndiff,nnd,nsd active psubstratepcontact,pwcontact,pwc,psc active nsubstratencontact,nwcontact,nwc,nsc active polysilicon,red,poly,p,pl active polycontact,pcontact,polycut,pc,pl-m1 active rpoly,rp,resistor,res active obsact metal1 metal1,m1,blue metal1 obsm1 metal1 m2contact,m2cut,m2c,via,v,via12,m1-m2 metal2 metal2,m2,purple metal2 obsm2 metal2 m3contact,m3cut,m3c,via2,v2,via23,m2-m3 metal3 metal3,m3,cyan metal3 m4contact,m4cut,m4c,via3,v3,via34,m3-m4 metal4 metal4,m4,yellow metal4 m5contact,m5cut,m5c,via4,v4,via45,m4-m5 metal5 metal5,m5 metal5 m6contact,m6cut,m6c,via5,v5,via56,m5-m6 metal6 metal6,m6 metal6 m7contact,m7cut,m7c,via6,v6,via67,m6-m7 metal7 metal7,m7 metal7 m8contact,m8cut,m8c,via7,v7,via78,m7-m8 metal8 metal8,m8 metal8 m9contact,m9cut,m9c,via8,v8,via89,m8-m9 metal9 metal9,m9,topmetal,mtop metal9 pad oxide glass comment comment end contact pc poly metal1 ndc ndiff metal1 pdc pdiff metal1 nsc nsd metal1 psc psd metal1 m2c metal1 metal2 m3c metal2 metal3 m4c metal3 metal4 m5c metal4 metal5 m6c metal5 metal6 m7c metal6 metal7 m8c metal7 metal8 m9c metal8 metal9 stackable end styles styletype mos nwell nwell pwell pwell ndiff ndiffusion pdiff pdiffusion obsact ndop_stripes nsd ndiff_in_nwell psd pdiff_in_pwell nfet ntransistor ntransistor_stripes pfet ptransistor ptransistor_stripes ndc ndiffusion metal1_alt contact_X'es pdc pdiffusion metal1_alt contact_X'es nsc ndiff_in_nwell metal1_alt contact_X'es psc pdiff_in_pwell metal1_alt contact_X'es poly polysilicon pc poly_contact contact_X'es metal1 metal1 obsm1 metal1tight m2c metal1 metal2 contact_waffle metal2 metal2 obsm2 metal2tight m3c metal2 metal3 via2 metal3 metal3 m4c metal3 metal4 via3 metal4 metal4 m5c metal4 metal5 via4 metal5 metal5 m6c metal5 metal6 via5 metal6 metal6 m7c metal6 metal7 via6 metal7 metal7 m8c metal7 metal8 via7 metal8 metal8 m9c metal8 metal9 via8 metal9 metal9 pad metal8 metal9 overglass via8 glass overglass res poly_resist poly_resist_stripes rnd ndiffusion poly_resist_stripes rpd pdiffusion nwell_field_implant rnw nwell nwell_field_implant comment comment error_p error_waffle error_s error_waffle error_ps error_waffle magnet via5 rotate via6 fence via7 end compose compose nfet poly ndiff compose pfet poly pdiff paint ndc nwell pdc paint nfet nwell pfet paint ndiff nwell pdiff paint psd nwell nsd paint psc nwell nsc paint pdc pwell ndc paint pfet pwell nfet paint pdiff pwell ndiff paint nsd pwell psd paint nsc pwell psc paint pad m1 pad paint pad m2c pad paint pad m2 pad paint pad m3 pad paint pad m4 pad paint pad m5 pad paint pad m6 pad paint pad m7 pad paint pad m8 pad paint pad m9 pad paint m1 obsm1 m1 paint m2c obsm1 m2c paint m2 obsm2 m2 paint m3c obsm2 m3c paint poly obsact poly paint pc obsact pc end connect nwell,*nsd nwell,*nsd pwell,*psd pwell,*psd *m1 *m1 *m2 *m2 *m3 *m3 *m4 *m4 *m5 *m5 *m6 *m6 *m7 *m7 *m8 *m8 *m9 *m9 *ndiff,*nsd,*pdiff,*psd *ndiff,*nsd,*pdiff,*psd *poly,nfet,pfet *poly,nfet,pfet pad m1,m2,m3,m4,m5,m6,m7,m8,m9 end cifoutput style lambda=0.065 scalefactor 65 nanometers layer CWN nwell,rnw bloat-or *pdiff,pfet * 390 bloat-or *nsd * 195 grow 195 shrink 195 calma 21 0 templayer TNS ndc/m1,nsc/m1 grow 36 templayer TPS pdc/m1,psc/m1 grow 36 #diffusion auto-nselect (will have priority) templayer XDN bloat-or *ndiff,rnd * 130 *psd 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP bloat-or *pdiff,rpd * 130 *nsd 0 or TPS #final pselect templayer FSP bloat-or *pdiff,*psd,rpd,pfet * 180 *ndiff,*nsd,rnd,nfet 0 or XDP #give diff nselect priority and-not XDN or TPS shrink 100 grow 100 grow 100 shrink 100 #final nselect templayer FSN bloat-or *ndiff,*nsd,rnd,nfet * 180 *pdiff,*psd,rpd,pfet 0 or XDN #never conflict with final pselect and-not FSP #drawn select always goes or TNS shrink 100 grow 100 grow 100 shrink 100 layer CSN FSN calma 32 0 layer CSP FSP calma 31 0 layer CAA *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd labels *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd calma 22 0 layer CCA ndc/m1,nsc/m1 squares 65 130 260 calma 33 0 layer CCA pdc/m1,psc/m1 squares 65 130 260 calma 33 0 layer CPG *poly,rp,nfet,pfet labels *poly,rp,nfet,pfet calma 30 0 layer CCP pc/m1 squares 65 130 260 calma 33 0 layer CVA m2c/m1 squares 65 195 195 calma 35 0 layer CVS m3c/m2 squares 65 195 195 calma 38 0 layer CVT m4c/m3 squares 65 195 195 calma 40 0 layer CVQ m5c/m4 squares 65 195 195 calma 41 0 layer CV5 m6c/m5 squares 65 195 195 calma 82 0 layer CV6 m7c/m6 squares 65 195 195 calma 127 0 layer CV7 m8c/m7 squares 65 195 195 calma 129 0 layer CV8 m9c/m8 squares 65 360 360 calma 130 0 templayer XPAD1 pad shrink 54 templayer XPAD2 XPAD1 shrink 54 layer CM8 pad calma 53 0 layer CV7 XPAD2 squares 65 360 520 calma 129 0 layer CM7 pad calma 128 0 layer CV6 XPAD2 squares 520 195 585 calma 127 0 layer CM6 pad calma 126 0 layer CV5 XPAD2 squares 130 195 585 calma 82 0 layer CMP pad calma 81 0 layer CVQ XPAD2 squares 520 195 585 calma 41 0 layer CMQ pad calma 46 0 layer CVT XPAD2 squares 130 195 585 calma 40 0 layer CMT pad calma 42 0 layer CVS XPAD2 squares 520 195 585 calma 38 0 layer CMS pad calma 36 0 layer CVA XPAD2 squares 130 195 585 calma 35 0 layer CMF pad calma 34 0 layer CMF *m1 labels *m1 calma 34 0 templayer BM2 *m2 shrink 100 grow 100 layer CMS *m2 and-not BM2 grow 5 or BM2 labels *m2 calma 36 0 templayer BM3 *m3 shrink 100 grow 100 layer CMT *m3 and-not BM3 grow 5 or BM3 labels *m3 calma 42 0 templayer BM4 *m4 shrink 100 grow 100 layer CMQ *m4 and-not BM4 grow 5 or BM4 labels *m4 calma 46 0 templayer BM5 *m5 shrink 100 grow 100 layer CMP *m5 and-not BM5 grow 5 or BM5 labels *m5 calma 81 0 templayer BM6 *m6 shrink 100 grow 100 layer CM6 *m6 and-not BM6 grow 5 or BM6 labels *m6 calma 126 0 templayer BM7 *m7 shrink 100 grow 100 layer CM7 *m7 and-not BM7 grow 5 or BM7 labels *m7 calma 128 0 layer CM8 *m8 labels *m8 calma 53 0 layer CM9 *m9 labels *m9 calma 54 0 layer COG pad shrink 364 or glass calma 37 0 render CWN 12 -0.2 0.2 render CAA 2 -0.15 0.15 render CPG 1 0.025 0.05 render CCA 19 0.0 0.2 render CCP 19 0.075 0.125 render CMF 20 0.2 0.05 render CVA 19 0.25 0.05 render CMS 21 0.3 0.05 render CVS 19 0.35 0.05 render CMT 22 0.4 0.05 render CVT 19 0.45 0.05 render CMQ 23 0.5 0.05 render CVQ 19 0.55 0.05 render CMP 24 0.6 0.05 render CV5 19 0.65 0.05 render CM6 64 0.7 0.05 render CV6 19 0.75 0.05 render CM7 65 0.8 0.05 render CV7 19 0.85 0.05 render CM8 66 0.9 0.05 style lambda=0.09(p) scalefactor 9 layer CWN nwell,rnw bloat-or *pdiff,rpd,pfet * 54 bloat-or *nsd * 27 grow 27 shrink 27 calma 42 0 layer CWP pwell bloat-or *ndiff,rnd,nfet * 54 bloat-or *psd * 27 grow 27 shrink 27 and-not CWN calma 41 0 templayer TNS ndc/m1,nsc/m1 grow 5 templayer TPS pdc/m1,psc/m1 grow 5 #diffusion auto-nselect (will have priority) templayer XDN bloat-or *ndiff,rnd * 18 *psd 0 or TNS #diffusion auto-pselect (will have priority) templayer XDP bloat-or *pdiff,rpd * 18 *nsd 0 or TPS #final pselect templayer FSP bloat-or *pdiff,rpd,pfet,*psd * 18 *ndiff,rnd,*nsd,nfet 0 or XDP #give diff nselect priority and-not XDN or TPS shrink 14 grow 14 grow 14 shrink 14 #final nselect templayer FSN bloat-or *ndiff,rnd,nfet,*nsd * 18 *pdiff,rpd,*psd,pfet 0 or XDN #never conflict with final pselect and-not FSP #drawn select always goes or TNS shrink 14 grow 14 grow 14 shrink 14 layer CAA *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd labels *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd calma 43 0 layer CCA ndc/m1,nsc/m1 squares 09 18 36 calma 48 0 layer CCA pdc/m1,psc/m1 squares 09 18 36 calma 48 0 layer CPG *poly,rp,nfet,pfet labels *poly,rp,nfet,pfet calma 46 0 layer CCP pc/m1 squares 09 18 36 calma 47 0 layer CVA m2c/m1 squares 09 27 27 calma 50 0 layer CVS m3c/m2 squares 09 27 27 calma 61 0 layer CVT m4c/m3 squares 09 27 27 calma 30 0 layer CVQ m5c/m4 squares 09 27 27 calma 32 0 layer CV5 m6c/m5 squares 09 36 36 calma 36 0 templayer XPAD1 pad shrink 54 templayer XPAD2 XPAD1 shrink 54 layer CM6 pad calma 37 0 layer CV5 XPAD2 squares 09 36 72 calma 36 0 layer CMP pad calma 33 0 layer CVQ XPAD2 squares 72 27 81 calma 32 0 layer CMQ pad calma 31 0 layer CVT XPAD2 squares 18 27 81 calma 30 0 layer CMT pad calma 62 0 layer CVS XPAD2 squares 72 27 81 calma 61 0 layer CMS pad calma 51 0 layer CVA XPAD2 squares 18 27 81 calma 50 0 layer CMF pad calma 49 0 layer CMF *m1 labels *m1 calma 49 0 layer CMS *m2 labels *m2 calma 51 0 layer CMT *m3 labels *m3 calma 62 0 layer CMQ *m4 labels *m4 calma 31 0 layer CMP *m5 labels *m5 calma 33 0 layer CM6 *m6 labels *m6 calma 37 0 layer COG pad shrink 504 or glass calma 52 0 #CRE/CRM layer CRW rnw calma 65 0 layer CRG rp calma 67 0 layer CRD rnd,rpd calma 66 0 layer CRE rnw,rp,rnd,rpd calma 64 0 layer CX comment calma 63 0 end cifinput style lambda=0.065(chartered) scalefactor 65 nanometers layer nwell CWN and-not CRW labels CWN calma CWN 42 * layer rnw CWN and CRW calma CWN 42 * layer pwell CWP labels CWP calma CWP 41 * layer ndiff CAA and-not CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer rnd CAA and CRD and-not CPG and-not CWN and-not CSP and CSN calma CAA 43 * layer pdiff CAA and-not CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer rpd CAA and CRD and-not CPG and CWN and-not CSN and CSP calma CAA 43 * layer nfet CAA and CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer pfet CAA and CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer nsd CAA and CWN and CSN and-not CSP labels CAA calma CAA 43 * layer psd CAA and-not CWN and-not CSN and CSP labels CAA calma CAA 43 * layer ndc CCA,CCC and CAA and CSN and-not CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer nsc CCA,CCC and CAA and CSN and CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer pdc CCA,CCC and CAA and CSP and CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer psc CCA,CCC and CAA and CSP and-not CWN and CMF grow 65 grow 65 shrink 65 calma CCA 48 * layer poly CPG labels CPG calma CPG 46 * layer rp CPG and CRG calma CPG 46 * layer pc CCP,CCC and CPG and-not CAA grow 65 and CMF grow 65 shrink 65 calma CCP 47 * layer m2c CVA and-not XP grow 65 and CMS and CMF grow 35 shrink 35 calma CVA 50 * layer m1 CMF and-not XP labels CMF calma CMF 49 * layer m2 CMS and-not XP labels CMS calma CMS 51 * layer m3c CVS and-not XP grow 65 and CMT and CMS grow 35 shrink 35 calma CVS 61 * layer m3 CMT and-not XP labels CMT calma CMT 62 * layer m4 CMQ and-not XP labels CMQ calma CMQ 31 * layer m4c CVT and-not XP grow 65 and CMQ and CMT grow 65 shrink 65 calma CVT 30 * layer m5 CMP and-not XP labels CMP calma CMP 33 * layer m5c CVQ and-not XP grow 65 and CMP and CMQ grow 65 shrink 65 calma CVQ 32 * layer m6 CM6 and-not XP labels CM6 calma CM6 37 * layer m6c CV5 and-not XP grow 65 and CM6 and CMP grow 65 shrink 65 calma CV5 36 * layer m7 CM7 and-not XP labels CM7 calma CM7 128 * layer m7c CV6 and-not XP grow 65 and CM7 and CM6 grow 65 shrink 65 calma CV6 127 * layer m8 CM8 and-not XP labels CM8 calma CM8 53 * layer m9 CM9 and-not XP labels CM9 calma CM9 54 * layer m8c CV7 and-not XP grow 65 and CM8 and CM7 grow 65 shrink 65 calma CV7 129 * layer m9c CV8 and-not XP grow 65 and CM9 and CM8 grow 65 shrink 65 calma CV8 130 * layer pad XP labels pad calma XP 26 * layer glass COG and-not XP labels COG calma COG 52 * style lambda=0.09(p) scalefactor 09 layer nwell CWN and-not CRW labels CWN calma CWN 42 * layer rnw CWN and CRW calma CWN 42 * layer pwell CWP labels CWP calma CWP 41 * layer ndiff CAA and-not CRD and-not CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer rnd CAA and CRD and-not CPG and-not CWN and-not CSP and CSN calma CAA 43 * layer pdiff CAA and-not CRD and-not CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer rpd CAA and CRD and-not CPG and CWN and-not CSN and CSP calma CAA 43 * layer nfet CAA and CPG and-not CWN and-not CSP and CSN labels CAA calma CAA 43 * layer pfet CAA and CPG and CWN and-not CSN and CSP labels CAA calma CAA 43 * layer nsd CAA and CWN and CSN and-not CSP labels CAA calma CAA 43 * layer psd CAA and-not CWN and-not CSN and CSP labels CAA calma CAA 43 * layer ndc CCA,CCC and CAA and CSN and-not CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer nsc CCA,CCC and CAA and CSN and CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer pdc CCA,CCC and CAA and CSP and CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer psc CCA,CCC and CAA and CSP and-not CWN and CMF grow 09 grow 9 shrink 9 calma CCA 48 * layer poly CPG and-not CRG labels CPG calma CPG 46 * layer rp CPG and CRG calma CPG 46 * layer pc CCP,CCC and CPG and-not CAA grow 09 and CMF grow 9 shrink 9 calma CCP 47 * layer m2c CVA and-not XP grow 09 and CMS and CMF grow 5 shrink 5 calma CVA 50 * layer m1 CMF and-not XP labels CMF calma CMF 49 * layer m2 CMS and-not XP labels CMS calma CMS 51 * layer m3c CVS and-not XP grow 09 and CMT and CMS grow 5 shrink 5 calma CVS 61 * layer m3 CMT and-not XP labels CMT calma CMT 62 * layer m4 CMQ and-not XP labels CMQ calma CMQ 31 * layer m4c CVT and-not XP grow 09 and CMQ and CMT grow 09 shrink 09 calma CVT 30 * layer m5 CMP and-not XP labels CMP calma CMP 33 * layer m5c CVQ and-not XP grow 09 and CMP and CMQ grow 09 shrink 09 calma CVQ 32 * layer m6 CM6 and-not XP labels CM6 calma CM6 37 * layer m6c CV5 and-not XP grow 09 and CM6 and CMP grow 09 shrink 09 calma CV5 36 * layer pad XP labels pad calma XP 26 * layer glass COG and-not XP labels COG calma COG 52 * layer comment CX labels CX calma CX 63 * end mzrouter style irouter # layer hCost vCost jogCost hintCost layer metal6 2 1 2 1 layer metal5 1 2 2 1 layer metal4 2 1 2 1 layer metal3 1 2 2 1 layer metal2 2 1 2 1 layer metal1 2 3 2 1 layer poly 10 10 11 1 contact m6contact metal6 metal5 2 contact m5contact metal5 metal4 3 contact m4contact metal4 metal3 4 contact m3contact metal3 metal2 5 contact m2contact metal2 metal1 6 contact pcontact metal1 poly 7 notactive poly pcontact style garouter layer m2 32 64 256 1 layer m1 64 32 256 1 contact m2contact metal1 metal2 1024 end drc width nwell 12 \ "N-well width < 12 (#NW.1a)" width rnw 28 \ "rnwell (for resistor L/W extraction) width < 28 (Mosis #1.1)" width pwell 12 \ "P-well width < 12 (Mosis #1.1)" width *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd 3 \ "Diffusion width < 3 (#DF.1a)" edge4way *nsd *pdiff,rpd 4 ~(*nsd)/active *pdiff,rpd 4 \ "P-Diffusion width in N-Ohmic < 4 (Mosis #2.1)" edge4way *psd *ndiff,rnd 4 ~(*psd)/active *ndiff,rnd 4 \ "N-Diffusion width in P-Ohmic < 4 (Mosis #2.1)" edge4way *pdiff,rpd *nsd 4 ~(*pdiff,rpd)/active *nsd 4 \ "N-Ohmic width in P-Diffusion < 4 (Mosis #2.1)" edge4way *ndiff,rnd *psd 4 ~(*ndiff,rnd)/active *psd 4 \ "P-Ohmic width in N-Diffusion < 4 (Mosis #2.1)" width *poly,rp,nfet,pfet 2 \ "Poly width < 2 (Mosis #3.1)" width *ndiff,rnd,*nsd 3 \ "N-Diffusion,N-Ohmic width < 3 (Mosis #4.4)" width *pdiff,rpd,*psd 3 \ "P-Diffusion,P-Ohmic width < 3 (Mosis #4.4)" width pc/m1 4 \ "Poly contact width < 4 (Mosis #5.1)" width ndc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width nsc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width pdc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width psc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)" width (*m1)/m1 3 \ "Metal1 width < 3 (Mosis #7.1)" width (*m2)/m2 3 \ "Metal2 width < 3 (Mosis #9.1)" width (*m3)/m3 3 \ "Metal3 width < 3 (Mosis #15.1)" width (*m4)/m4 3 \ "Metal4 width < 3 (Mosis #22.1)" width (*m5)/m5 3 \ "Metal5 width < 3 (Mosis #26.2)" width (*m6)/m6 3 \ "Metal6 width < 3 (#M6.1)" width (*m7)/m7 3 \ "Metal7 width < 3 (#M7.1)" width (*m8)/m8 3 \ "Metal8 width < 3 (#M8.1)" width (*m9)/m9 7 \ "Metal9 width < 7 (#M9.1)" width m2c 5 \ "Via1 width < 5 (#V1.1)" width m3c 5 \ "Via2 width < 5 (#V2.1)" width m4c 5 \ "Via3 width < 5 (#V3.1)" width m5c 5 \ "Via4 width < 5 (#V4.1)" width m6c 5 \ "Via5 width < 5 (#V5.1)" width m7c 5 \ "Via6 width < 5 (#V6.1)" width m8c 5 \ "Via7 width < 5 (#V7.1)" width m9c 9 \ "Via8 width < 9 (#V8.1)" spacing nwell nwell 6 touching_ok \ "N-well(at-same-potential) spacing < 6 (Mosis #1.3)" spacing pwell pwell 6 touching_ok \ "P-well(at-same-potential) spacing < 6 (Mosis #1.3)" spacing rnw nwell 18 touching_illegal \ "rnw (for resistor L/W extraction) spacing to N-well < 18 (Mosis #2.3)" edge4way ~(pwell)/well pwell 1 ~(rnw)/active 0 0 \ "P-well cannot touch rnw (for resistor L/W extraction) (Mosis #1.4)" spacing *ndiff,rnd,*nsd,*pdiff,rpd,*psd,nfet,pfet \ *ndiff,rnd,*nsd,*pdiff,rpd,*psd,nfet,pfet 3 touching_ok \ "Diffusion spacing < 3 (Mosis #2.2)" spacing nwell *ndiff,rnd,nfet 6 touching_illegal \ "N-well spacing to N-Diffusion < 6 (Mosis #2.3)" spacing pwell *pdiff,rpd,pfet 6 touching_illegal \ "P-well spacing to P-Diffusion < 6 (Mosis #2.3)" spacing *ndiff,rnd,nfet *pdiff,rpd,pfet 12 touching_illegal \ "N-Diffusion spacing to P-Diffusion < 12 (Mosis #2.3+2.3)" surround *pdiff,rpd,pfet nwell 6 absence_ok \ "N-well overlap of P-Diffusion < 6 (Mosis #2.4)" surround *ndiff,rnd,nfet pwell 6 absence_ok \ "P-well overlap of N-Diffusion < 6 (Mosis #2.4)" surround *nsd nwell 3 absence_ok \ "N-well overlap of N-Ohmic < 3 (Mosis #2.4)" surround *psd pwell 3 absence_ok \ "P-well overlap of P-Ohmic < 3 (Mosis #2.4)" spacing *ndiff,rnd *nsd 9 touching_illegal \ "N-Diffusion spacing to N-Ohmic < 9 (Mosis #2.3+2.4)" spacing *pdiff,rpd *psd 9 touching_illegal \ "P-Diffusion spacing to P-Ohmic < 9 (Mosis #2.3+2.4)" spacing nwell *psd 3 touching_illegal \ "N-well spacing to P-Ohmic < 3 (Mosis #2.4)" spacing pwell *nsd 3 touching_illegal \ "P-well spacing to N-Ohmic < 3 (Mosis #2.4)" spacing *psd rnw 3 touching_illegal \ "P-Ohmic spacing to rnw < 3 (Mosis #2.4)" spacing *nsd *psd 6 touching_illegal \ "N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)" spacing *ndiff,rnd,nfet *psd 4 touching_ok \ "N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)" spacing *pdiff,rpd,pfet *nsd 4 touching_ok \ "P-Diffusion spacing to N-Ohmic < 4 (Mosis #2.5)" spacing *poly,rp,nfet,pfet *poly,rp,nfet,pfet 3 touching_ok \ "Poly spacing < 3 (Mosis #3.2)" spacing nfet,pfet nfet,pfet 4 touching_ok \ "Poly spacing < 4 (Mosis #3.2.a)" overhang *poly,rp nfet,pfet 3 \ "Poly overhang of Transistor < 3 (Mosis #3.3)" overhang *ndiff,rnd,*pdiff,rpd nfet,pfet 4 \ "N-Diffusion,P-Diffusion overhang of Transistor < 4 (Mosis #3.4)" edge4way *poly,rp ~(*poly,rp,nfet,pfet)/active 1 space space 1 \ "Poly spacing to Diffusion < 1 (Mosis #3.5)" edge4way nfet ~(nfet)/active 4 ~(*psd)/active ~(nfet)/active 3 \ "N-Transistor space to P-Ohmic < 4 (Mosis #4.1)" edge4way pfet ~(pfet)/active 4 ~(*nsd)/active ~(pfet)/active 3 \ "P-Transistor space to N-Ohmic < 4 (Mosis #4.1)" area *nsd,*psd 16 3 \ "Ohmic-Diffusion area < 16 (Mosis #+++)" edge4way *ndiff,rnd *psd 2 ~(*ndiff,rnd)/active 0 0 \ "P-Ohmic (that touches N-Diffusion) width < 2 (Mosis #4.4)" edge4way *pdiff,rpd *nsd 2 ~(*pdiff,rpd)/active 0 0 \ "N-Ohmic (that touches P-Diffusion) width < 2 (Mosis #4.4)" spacing *poly,rp pc/a 4 touching_ok \ "Poly spacing to Poly contact < 4 (Mosis #5.5.b)" spacing pc/a pc/a 2 touching_ok \ "Poly contact spacing < 2 (Mosis #6.3)" spacing ndc/a,pdc/a,psc/a,nsc/a ndc/a,pdc/a,psc/a,nsc/a 2 touching_ok \ "Diffusion contact spacing < 2 (Mosis #6.3)" # edge4way *ndiff,rnd ~(*ndiff,rnd)/active 0 ~(pdc/a,psc/a)/active \ # ~(*ndiff,rnd)/active 0 \ # "N-Diffusion space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *pdiff,rpd ~(*pdiff,rpd)/active 0 ~(ndc/a,nsc/a)/active \ # ~(*pdiff,rpd)/active 0 \ # "P-Diffusion space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *nsd ~(*nsd)/active 0 ~(pdc/a,psc/a)/active ~(*nsd)/active 0 \ # "N-Ohmic space to Diffusion contact < 0 (Mosis #6.2x)" # edge4way *psd ~(*psd)/active 0 ~(ndc/a,nsc/a)/active ~(*psd)/active 0 \ # "P-Ohmic space to Diffusion contact < 0 (Mosis #6.2x)" spacing nsc/m1 pdc/m1 2 touching_illegal \ "nsc spacing to pdc < 2 (Mosis #6.3)" spacing psc/m1 ndc/m1 2 touching_illegal \ "psc spacing to ndc < 2 (Mosis #6.3)" spacing nfet,pfet ndc/a,pdc/a,nsc/a,psc/a 1 touching_illegal \ "N-Transistor,P-Transistor spacing to Diffusion contact < 1 (Mosis #6.4)" spacing *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd pc/a 1 touching_illegal \ "Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)" spacing *ndiff,rnd,nfet,*nsd,*pdiff,rpd,pfet,*psd ndc/a,pdc/a,psc/a,nsc/a \ 4 touching_ok \ "Diffusion spacing to Diffusion contact < 4 (Mosis #6.5.b)" spacing pc/a ndc/a,pdc/a,psc/a,nsc/a 2 touching_illegal \ "Poly contact spacing to Diffusion contact < 2 (Mosis #6.7)" spacing *m1 *m1 3 touching_ok \ "Metal1 spacing < 3 (Mosis #7.2)" widespacing m1 153 m1 10 touching_ok \ "Spacing to wide (> 10um) metal1 < 10 (#M1.2B)" spacing *m2 *m2 4 touching_ok \ "Metal2 spacing < 4 (Mosis #9.2)" width glass 10 \ "overglass width < 10 (Mosis #10.2)" surround glass pad 67 absence_illegal \ "pad overlap of overglass < 67 (Mosis #10.3)" spacing *m3 *m3 4 touching_ok \ "Metal3 spacing < 4 (Mosis #15.2)" spacing *m4 *m4 4 touching_ok \ "Metal4 spacing < 4 (Mosis #22.2)" spacing *m5 *m5 4 touching_ok \ "Metal5 spacing < 4 (Mosis #26.3)" spacing m6c/m5 m6c/m5 2 touching_ok \ "Metal6 contact spacing < 2 (Mosis #29.3b)" spacing *m6 *m6 4 touching_ok \ "Metal6 spacing < 4 (Mosis #30.3)" spacing *m7 *m7 4 touching_ok \ "Metal7 spacing < 4 (Mosis #30.3)" spacing *m8 *m8 4 touching_ok \ "Metal8 spacing < 4 (#M8.2)" spacing *m9 *m9 8 touching_ok \ "Metal9 spacing < 8 (#M9.2)" rect_only ndc/a,nsc/a "Contact not rectangular (Magic rule)" rect_only pdc/a,psc/a "Contact not rectangular (Magic rule)" rect_only pc/a "Contact not rectangular (Magic rule)" rect_only m2c/m1 "Contact not rectangular (Magic rule)" rect_only m3c/m2 "Contact not rectangular (Magic rule)" rect_only m4c/m3 "Contact not rectangular (Magic rule)" rect_only m5c/m4 "Contact not rectangular (Magic rule)" rect_only m6c/m5 "Contact not rectangular (Magic rule)" rect_only m7c/m6 "Contact not rectangular (Magic rule)" rect_only m8c/m7 "Contact not rectangular (Magic rule)" rect_only m9c/m8 "Contact not rectangular (Magic rule)" exact_overlap ndc/a,pdc/a,psc/a,nsc/a,pc/a exact_overlap ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1 exact_overlap m2c/m2 exact_overlap m3c/m3 exact_overlap m4c/m4 exact_overlap m5c/m5 exact_overlap m6c/m6 exact_overlap m7c/m7 exact_overlap m8c/m8 exact_overlap m9c/m9 rect_only nfet,pfet "Transistor cannot bend in this process (#PL.6)" stepsize 400 end #----------------------------------------------------------------- # LEF format definitions #----------------------------------------------------------------- lef # LEF layer names corresponding to magic layer names masterslice ndiff diffusion active masterslice poly poly POLY1 pl routing m1 m1 metal1 METAL1 METAL_1 routing m2 m2 metal2 METAL2 METAL_2 routing m3 m3 metal3 METAL3 METAL_3 routing m4 m4 metal4 METAL4 METAL_4 routing m5 m5 metal5 METAL5 METAL_5 routing m6 m6 metal6 METAL6 METAL_6 routing m7 m7 metal7 METAL7 METAL_7 routing m8 m8 metal8 METAL8 METAL_8 routing m9 m9 metal9 METAL9 METAL_9 cut pc cont1 pl-m1 cut m2c via1 cont2 VIA12 m1-m2 cut m3c via2 cont3 VIA23 m2-m3 cut m4c via3 cont4 VIA34 m3-m4 cut m5c via4 cont5 VIA45 m4-m5 cut m6c via5 cont6 VIA56 m5-m6 cut m7c via6 cont7 VIA67 m6-m7 cut m8c via7 cont8 VIA78 m7-m8 cut m9c via8 cont9 VIA89 m8-m9 overlap comment overlap OVERLAP # LEF layer name translations for obstruction geometry obs obsact diffusion ISLND_BLK obs obsm1 metal1 cont2 MET1_BLK obs obsm2 metal2 cont3 MET2_BLK end extract style standard cscale 1 lambda 9 step 100 sidehalo 8 planeorder well 0 planeorder active 1 planeorder metal1 2 planeorder metal2 3 planeorder metal3 4 planeorder metal4 5 planeorder metal5 6 planeorder metal6 7 planeorder metal7 8 planeorder metal8 9 planeorder metal9 10 planeorder oxide 11 planeorder comment 12 resist (*ndiff,rnd,*nsd)/active 4700 resist (*pdiff,rpd,*psd)/active 3500 resist (nwell)/well 1191000 resist (rnw)/active 1191000 resist (pwell)/well 1 resist (*poly,nfet,pfet)/active 4200 resist (rp)/active 4200 resist (*m1)/metal1 60 resist (*m2)/metal2 80 resist (*m3)/metal3 80 resist (*m4)/metal4 80 resist (*m5)/metal5 30 resist (*m6)/metal6 30 contact ndc 4 6700 contact pdc 4 5700 contact pc 4 5700 contact m2c 4 2020 contact m3c 4 4070 contact m4c 4 5790 #nwell,pwell areacap (nwell)/well 0.502 #rnw areacap (rnw)/active 0.502 #ndiff # MODEL HANDLES THIS: areacap (*ndiff)/active 15.163 # MODEL HANDLES THIS: overlap (*ndiff)/active ~space/w 15.163 # MODEL HANDLES THIS: perimc (*ndiff)/active ~(*ndiff,nfet,pfet)/active 39.600 # MODEL HANDLES THIS: sideoverlap (*ndiff)/active ~(*ndiff,nfet,pfet)/active \ # ~space/w 39.600 areacap (rnd)/active 15.163 overlap (rnd)/active ~space/w 15.163 perimc (rnd)/active ~(rnd)/active 39.600 sideoverlap (rnd)/active ~(rnd)/active ~space/w 39.600 #pdiff # MODEL HANDLES THIS: areacap (*pdiff)/active 15.204 # MODEL HANDLES THIS: overlap (*pdiff)/active ~space/w 15.204 # MODEL HANDLES THIS: perimc (*pdiff)/active ~(*pdiff,nfet,pfet)/active 31.680 # MODEL HANDLES THIS: sideoverlap (*pdiff)/active ~(*pdiff,nfet,pfet)/active \ # ~space/w 31.680 areacap (rpd)/active 15.204 overlap (rpd)/active ~space/w 15.204 perimc (rpd)/active ~(rpd)/active 31.680 sideoverlap (rpd)/active ~(rpd)/active ~space/w 31.680 #poly # MODEL HANDLES THIS: overlap (nfet)/active (*ndiff,rnd)/active 47.887 # MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active \ # (*ndiff,rnd)/active 56.430 # MODEL HANDLES THIS: overlap (pfet)/active (*pdiff)/active 46.097 # MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active \ # (*pdiff,rpd)/active 50.310 sidewall (*poly,rp)/active ~(*poly,rp)/active ~(*poly,rp)/active \ (*poly,rp)/active 12.714 areacap (*poly,rp)/active 0.786 overlap (*poly,rp)/active ~space/w 0.786 perimc (*poly,rp)/active ~(*poly,rp)/active 2.316 sideoverlap (*poly,rp)/active ~(*poly,rp)/active ~space/w 2.316 #metal1 sidewall (*m1)/metal1 ~(*m1)/metal1 ~(*m1)/metal1 (*m1)/metal1 23.087 areacap (*m1)/metal1 0.308 #metal1-sub blocked by ~space/a overlap (*m1)/metal1 ~space/w 0.308 ~space/a perimc (*m1)/metal1 ~(*m1)/metal1 2.070 sideoverlap (*m1)/metal1 ~(*m1)/metal1 ~space/w 2.070 ~space/a #rnw overlap (*m1)/metal1 rnw/active 0.308 sideoverlap (*m1)/metal1 ~(*m1)/metal1 rnw/active 2.070 #metal1-diff blocked by overlap (*m1)/metal1 (*ndiff,rnd)/active 0.405 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*ndiff,rnd)/active 2.070 overlap (*m1)/metal1 (*pdiff,rpd)/active 0.405 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*pdiff,rpd)/active 2.070 #metal1-poly blocked by overlap (*m1)/metal1 (*poly,rp,nfet,pfet)/active 0.510 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*poly,rp,nfet,pfet)/active 6.300 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m1)/metal1 6.300 #metal2 sidewall (*m2)/metal2 ~(*m2)/metal2 ~(*m2)/metal2 (*m2)/metal2 25.475 areacap (*m2)/metal2 0.154 #metal2-sub blocked by overlap (m2,m3c)/metal2 ~space/w 0.154 ~space/a,~space/m1 perimc (*m2)/metal2 ~(*m2)/metal2 5.400 sideoverlap (*m2)/metal2 ~(*m2)/metal2 ~space/w 5.400 ~space/a,~space/m1 overlap (m2,m3c)/metal2 rnw/active 0.154 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 rnw/active 5.400 ~space/m1 #metal2-*diff blocked by ~space/m1 overlap (m2,m3c)/metal2 (*ndiff,rnd)/active 0.162 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*ndiff,rnd)/active 5.400 ~space/m1 overlap (m2,m3c)/metal2 (*pdiff,rpd)/active 0.162 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*pdiff,rpd)/active 5.400 ~space/m1 #metal2-poly blocked by ~space/m1 overlap (m2,m3c)/metal2 (*poly,rp,nfet,pfet)/active 0.138 ~space/m1 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*poly,rp,nfet,pfet)/active \ 3.780 ~space/m1 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m2)/metal2 3.780 ~space/m1 #M2->M1 overlap (m2,m3c)/metal2 (*m1)/metal1 0.300 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m1)/metal1 4.680 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m2)/metal2 4.680 #metal3 sidewall (*m3)/metal3 ~(*m3)/metal3 ~(*m3)/metal3 (*m3)/metal3 26.825 areacap (*m3)/metal3 0.105 #metal3-sub blocked by ~space/a,~space/m1,~space/m2 overlap (m3,m4c)/metal3 ~space/w 0.105 ~space/a,~space/m1,~space/m2 perimc (*m3)/metal3 ~(*m3)/metal3 5.040 sideoverlap (*m3)/metal3 ~(*m3)/metal3 ~space/w 5.040 \ ~space/a,~space/m1,~space/m2 #rnw overlap (m3,m4c)/metal3 rnw/active 0.105 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 rnw/active 5.040 \ ~space/m1,~space/m2 #metal3-*diff blocked by ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*ndiff,rnd)/active 0.113 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*ndiff,rnd)/active 5.040 \ ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*pdiff,rpd)/active 0.113 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*pdiff,rpd)/active 5.040 \ ~space/m1,~space/m2 #metal3-poly blocked by ~space/m1,~space/m2 overlap (m3,m4c)/metal3 (*poly,rp,nfet,pfet)/active 0.081 ~space/m1,~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*poly,rp,nfet,pfet)/active 2.700 \ ~space/m1,~space/m2 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m3)/metal3 2.700 ~space/m1,~space/m2 #M3->M1 #metal3-metal1 blocked by ~space/m2 overlap (m3,m4c)/metal3 (*m1)/metal1 0.122 ~space/m2 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m1)/metal1 3.240 ~space/m2 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m3)/metal3 3.240 ~space/m2 #M3->M2 overlap (m3,m4c)/metal3 (*m2)/metal2 0.308 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m2)/metal2 4.410 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m3)/metal3 4.410 #metal4 sidewall (*m4)/metal4 ~(*m4)/metal4 ~(*m4)/metal4 (*m4)/metal4 72.420 areacap (m4)/metal4 0.065 #metal4-sub blocked by ~space/a,~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 ~space/w 0.065 ~space/a,~space/m1,~space/m2,~space/m3 perimc (*m4)/metal4 ~(*m4)/metal4 3.780 sideoverlap (*m4)/metal4 ~(*m4)/metal4 ~space/w 3.780 \ ~space/a,~space/m1,~space/m2,~space/m3 #rnw overlap (m4)/metal4 rnw/active 0.065 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 rnw/active 3.780 \ ~space/m1,~space/m2,~space/m3 #metal4-*diff blocked by ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*ndiff,rnd)/active 0.089 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*ndiff,rnd)/active 3.780 \ ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*pdiff,rpd)/active 0.089 ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*pdiff,rpd)/active 3.780 \ ~space/m1,~space/m2,~space/m3 #metal4-poly blocked by ~space/m1,~space/m2,~space/m3 overlap (m4)/metal4 (*poly,rp,nfet,pfet)/active 0.057 \ ~space/m1,~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*poly,rp,nfet,pfet)/active 2.160 \ ~space/m1,~space/m2,~space/m3 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m4)/metal4 2.160 ~space/m1,~space/m2,~space/m3 #M4->M1 #metal4-metal1 blocked by ~space/m2,~space/m3 overlap (m4)/metal4 (*m1)/metal1 0.073 ~space/m2,~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m1)/metal1 2.610 ~space/m2,~space/m3 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m4)/metal4 2.610 ~space/m2,~space/m3 #M4->M2 #metal4-metal2 blocked by ~space/m3 overlap (m4)/metal4 (*m2)/metal2 0.122 ~space/m3 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m2)/metal2 3.240 ~space/m3 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m4)/metal4 3.240 ~space/m3 #M4->M3 overlap (m4)/metal4 (*m3)/metal3 0.308 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m3)/metal3 4.680 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m4)/metal4 4.680 #metal5 sidewall (*m5)/metal5 ~(*m5)/metal5 ~(*m5)/metal5 (*m5)/metal5 13.090 areacap (m5)/metal5 0.065 #metal5-sub blocked by ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 ~space/w 0.065 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 perimc (*m5)/metal5 ~(*m5)/metal5 2.160 sideoverlap (*m5)/metal5 ~(*m5)/metal5 ~space/w 2.160 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4 #rnw overlap (m5)/metal5 rnw/active 0.065 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 rnw/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 #metal5-*diff blocked by ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*ndiff,rnd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*ndiff,rnd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*pdiff,rpd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*pdiff,rpd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4 #metal5-poly blocked by ~space/m1,~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*poly,rp,nfet,pfet)/active 0.049 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*poly,rp,nfet,pfet)/active 1.890 \ ~space/m1,~space/m2,~space/m3,~space/m4 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m5)/metal5 1.890 ~space/m1,~space/m2,~space/m3,~space/m4 #M5->M1 #metal5-metal1 blocked by ~space/m2,~space/m3,~space/m4 overlap (m5)/metal5 (*m1)/metal1 0.073 ~space/m2,~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m1)/metal1 2.160 \ ~space/m2,~space/m3,~space/m4 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m5)/metal5 2.160 \ ~space/m2,~space/m3,~space/m4 #M5->M2 #metal5-metal2 blocked by ~space/(m3,m4) overlap (m5)/metal5 (*m2)/metal2 0.073 ~space/m3,~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m2)/metal2 2.610 ~space/m3,~space/m4 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m5)/metal5 2.610 ~space/m3,~space/m4 #M5->M3 #metal5-metal3 blocked by ~space/m4 overlap (m5)/metal5 (*m3)/metal3 0.122 ~space/m4 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m3)/metal3 3.420 ~space/m4 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m5)/metal5 3.420 ~space/m4 #M5->M4 overlap (m5)/metal5 (*m4)/metal4 0.300 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m4)/metal4 5.850 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m5)/metal5 5.850 #metal6 sidewall (*m6)/metal6 ~(*m6)/metal6 ~(*m6)/metal6 (*m6)/metal6 27.675 areacap (m6)/metal6 0.065 #metal6-sub blocked by ~space/(a,m1,m2,m3,m4,m5) overlap (m6)/metal6 ~space/w 0.065 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 perimc (*m6)/metal6 ~(*m6)/metal6 2.160 sideoverlap (*m6)/metal6 ~(*m6)/metal6 ~space/w 2.160 \ ~space/a,~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #rnw overlap (m6)/metal6 rnw/active 0.065 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 rnw/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #metal6-*diff blocked by ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*ndiff,rnd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*ndiff,rnd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*pdiff,rpd)/active 0.073 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*pdiff,rpd)/active 2.160 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #metal6-poly blocked by ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*poly,rp,nfet,pfet)/active 0.049 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*poly,rp,nfet,pfet)/active 1.890 \ ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*poly,rp,nfet,pfet)/active ~(*poly,rp,nfet,pfet)/active \ (*m6)/metal6 1.890 ~space/m1,~space/m2,~space/m3,~space/m4,~space/m5 #M6->M1 #metal6-metal1 blocked by ~space/m2,~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*m1)/metal1 0.073 ~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m1)/metal1 2.160 \ ~space/m2,~space/m3,~space/m4,~space/m5 sideoverlap (*m1)/metal1 ~(*m1)/metal1 (*m6)/metal6 2.160 \ ~space/m2,~space/m3,~space/m4,~space/m5 #M6->M2 #metal6-metal2 blocked by ~space/m3,~space/m4,~space/m5 overlap (m6)/metal6 (*m2)/metal2 0.073 ~space/m3,~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m2)/metal2 2.610 \ ~space/m3,~space/m4,~space/m5 sideoverlap (*m2)/metal2 ~(*m2)/metal2 (*m6)/metal6 2.610 \ ~space/m3,~space/m4,~space/m5 #M6->M3 #metal6-metal3 blocked by ~space/m4,~space/m5 overlap (m6)/metal6 (*m3)/metal3 0.122 ~space/m4,~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m3)/metal3 3.420 ~space/m4,~space/m5 sideoverlap (*m3)/metal3 ~(*m3)/metal3 (*m6)/metal6 3.420 ~space/m4,~space/m5 #M6->M4 #metal6-metal4 blocked by ~space/m5 overlap (m6)/metal6 (*m4)/metal4 0.300 ~space/m5 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m4)/metal4 5.850 ~space/m5 sideoverlap (*m4)/metal4 ~(*m4)/metal4 (*m6)/metal6 5.850 ~space/m5 #M6->M5 overlap (m6)/metal6 (*m5)/metal5 0.300 sideoverlap (*m6)/metal6 ~(*m6)/metal6 (*m5)/metal5 5.850 sideoverlap (*m5)/metal5 ~(*m5)/metal5 (*m6)/metal6 5.850 #devices device mosfet pfet pfet pdiff,pdc nwell Vdd! 50 46 device mosfet nfet nfet ndiff,ndc pwell Gnd! 50 46 fetresis pfet linear 41017 fetresis pfet saturation 41017 fetresis nfet linear 8770 fetresis nfet saturation 8770 device resistor nwellResistor rnw *nsd device resistor polyResistor rp *poly device resistor ndiffResistor rnd *ndiff device resistor pdiffResistor rpd *pdiff # layer heights and thicknesses for inductance extraction and 3D rendering height nwell -0.1 0.1 height ndiff,pdiff,nsd,psd -0.075 0.075 height poly,pfet,nfet 0.1 0.05 height ndc,pdc,nsc,psc 0.001 0.25 height pc 0.1 0.15 height m1 0.2 0.05 height m2c 0.2 0.15 height m2 0.3 0.05 height m3c 0.3 0.15 height m3 0.4 0.05 height m4c 0.4 0.15 height m4 0.5 0.05 height m5c 0.5 0.15 height m5 0.6 0.05 height m6c 0.6 0.15 height m6 0.7 0.05 height m7c 0.7 0.15 height m7 0.8 0.05 height m8c 0.9 0.15 height m8 0.9 0.2 end wiring contact pdcontact 4 metal1 0 pdiff 0 contact ndcontact 4 metal1 0 ndiff 0 contact pcontact 4 metal1 0 poly 0 contact m2contact 4 metal1 0 metal2 0 contact m3contact 5 metal2 0 metal3 1 contact m4contact 4 metal3 0 metal4 0 contact m5contact 5 metal4 0 metal5 0 contact m6contact 6 metal5 0 metal6 0 end router layer2 metal2 3 *m2 4 *poly,rp,m1 1 layer1 metal1 3 *m1 3 contacts m2contact 4 gridspacing 8 end plowing fixed nfet,pfet,glass,pad covered nfet,pfet drag nfet,pfet end plot style pnm draw metal1 draw metal2 draw metal3 draw metal4 draw metal5 draw metal6 draw metal7 draw metal8 draw polysilicon draw ndiffusion draw pdiffusion draw ntransistor draw ptransistor map psubstratepdiff pdiffusion map nsubstratendiff ndiffusion map polycontact polysilicon metal1 map m2contact metal1 metal2 map m3contact metal2 metal3 map m4contact metal3 metal4 map m5contact metal4 metal5 map m6contact metal5 metal6 map m7contact metal6 metal7 map m8contact metal7 metal8 map m9contact metal8 metal9 map ndcontact ndiffusion metal1 map pdcontact pdiffusion metal1 map nsubstratencontact ndiffusion metal1 map psubstratepcontact pdiffusion metal1 style postscript 1 C0C0C0C0 C0C0C0C0 00000000 00000000 0C0C0C0C 0C0C0C0C 00000000 00000000 2 A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A A0A0A0A0 0A0A0A0A 3 00030003 000C000C 00300030 00C000C0 03000300 0C000C00 30003000 C000C000 4 00000000 00000000 C0C0C0C0 00000000 00000000 00000000 0C0C0C0C 00000000 5 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 6 07070707 0E0E0E0E 1C1C1C1C 38383838 70707070 E0E0E0E0 C1C1C1C1 83838383 7 18181818 30303030 60606060 C0C0C0C0 81818181 03030303 06060606 0C0C0C0C 8 18181818 0C0C0C0C 06060606 03030303 81818181 C0C0C0C0 60606060 30303030 9 18181818 3C3C3C3C 3C3C3C3C 18181818 81818181 C3C3C3C3 C3C3C3C3 81818181 10 F0F0F0F0 60606060 06060606 0F0F0F0F 0F0F0F0F 06060606 60606060 F0F0F0F0 11 01000080 02000040 0C000030 F000000F 000FF000 00300C00 00400200 00800100 12 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 13 00000000 00000000 33333333 33333333 00000000 00000000 CCCCCCCC CCCCCCCC 1 47 95 111 0 2 223 31 223 0 3 0 0 0 192 4 31 111 31 0 5 31 111 255 0 6 63 95 191 0 7 255 63 255 0 8 0 0 0 127 9 223 47 223 0 10 0 255 255 0 11 0 0 255 0 12 191 127 0 0 13 95 223 63 0 14 0 0 0 255 15 191 127 63 0 16 111 151 244 0 17 23 175 183 0 pc,ndc,pdc,psc,nsc 14 X m2c,pad,glass 14 B pad,glass 14 11 m2c 14 13 m2,m2c,pad 13 10 pdc,ndc,psc,nsc,pc,m1,m2c 12 9 nsd,nsc 7 1 psd,psc 6 1 nfet 9 8 pfet 1 7 poly,pc 10 5 nfet 16 5 pfet 17 5 pdiff,pdc 1 5 ndiff,ndc 9 5 pwell 1 4 nwell 2 4 end