OpenRAM/technology/scn3me_subm/tech/SCN3ME_SUBM.30.tech

6943 lines
109 KiB
Plaintext

tech
format 29
scmos
end
version
version 2001a
description "SCMOS: Submit as technology.lambda: SCN3ME_SUBM.30 [to process: AMIc5]"
end
planes
well,w
implant,i
select,s
cap,c
active,a
metal1,m1
metal2,m2
metal3,m3
oxide,ox
comment
xp
contact
via1,v1
via2,v2
fill
end
types
well nwell,nw
well pwell,pw
implant n_field_implant,nfi
implant p_field_implant,pfi
select nselect,ns
select pselect,ps
cap electrode,poly2,el,p2
metal1 electrodecontact,poly2contact,poly2c,p2c,elc
cap electrodecap,ecap,poly2cap,p2cap,pcap
contact genericpoly2contact,gc2
active ntransistor,nfet
active ptransistor,pfet
active diffusion,diff
active transistor,fet
active ndiffusion,ndif,green
active pdiffusion,pdif,brown
active ndcontact,ndc
active pdcontact,pdc
active psubstratepdiff,pohmicdiff,pod,ppdiff,ppd,psd
active nsubstratendiff,nohmicdiff,nod,nndiff,nnd,nsd
active psubstratepcontact,pohmiccontact,poc,pwcontact,pwc,psc
active nsubstratencontact,nohmiccontact,noc,nwcontact,nwc,nsc
active polysilicon,red,poly,p
active polycontact,pcontact,polycut,pc
contact genericcontact,gcontact,gc
metal1 metal1,m1,blue
metal1 pseudo_rmetal1,prm1
metal1 rmetal1,rm1
metal1 fillm1,fm1
metal1 m2contact,m2cut,m2c,via1,v1
metal2 metal2,m2,purple
metal2 pseudo_rmetal2,prm2
metal2 rmetal2,rm2
metal2 fillm2,fm2
via1 gv1
metal2 m3contact,m3cut,m3c,via2,v2
metal3 metal3,m3,cyan
metal3 pseudo_rmetal3,prm3
metal3 rmetal3,rm3
metal3 fillm3,fm3
via2 gv2
metal3 pad
oxide glass
cap high_resist,hr
cap poly2_high_resist,phr
active pseudo_rpoly,prp
active rpoly,rp
cap pseudo_rpoly2,prp2
cap rpoly2,rp2
active pseudo_rndiffusion,prnd
active rndiffusion,rndiff,rnd
active pseudo_rpdiffusion,prpd
active rpdiffusion,rpdiff,rpd
active pseudo_rnwell,prnwell,prnw
active rnwell,rnw
implant filln,fn
fill filla,fa
fill fillb,fb
active fillp,fp
active fillapm,fapm
xp xp
xp m1p
xp m2p
xp m3p
comment comment
comment bb
end
contact
pc poly metal1
ndc ndiff metal1
pdc pdiff metal1
nsc nsd metal1
psc psd metal1
m2c metal1 metal2
m3c metal2 metal3
stackable
end
styles
styletype mos
nwell 12
pwell 13
nfi 53
pfi 54
nselect 43
pselect 44
diff 25
tran 2 4
ndiff 2
pdiff 4
nsd 3
psd 5
nfet 6 7
pfet 8 9
ndc 2 20 32
pdc 4 20 32
nsc 3 20 32
psc 5 20 32
poly 1
pcontact 1 20 32
gc 32
metal1 20
rm1 20 48
prm1 48
m1p 20 34
fm1 20 34
fp 1 34
fa 32
fb 45 34
fn 45 34
fapm 1 20 21 34
gv1 55
m2contact 20 21 55
metal2 21
rm2 21 48
prm2 48
m2p 21 34
fm2 21 34
gv2 56
m3contact 21 22 56
metal3 22
rm3 22 48
prm3 48
m3p 22 34
fm3 22 34
pad 22 23 34 38
glass 34
xp 25 34
ecap 10 14
poly2 14
p2c 14 20 32
gc2 19
hr 10
phr 14 48
rp 47 48
prp 48
rp2 14 48
prp2 48
rnd 2 48
prnd 48
rpd 4 53
prpd 53
rnw 12 53
prnw 54
comment 45
bb 32
error_p 42
error_s 42
error_ps 42
magnet 54
rotate 57
fence 59
end
compose
compose nfet poly ndiff
compose pfet poly pdiff
paint diff nselect ndiff
paint diff pselect pdiff
compose tran poly diff
paint tran nselect nfet
paint tran pselect pfet
paint psd ns ndiff
paint nsd ps pdiff
paint ndiff ps psd
paint pdiff ns nsd
paint pad m1 pad
paint pad m2 pad
paint pad m2c pad
paint pfi nwell nfi
paint nfi pwell pfi
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 poly2 poly ecap
erase ecap poly poly2
paint pad m3 pad
compose phr poly2 hr
paint hr poly2 phr
paint poly2 hr phr
erase phr hr poly2
#CRE/CRM
compose rm1 prm1 m1
compose rm2 prm2 m2
compose rm3 prm3 m3
compose rp prp poly
compose rp2 prp2 poly2
compose rnd prnd ndiff
compose rpd prpd pdiff
paint nwell rnw space
paint nwell prnw space
paint poly fp fp
paint m1 fm1 fm1
paint m2 fm2 fm2
paint m3 fm3 fm3
end
connect
nwell,nsc/a,nsd nwell,nsc/a,nsd
pwell,psc/a,psd pwell,psc/a,psd
m1,fm1,fapm,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 m1,fm1,fapm,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
m2,fm2,fapm,m2c/m2,m3c/m2,m3c/m2 m2,fm2,fapm,m2c/m2,m3c/m2,m3c/m2
m3,fm3,fapm,m3c/m3 m3,fm3,fapm,m3c/m3
ndiff,ndc/a,pdiff,pdc/a ndiff,ndc/a,pdiff,pdc/a
poly,fp,nfet,pfet,fet,fapm,pc/a poly,fp,nfet,pfet,fet,fapm,pc/a
poly2,ecap,p2c poly2,ecap,p2c
gc2 poly2,ecap,metal1
gc poly,fp,ndiff,pdiff,nsd,psd,m1,fm1,fapm,m2c/m1
gv1 m1,fm1,fapm,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2,fm2,fapm,m3c/m2
gv2 m2,fm2,fapm,m2c/m2,m3c/m2,m3,fm3,fapm
pad m1,fm1,m2,fm2,m3,fm3
rm1 prm1
rm2 prm2
rm3 prm3
rnw prnw
rp prp
rp2 prp2
rnd prnd
rpd prpd
phr hr
end
cifoutput
style lambda=0.30(p)
scalefactor 30 15
options calma-permissive-labels
layer CWN nwell,rnw
bloat-or pdiff,rpd,pdc/a,pfet * 180
bloat-or nsd,nsc/a * 90
bloat-or nfi * 120
grow 90
shrink 90
labels nwell,rnw
calma 42 0
layer CWP pwell
bloat-or ndiff,rnd,ndc/a,nfet * 180
bloat-or psd,psc/a * 90
bloat-or pfi * 120
grow 90
shrink 90
and-not CWN
labels pwell
calma 41 0
templayer TNS ns
templayer TPS ps
#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*60) Or ps
#XDN = (ndiff*60) Or ns
#FSP = ((pdiff*60,psc*60) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*60,nsc*60) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP
#diffusion auto-nselect (will have priority)
templayer XDN
bloat-or ndiff,rnd,ndc/a * 60 psd,psc/a 0
or TNS
#diffusion auto-pselect (will have priority)
templayer XDP
bloat-or pdiff,rpd,pdc/a * 60 nsd,nsc/a 0
or TPS
#final pselect
templayer FSP
bloat-or pdiff,rpd,pfet,psd,pdc/a,psc/a,pfet * 60 ndiff,rnd,ndc/a,nsd,nsc/a,nfet 0
or XDP
#give diff nselect priority
and-not XDN
or TPS
shrink 15
grow 15
grow 15
shrink 15
#final nselect
templayer FSN
bloat-or ndiff,rnd,nfet,nsd,ndc/a,nsc/a,nfet * 60 pdiff,rpd,pdc/a,psd,psc/a,pfet 0
or XDN
#never conflict with final pselect
and-not FSP
#drawn select always goes
or TNS
shrink 15
grow 15
grow 15
shrink 15
layer CSN FSN
calma 45 0
layer CSP FSP
calma 44 0
layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
calma 43 0
layer CCA ndc/m1,nsc/m1
squares 30 60 90
calma 48 0
layer CCA pdc/m1,psc/m1
squares 30 60 90
calma 48 0
layer CPG poly,rp,nfet,pfet,fet,pc/a
labels poly,rp,nfet,pfet,fet,pc/a
calma 46 0
layer CCP pc/m1
squares 30 60 90
calma 47 0
layer CCE gc2
squares 0 60 90
calma 55 0
layer CCE p2c
squares 30 60 90
calma 55 0
layer CCE gc2
squares 0 60 90
calma 55 0
layer CCC gc
squares 0 60 90
calma 25 0
layer CV1 m2c/m1
squares 30 60 90
calma 50 0
layer CV1 gv1
squares 0 60 90
calma 50 0
layer CV2 m3c/m2
squares 30 60 90
calma 61 0
layer CV2 gv2
squares 0 60 90
calma 61 0
templayer XPAD1 pad
shrink 180
templayer XPAD2 XPAD1
shrink 180
layer CM3 pad
labels pad
calma 62 0
layer CV2 XPAD2
squares 240 60 300
calma 61 0
layer CM2 pad
labels pad
calma 51 0
layer CV1 XPAD2
squares 60 60 300
calma 50 0
layer CM1 pad
calma 49 0
layer CM1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
labels m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
calma 49 0
layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2
labels m2,rm2,m2c/m2,m3c/m2,m3c/m2
calma 51 0
layer CMFP m1p
labels m1p
calma 81 0
layer CMSP m2p
labels m2p
calma 82 0
layer 100 fp
labels fp
calma 100 0
layer 101 fm1
labels fm1
calma 101 0
layer 102 fm2
labels fm2
calma 102 0
layer 103 fm3
labels fm3
calma 103 0
layer 109 fa
or fb
squares 0 210 120
labels fa
calma 109 0
layer 119 fn
calma 119 0
layer 110 fapm
labels fapm
calma 110 0
# layer CPG fp
layer CPG fp,fapm
squares 0 210 120
labels fp
calma 46 0
# layer CM1 fm1
layer CM1 fm1,fapm
squares 0 210 120
labels fm1
calma 49 0
# layer CM2 fm2
layer CM2 fm2,fapm
squares 0 210 120
labels fm2
calma 51 0
# layer CM3 fm3
layer CM3 fm3,fapm
squares 0 210 120
labels fm3
calma 62 0
layer CM3 m3,rm3,m3c/m3
labels m3,rm3,m3c/m3
calma 62 0
layer CMTP m3p
labels m3p
calma 83 0
layer COG pad
shrink 600
labels pad
calma 52 0
layer COG glass
labels glass
calma 52 0
layer CFI nfi,pfi
labels nfi,pfi
calma 27 0
layer CHR hr,phr
labels hr,phr
calma 34 0
layer CEL poly2,ecap,phr,p2c
labels poly2,ecap,phr,p2c
calma 56 0
#CRE/CRM
layer CRW rnw,prnw
labels rnw,prnw
calma 65 0
layer CRG rp,prp
labels rp,prp
calma 67 0
layer CRD rnd,rpd,prnd,prpd
labels rnd,rpd,prnd,prpd
calma 66 0
layer CRE rnw,rp,rnd,rpd,rp2
labels rnw,rp,rnd,rpd,rp2
calma 64 0
layer CRF rm1,prm1
labels rm1,prm1
calma 71 0
layer CRS rm2,prm2
labels rm2,prm2
calma 72 0
layer CRG2 rp2,prp2
labels rp2,prp2
calma 68 0
layer CRT rm3,prm3
labels rm3,prm3
calma 73 0
#CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3
#CRE/CRM calma 70 0
layer CX comment,bb
labels comment,bb
calma 63 0
layer XP pad,xp
labels pad,xp
calma 26 0
style fill-only
scalefactor 30 15
layer 100 fp
calma 100 0
layer 101 fm1
calma 101 0
layer 102 fm2
calma 102 0
layer 103 fm3
calma 103 0
layer 109 fa
or fb
calma 109 0
layer 119 fn
calma 119 0
style fapm-boxes
# this output style creates fill boxes automatically (to meet minimum
# density requirements for poly and metal layers) 5 microns outside of
# drawn layout IF: 1. you have a flattened version of your chip
# 2. over which you paint the special fill layer 'fa', preferably with
# a size that is a multiple of 7 + n * (7 + 4), 3. set 'cif
# ostype fapm-boxes' and cif out to a file (this actually creates the
# fill boxes on cif/strm layer '110' using the magic 'squares'
# command), 4. cif in the resulting file (which creates boxes on magic
# layer 'fapm') and place this cell onto your chip (and verify absence
# of drc errors or shorts), then 5. cif out under your regular cif out
# style, where the 'fapm' layer creates fill boxes on poly and all
# metal layers.
scalefactor 30 15
templayer CRIT fapm,fn,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet,poly,rp,nfet,pfet,fet,pc/a,poly2,ecap,phr,p2c
or fm1,m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
or fm2,m2,rm2,m2c/m2,m3c/m2,m3c/m2
or fm3,m3,rm3,m3c/m3
or glass,pad
grow 510
and fa
layer 110 fa
squares 0 210 120
and-not CRIT
shrink 90
grow 90
or fapm
labels fapm
calma 110 0
style fapm-stripes
scalefactor 30 15
# this output style creates the above layer 110 as stripes for reduced size
# HOWEVER it requires each 'fa' box to first be an exact multiple as above
# and then *replacing* the left side (1-lambda wide) stripe of each 'fa' box
# to be a 1-lambda wide layer 'fb' box -- else you won't get strips!
templayer CRIT fapm,fn,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet,poly,rp,nfet,pfet,fet,pc/a,poly2,ecap,phr,p2c
or fm1,m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
or fm2,m2,rm2,m2c/m2,m3c/m2,m3c/m2
or fm3,m3,rm3,m3c/m3
or glass,pad
grow 510
and fa
templayer FB fa
or fb
squares 0 210 120
and-not CRIT
layer 110 fa
squares 0 210 120
and-not CRIT
or FB
shrink 90
grow 90
or fapm
labels fapm
calma 110 0
style lambda=0.30(cp)
scalefactor 30 15
layer CWN nwell,rnw
bloat-or pdiff,rpd,pdc/a,pfet * 180
bloat-or nsd,nsc/a * 90
bloat-or nfi * 120
grow 90
shrink 90
labels nwell,rnw
calma 42 0
layer CWP pwell
bloat-or ndiff,rnd,ndc/a,nfet * 180
bloat-or psd,psc/a * 90
bloat-or pfi * 120
grow 90
shrink 90
and-not CWN
labels pwell
calma 41 0
templayer TNS ns
templayer TPS ps
#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*60) Or ps
#XDN = (ndiff*60) Or ns
#FSP = ((pdiff*60,psc*60) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*60,nsc*60) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP
#diffusion auto-nselect (will have priority)
templayer XDN
bloat-or ndiff,rnd,ndc/a * 60 psd,psc/a 0
or TNS
#diffusion auto-pselect (will have priority)
templayer XDP
bloat-or pdiff,rpd,pdc/a * 60 nsd,nsc/a 0
or TPS
#final pselect
templayer FSP
bloat-or pdiff,rpd,pfet,psd,pdc/a,psc/a,pfet * 60 ndiff,rnd,ndc/a,nsd,nsc/a,nfet 0
or XDP
#give diff nselect priority
and-not XDN
or TPS
shrink 15
grow 15
grow 15
shrink 15
#final nselect
templayer FSN
bloat-or ndiff,rnd,nfet,nsd,ndc/a,nsc/a,nfet * 60 pdiff,rpd,pdc/a,psd,psc/a,pfet 0
or XDN
#never conflict with final pselect
and-not FSP
#drawn select always goes
or TNS
shrink 15
grow 15
grow 15
shrink 15
layer CSN FSN
calma 45 0
layer CSP FSP
calma 44 0
layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
calma 43 0
layer CCC ndc/m1,nsc/m1
squares 30 60 90
calma 25 0
layer CCC pdc/m1,psc/m1
squares 30 60 90
calma 25 0
layer CPG poly,rp,nfet,pfet,fet,pc/a
labels poly,rp,nfet,pfet,fet,pc/a
calma 46 0
layer CCC pc/m1
squares 30 60 90
calma 25 0
layer CCC gc2
squares 0 60 90
calma 25 0
layer CCC p2c
squares 30 60 90
calma 25 0
layer CCC gc2
squares 0 60 90
calma 25 0
layer CCC gc
squares 0 60 90
calma 25 0
layer CV1 m2c/m1
squares 30 60 90
calma 50 0
layer CV1 gv1
squares 0 60 90
calma 50 0
layer CV2 m3c/m2
squares 30 60 90
calma 61 0
layer CV2 gv2
squares 0 60 90
calma 61 0
templayer XPAD1 pad
shrink 180
templayer XPAD2 XPAD1
shrink 180
layer CM3 pad
labels pad
calma 62 0
layer CV2 XPAD2
squares 240 60 300
calma 61 0
layer CM2 pad
labels pad
calma 51 0
layer CV1 XPAD2
squares 60 60 300
calma 50 0
layer CM1 pad
calma 49 0
layer CM1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
labels m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
calma 49 0
layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2
labels m2,rm2,m2c/m2,m3c/m2,m3c/m2
calma 51 0
layer CMFP m1p
labels m1p
calma 81 0
layer CMSP m2p
labels m2p
calma 82 0
layer 100 fp
labels fp
calma 100 0
layer 101 fm1
labels fm1
calma 101 0
layer 102 fm2
labels fm2
calma 102 0
layer 103 fm3
labels fm3
calma 103 0
layer 109 fa
or fb
squares 0 210 120
labels fa
calma 109 0
layer 119 fn
calma 119 0
layer 110 fapm
labels fapm
calma 110 0
# layer CPG fp
layer CPG fp,fapm
squares 0 210 120
labels fp
calma 46 0
# layer CM1 fm1
layer CM1 fm1,fapm
squares 0 210 120
labels fm1
calma 49 0
# layer CM2 fm2
layer CM2 fm2,fapm
squares 0 210 120
labels fm2
calma 51 0
# layer CM3 fm3
layer CM3 fm3,fapm
squares 0 210 120
labels fm3
calma 62 0
layer CM3 m3,rm3,m3c/m3
labels m3,rm3,m3c/m3
calma 62 0
layer CMTP m3p
labels m3p
calma 83 0
layer COG pad
shrink 600
labels pad
calma 52 0
layer COG glass
labels glass
calma 52 0
layer CFI nfi,pfi
labels nfi,pfi
calma 27 0
layer CHR hr,phr
labels hr,phr
calma 34 0
layer CEL poly2,ecap,phr,p2c
labels poly2,ecap,phr,p2c
calma 56 0
#CRE/CRM
layer CRW rnw,prnw
labels rnw,prnw
calma 65 0
layer CRG rp,prp
labels rp,prp
calma 67 0
layer CRD rnd,rpd,prnd,prpd
labels rnd,rpd,prnd,prpd
calma 66 0
layer CRE rnw,rp,rnd,rpd,rp2
labels rnw,rp,rnd,rpd,rp2
calma 64 0
layer CRF rm1,prm1
labels rm1,prm1
calma 71 0
layer CRS rm2,prm2
labels rm2,prm2
calma 72 0
layer CRG2 rp2,prp2
labels rp2,prp2
calma 68 0
layer CRT rm3,prm3
labels rm3,prm3
calma 73 0
#CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3
#CRE/CRM calma 70 0
layer CX comment,bb
labels comment,bb
calma 63 0
layer XP pad,xp
labels pad,xp
calma 26 0
style lambda=0.30(c)
scalefactor 30 15
layer CWN nwell,rnw
bloat-or pdiff,rpd,pdc/a,pfet * 180
bloat-or nsd,nsc/a * 90
bloat-or nfi * 120
grow 90
shrink 90
labels nwell,rnw
calma 42 0
templayer TNS ns
templayer TPS ps
#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*60) Or ps
#XDN = (ndiff*60) Or ns
#FSP = ((pdiff*60,psc*60) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*60,nsc*60) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP
#diffusion auto-nselect (will have priority)
templayer XDN
bloat-or ndiff,rnd,ndc/a * 60 psd,psc/a 0
or TNS
#diffusion auto-pselect (will have priority)
templayer XDP
bloat-or pdiff,rpd,pdc/a * 60 nsd,nsc/a 0
or TPS
#final pselect
templayer FSP
bloat-or pdiff,rpd,pfet,psd,pdc/a,psc/a,pfet * 60 ndiff,rnd,ndc/a,nsd,nsc/a,nfet 0
or XDP
#give diff nselect priority
and-not XDN
or TPS
shrink 15
grow 15
grow 15
shrink 15
#final nselect
templayer FSN
bloat-or ndiff,rnd,nfet,nsd,ndc/a,nsc/a,nfet * 60 pdiff,rpd,pdc/a,psd,psc/a,pfet 0
or XDN
#never conflict with final pselect
and-not FSP
#drawn select always goes
or TNS
shrink 15
grow 15
grow 15
shrink 15
layer CSN FSN
calma 45 0
layer CSP FSP
calma 44 0
layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
calma 43 0
layer CCC ndc/m1,nsc/m1
squares 30 60 90
calma 25 0
layer CCC pdc/m1,psc/m1
squares 30 60 90
calma 25 0
layer CPG poly,rp,nfet,pfet,fet,pc/a
labels poly,rp,nfet,pfet,fet,pc/a
calma 46 0
layer CCC pc/m1
squares 30 60 90
calma 25 0
layer CCC gc2
squares 0 60 90
calma 25 0
layer CCC p2c
squares 30 60 90
calma 25 0
layer CCC gc2
squares 0 60 90
calma 25 0
layer CCC gc
squares 0 60 90
calma 25 0
layer CV1 m2c/m1
squares 30 60 90
calma 50 0
layer CV1 gv1
squares 0 60 90
calma 50 0
layer CV2 m3c/m2
squares 30 60 90
calma 61 0
layer CV2 gv2
squares 0 60 90
calma 61 0
templayer XPAD1 pad
shrink 180
templayer XPAD2 XPAD1
shrink 180
layer CM3 pad
labels pad
calma 62 0
layer CV2 XPAD2
squares 240 60 300
calma 61 0
layer CM2 pad
labels pad
calma 51 0
layer CV1 XPAD2
squares 60 60 300
calma 50 0
layer CM1 pad
calma 49 0
layer CM1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
labels m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
calma 49 0
layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2
labels m2,rm2,m2c/m2,m3c/m2,m3c/m2
calma 51 0
layer CMFP m1p
labels m1p
calma 81 0
layer CMSP m2p
labels m2p
calma 82 0
layer 100 fp
labels fp
calma 100 0
layer 101 fm1
labels fm1
calma 101 0
layer 102 fm2
labels fm2
calma 102 0
layer 103 fm3
labels fm3
calma 103 0
layer 109 fa
or fb
squares 0 210 120
labels fa
calma 109 0
layer 119 fn
calma 119 0
layer 110 fapm
labels fapm
calma 110 0
# layer CPG fp
layer CPG fp,fapm
squares 0 210 120
labels fp
calma 46 0
# layer CM1 fm1
layer CM1 fm1,fapm
squares 0 210 120
labels fm1
calma 49 0
# layer CM2 fm2
layer CM2 fm2,fapm
squares 0 210 120
labels fm2
calma 51 0
# layer CM3 fm3
layer CM3 fm3,fapm
squares 0 210 120
labels fm3
calma 62 0
layer CM3 m3,rm3,m3c/m3
labels m3,rm3,m3c/m3
calma 62 0
layer CMTP m3p
labels m3p
calma 83 0
layer COG pad
shrink 600
labels pad
calma 52 0
layer COG glass
labels glass
calma 52 0
layer CFI nfi,pfi
labels nfi,pfi
calma 27 0
layer CHR hr,phr
labels hr,phr
calma 34 0
layer CEL poly2,ecap,phr,p2c
labels poly2,ecap,phr,p2c
calma 56 0
#CRE/CRM
layer CRW rnw,prnw
labels rnw,prnw
calma 65 0
layer CRG rp,prp
labels rp,prp
calma 67 0
layer CRD rnd,rpd,prnd,prpd
labels rnd,rpd,prnd,prpd
calma 66 0
layer CRE rnw,rp,rnd,rpd,rp2
labels rnw,rp,rnd,rpd,rp2
calma 64 0
layer CRF rm1,prm1
labels rm1,prm1
calma 71 0
layer CRS rm2,prm2
labels rm2,prm2
calma 72 0
layer CRG2 rp2,prp2
labels rp2,prp2
calma 68 0
layer CRT rm3,prm3
labels rm3,prm3
calma 73 0
#CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3
#CRE/CRM calma 70 0
layer CX comment,bb
labels comment,bb
calma 63 0
layer XP pad,xp
labels pad,xp
calma 26 0
style lambda=0.30()
scalefactor 30 15
layer CWN nwell,rnw
bloat-or pdiff,rpd,pdc/a,pfet * 180
bloat-or nsd,nsc/a * 90
bloat-or nfi * 120
grow 90
shrink 90
labels nwell,rnw
calma 42 0
templayer TNS ns
templayer TPS ps
#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*60) Or ps
#XDN = (ndiff*60) Or ns
#FSP = ((pdiff*60,psc*60) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*60,nsc*60) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP
#diffusion auto-nselect (will have priority)
templayer XDN
bloat-or ndiff,rnd,ndc/a * 60 psd,psc/a 0
or TNS
#diffusion auto-pselect (will have priority)
templayer XDP
bloat-or pdiff,rpd,pdc/a * 60 nsd,nsc/a 0
or TPS
#final pselect
templayer FSP
bloat-or pdiff,rpd,pfet,psd,pdc/a,psc/a,pfet * 60 ndiff,rnd,ndc/a,nsd,nsc/a,nfet 0
or XDP
#give diff nselect priority
and-not XDN
or TPS
shrink 15
grow 15
grow 15
shrink 15
#final nselect
templayer FSN
bloat-or ndiff,rnd,nfet,nsd,ndc/a,nsc/a,nfet * 60 pdiff,rpd,pdc/a,psd,psc/a,pfet 0
or XDN
#never conflict with final pselect
and-not FSP
#drawn select always goes
or TNS
shrink 15
grow 15
grow 15
shrink 15
layer CSN FSN
calma 45 0
layer CSP FSP
calma 44 0
layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
calma 43 0
layer CCA ndc/m1,nsc/m1
squares 30 60 90
calma 48 0
layer CCA pdc/m1,psc/m1
squares 30 60 90
calma 48 0
layer CPG poly,rp,nfet,pfet,fet,pc/a
labels poly,rp,nfet,pfet,fet,pc/a
calma 46 0
layer CCP pc/m1
squares 30 60 90
calma 47 0
layer CCE gc2
squares 0 60 90
calma 55 0
layer CCE p2c
squares 30 60 90
calma 55 0
layer CCE gc2
squares 0 60 90
calma 55 0
layer CCC gc
squares 0 60 90
calma 25 0
layer CV1 m2c/m1
squares 30 60 90
calma 50 0
layer CV1 gv1
squares 0 60 90
calma 50 0
layer CV2 m3c/m2
squares 30 60 90
calma 61 0
layer CV2 gv2
squares 0 60 90
calma 61 0
templayer XPAD1 pad
shrink 180
templayer XPAD2 XPAD1
shrink 180
layer CM3 pad
labels pad
calma 62 0
layer CV2 XPAD2
squares 240 60 300
calma 61 0
layer CM2 pad
labels pad
calma 51 0
layer CV1 XPAD2
squares 60 60 300
calma 50 0
layer CM1 pad
calma 49 0
layer CM1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
labels m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
calma 49 0
layer CM2 m2,rm2,m2c/m2,m3c/m2,m3c/m2
labels m2,rm2,m2c/m2,m3c/m2,m3c/m2
calma 51 0
layer CMFP m1p
labels m1p
calma 81 0
layer CMSP m2p
labels m2p
calma 82 0
layer 100 fp
labels fp
calma 100 0
layer 101 fm1
labels fm1
calma 101 0
layer 102 fm2
labels fm2
calma 102 0
layer 103 fm3
labels fm3
calma 103 0
layer 109 fa
or fb
squares 0 210 120
labels fa
calma 109 0
layer 119 fn
calma 119 0
layer 110 fapm
labels fapm
calma 110 0
# layer CPG fp
layer CPG fp,fapm
squares 0 210 120
labels fp
calma 46 0
# layer CM1 fm1
layer CM1 fm1,fapm
squares 0 210 120
labels fm1
calma 49 0
# layer CM2 fm2
layer CM2 fm2,fapm
squares 0 210 120
labels fm2
calma 51 0
# layer CM3 fm3
layer CM3 fm3,fapm
squares 0 210 120
labels fm3
calma 62 0
layer CM3 m3,rm3,m3c/m3
labels m3,rm3,m3c/m3
calma 62 0
layer CMTP m3p
labels m3p
calma 83 0
layer COG pad
shrink 600
labels pad
calma 52 0
layer COG glass
labels glass
calma 52 0
layer CFI nfi,pfi
labels nfi,pfi
calma 27 0
layer CHR hr,phr
labels hr,phr
calma 34 0
layer CEL poly2,ecap,phr,p2c
labels poly2,ecap,phr,p2c
calma 56 0
#CRE/CRM
layer CRW rnw,prnw
labels rnw,prnw
calma 65 0
layer CRG rp,prp
labels rp,prp
calma 67 0
layer CRD rnd,rpd,prnd,prpd
labels rnd,rpd,prnd,prpd
calma 66 0
layer CRE rnw,rp,rnd,rpd,rp2
labels rnw,rp,rnd,rpd,rp2
calma 64 0
layer CRF rm1,prm1
labels rm1,prm1
calma 71 0
layer CRS rm2,prm2
labels rm2,prm2
calma 72 0
layer CRG2 rp2,prp2
labels rp2,prp2
calma 68 0
layer CRT rm3,prm3
labels rm3,prm3
calma 73 0
#CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3
#CRE/CRM calma 70 0
layer CX comment,bb
labels comment,bb
calma 63 0
layer XP pad,xp
labels pad,xp
calma 26 0
end
cifinput
style lambda=0.30(p)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
layer pwell CWP
and-not CTA
labels CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
calma CSN 45 *
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer ndc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer ndc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer nsc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer nsc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer pdc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer pdc CAA
and CSP
and CCC
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer psc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer psc CAA
and CSP
and CCC
and-not CWNR
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer pc CCP
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCP 47 *
layer pc CCC
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCC 25 *
layer gc CCP
and-not CPG
and-not CPC
calma CCP 47 *
layer gc CCP
and-not CM1
calma CCP 47 *
layer gc CCA
and-not COP
and-not CAA
and-not CBA
calma CCA 48 *
layer gc CCA
and-not COP
and-not CM1
calma CCA 48 *
layer gc CCC
and-not COP
and-not CPG
and-not CPC
and-not CEL
and-not CAA
and-not CBA
calma CCC 25 *
layer gc CCC
and-not COP
and-not CM1
calma CCC 25 *
layer gc2 CCE
and-not CPC
and-not CEL
calma CCE 55 *
layer gc2 CCE
and-not CM1
calma CCE 55 *
layer gv1 CV1
and-not COP
and-not CM1
calma CV1 50 *
layer gv1 CV1
and-not COP
and-not CM2
calma CV1 50 *
layer gv2 CV2
and-not COP
and-not CM2
calma CV2 61 *
layer gv2 CV2
and-not COP
and-not CM3
calma CV2 61 *
layer m2c CV1
and-not XP
grow 30
and CM2
and CM1
grow 15
shrink 15
calma CV1 50 *
layer m1 CM1
and-not CRM
and-not CRF
and-not XP
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer m2 CM2
and-not CRM
and-not CRS
and-not XP
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer m3c CV2
and-not XP
grow 30
and CM3
and CM2
grow 15
shrink 15
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
and-not XP
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer pad XP
labels pad
calma XP 26 *
layer glass COG
and-not COP
and-not XP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer elc CCE
grow 30
and CM1
and CEL
labels CM1
calma CCE 55 *
layer elc CCC
grow 30
and CM1
and CEL
labels CM1
calma CCC 25 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(s)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
ignore CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer nselect CSN
calma CSN 45 *
layer pselect CSP
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer ndc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer ndc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer nsc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer nsc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer pdc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer pdc CAA
and CSP
and CCC
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer psc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer psc CAA
and CSP
and CCC
and-not CWNR
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer pc CCP
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCP 47 *
layer pc CCC
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCC 25 *
layer gc CCP
and-not CPG
and-not CPC
calma CCP 47 *
layer gc CCP
and-not CM1
calma CCP 47 *
layer gc CCA
and-not COP
and-not CAA
and-not CBA
calma CCA 48 *
layer gc CCA
and-not COP
and-not CM1
calma CCA 48 *
layer gc CCC
and-not COP
and-not CPG
and-not CPC
and-not CEL
and-not CAA
and-not CBA
calma CCC 25 *
layer gc CCC
and-not COP
and-not CM1
calma CCC 25 *
layer gc2 CCE
and-not CPC
and-not CEL
calma CCE 55 *
layer gc2 CCE
and-not CM1
calma CCE 55 *
layer gv1 CV1
and-not COP
and-not CM1
calma CV1 50 *
layer gv1 CV1
and-not COP
and-not CM2
calma CV1 50 *
layer gv2 CV2
and-not COP
and-not CM2
calma CV2 61 *
layer gv2 CV2
and-not COP
and-not CM3
calma CV2 61 *
layer m2c CV1
and-not XP
grow 30
and CM2
and CM1
grow 15
shrink 15
calma CV1 50 *
layer m1 CM1
and-not CRM
and-not CRF
and-not XP
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer m2 CM2
and-not CRM
and-not CRS
and-not XP
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer m3c CV2
and-not XP
grow 30
and CM3
and CM2
grow 15
shrink 15
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
and-not XP
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer pad XP
labels pad
calma XP 26 *
layer glass COG
and-not COP
and-not XP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer elc CCE
grow 30
and CM1
and CEL
labels CM1
calma CCE 55 *
layer elc CCC
grow 30
and CM1
and CEL
labels CM1
calma CCC 25 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(ps)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
layer pwell CWP
and-not CTA
labels CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer nselect CSN
calma CSN 45 *
layer pselect CSP
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer ndc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer ndc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer nsc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer nsc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer pdc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer pdc CAA
and CSP
and CCC
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer psc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer psc CAA
and CSP
and CCC
and-not CWNR
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer pc CCP
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCP 47 *
layer pc CCC
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCC 25 *
layer gc CCP
and-not CPG
and-not CPC
calma CCP 47 *
layer gc CCP
and-not CM1
calma CCP 47 *
layer gc CCA
and-not COP
and-not CAA
and-not CBA
calma CCA 48 *
layer gc CCA
and-not COP
and-not CM1
calma CCA 48 *
layer gc CCC
and-not COP
and-not CPG
and-not CPC
and-not CEL
and-not CAA
and-not CBA
calma CCC 25 *
layer gc CCC
and-not COP
and-not CM1
calma CCC 25 *
layer gc2 CCE
and-not CPC
and-not CEL
calma CCE 55 *
layer gc2 CCE
and-not CM1
calma CCE 55 *
layer gv1 CV1
and-not COP
and-not CM1
calma CV1 50 *
layer gv1 CV1
and-not COP
and-not CM2
calma CV1 50 *
layer gv2 CV2
and-not COP
and-not CM2
calma CV2 61 *
layer gv2 CV2
and-not COP
and-not CM3
calma CV2 61 *
layer m2c CV1
and-not XP
grow 30
and CM2
and CM1
grow 15
shrink 15
calma CV1 50 *
layer m1 CM1
and-not CRM
and-not CRF
and-not XP
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer m2 CM2
and-not CRM
and-not CRS
and-not XP
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer m3c CV2
and-not XP
grow 30
and CM3
and CM2
grow 15
shrink 15
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
and-not XP
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer pad XP
labels pad
calma XP 26 *
layer glass COG
and-not COP
and-not XP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer elc CCE
grow 30
and CM1
and CEL
labels CM1
calma CCE 55 *
layer elc CCC
grow 30
and CM1
and CEL
labels CM1
calma CCC 25 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30()
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
ignore CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
calma CSN 45 *
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer ndc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer ndc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer nsc CAA
and CSN
and CCA
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer nsc CAA
and CSN
and CCC
and-not CWNR
and-not CTA
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer pdc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer pdc CAA
and CSP
and CCC
and-not CTA
and-not CPS
and CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer psc CAA
and CSP
and CCA
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCA 48 *
layer psc CAA
and CSP
and CCC
and-not CWNR
and-not CTA
and-not CPS
and-not CWN
and CM1
grow 30
grow 15
shrink 15
calma CCC 25 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer pc CCP
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCP 47 *
layer pc CCC
and CPG
and-not CPC
and-not CEL
and-not CAA
grow 30
and CM1
grow 15
shrink 15
calma CCC 25 *
layer gc CCP
and-not CPG
and-not CPC
calma CCP 47 *
layer gc CCP
and-not CM1
calma CCP 47 *
layer gc CCA
and-not COP
and-not CAA
and-not CBA
calma CCA 48 *
layer gc CCA
and-not COP
and-not CM1
calma CCA 48 *
layer gc CCC
and-not COP
and-not CPG
and-not CPC
and-not CEL
and-not CAA
and-not CBA
calma CCC 25 *
layer gc CCC
and-not COP
and-not CM1
calma CCC 25 *
layer gc2 CCE
and-not CPC
and-not CEL
calma CCE 55 *
layer gc2 CCE
and-not CM1
calma CCE 55 *
layer gv1 CV1
and-not COP
and-not CM1
calma CV1 50 *
layer gv1 CV1
and-not COP
and-not CM2
calma CV1 50 *
layer gv2 CV2
and-not COP
and-not CM2
calma CV2 61 *
layer gv2 CV2
and-not COP
and-not CM3
calma CV2 61 *
layer m2c CV1
and-not XP
grow 30
and CM2
and CM1
grow 15
shrink 15
calma CV1 50 *
layer m1 CM1
and-not CRM
and-not CRF
and-not XP
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer m2 CM2
and-not CRM
and-not CRS
and-not XP
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer m3c CV2
and-not XP
grow 30
and CM3
and CM2
grow 15
shrink 15
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
and-not XP
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer pad XP
labels pad
calma XP 26 *
layer glass COG
and-not COP
and-not XP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer elc CCE
grow 30
and CM1
and CEL
labels CM1
calma CCE 55 *
layer elc CCC
grow 30
and CM1
and CEL
labels CM1
calma CCC 25 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(c)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
ignore CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
calma CSN 45 *
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer gc2 CCA
and CEL
calma CCA 48 *
layer gc2 CCP
and CEL
calma CCP 47 *
layer gc2 CCC
and CEL
calma CCC 25 *
layer gc2 CCE
and CEL
calma CCE 55 *
layer gc2 CCA
and CPC
and-not CPG
calma CCA 48 *
layer gc2 CCP
and CPC
and-not CPG
calma CCP 47 *
layer gc2 CCC
and CPC
and-not CPG
calma CCC 25 *
layer gc2 CCE
and CPC
and-not CPG
calma CCE 55 *
layer gc CCA
and CPG
and-not CEL
calma CCA 48 *
layer gc CCP
and CPG
and-not CEL
calma CCP 47 *
layer gc CCC
and CPG
and-not CEL
calma CCC 25 *
layer gc CCE
and CPG
and-not CEL
calma CCE 55 *
layer gc CCA
and-not COP
and-not CPC
and-not CEL
calma CCA 48 *
layer gc CCP
and-not COP
and-not CPC
and-not CEL
calma CCP 47 *
layer gc CCC
and-not COP
and-not CPC
and-not CEL
calma CCC 25 *
layer gc CCE
and-not COP
and-not CPC
and-not CEL
calma CCE 55 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer m1 CM1
and-not CRM
and-not CRF
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer gv1 CV1
calma CV1 50 *
layer m2 CM2
and-not CRM
and-not CRS
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer gv2 CV2
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer xp XP
calma XP 26 *
layer glass COG
and-not COP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(cs)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
ignore CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer nselect CSN
calma CSN 45 *
layer pselect CSP
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer gc2 CCA
and CEL
calma CCA 48 *
layer gc2 CCP
and CEL
calma CCP 47 *
layer gc2 CCC
and CEL
calma CCC 25 *
layer gc2 CCE
and CEL
calma CCE 55 *
layer gc2 CCA
and CPC
and-not CPG
calma CCA 48 *
layer gc2 CCP
and CPC
and-not CPG
calma CCP 47 *
layer gc2 CCC
and CPC
and-not CPG
calma CCC 25 *
layer gc2 CCE
and CPC
and-not CPG
calma CCE 55 *
layer gc CCA
and CPG
and-not CEL
calma CCA 48 *
layer gc CCP
and CPG
and-not CEL
calma CCP 47 *
layer gc CCC
and CPG
and-not CEL
calma CCC 25 *
layer gc CCE
and CPG
and-not CEL
calma CCE 55 *
layer gc CCA
and-not COP
and-not CPC
and-not CEL
calma CCA 48 *
layer gc CCP
and-not COP
and-not CPC
and-not CEL
calma CCP 47 *
layer gc CCC
and-not COP
and-not CPC
and-not CEL
calma CCC 25 *
layer gc CCE
and-not COP
and-not CPC
and-not CEL
calma CCE 55 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer m1 CM1
and-not CRM
and-not CRF
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer gv1 CV1
calma CV1 50 *
layer m2 CM2
and-not CRM
and-not CRS
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer gv2 CV2
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer xp XP
calma XP 26 *
layer glass COG
and-not COP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(cps)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
layer pwell CWP
and-not CTA
labels CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer nselect CSN
calma CSN 45 *
layer pselect CSP
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer gc2 CCA
and CEL
calma CCA 48 *
layer gc2 CCP
and CEL
calma CCP 47 *
layer gc2 CCC
and CEL
calma CCC 25 *
layer gc2 CCE
and CEL
calma CCE 55 *
layer gc2 CCA
and CPC
and-not CPG
calma CCA 48 *
layer gc2 CCP
and CPC
and-not CPG
calma CCP 47 *
layer gc2 CCC
and CPC
and-not CPG
calma CCC 25 *
layer gc2 CCE
and CPC
and-not CPG
calma CCE 55 *
layer gc CCA
and CPG
and-not CEL
calma CCA 48 *
layer gc CCP
and CPG
and-not CEL
calma CCP 47 *
layer gc CCC
and CPG
and-not CEL
calma CCC 25 *
layer gc CCE
and CPG
and-not CEL
calma CCE 55 *
layer gc CCA
and-not COP
and-not CPC
and-not CEL
calma CCA 48 *
layer gc CCP
and-not COP
and-not CPC
and-not CEL
calma CCP 47 *
layer gc CCC
and-not COP
and-not CPC
and-not CEL
calma CCC 25 *
layer gc CCE
and-not COP
and-not CPC
and-not CEL
calma CCE 55 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer m1 CM1
and-not CRM
and-not CRF
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer gv1 CV1
calma CV1 50 *
layer m2 CM2
and-not CRM
and-not CRS
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer gv2 CV2
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer xp XP
calma XP 26 *
layer glass COG
and-not COP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style lambda=0.30(cp)
scalefactor 30
# This is a custom section to add bounding boxes in OpenRAM
layer bb BB
labels BB
calma BB 63 0
layer nwell CWN
and-not CWNR
and-not CTA
labels CWN
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRE
and-not CSB
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer rnw CWN
and-not CWNR
and CRW
and-not CRD
and-not CAA
and-not CPG
calma CWN 42 *
layer pseudo_rnwell CRW
and-not CRE
calma CRW 65 *
layer pwell CWP
and-not CTA
labels CWP
calma CWP 41 *
layer diff CAA
and-not CTA
and-not CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
layer tran CAA
and-not CTA
and CPG
and-not CWNR
and-not COP
and-not CSN
and-not CSP
labels CAA
calma CAA 43 *
calma CSN 45 *
calma CSP 44 *
layer ndiff CAA
and CSN
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRE
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer rnd CAA
and CSN
and-not CWNR
and CRD
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and-not CBA
calma CAA 43 *
layer pseudo_rndiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and-not CWN
and-not CSP
and CSN
and-not CBA
calma CRD 66 *
layer pdiff CAA
and CSP
and-not CWNR
and-not CTA
and-not CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRE
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer rpd CAA
and CSP
and-not CWNR
and CRD
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CAA 43 *
layer pseudo_rpdiff CRD
and-not CRE
and-not CAA
and-not CSB
and-not CPG
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
calma CRD 66 *
layer nfet CAA
and CSN
and-not CWNR
and-not CTA
and CPG
and-not CEL
and-not CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer pfet CAA
and CSP
and-not CWNR
and-not CTA
and CPG
and-not CEL
and CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer nsd CAA
and CSN
and-not CWNR
and-not CTA
and CWN
and-not CSP
and-not CBA
labels CAA
calma CAA 43 *
layer psd CAA
and CSP
and-not CWNR
and-not CTA
and-not CWN
and-not CSN
and-not CPS
and CSP
and-not CBA
labels CAA
calma CAA 43 *
layer gc2 CCA
and CEL
calma CCA 48 *
layer gc2 CCP
and CEL
calma CCP 47 *
layer gc2 CCC
and CEL
calma CCC 25 *
layer gc2 CCE
and CEL
calma CCE 55 *
layer gc2 CCA
and CPC
and-not CPG
calma CCA 48 *
layer gc2 CCP
and CPC
and-not CPG
calma CCP 47 *
layer gc2 CCC
and CPC
and-not CPG
calma CCC 25 *
layer gc2 CCE
and CPC
and-not CPG
calma CCE 55 *
layer gc CCA
and CPG
and-not CEL
calma CCA 48 *
layer gc CCP
and CPG
and-not CEL
calma CCP 47 *
layer gc CCC
and CPG
and-not CEL
calma CCC 25 *
layer gc CCE
and CPG
and-not CEL
calma CCE 55 *
layer gc CCA
and-not COP
and-not CPC
and-not CEL
calma CCA 48 *
layer gc CCP
and-not COP
and-not CPC
and-not CEL
calma CCP 47 *
layer gc CCC
and-not COP
and-not CPC
and-not CEL
calma CCC 25 *
layer gc CCE
and-not COP
and-not CPC
and-not CEL
calma CCE 55 *
layer poly CPG
and-not CRE
labels CPG
calma CPG 46 *
layer rp CPG
and CRE
and-not CSB
calma CPG 46 *
layer rp CPG
and CRG
calma CPG 46 *
layer pseudo_rpoly CRG
and-not CRE
calma CRG 67 *
layer m1 CM1
and-not CRM
and-not CRF
labels CM1
calma CM1 49 *
layer rm1 CRM
and CM1
calma CRM 70 *
layer rm1 CRF
and CM1
calma CRF 71 *
layer pseudo_rmetal1 CRF
and-not rm1
calma CRF 71 *
layer m1p CMFP
labels CMFP
calma CMFP 81 *
layer gv1 CV1
calma CV1 50 *
layer m2 CM2
and-not CRM
and-not CRS
labels CM2
calma CM2 51 *
layer rm2 CRM
and CM2
calma CRM 70 *
layer rm2 CRS
and CM2
calma CRS 72 *
layer pseudo_rmetal2 CRS
and-not rm2
calma CRS 72 *
layer m2p CMSP
labels CMSP
calma CMSP 82 *
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
layer gv2 CV2
calma CV2 61 *
layer m3 CM3
and-not CRM
and-not CRT
labels CM3
calma CM3 62 *
layer rm3 CRM
and CM3
calma CRM 70 *
layer rm3 CRT
and CM3
calma CRT 73 *
layer pseudo_rmetal3 CRT
and-not rm3
calma CRT 73 *
layer m3p CMTP
labels CMTP
calma CMTP 83 *
layer xp XP
calma XP 26 *
layer glass COG
and-not COP
labels COG
calma COG 52 *
layer nfi CFI
and CWN
labels CFI
calma CFI 27 *
layer pfi CFI
and-not CWN
labels CFI
calma CFI 27 *
layer hr CHR
labels CHR
calma CHR 34 *
layer phr CEL
and CHR
calma CEL 56 *
layer ecap CEL
and CPG
labels CEL
calma CEL 56 *
layer poly2 CEL
and-not CPG
labels CEL
calma CEL 56 *
layer rp2 CEL
and CRG2
calma CEL 56 *
layer pseudo_rpoly2 CRG2
and-not CRE
calma CRG2 68 *
layer comment CX
labels CX
calma CX 63 *
calma CTA 60 *
calma CRW 65 *
calma CRG 67 *
calma CRD 66 *
calma CRE 64 *
calma CRF 71 *
calma CRS 72 *
calma CRT 73 *
calma CRM 70 *
style fill-only
scalefactor 30
# scalefactor 100
layer fp 100
calma 100 100 *
layer fm1 101
calma 101 101 *
layer fm2 102
calma 102 102 *
layer fm3 103
calma 103 103 *
layer fa 109
or fb
calma 109 109 *
layer fn 119
calma 119 119 *
layer fapm 110
calma 110 110 *
end
mzrouter
style irouter
# layer hCost vCost jogCost hintCost
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 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 (Mosis #1.1)"
width rnw 12 \
"rnwell (for resistor L/W extraction) width < 12 (Mosis #1.1)"
width pwell 12 \
"P-well width < 12 (Mosis #1.1)"
width diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a 3 \
"Diffusion width < 3 (Mosis #2.1)"
width poly,fp,rp,pc/a,nfet,pfet,fet 2 \
"Poly width < 2 (Mosis #3.1)"
width nselect 2 \
"N-Select width < 2 (Mosis #4.4)"
width pselect 2 \
"P-Select width < 2 (Mosis #4.4)"
width pc/m1 4 \
"Poly contact width < 4 (Mosis #5.1)"
width gc 2 \
"GC contact width < 2 (Mosis #6.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,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 3 \
"Metal1 width < 3 (Mosis #7.1)"
width gv1 2 \
"GV1 via width < 2 (Mosis #8.1)"
width m2c/m1 4 \
"Metal2 contact width < 4 (Mosis #8.1)"
width m2,fm2,rm2,m2c/m2,m3c/m2 3 \
"Metal2 width < 3 (Mosis #9.1)"
width ecap 8 \
"Ecap width < 8 (Mosis #11.1)"
width poly2,ecap,phr 5 \
"Poly2 width < 5 (Mosis #11.1)"
width gc2 2 \
"Generic contact2 width < 2 (Mosis #13.1)"
width p2c 4 \
"Poly2 contact width < 4 (Mosis #13.1)"
width gv2 2 \
"GV2 via width < 2 (Mosis #14.1)"
width m3c/m2 4 \
"Metal3 contact width < 4 (Mosis #14.1)"
width m3,fm3,rm3,m3c/m3,pad 5 \
"Metal3 width < 5 (Mosis #15.1)"
width hr,phr 4 \
"High-Resist width < 4 (Mosis #27.1)"
width phr 5 \
"High-Resist poly2R width < 5 (Mosis #27.7)"
width nfi,pfi 4 \
"N/P_field-implant width < 4 (Mosis #29.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)" active
spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a 3 touching_ok \
"Diffusion spacing < 3 (Mosis #2.2)"
spacing nwell ndiff,rnd,nfet,ndc/a 6 touching_illegal \
"N-well spacing to N-Diffusion < 6 (Mosis #2.3)"
spacing pwell pdiff,rpd,pfet,pdc/a 6 touching_illegal \
"P-well spacing to P-Diffusion < 6 (Mosis #2.3)"
spacing ndiff,rnd,nfet,ndc/a pdiff,rpd,pfet,pdc/a 12 touching_illegal \
"N-Diffusion spacing to P-Diffusion < 12 (Mosis #2.3+2.3)"
edge4way ~(nwell)/well nwell 6 ~(pdiff,rpd,pfet,pdc/a)/active nwell 6 \
"N-well overlap of P-Diffusion < 6 (Mosis #2.4)" active
edge4way ~(pwell)/well pwell 6 ~(ndiff,rnd,nfet,ndc/a)/active pwell 6 \
"P-well overlap of N-Diffusion < 6 (Mosis #2.4)" active
edge4way ~(nwell)/well nwell 3 ~(nsd,nsc/a)/active nwell 3 \
"N-well overlap of N-Ohmic < 3 (Mosis #2.4)" active
edge4way ~(pwell)/well pwell 3 ~(psd,psc/a)/active pwell 3 \
"P-well overlap of P-Ohmic < 3 (Mosis #2.4)" active
spacing ndiff,rnd,ndc/a nsd,nsc/a 9 touching_illegal \
"N-Diffusion spacing to N-Ohmic < 9 (Mosis #2.3+2.4)"
spacing pdiff,rpd,pdc/a psd,psc/a 9 touching_illegal \
"P-Diffusion spacing to P-Ohmic < 9 (Mosis #2.3+2.4)"
spacing nwell psd,psc/a 3 touching_illegal \
"N-well spacing to P-Ohmic < 3 (Mosis #2.4)"
spacing pwell nsd,nsc/a 3 touching_illegal \
"P-well spacing to N-Ohmic < 3 (Mosis #2.4)"
spacing psd,psc/a rnw,prnw 3 touching_illegal \
"P-Ohmic spacing to rnw,prnw < 3 (Mosis #2.4)"
spacing nsd,nsc/a psd,psc/a 6 touching_illegal \
"N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)"
spacing ndiff,rnd,nfet,ndc/a,nfet psd,psc/a 4 touching_ok \
"N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)"
spacing pdiff,rpd,pfet,pdc/a,pfet nsd,nsc/a 4 touching_ok \
"P-Diffusion spacing to N-Ohmic < 4 (Mosis #2.5)"
spacing poly,rp,pc/a,nfet,pfet,fet poly,rp,pc/a,nfet,pfet,fet 3 touching_ok \
"Poly spacing < 3 (Mosis #3.2)"
spacing poly,rp,pc/a,nfet,pfet,fet fp,fapm 3 touching_illegal \
"Poly spacing to fill layer (fp) < 3 (Mosis #3.2)"
spacing fp fp 4 touching_ok \
"Poly fill layer (fp) spacing < 4 (Mosis #0)"
edge4way nfet,pfet,fet space/active,poly,fp,rp,pc/a 2 poly,fp,rp,pc/a 0 0 \
"Poly overhang of Transistor < 2 (Mosis #3.3)" active
edge4way nfet,pfet,fet space/active,ndiff,rnd,ndc/a,pdiff,rpd,pdc/a 3 ndiff,rnd,ndc/a,pdiff,rpd,pdc/a,nfet,pfet,fet 0 0 \
"N-Diffusion,P-Diffusion overhang of Transistor < 3 (Mosis #3.4)" active
edge4way poly,fp,rp,pc/a ~(poly,fp,rp,pc/a,nfet,pfet,fet,prp)/active 1 space/a space/a 1 \
"Poly spacing to Diffusion < 1 (Mosis #3.5)"
edge4way nfet ~(nfet)/active 3 ~(pselect)/select ~(nfet)/active 3 \
"N-Transistor space to P-Select < 3 (Mosis #4.1)" select
edge4way pfet ~(pfet)/active 3 ~(nselect)/select ~(pfet)/active 3 \
"P-Transistor space to N-Select < 3 (Mosis #4.1)" select
edge4way nfet ~(nfet)/active 3 ~(psd,psc/a)/active ~(nfet)/active 2 \
"N-Transistor space to P-Ohmic < 3 (Mosis #4.1)" active
edge4way pfet ~(pfet)/active 3 ~(nsd,nsc/a)/active ~(pfet)/active 2 \
"P-Transistor space to N-Ohmic < 3 (Mosis #4.1)" active
#PEZ edge4way psd,psc/a space ~(nfet)/active space \
#PEZ "P-Ohmic space to N-Transistor < (Mosis #4.1)" active
#PEZ edge4way nsd,nsc/a space ~(pfet)/active space \
#PEZ "N-Ohmic space to P-Transistor < (Mosis #4.1)" active
edge4way ~(nselect,pselect)/select nselect,pselect 2 ~(diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a)/active nselect,pselect 2 \
"N-Select,P-Select overlap of Diffusion < 2 (Mosis #4.2_)" active
edge4way space nselect,pselect 2 ~(ndiff,rnd,nfet,ndc/a)/active nselect 2 \
"N-Select space to N-Diffusion < 2 (Mosis #4.2a)" active
edge4way nselect,pselect space 2 ~(ndiff,rnd,nfet,ndc/a)/active nselect 2 \
"N-Select space to N-Diffusion < 2 (Mosis #4.2b)" active
edge4way nselect,pselect space 2 ~(ndiff,rnd,nfet,ndc/a)/active space,nselect,pselect 2 \
"N-Select space to N-Diffusion < 2 (Mosis #4.2c)" active
edge4way space nselect,pselect 2 ~(pdiff,rpd,pfet,pdc/a)/active pselect 2 \
"P-Select space to P-Diffusion < 2 (Mosis #4.2aa)" active
edge4way nselect,pselect space 2 ~(pdiff,rpd,pfet,pdc/a)/active pselect 2 \
"P-Select space to P-Diffusion < 2 (Mosis #4.2bb)" active
edge4way nselect,pselect space 2 ~(pdiff,rpd,pfet,pdc/a)/active space,nselect,pselect 2 \
"P-Select space to P-Diffusion < 2 (Mosis #4.2cc)" active
edge4way diff space 2 nselect space 2 \
"N-Select must overlap Diffusion by 2 (Mosis #4.2)" select
edge4way diff space 2 pselect space 2 \
"P-Select must overlap Diffusion by 2 (Mosis #4.2)" select
edge4way ndiff,rnd,nfet,ndc/a space 2 ~(pselect)/select space 2 \
"P-Select space to N-Diffusion < 2 (Mosis #4.2e)" select
edge4way pdiff,rpd,pfet,pdc/a space 2 ~(nselect)/select space 2 \
"N-Select space to P-Diffusion < 2 (Mosis #4.2e)" select
edge4way ~(pdiff,rpd,pfet,pdc/a,psd,psc/a)/active pdiff,rpd,pfet,pdc/a,psd,psc/a 1 ~(nselect)/select 0 0 \
"N-Select cannot touch P-Diffusion,P-Ohmic (Mosis #4.2f)" select
edge4way ~(ndiff,rnd,nfet,ndc/a,nsd,nsc/a)/active ndiff,rnd,nfet,ndc/a,nsd,nsc/a 1 ~(pselect)/select 0 0 \
"P-Select cannot touch N-Diffusion,N-Ohmic (Mosis #4.2f)" select
width nsd,nsc/a,psd,psc/a 2 \
"N-Ohmic,P-Ohmic width < 2 (Mosis #4.1)"
spacing nselect nselect 2 touching_ok \
"N-Select spacing < 2 (Mosis #4.4)"
spacing pselect pselect 2 touching_ok \
"P-Select spacing < 2 (Mosis #4.4)"
edge4way ndiff,rnd,ndc/a psd,psc/a 2 ~(ndiff,rnd,ndc/a)/active 0 0 \
"P-Ohmic(that touches N-Diffusion) width < 2 (Mosis #4.4)"
edge4way pdiff,rpd,pdc/a nsd,nsc/a 2 ~(pdiff,rpd,pdc/a)/active 0 0 \
"N-Ohmic(that touches P-Diffusion) width < 2 (Mosis #4.4)"
edge4way gc ~(gc)/contact 1 poly,fp,rp,pc/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a ~(gc)/contact 1 \
"Poly,Diffusion overlap of GC contact < 1 (Mosis #5.2)" active
edge4way gc space 1 poly,fp,rp,pc/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a space 1 \
"one of: Poly,Diffusion must overlap GC contact by 1 (Mosis #5.2a,6.2a)" active
edge4way ~(poly,fp,rp,pc/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a)/active poly,fp,rp,pc/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a 1 ~(gc)/contact 0 0 \
"Edge to one of: Poly,Diffusion cannot touch GC contact (Mosis #5.2a,6.2a)" contact
spacing gc gc 3 touching_ok \
"Generic contact spacing < 3 (Mosis #5.3)"
edge4way ~(gc)/contact gc 1 ~(ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c)/metal1 0 0 \
"GC contact cannot touch Metal1 contacts (Mosis #0)" metal1
spacing gv1 m2c/m2 2 touching_illegal \
"GV1 via spacing to Metal2 contacts < 2 (Mosis #14.2)"
spacing poly,fp,rp,pc/a pc/a 4 touching_ok \
"Poly spacing to Poly contact < 4 (Mosis #5.5.b)"
edge4way gc ~(gc)/contact 1 diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,poly,fp,rp,pc/a ~(gc)/contact 1 \
"Diffusion,Poly overlap of GC contact < 1 (Mosis #6.2)" active
spacing gc pc/a,ndc/a,pdc/a,psc/a,nsc/a 2 touching_illegal \
"Generic contact spacing to Poly contact,Diffusion contact < 2 (Mosis #5.3)"
spacing nsc/m1 pdc/m1 1 touching_illegal \
"nsc spacing to pdc < 1 (Mosis #6.3)"
spacing psc/m1 ndc/m1 1 touching_illegal \
"psc spacing to ndc < 1 (Mosis #6.3)"
spacing nfet,pfet ndc/a,pdc/a,psc/a,nsc/a 1 touching_illegal \
"N-Transistor,P-Transistor spacing to Diffusion contact < 1 (Mosis #6.4)"
spacing nfet,pfet gc 2 touching_illegal \
"N-Transistor,P-Transistor spacing to Generic contact < 2 (Mosis #6.4)"
spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a pc/a 1 touching_illegal \
"Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)"
spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,nfet,pfet 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 \
"pc/a spacing to ndc/a,pdc/a,psc/a,nsc/a < 2 (Mosis #6.7)"
spacing m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 3 touching_ok \
"Metal1 spacing < 3 (Mosis #7.2)"
spacing m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 fm1,fapm 3 touching_illegal \
"Metal1 spacing to fill layer (fm1) < 3 (Mosis #7.2)"
spacing fm1 fm1 4 touching_ok \
"Metal1 fill layer (fm1) spacing < 4 (Mosis #0)"
edge4way gc space 1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 space 1 \
"Metal1 must overlap GC contact by 1 (Mosis #7.3,7.4)" metal1
edge4way ~(m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 1 ~(gc)/contact 0 0 \
"Metal1(edge) cannot touch GC contact (Mosis #7.3+7.4)" contact
spacing gv1 gv1 3 touching_ok \
"GV1 via spacing < 3 (Mosis #8.2)"
edge4way gv1 ~(gv1)/via1 1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 ~(gv1)/via1 1 \
"Metal1 overlap of GV1 via < 1 (Mosis #8.3)" metal1
edge4way gv1 space 1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 space 1 \
"Metal1 must overlap GV1 via by 1 (Mosis #8.3)" metal1
edge4way ~(m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 1 ~(gv1)/via1 0 0 \
"Metal1(edge) cannot touch GV1 via (Mosis #8.3)" via1
spacing gc gv1 2 touching_illegal \
"GC contact spacing to GV1 via < 2 (Mosis #8.4)"
spacing gc m2c/m2 2 touching_illegal \
" spacing to Metal2 contacts < 2 (Mosis #14.2)"
spacing gc m2c/m2 2 touching_illegal \
"GC contact spacing to Metal2 contacts < 2 (Mosis #8.4)"
spacing m2,rm2,m2c/m2,m3c/m2 m2,rm2,m2c/m2,m3c/m2 3 touching_ok \
"Metal2 spacing < 3 (Mosis #9.2)"
spacing m2,rm2,m2c/m2,m3c/m2 fm2,fapm 3 touching_illegal \
"Metal2 spacing to fill layer (fm2) < 3 (Mosis #9.2)"
spacing fm2 fm2 4 touching_ok \
"Metal2 fill layer (fm2) spacing < 4 (Mosis #0)"
edge4way gv1 space 1 m2,fm2,rm2,m2c/m2,m3c/m2 space 1 \
"Metal2 must overlap GV1 via by 1 (Mosis #9.3)" metal2
edge4way ~(m2,fm2,rm2,m2c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,m3c/m2 1 ~(gv1)/via1 0 0 \
"Metal2(edge) cannot touch GV1 via (Mosis #9.3)" via1
width glass 10 \
"COG width < 10 (Mosis #10.2)"
edge4way ~(pad)/metal3 pad 20 ~(glass)/oxide pad 20 \
"pad overlap of COG < 20 (Mosis #10.3)" oxide
spacing ecap ecap 3 touching_ok \
"Ecap spacing < 3 (Mosis #11.2)"
edge4way ecap ~(ecap)/cap 5 poly,fp,rp,pc/a ~(ecap)/cap 5 \
"Poly overlap of Ecap < 5 (Mosis #11.3)" active
edge4way ~(ecap)/cap ecap 1 poly,fp,rp,pc/a 0 0 \
"Ecap must touch Poly (Mosis #11.3x)" active
edge4way poly2,phr space 5 ~(poly,fp,rp,pc/a)/active space 5 \
"Poly2 spacing to Poly < 5 (Mosis #11.3c)" active
spacing ecap pc/a 2 touching_illegal \
"Ecap spacing to Poly contact < 2 (Mosis #11.5)"
spacing ecap gc 3 touching_illegal \
"Ecap spacing to Generic contact < 3 (Mosis #11.5)"
spacing poly2,ecap,phr poly2,ecap,phr 3 touching_ok \
"Poly2 spacing < 3 (Mosis #11.2)"
spacing poly2,ecap,phr pc/a,ndc/a,pdc/a,psc/a,nsc/a 2 touching_illegal \
"Poly2 spacing to Poly contact,Diffusion contact < 2 (Mosis #11.5)"
spacing poly2,ecap,phr gc,gc 3 touching_illegal \
"Poly2 spacing to GC contact < 3 (Mosis #11.5)"
spacing gc2 gc2 3 touching_ok \
"Generic contact2 spacing < 3 (Mosis #13.2)"
edge4way ~(ecap)/cap ecap 3 ~(gc2)/contact ecap 3 \
"Ecap overlap of Generic contact2 < 3 (Mosis #13.3)" contact
edge4way ~(ecap)/cap ecap 2 ~(p2c)/metal1 ecap 2 \
"Ecap overlap of Poly2 contact < 2 (Mosis #13.3)" metal1
edge4way gc2 space 1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 space 1 \
"Metal1 must overlap Generic contact2 by 1 (Mosis #13.4)" metal1
edge4way ~(m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 1 ~(gc2)/contact 0 0 \
"Metal1(edge) cannot touch Generic contact2 (Mosis #13.4)" contact
edge4way ~(poly2,ecap,phr)/cap poly2,ecap,phr 1 ~(p2c)/metal1 poly2,ecap,phr 1 \
"Poly2 overlap of Poly2 contact < 1 (Mosis #13.4)" metal1
spacing gv2 gv2 3 touching_ok \
"GV2 via spacing < 3 (Mosis #14.2)"
spacing gv2 m3c/m2 2 touching_illegal \
"GV2 via spacing to Metal3 contact < 2 (Mosis #14.2)"
edge4way gv2 space 1 m2,fm2,rm2,m2c/m2,m3c/m2 space 1 \
"Metal2 must overlap GV2 via by 1 (Mosis #14.3)" metal2
edge4way ~(m2,fm2,rm2,m2c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,m3c/m2 1 ~(gv2)/via2 0 0 \
"Metal2(edge) cannot touch GV2 via (Mosis #14.3)" via2
spacing gv1 gv2 2 touching_illegal \
"GV1 via spacing to GV2 via < 2 (Mosis #14.4)"
spacing gv1 m3c/m2 1 touching_illegal \
"GV1 via spacing to Metal3 contact < 1 (Mosis #14.4)"
spacing m3,rm3,m3c/m3,pad m3,rm3,m3c/m3,pad 3 touching_ok \
"Metal3 spacing < 3 (Mosis #15.2)"
spacing m3,rm3,m3c/m3,pad fm3,fapm 3 touching_illegal \
"Metal3 spacing to fill layer (fm3) < 3 (Mosis #15.2)"
spacing fm3 fm3 4 touching_ok \
"Metal3 fill layer (fm3) spacing < 4 (Mosis #0)"
edge4way m3c/m2 ~(m3c/m2)/metal2 1 m3,fm3,rm3,m3c/m3,pad ~(m3c/m2)/metal2 1 \
"Metal3 overlap of Metal3 contact < 1 (Mosis #15.3)" metal3
edge4way gv2 space 2 m3,fm3,rm3,m3c/m3,pad space 2 \
"Metal3 must overlap GV2 via by 2 (Mosis #15.3)" metal3
edge4way ~(m3,fm3,rm3,m3c/m3,pad)/metal3 m3,fm3,rm3,m3c/m3,pad 1 ~(gv2)/via2 0 0 \
"Metal3(edge) cannot touch GV2 via (Mosis #15.3)" via2
spacing hr,phr hr,phr 4 touching_ok \
"High-Resist spacing < 4 (Mosis #27.2)"
spacing hr,phr,phr p2c 2 touching_illegal \
"High-Resist spacing to Poly2 contact < 2 (Mosis #27.3)"
spacing hr,phr,phr gc 2 touching_illegal \
"High-Resist spacing to GC contact < 2 (Mosis #27.3)"
edge4way hr,phr space 2 ~(ndiff,rnd,ndc/a,pdiff,rpd,pdc/a)/active 0 2 \
"High-Resist space to Diffusion < 2 (Mosis #27.4)" active
spacing hr,phr,phr poly2,ecap,phr 2 touching_ok \
"High-Resist spacing to other Poly2 < 2 (Mosis #27.5)"
edge4way hr,phr space 2 ~(poly2,ecap,phr)/contact hr,phr 2 \
"High-Resist space to Poly2 < 2 (Mosis #27.5x)" contact
spacing nwell phr 4 touching_illegal \
"N-well spacing to Silicide-Block poly2R < 4 (Mosis #27.6)"
spacing phr phr 7 touching_ok \
"High-Resist poly2R spacing < 7 (Mosis #27.13)"
edge4way phr space/active,hr 2 hr hr 2 \
"High-Resist overlap of High-Resist poly2R < 2 (Mosis #27.15)"
spacing nfi nfi 4 touching_ok \
"N_field-implant spacing < 4 (Mosis #35.2)"
spacing pfi pfi 4 touching_ok \
"P_field-implant spacing < 4 (Mosis #35.2)"
spacing nfi pfi 4 touching_illegal \
"N_field-implant spacing to P_field-implant < 4 (Mosis #35.2)"
spacing nwell,pdiff,rpd,pfet,pdc/a pfi 4 touching_illegal \
"N-well,P-Diffusion spacing to P_field-implant < 4 (Mosis #2.1)"
spacing pwell,ndiff,rnd,nfet,ndc/a nfi 4 touching_illegal \
"P-well,N-Diffusion spacing to N_field-implant < 4 (Mosis #2.1)"
edge4way ~(nwell)/well nwell 4 ~(nfi)/implant nwell 4 \
"N-well overlap of N_field-implant < 4 (Mosis #21.2)" implant
edge4way ~(pwell)/well pwell 4 ~(pfi)/implant pwell 4 \
"P-well overlap of P_field-implant < 4 (Mosis #21.2)" implant
spacing fa fapm 4 touching_illegal \
"fill layer fa spacing to fill layer fapm < 4 (Mosis #0)"
width fa 7 \
"filla width < 7 (Mosis #0)"
width fapm 7 \
"fillapm width < 7 (Mosis #0)"
width fp 7 \
"fillp width < 7 (Mosis #0)"
width fm1 7 \
"fillm1 width < 7 (Mosis #0)"
width fm2 7 \
"fillm2 width < 7 (Mosis #0)"
width fm3 7 \
"fillm3 width < 7 (Mosis #0)"
edge4way fa ~(fa)/fill 1 ~(fa)/fill (~(fa),fa)/fill 1 \
"Contact not rectangular (Magic rule)"
edge4way fb ~(fb)/fill 1 ~(fb)/fill (~(fb),fb)/fill 1 \
"Contact not rectangular (Magic rule)"
edge4way fapm ~(fapm)/active 1 ~(fapm)/active (~(fapm),fapm)/active 1 \
"Contact not rectangular (Magic rule)"
edge4way fp ~(fp)/active 1 ~(fp)/active (~(fp),fp)/active 1 \
"Contact not rectangular (Magic rule)"
edge4way fm1 ~(fm1)/metal1 1 ~(fm1)/metal1 (~(fm1),fm1)/metal1 1 \
"Contact not rectangular (Magic rule)"
edge4way fm2 ~(fm2)/metal2 1 ~(fm2)/metal2 (~(fm2),fm2)/metal2 1 \
"Contact not rectangular (Magic rule)"
edge4way fm3 ~(fm3)/metal3 1 ~(fm3)/metal3 (~(fm3),fm3)/metal3 1 \
"Contact not rectangular (Magic rule)"
edge4way rp space/active 1 prp 0 0 \
"prp overhang of rpoly (for resistor L/W extraction) < 1 (Mosis #0)" active
edge4way rp2 space/cap 1 prp2 0 0 \
"prp2 overhang of rpoly2 (for resistor L/W extraction) < 1 (Mosis #0)" cap
edge4way rnw space/active 1 prnw 0 0 \
"prnw overhang of rnwell (for resistor L/W extraction) < 1 (Mosis #0)" active
edge4way rpd space/active 1 prpd 0 0 \
"prpd overhang of rpdiff (for resistor L/W extraction) < 1 (Mosis #0)" active
edge4way rnd space/active 1 prnd 0 0 \
"prnd overhang of rndiff (for resistor L/W extraction) < 1 (Mosis #0)" active
edge4way rm1 space/metal1 1 prm1 0 0 \
"prm1 overhang of rmetal1 (for resistor L/W extraction) < 1 (Mosis #0)" metal1
edge4way rm2 space/metal2 1 prm2 0 0 \
"prm2 overhang of rmetal2 (for resistor L/W extraction) < 1 (Mosis #0)" metal2
edge4way rm3 space/metal3 1 prm3 0 0 \
"prm3 overhang of rmetal3 (for resistor L/W extraction) < 1 (Mosis #0)" metal3
edge4way ndc/a,nsc/a ~(ndc/a,nsc/a)/active 1 ~(ndc/a,nsc/a)/active (~(ndc/a,nsc/a),ndc/a,nsc/a)/active 1 \
"Contact not rectangular (Magic rule)"
edge4way pdc/a,psc/a ~(pdc/a,psc/a)/active 1 ~(pdc/a,psc/a)/active (~(pdc/a,psc/a),pdc/a,psc/a)/active 1 \
"Contact not rectangular (Magic rule)"
edge4way pc/a ~(pc/a)/active 1 ~(pc/a)/active (~(pc/a),pc/a)/active 1 \
"Contact not rectangular (Magic rule)"
edge4way gc2 ~(gc2)/contact 1 ~(gc2)/contact (~(gc2),gc2)/contact 1 \
"Contact not rectangular (Magic rule)"
edge4way p2c ~(p2c)/metal1 1 ~(p2c)/metal1 (~(p2c),p2c)/metal1 1 \
"Contact not rectangular (Magic rule)"
edge4way gc ~(gc)/contact 1 ~(gc)/contact (~(gc),gc)/contact 1 \
"Contact not rectangular (Magic rule)"
edge4way gv1 ~(gv1)/via1 1 ~(gv1)/via1 (~(gv1),gv1)/via1 1 \
"Contact not rectangular (Magic rule)"
edge4way m2c/m1 ~(m2c/m1)/metal1 1 ~(m2c/m1)/metal1 (~(m2c/m1),m2c/m1)/metal1 1 \
"Contact not rectangular (Magic rule)"
edge4way gv2 ~(gv2)/via2 1 ~(gv2)/via2 (~(gv2),gv2)/via2 1 \
"Contact not rectangular (Magic rule)"
edge4way m3c/m2 ~(m3c/m2)/metal2 1 ~(m3c/m2)/metal2 (~(m3c/m2),m3c/m2)/metal2 1 \
"Contact not rectangular (Magic rule)"
exact_overlap gc,ndc/a,pdc/a,psc/a,nsc/a,gc,pc/a,gc
exact_overlap gc2,p2c
edge4way pad ~(pad)/m3 1 ~(pad)/m3 (~(pad),pad)/m3 1 \
"Contact not rectangular (Magic rule)"
exact_overlap ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c
exact_overlap m2c/m2
exact_overlap m3c/m3
exact_overlap gv1
exact_overlap gv2
width m1p 4 \
"Metal1 PIN width < 4 (do_pins)"
spacing m1p m1p 4 touching_ok \
"Metal1 PIN spacing < 4 (do_pins)"
width m2p 4 \
"Metal2 PIN width < 4 (do_pins)"
spacing m2p m2p 4 touching_ok \
"Metal2 PIN spacing < 4 (do_pins)"
width m3p 6 \
"Metal3 PIN width < 6 (do_pins)"
spacing m3p m3p 4 touching_ok \
"Metal3 PIN spacing < 4 (do_pins)"
#CC cifstyle lambda=0.30(p)
#CC cifwidth CWN 360 \
#CC "generated CIF layer CWN width will be < 12 (';cif see CWN')"
#CC cifspacing CWN CWN 180 touching_ok \
#CC "generated CIF layer CWN spacing will be < 6 (';cif see CWN')"
#CC cifwidth CWP 360 \
#CC "generated CIF layer CWP width will be < 12 (';cif see CWP')"
#CC cifspacing CWP CWP 180 touching_ok \
#CC "generated CIF layer CWP spacing will be < 6 (';cif see CWP')"
#CC cifwidth CSN 60 \
#CC "generated CIF layer CSN width will be < 2 (';cif see CSN')"
#CC cifspacing CSN CSN 60 touching_ok \
#CC "generated CIF layer CSN spacing will be < 2 (';cif see CSN')"
#CC cifwidth CSP 60 \
#CC "generated CIF layer CSP width will be < 2 (';cif see CSP')"
#CC cifspacing CSP CSP 60 touching_ok \
#CC "generated CIF layer CSP spacing will be < 2 (';cif see CSP')"
stepsize 400
end
#---------------------------------------------------
# LEF format definitions
#---------------------------------------------------
lef
ignore PC
ignore CA
routing m1 metal1 M1 m1 met1
routing m2 metal2 M2 m2 met2
routing m3 metal3 M3 m3 met3
contact m2c via1 via V1 v1
contact m3c via2 V2 v2
end
extract
style AMI0.5um(amic5)from:T11Z
cscale 1
lambda 30
step 100
sidehalo 8
planeorder well 0
planeorder implant 1
planeorder select 2
planeorder cap 3
planeorder active 4
planeorder metal1 5
planeorder metal2 6
planeorder metal3 7
planeorder oxide 8
planeorder xp 9
planeorder comment 10
planeorder contact 11
planeorder via1 12
planeorder via2 13
planeorder fill 14
substrate *psd,space/w,pwell well
resist (ndiff,rnd,ndc,nsd,nsc)/active 82400
resist (pdiff,rpd,pdc,psd,psc)/active 102700
resist (nwell)/well 816000
resist (rnw)/active 816000 0.5
resist (pwell)/well 1
resist (poly,fp,rp,pc,pc,nfet,pfet,fet)/active 22300
resist (poly2,ecap,p2c)/cap 41300
resist (phr)/cap 41300 0.5
resist (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c,m2c)/metal1 90
resist (m2,fm2,rm2,m2c,m3c,m3c)/metal2 90
resist (m3,fm3,rm3,m3c,pad)/metal3 60
contact ndc 4 58700
contact pdc 4 141000
contact pc 4 15800
contact p2c 4 26800
contact m2c 4 760
contact m3c 4 730
#poly2
overlap (poly,fp,rp,pc,pc)/active (poly2,ecap,phr,p2c)/cap 82.260
#nwell,cwell,pwell
areacap (nwell)/well 3.510
#rnw
areacap (rnw)/active 3.510
#ndiff
# MODEL HANDLES THIS: areacap (ndiff,ndc)/active 38.070
# MODEL HANDLES THIS: overlap (ndiff,ndc)/active ~space/w 38.070
# MODEL HANDLES THIS: perimc (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active 95.700
# MODEL HANDLES THIS: sideoverlap (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active ~space/w 95.700
areacap (rnd)/active 38.070
overlap (rnd)/active ~space/w 38.070
perimc (rnd)/active ~(rnd)/active 95.700
sideoverlap (rnd)/active ~(rnd)/active ~space/w 95.700
#pdiff
# MODEL HANDLES THIS: areacap (pdiff,pdc)/active 65.610
# MODEL HANDLES THIS: overlap (pdiff,pdc)/active ~space/w 65.610
# MODEL HANDLES THIS: perimc (pdiff,pdc)/active ~(pdiff,pdc,nfet,pfet,fet)/active 73.800
# MODEL HANDLES THIS: sideoverlap (pdiff,pdc)/active ~(pdiff,pdc,nfet,pfet,fet)/active ~space/w 73.800
areacap (rpd)/active 65.610
overlap (rpd)/active ~space/w 65.610
perimc (rpd)/active ~(rpd)/active 73.800
sideoverlap (rpd)/active ~(rpd)/active ~space/w 73.800
#rnw
#poly
# MODEL HANDLES THIS: overlap (nfet)/active (ndiff,rnd,ndc)/active 225.450
# MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active (ndiff,rnd,ndc)/active 65.700
# MODEL HANDLES THIS: overlap (pfet)/active (pdiff,rpd,pdc)/active 219.060
# MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active (pdiff,rpd,pdc)/active 69
areacap (poly,fp,rp,pc)/active 7.920
overlap (poly,fp,rp,pc)/active ~space/w 7.920
#poly2
#rnw
#metal1
areacap (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 2.790
#metal1-sub blocked by ~space/a,~space/c
overlap (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 ~space/w 2.790 ~space/a,~space/c
perimc (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 22.200
sideoverlap (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 ~space/w 22.200 ~space/a,~space/c
#rnw
overlap (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 rnw/active 2.790 ~space/c
sideoverlap (m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,pdc,pc,p2c,m2c)/metal1 rnw/active 22.200 ~space/c
#metal1-diff blocked by ~space/c
overlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (ndiff,rnd,ndc)/active 3.150 ~space/c
sideoverlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (ndiff,rnd,ndc)/active 22.200 ~space/c
overlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (pdiff,rpd,pdc)/active 3.150 ~space/c
sideoverlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (pdiff,rpd,pdc)/active 22.200 ~space/c
#metal1-poly blocked by ~space/c
overlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly,fp,rp,pc,nfet,pfet,fet)/active 4.680 ~space/c
sideoverlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly,fp,rp,pc,nfet,pfet,fet)/active 18 ~space/c
sideoverlap (poly,fp,rp,pc,nfet,pfet,fet)/active ~(poly,fp,rp,pc,nfet,pfet,fet)/active (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 18 ~space/c
#metal1-poly2 not blocked
overlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly2,ecap,phr)/cap 4.320
#metal2
areacap (m2,fm2,rm2,m3c)/metal2 1.440
#metal2-sub blocked by
overlap (m2,fm2,rm2,m3c)/metal2 ~space/w 1.440 ~space/a,~space/m1,~space/c
perimc (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 17.400
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 ~space/w 17.400 ~space/a,~space/m1,~space/c
overlap (m2,fm2,rm2,m3c)/metal2 rnw/active 1.440 ~space/m1,~space/c
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 rnw/active 17.400 ~space/m1,~space/c
#metal2-*diff blocked by ~space/m1,~space/c
overlap (m2,fm2,rm2,m3c)/metal2 (ndiff,rnd,ndc)/active 1.440 ~space/m1,~space/c
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (ndiff,rnd,ndc)/active 17.400 ~space/m1,~space/c
overlap (m2,fm2,rm2,m2c,m3c)/metal2 (pdiff,rpd,pdc)/active 1.440 ~space/m1,~space/c
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (pdiff,rpd,pdc)/active 17.400 ~space/m1,~space/c
#metal2-poly blocked by ~space/m1,~space/c
overlap (m2,fm2,rm2,m3c)/metal2 (poly,fp,rp,pc,nfet,pfet,fet)/active 1.350 ~space/m1,~space/c
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (poly,fp,rp,pc,nfet,pfet,fet)/active 11.400 ~space/m1,~space/c
sideoverlap (poly,fp,rp,pc,nfet,pfet,fet)/active ~(poly,fp,rp,pc,nfet,pfet,fet)/active (m2,fm2,rm2,m2c,m3c)/metal2 11.400 ~space/m1,~space/c
#metal2-poly2 blocked by ~space/m1
#M2->M1
overlap (m2,fm2,rm2,m3c)/metal2 (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 2.700
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 15
sideoverlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (m2,fm2,rm2,m2c,m3c)/metal2 15
#metal3
areacap (m3,fm3,rm3,pad)/metal3 0.900
#metal3-sub blocked by ~space/a,~space/m1,~space/m2,~space/c
overlap (m3,fm3,rm3,pad)/metal3 ~space/w 0.900 ~space/a,~space/m1,~space/m2,~space/c
perimc (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 11.400
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 ~space/w 11.400 ~space/a,~space/m1,~space/m2,~space/c
#rnw
overlap (m3,fm3,rm3,pad)/metal3 rnw/active 0.900 ~space/m1,~space/m2,~space/c
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 rnw/active 11.400 ~space/m1,~space/m2,~space/c
#metal3-*diff blocked by ~space/m1,~space/m2,~space/c
overlap (m3,fm3,rm3,pad)/metal3 (ndiff,rnd,ndc)/active 0.990 ~space/m1,~space/m2,~space/c
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 (ndiff,rnd,ndc)/active 11.400 ~space/m1,~space/m2,~space/c
overlap (m3,fm3,rm3,pad)/metal3 (pdiff,rpd,pdc)/active 0.990 ~space/m1,~space/m2,~space/c
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 (pdiff,rpd,pdc)/active 11.400 ~space/m1,~space/m2,~space/c
#metal3-poly blocked by ~space/m1,~space/m2,~space/c
overlap (m3,fm3,rm3,pad)/metal3 (poly,fp,rp,pc,nfet,pfet,fet)/active 0.810 ~space/m1,~space/m2,~space/c
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 (poly,fp,rp,pc,nfet,pfet,fet)/active 8.400 ~space/m1,~space/m2,~space/c
sideoverlap (poly,fp,rp,pc,nfet,pfet,fet)/active ~(poly,fp,rp,pc,nfet,pfet,fet)/active (m3,fm3,rm3,m3c,pad)/metal3 8.400 ~space/m1,~space/m2,~space/c
#metal3-poly2 blocked by ~space/m1,~space/m2
#M3->M1
overlap (m3,fm3,rm3,pad)/metal3 (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 1.080 ~space/m2
#metal3-metal1 blocked by ~space/m2
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 9.600 ~space/m2
sideoverlap (m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,fm1,rm1,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (m3,fm3,rm3,m3c,pad)/metal3 9.600 ~space/m2
#M3->M2
overlap (m3,fm3,rm3,pad)/metal3 (m2,fm2,rm2,m2c,m3c)/metal2 2.880
sideoverlap (m3,fm3,rm3,m3c,pad)/metal3 ~(m3,fm3,rm3,m3c,pad)/metal3 (m2,fm2,rm2,m2c,m3c)/metal2 15.600
sideoverlap (m2,fm2,rm2,m2c,m3c)/metal2 ~(m2,fm2,rm2,m2c,m3c)/metal2 (m3,fm3,rm3,m3c,pad)/metal3 15.600
#metal4
#metal5
#metal6
#metal7
#metali
#devices
device mosfet pfet pfet pdiff,pdc nwell ERROR 69 219
device mosfet nfet nfet ndiff,ndc pwell,space/w ERROR 66 225
fetresis pfet linear 21001
fetresis pfet saturation 21001
fetresis nfet linear 6020
fetresis nfet saturation 6020
device resistor nwellResistor rnwell *nsd
device resistor polyResistor rpoly *poly
device resistor poly2Resistor rpoly2 *poly2
device resistor ndiffResistor rndiff *ndiff
device resistor pdiffResistor rpdiff *pdiff
device resistor metal1Resistor rmetal1 *metal1
device resistor metal2Resistor rmetal2 *metal2
device resistor metal3Resistor rmetal3 *metal3
device resistor presResistor phr *poly2
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
end
router
layer2 metal2 3 m2,fm2,rm2,m2c/m2,m3c/m2,m3c/m2 4 poly,fp,rp,ndiff,rnd,nsd,pdiff,rpd,psd,m1,fm1,rm1 1
layer1 metal1 3 m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 3
contacts m2contact 4
gridspacing 8
end
plowing
fixed nfet,pfet,glass,pad
covered nfet,pfet
drag nfet,pfet
end
plot
style colorversatec
ndiff,rnd,ndc/a yellow \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA
ndiff,rnd,ndc/a cyan \
0000 5555 0000 5555 \
0000 5555 0000 5555 \
0000 5555 0000 5555 \
0000 5555 0000 5555
nsd,nsc/a yellow \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2
nsd,nsc/a cyan \
0000 1515 0000 5151 \
0000 1515 0000 5151 \
0000 1515 0000 5151 \
0000 1515 0000 5151
pdiff,rpd,pdc/a yellow \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA
pdiff,rpd,pdc/a cyan \
0000 5555 0000 5555 \
0000 5555 0000 5555 \
0000 5555 0000 5555 \
0000 5555 0000 5555
pdiff,rpd,pdc/a magenta \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000
psd,psc/a yellow \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2 \
1515 2A2A 5151 A2A2
psd,psc/a cyan \
0000 1515 0000 5151 \
0000 1515 0000 5151 \
0000 1515 0000 5151 \
0000 1515 0000 5151
psd,psc/a magenta \
2A2A 0000 A2A2 0000 \
2A2A 0000 A2A2 0000 \
2A2A 0000 A2A2 0000 \
2A2A 0000 A2A2 0000
poly,fp,rp,pc/a magenta \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA \
5555 AAAA 5555 AAAA
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
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
poly2,ecap,phr yellow \
FFFF FFFF FFFF FFFF \
FFFF FFFF FFFF FFFF \
FFFF FFFF FFFF FFFF \
FFFF FFFF FFFF FFFF
m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 cyan \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000 \
AAAA 0000 AAAA 0000
m2,fm2,rm2,m2c/m2,m3c/m2 cyan \
0000 1111 0000 4444 \
0000 1111 0000 4444 \
0000 1111 0000 4444 \
0000 1111 0000 4444
m2,fm2,rm2,m2c/m2,m3c/m2 magenta \
0000 4444 0000 1111 \
0000 4444 0000 1111 \
0000 4444 0000 1111 \
0000 4444 0000 1111
m2c/m1,gv1 black \
0000 6666 6666 0000 \
0000 9999 9999 0000 \
0000 6666 6666 0000 \
0000 9999 9999 0000
pad,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
m3c/m2,gv2 black \
0100 0000 0000 0000 \
1010 0000 0000 0000 \
0001 0000 0000 0000 \
1010 0000 0000 0000
m3c/m2,gv2 cyan \
0280 0000 0820 0000 \
2008 0000 8002 0000 \
8002 0000 2008 0000 \
0820 0000 0280 0000
m3c/m2,gv2 magenta \
0100 06C0 0440 1830 \
1010 600C 4004 8003 \
0001 C006 4004 3018 \
1010 0C60 0440 0380
m3c/m2,gv2 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
pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc 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
gv1 \
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
poly,fp,rp,pc/a,nfet,pfet \
0808 0400 0202 0101 \
8080 4000 2020 1010 \
0808 0004 0202 0101 \
8080 0040 2020 1010
m1,fm1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 \
8080 0000 0000 0000 \
0808 0000 0000 0000 \
8080 0000 0000 0000 \
0808 0000 0000 0000
pad,glass \
0000 0000 1c1c 3e3e \
3636 3e3e 1c1c 0000 \
0000 0000 1c1c 3e3e \
3636 3e3e 1c1c 0000
nsd,nsc/a \
0808 1414 2222 4141 \
8080 4040 2020 1010 \
0808 1414 2222 4141 \
8080 4040 2020 1010
m2,fm2,rm2,m2c/m2,m3c/m2 \
0000 1111 0000 0000 \
0000 1111 0000 0000 \
0000 1111 0000 0000 \
0000 1111 0000 0000
pdiff,rpd,pdc/a,pfet \
0000 0808 5555 8080 \
0000 8080 5555 0808 \
0000 0808 5555 8080 \
0000 8080 5555 0808
psd,psc/a \
1414 2222 0000 2222 \
4141 2222 0000 2222 \
1414 2222 0000 2222 \
4141 2222 0000 2222
ndiff,rnd,ndc/a,nfet \
0808 1010 2020 4040 \
8080 4141 2222 1414 \
0808 1010 2020 4040 \
8080 4141 2222 1414
pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc X
style gremlin
pfet 9
nfet 10
gv1 11
pwell 15
nwell 16
poly,fp,rp,pc/a,nfet,pfet 19
pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc 22
pad,glass 23
nsd,nsc/a 24
gv1 28
pdiff,rpd,pdc/a,pfet 29
psd,psc/a 30
ndiff,rnd,ndc/a,nfet 31
pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc,gv1 X
end