[Magic-dev] Re: Magic lef read problems
R. Timothy Edwards
tim.edwards at multigig.com
Mon Jan 23 20:46:20 EST 2006
Dear Frank,
> I get errors trying to do "lef read ibm01.lef" for a
> well-known public benchmark in
> http://er.cs.ucla.edu/benchmarks/ibm-place2/LEFDEF/ibm01-v2-lefdef.tar.gz
>
> I suppose the benchmark should be okay since it
> probably get used many times.
> So I suspect that I might did something wrong with my
> magic.
The default "scmos.tech" doesn't have a "lef" section that
tells magic how to map layers from the LEF file to magic
planes and layers. The "ibm01.lef" benchmark is a 4-layer
metal technology, so you'll want to start with a 4-metal-
layer (at least) techfile. I've attached "scmos8m.tech",
which is posted on my website, except in the attached
version I have pasted in a simple LEF section that I
ripped out of another techfile. I used this on "ibm01.lef"
and got better results. Note that LEF files, like GDS,
don't define a current or top-level cell, so nothing
shows up immediately. Do "cellname top" to get a list
of the defined LEF macros that were loaded.
I guess the LEF/DEF stuff is well-developed enough now that
I should include a "lef" section in the default scmos.tech
file, and the sample scmos8m.tech and scmos9m.tech files.
Regards,
Tim
+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com |
| MultiGiG, Inc. | web: http://www.multigig.com |
| 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 |
| Scotts Valley, CA 95066 | cell: (240) 401-0616 |
+--------------------------------+-------------------------------------+
-------------- next part --------------
tech
version 29
scmos
end
version
version 2003
description "SCMOS: Generic 8-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
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
metal1 metal1,m1,blue
metal1 m2contact,m2cut,m2c,via,v,via12,m1-m2
metal2 metal2,m2,purple
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,topmetal,mtop
metal8 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
stackable
end
styles
styletype mos
nwell nwell
pwell pwell
ndiff ndiffusion
pdiff pdiffusion
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
m2c metal1 metal2 contact_waffle
metal2 metal2
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
pad metal3 metal4 overglass via3
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
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
*ndiff,*nsd,*pdiff,*psd *ndiff,*nsd,*pdiff,*psd
*poly,nfet,pfet *poly,nfet,pfet
pad m1,m2,m3,m4,m5,m6,m7,m8
end
cifoutput
style lambda=0.065
scalefactor 65 calmaonly 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 360 360
calma 129 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 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 calmaonly
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 calmaonly 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 m8c CV7
and-not XP
grow 65
and CM8
and CM7
grow 65
shrink 65
calma CV7 129 *
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 7 \
"Metal8 width < 7 (#M8.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 9 \
"Via7 width < 9 (#V7.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 8 touching_ok \
"Metal8 spacing < 8 (#MT.2a)"
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)"
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
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
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
overlap comment overlap OVERLAP
# LEF layer name translations for obstruction geometry
obs obsact diffusion ISLND_BLK
obs obspoly poly POLY_BLK
obs obsm1 metal1 cont2 MET1_BLK
obs obsm2 metal2 cont3 MET2_BLK
obs obsm3 metal3 cont4 MET3_BLK
obs obsm4 metal4 cont5 MET4_BLK
obs obsm5 metal5 cont6 MET5_BLK
obs obsm6 metal6 cont7 MET6_BLK
obs obsm7 metal7 cont8 MET7_BLK
obs obsm8 metal8 MET8_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 oxide 10
planeorder comment 11
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 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
More information about the magic-dev
mailing list