tech
 scmos
end

version
 version 2001a
 description "SCMOS: Submit as technology.lambda: SCN3ME.35 [to process: AMIc5]"
end

planes
  well,w
  select,s
  cap,c
  active,a
  metal1,m1
  metal2,m2
  metal3,m3
  oxide,ox
  comment
  xp
  contact
  via1,v1
  via2,v2
end

types
  well  nwell,nw
  well  pwell,pw
  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  metal1tight,m1t
  metal1  m2contact,m2cut,m2c,via1,v1
  metal2  metal2,m2,purple
  metal2  metal2tight,m2t
  via1  gv1
  metal2  m3contact,m3cut,m3c,via2,v2
  metal3  metal3,m3,cyan
  via2    gv2
  metal3  pad
  oxide  glass
  cap  high_resist,hr
  cap  poly2_high_resist,phr
  xp  xp
  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
end

styles
 styletype  mos
  nwell  12
  pwell  13
  nselect  43
  pselect  44
  diff  25
  tran  2
  tran  4
  ndiff  2
  pdiff  4
  nsd  3
  psd  5
  nfet  6
  nfet  7
  pfet  8
  pfet  9
  ndc  2
  ndc  20
  ndc  32
  pdc  4
  pdc  20
  pdc  32
  nsc  3
  nsc  20
  nsc  32
  psc  5
  psc  20
  psc  32
  poly  1
  pcontact  1
  pcontact  20
  pcontact  32
  gc  32
  metal1  20
  m1t  49
  gv1  55
  m2contact  20
  m2contact  21
  m2contact  55
  metal2  21
  m2t  50
  gv2  56
  m3contact  21
  m3contact  22
  m3contact  56
  metal3  22
  pad  22
  pad  23
  pad  34
  pad  38
  glass  34
  xp  25
  xp  34
  ecap  10
  ecap  14
  poly2  14
  p2c  14
  p2c  20
  p2c  32
  gc2  19
  hr  10
  phr  14
  phr  48
  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  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
  paint  m1t  m1  m1
  paint  m1  m1t  m1t
  paint  m2c  m2t  m2c
  paint  ndc  m1t  ndc
  paint  pdc  m1t  pdc
  paint  pc  m1t  pc
  paint  m2t  m2  m2
  paint  m2  m2t  m2t
  compose  phr  poly2  hr
  paint  hr  poly2  phr
  paint  poly2  hr  phr
  erase  phr  hr  poly2
end

connect
  nwell,nsc/a,nsd  nwell,nsc/a,nsd
  pwell,psc/a,psd  pwell,psc/a,psd
  m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1  m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
  m2,m2t,m2c/m2,m3c/m2,m3c/m2  m2,m2t,m2c/m2,m3c/m2,m3c/m2
  m3,m3c/m3  m3,m3c/m3
  ndiff,ndc/a,pdiff,pdc/a  ndiff,ndc/a,pdiff,pdc/a
  poly,nfet,pfet,fet,pc/a  poly,nfet,pfet,fet,pc/a
  poly2,ecap,p2c  poly2,ecap,p2c
  gc2 poly2,ecap,metal1
  gc  poly,ndiff,pdiff,nsd,psd,m1,m1t,m2c/m1
  gv1  m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2,m2t,m3c/m2
  gv2  m2,m2t,m2c/m2,m3c/m2,m3
  pad  m1,m1t,m2,m2t,m3
  phr  hr
end

cifoutput

style  lambda=0.35(p)
 scalefactor  35 calmaonly

 layer CWN nwell
 bloat-or pdiff,pdc/a,pfet * 175
 bloat-or nsd,nsc/a * 105
 grow 105
 shrink 105
 labels nwell
 calma 42 0

 layer CWP pwell
 bloat-or ndiff,ndc/a,nfet * 175
 bloat-or psd,psc/a * 105
 grow 105
 shrink 105
 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*70) Or ps
#XDN = (ndiff*70) Or ns
#FSP = ((pdiff*70,psc*70) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*70,nsc*70) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP

#diffusion auto-nselect (will have priority)
 templayer XDN
 bloat-or ndiff,ndc/a * 70 psd,psc/a 0
 or TNS

#diffusion auto-pselect (will have priority)
 templayer XDP
 bloat-or pdiff,pdc/a * 70 nsd,nsc/a 0
 or TPS

#final pselect 
 templayer FSP
 bloat-or pdiff,pfet,psd,pdc/a,psc/a,pfet * 70 ndiff,ndc/a,nsd,nsc/a,nfet 0
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 20
 grow 20
 grow 20
 shrink 20

#final nselect
 templayer FSN
 bloat-or ndiff,nfet,nsd,ndc/a,nsc/a,nfet * 70 pdiff,pdc/a,psd,psc/a,pfet 0
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 20
 grow 20
 grow 20
 shrink 20

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 labels diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 calma 43 0

 layer CCA ndc/m1,nsc/m1
 squares 35 70 70
 calma 48 0

 layer CCA 
 squares 35 70 105
 calma 48 0

 layer CCA pdc/m1,psc/m1
 squares 35 70 70
 calma 48 0

 layer CCA 
 squares 35 70 105
 calma 48 0

 layer CPG poly,nfet,pfet,fet,pc/a
 labels poly,nfet,pfet,fet,pc/a
 calma 46 0

 layer CCP pc/m1
 squares 35 70 70
 calma 47 0

 layer CCP 
 squares 35 70 105
 calma 47 0

 layer CCE gc2
 squares 0 70 70
 calma 55 0

 layer CCE p2c
 squares 35 70 70
 calma 55 0

 layer CCE 
 squares 35 70 105
 calma 55 0

 layer CCE gc2
 squares 0 70 70
 calma 55 0

 layer CCC gc
 squares 0 70 70
 calma 25 0

 layer CV1 m2c/m1
 squares 35 70 105
 calma 50 0

 layer CV1 gv1
 squares 0 70 105
 calma 50 0

 layer CV2 m3c/m2
 squares 35 70 105
 calma 61 0

 layer CV2 gv2
 squares 0 70 105
 calma 61 0


 templayer XPAD1 pad
 shrink 210

 templayer XPAD2 XPAD1
 shrink 210

 layer CM3 pad
 labels pad
 calma 62 0

 layer CV2 XPAD2
 squares 280 70 350
 calma 61 0

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD2
 squares 70 70 350
 calma 50 0

 layer CM1 pad
 calma 49 0

 layer CM1 m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 labels m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 calma 49 0

 layer CM2 m2,m2t,m2c/m2,m3c/m2,m3c/m2
 labels m2,m2t,m2c/m2,m3c/m2,m3c/m2
 calma 51 0

 layer CM3 m3,m3c/m3
 labels m3,m3c/m3
 calma 62 0

 layer COG pad
 shrink 600
 labels pad
 calma 52 0

 layer COG glass
 labels glass
 calma 52 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

 layer CX comment
 labels comment
 calma 63 0

 layer XP pad,xp
 labels pad,xp
 calma 26 0


style  lambda=0.35(cp)
 scalefactor  35 calmaonly

 layer CWN nwell
 bloat-or pdiff,pdc/a,pfet * 175
 bloat-or nsd,nsc/a * 105
 grow 105
 shrink 105
 labels nwell
 calma 42 0

 layer CWP pwell
 bloat-or ndiff,ndc/a,nfet * 175
 bloat-or psd,psc/a * 105
 grow 105
 shrink 105
 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*70) Or ps
#XDN = (ndiff*70) Or ns
#FSP = ((pdiff*70,psc*70) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*70,nsc*70) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP

#diffusion auto-nselect (will have priority)
 templayer XDN
 bloat-or ndiff,ndc/a * 70 psd,psc/a 0
 or TNS

#diffusion auto-pselect (will have priority)
 templayer XDP
 bloat-or pdiff,pdc/a * 70 nsd,nsc/a 0
 or TPS

#final pselect 
 templayer FSP
 bloat-or pdiff,pfet,psd,pdc/a,psc/a,pfet * 70 ndiff,ndc/a,nsd,nsc/a,nfet 0
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 20
 grow 20
 grow 20
 shrink 20

#final nselect
 templayer FSN
 bloat-or ndiff,nfet,nsd,ndc/a,nsc/a,nfet * 70 pdiff,pdc/a,psd,psc/a,pfet 0
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 20
 grow 20
 grow 20
 shrink 20

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 labels diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 calma 43 0

 layer CCC ndc/m1,nsc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC pdc/m1,psc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CPG poly,nfet,pfet,fet,pc/a
 labels poly,nfet,pfet,fet,pc/a
 calma 46 0

 layer CCC pc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC gc2
 squares 0 70 70
 calma 25 0

 layer CCC p2c
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC gc2
 squares 0 70 70
 calma 25 0

 layer CCC gc
 squares 0 70 70
 calma 25 0

 layer CV1 m2c/m1
 squares 35 70 105
 calma 50 0

 layer CV1 gv1
 squares 0 70 105
 calma 50 0

 layer CV2 m3c/m2
 squares 35 70 105
 calma 61 0

 layer CV2 gv2
 squares 0 70 105
 calma 61 0


 templayer XPAD1 pad
 shrink 210

 templayer XPAD2 XPAD1
 shrink 210

 layer CM3 pad
 labels pad
 calma 62 0

 layer CV2 XPAD2
 squares 280 70 350
 calma 61 0

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD2
 squares 70 70 350
 calma 50 0

 layer CM1 pad
 calma 49 0

 layer CM1 m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 labels m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 calma 49 0

 layer CM2 m2,m2t,m2c/m2,m3c/m2,m3c/m2
 labels m2,m2t,m2c/m2,m3c/m2,m3c/m2
 calma 51 0

 layer CM3 m3,m3c/m3
 labels m3,m3c/m3
 calma 62 0

 layer COG pad
 shrink 600
 labels pad
 calma 52 0

 layer COG glass
 labels glass
 calma 52 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

 layer CX comment
 labels comment
 calma 63 0

 layer XP pad,xp
 labels pad,xp
 calma 26 0


style  lambda=0.35(c)
 scalefactor  35 calmaonly

 layer CWN nwell
 bloat-or pdiff,pdc/a,pfet * 175
 bloat-or nsd,nsc/a * 105
 grow 105
 shrink 105
 labels nwell
 calma 42 0

 templayer TNS ns

 templayer TPS ps

#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*70) Or ps
#XDN = (ndiff*70) Or ns
#FSP = ((pdiff*70,psc*70) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*70,nsc*70) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP

#diffusion auto-nselect (will have priority)
 templayer XDN
 bloat-or ndiff,ndc/a * 70 psd,psc/a 0
 or TNS

#diffusion auto-pselect (will have priority)
 templayer XDP
 bloat-or pdiff,pdc/a * 70 nsd,nsc/a 0
 or TPS

#final pselect 
 templayer FSP
 bloat-or pdiff,pfet,psd,pdc/a,psc/a,pfet * 70 ndiff,ndc/a,nsd,nsc/a,nfet 0
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 20
 grow 20
 grow 20
 shrink 20

#final nselect
 templayer FSN
 bloat-or ndiff,nfet,nsd,ndc/a,nsc/a,nfet * 70 pdiff,pdc/a,psd,psc/a,pfet 0
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 20
 grow 20
 grow 20
 shrink 20

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 labels diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 calma 43 0

 layer CCC ndc/m1,nsc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC pdc/m1,psc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CPG poly,nfet,pfet,fet,pc/a
 labels poly,nfet,pfet,fet,pc/a
 calma 46 0

 layer CCC pc/m1
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC gc2
 squares 0 70 70
 calma 25 0

 layer CCC p2c
 squares 35 70 70
 calma 25 0

 layer CCC 
 squares 35 70 105
 calma 25 0

 layer CCC gc2
 squares 0 70 70
 calma 25 0

 layer CCC gc
 squares 0 70 70
 calma 25 0

 layer CV1 m2c/m1
 squares 35 70 105
 calma 50 0

 layer CV1 gv1
 squares 0 70 105
 calma 50 0

 layer CV2 m3c/m2
 squares 35 70 105
 calma 61 0

 layer CV2 gv2
 squares 0 70 105
 calma 61 0


 templayer XPAD1 pad
 shrink 210

 templayer XPAD2 XPAD1
 shrink 210

 layer CM3 pad
 labels pad
 calma 62 0

 layer CV2 XPAD2
 squares 280 70 350
 calma 61 0

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD2
 squares 70 70 350
 calma 50 0

 layer CM1 pad
 calma 49 0

 layer CM1 m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 labels m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 calma 49 0

 layer CM2 m2,m2t,m2c/m2,m3c/m2,m3c/m2
 labels m2,m2t,m2c/m2,m3c/m2,m3c/m2
 calma 51 0

 layer CM3 m3,m3c/m3
 labels m3,m3c/m3
 calma 62 0

 layer COG pad
 shrink 600
 labels pad
 calma 52 0

 layer COG glass
 labels glass
 calma 52 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

 layer CX comment
 labels comment
 calma 63 0

 layer XP pad,xp
 labels pad,xp
 calma 26 0


style  lambda=0.35()
 scalefactor  35 calmaonly

 layer CWN nwell
 bloat-or pdiff,pdc/a,pfet * 175
 bloat-or nsd,nsc/a * 105
 grow 105
 shrink 105
 labels nwell
 calma 42 0

 templayer TNS ns

 templayer TPS ps

#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*70) Or ps
#XDN = (ndiff*70) Or ns
#FSP = ((pdiff*70,psc*70) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*70,nsc*70) Or XDN And-Not FDP Or ns shrink-grow
#CSN = FSN
#CSP = FSP

#diffusion auto-nselect (will have priority)
 templayer XDN
 bloat-or ndiff,ndc/a * 70 psd,psc/a 0
 or TNS

#diffusion auto-pselect (will have priority)
 templayer XDP
 bloat-or pdiff,pdc/a * 70 nsd,nsc/a 0
 or TPS

#final pselect 
 templayer FSP
 bloat-or pdiff,pfet,psd,pdc/a,psc/a,pfet * 70 ndiff,ndc/a,nsd,nsc/a,nfet 0
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 20
 grow 20
 grow 20
 shrink 20

#final nselect
 templayer FSN
 bloat-or ndiff,nfet,nsd,ndc/a,nsc/a,nfet * 70 pdiff,pdc/a,psd,psc/a,pfet 0
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 20
 grow 20
 grow 20
 shrink 20

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 labels diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pfet,fet
 calma 43 0

 layer CCA ndc/m1,nsc/m1
 squares 35 70 70
 calma 48 0

 layer CCA 
 squares 35 70 105
 calma 48 0

 layer CCA pdc/m1,psc/m1
 squares 35 70 70
 calma 48 0

 layer CCA 
 squares 35 70 105
 calma 48 0

 layer CPG poly,nfet,pfet,fet,pc/a
 labels poly,nfet,pfet,fet,pc/a
 calma 46 0

 layer CCP pc/m1
 squares 35 70 70
 calma 47 0

 layer CCP 
 squares 35 70 105
 calma 47 0

 layer CCE gc2
 squares 0 70 70
 calma 55 0

 layer CCE p2c
 squares 35 70 70
 calma 55 0

 layer CCE 
 squares 35 70 105
 calma 55 0

 layer CCE gc2
 squares 0 70 70
 calma 55 0

 layer CCC gc
 squares 0 70 70
 calma 25 0

 layer CV1 m2c/m1
 squares 35 70 105
 calma 50 0

 layer CV1 gv1
 squares 0 70 105
 calma 50 0

 layer CV2 m3c/m2
 squares 35 70 105
 calma 61 0

 layer CV2 gv2
 squares 0 70 105
 calma 61 0


 templayer XPAD1 pad
 shrink 210

 templayer XPAD2 XPAD1
 shrink 210

 layer CM3 pad
 labels pad
 calma 62 0

 layer CV2 XPAD2
 squares 280 70 350
 calma 61 0

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD2
 squares 70 70 350
 calma 50 0

 layer CM1 pad
 calma 49 0

 layer CM1 m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 labels m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1
 calma 49 0

 layer CM2 m2,m2t,m2c/m2,m3c/m2,m3c/m2
 labels m2,m2t,m2c/m2,m3c/m2,m3c/m2
 calma 51 0

 layer CM3 m3,m3c/m3
 labels m3,m3c/m3
 calma 62 0

 layer COG pad
 shrink 600
 labels pad
 calma 52 0

 layer COG glass
 labels glass
 calma 52 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

 layer CX comment
 labels comment
 calma 63 0

 layer XP pad,xp
 labels pad,xp
 calma 26 0

end

cifinput

style  lambda=0.35(p)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *

 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 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 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 CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer ndc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer poly CPG
 and-not CRE
 labels CPG
 calma CPG 46 *

 layer pc CCP
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCC 25 *

 layer pc CCP
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 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 CV2
 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 35
 and CM2
 and CM1
 grow 20
 shrink 20
 calma CV1 50 *

 layer m1 CM1
 and-not CRM
 and-not CRF
 and-not XP
 labels CM1
 calma CM1 49 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 and-not XP
 labels CM2
 calma CM2 51 *

 layer m3c CV2

 and-not CV1
 and-not XP
 grow 35
 and CM3
 and CM2
 grow 20
 shrink 20
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 and-not XP
 labels CM3
 calma CM3 62 *

 layer pad XP
 labels pad
 calma XP 26 *

 layer glass COG
 and-not COP
 and-not XP
 labels COG
 calma COG 52 *

 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 elc CCE
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

 layer elc CCC
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(s)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *


 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 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 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 CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer ndc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer poly CPG
 and-not CRE
 labels CPG
 calma CPG 46 *

 layer pc CCP
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCC 25 *

 layer pc CCP
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 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 CV2
 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 35
 and CM2
 and CM1
 grow 20
 shrink 20
 calma CV1 50 *

 layer m1 CM1
 and-not CRM
 and-not CRF
 and-not XP
 labels CM1
 calma CM1 49 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 and-not XP
 labels CM2
 calma CM2 51 *

 layer m3c CV2

 and-not CV1
 and-not XP
 grow 35
 and CM3
 and CM2
 grow 20
 shrink 20
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 and-not XP
 labels CM3
 calma CM3 62 *

 layer pad XP
 labels pad
 calma XP 26 *

 layer glass COG
 and-not COP
 and-not XP
 labels COG
 calma COG 52 *

 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 elc CCE
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

 layer elc CCC
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(ps)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *

 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 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 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 CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer ndc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer poly CPG
 and-not CRE
 labels CPG
 calma CPG 46 *

 layer pc CCP
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCC 25 *

 layer pc CCP
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 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 CV2
 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 35
 and CM2
 and CM1
 grow 20
 shrink 20
 calma CV1 50 *

 layer m1 CM1
 and-not CRM
 and-not CRF
 and-not XP
 labels CM1
 calma CM1 49 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 and-not XP
 labels CM2
 calma CM2 51 *

 layer m3c CV2

 and-not CV1
 and-not XP
 grow 35
 and CM3
 and CM2
 grow 20
 shrink 20
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 and-not XP
 labels CM3
 calma CM3 62 *

 layer pad XP
 labels pad
 calma XP 26 *

 layer glass COG
 and-not COP
 and-not XP
 labels COG
 calma COG 52 *

 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 elc CCE
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

 layer elc CCC
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35()
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *


 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 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 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 CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and-not CV1
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer ndc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer ndc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer nsc CAA
 and CSN
 and CCA
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer nsc CAA
 and CSN
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer pdc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer pdc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer psc CAA
 and CSP
 and CCA
 and CV1
 and CV2
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCA 48 *

 layer psc CAA
 and CSP
 and CCC
 and CV1
 and CV2
 and-not CWNR
 and-not CTA
 
 and-not CPS
 and-not CWN
 and CM1
 grow 35
 calma CCC 25 *

 layer poly CPG
 and-not CRE
 labels CPG
 calma CPG 46 *

 layer pc CCP
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCC 25 *

 layer pc CCP
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 calma CCP 47 *

 layer pc CCC
 and CV1
 and CV2
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 35
 and CM1
 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 CV2
 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 35
 and CM2
 and CM1
 grow 20
 shrink 20
 calma CV1 50 *

 layer m1 CM1
 and-not CRM
 and-not CRF
 and-not XP
 labels CM1
 calma CM1 49 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 and-not XP
 labels CM2
 calma CM2 51 *

 layer m3c CV2

 and-not CV1
 and-not XP
 grow 35
 and CM3
 and CM2
 grow 20
 shrink 20
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 and-not XP
 labels CM3
 calma CM3 62 *

 layer pad XP
 labels pad
 calma XP 26 *

 layer glass COG
 and-not COP
 and-not XP
 labels COG
 calma COG 52 *

 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 elc CCE
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

 layer elc CCC
 grow 35
 and CM1
 and CEL
 labels CM1
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(c)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *


 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 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 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 m1 CM1
 and-not CRM
 and-not CRF
 labels CM1
 calma CM1 49 *

 layer gv1 CV1
 calma CV1 50 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 labels CM2
 calma CM2 51 *

 layer gv2 CV2
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 labels CM3
 calma CM3 62 *

 layer xp XP
 calma XP 26 *

 layer glass COG
 and-not COP
 labels COG
 calma COG 52 *

 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 comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(cs)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *


 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 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 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 m1 CM1
 and-not CRM
 and-not CRF
 labels CM1
 calma CM1 49 *

 layer gv1 CV1
 calma CV1 50 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 labels CM2
 calma CM2 51 *

 layer gv2 CV2
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 labels CM3
 calma CM3 62 *

 layer xp XP
 calma XP 26 *

 layer glass COG
 and-not COP
 labels COG
 calma COG 52 *

 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 comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(cps)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *

 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 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 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 m1 CM1
 and-not CRM
 and-not CRF
 labels CM1
 calma CM1 49 *

 layer gv1 CV1
 calma CV1 50 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 labels CM2
 calma CM2 51 *

 layer gv2 CV2
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 labels CM3
 calma CM3 62 *

 layer xp XP
 calma XP 26 *

 layer glass COG
 and-not COP
 labels COG
 calma COG 52 *

 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 comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *


style  lambda=0.35(cp)
 scalefactor  35

 layer nwell CWN
 and-not CWNR
 and-not CTA
 labels CWN
 calma CWN 42 *

 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 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 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 m1 CM1
 and-not CRM
 and-not CRF
 labels CM1
 calma CM1 49 *

 layer gv1 CV1
 calma CV1 50 *

 layer m2 CM2
 and-not CRM
 and-not CRS
 labels CM2
 calma CM2 51 *

 layer gv2 CV2
 calma CV2 61 *

 layer m3 CM3
 and-not CRM
 and-not CRT
 labels CM3
 calma CM3 62 *

 layer xp XP
 calma XP 26 *

 layer glass COG
 and-not COP
 labels COG
 calma COG 52 *

 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 comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

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 10 \
 "N-well width < 10 (Mosis #1.1)"

 width pwell 10 \
 "P-well width < 10 (Mosis #1.1)"

 width diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a 3 \
 "Diffusion width < 3 (Mosis #2.1)"

 width poly,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,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 3 \
 "Metal1 width < 3 (Mosis #7.1)"

 maxwidth m1t 4 bend_ok \
 "Max Metal1tight width > 4 (Mosis #7.2)"

 width gv1 2 \
 "GV1 via width < 2 (Mosis #8.1)"

 width m2c/m1 4 \
 "Metal2 contact width < 4 (Mosis #8.1)"

 width m2,m2t,m2c/m2,m3c/m2 3 \
 "Metal2 width < 3 (Mosis #9.1)"

 maxwidth m2t 4 bend_ok \
 "Max Metal2tight width > 4 (Mosis #9.2)"

 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,m3c/m3,pad 6 \
 "Metal3 width < 6 (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)"

 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 diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a 3 touching_ok \
 "Diffusion spacing < 3 (Mosis #2.2)"

 spacing nwell ndiff,nfet,ndc/a 5 touching_illegal \
 "N-well spacing to N-Diffusion < 5 (Mosis #2.3)"

 spacing pwell pdiff,pfet,pdc/a 5 touching_illegal \
 "P-well spacing to P-Diffusion < 5 (Mosis #2.3)"

 spacing ndiff,nfet,ndc/a pdiff,pfet,pdc/a 10 touching_illegal \
 "N-Diffusion spacing to P-Diffusion < 10 (Mosis #2.3+2.3)"

 edge4way ~(nwell)/well nwell 5 ~(pdiff,pfet,pdc/a)/active nwell 5 \
 "N-well overlap of P-Diffusion < 5 (Mosis #2.4)" active

 edge4way ~(pwell)/well pwell 5 ~(ndiff,nfet,ndc/a)/active pwell 5 \
 "P-well overlap of N-Diffusion < 5 (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,ndc/a nsd,nsc/a 8 touching_illegal \
 "N-Diffusion spacing to N-Ohmic < 8 (Mosis #2.3+2.4)"

 spacing pdiff,pdc/a psd,psc/a 8 touching_illegal \
 "P-Diffusion spacing to P-Ohmic < 8 (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 nsd,nsc/a psd,psc/a 6 touching_illegal \
 "N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)"

 spacing ndiff,nfet,ndc/a,nfet psd,psc/a 4 touching_ok \
 "N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)"

 spacing pdiff,pfet,pdc/a,pfet nsd,nsc/a 4 touching_ok \
 "P-Diffusion spacing to N-Ohmic < 4 (Mosis #2.5)"

 spacing poly,pc/a,nfet,pfet,fet poly,pc/a,nfet,pfet,fet 2 touching_ok \
 "Poly spacing < 2 (Mosis #3.2)"

 edge4way nfet,pfet,fet space/active,poly,pc/a 2 poly,pc/a 0 0 \
 "Poly overhang of Transistor < 2 (Mosis #3.3)" active

 edge4way nfet,pfet,fet space/active,ndiff,ndc/a,pdiff,pdc/a 3 ndiff,ndc/a,pdiff,pdc/a,nfet,pfet,fet 0 0 \
 "N-Diffusion,P-Diffusion overhang of Transistor < 3 (Mosis #3.4)" active

 edge4way poly,pc/a ~(poly,pc/a,nfet,pfet,fet)/active 1 space space 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,nfet,nsd,pdiff,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,nfet,ndc/a)/active nselect 2 \
 "N-Select space to N-Diffusion < 2 (Mosis #4.2a)" active

 edge4way nselect,pselect space 2 ~(ndiff,nfet,ndc/a)/active nselect 2 \
 "N-Select space to N-Diffusion < 2 (Mosis #4.2b)" active

 edge4way nselect,pselect space 2 ~(ndiff,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,pfet,pdc/a)/active pselect 2 \
 "P-Select space to P-Diffusion < 2 (Mosis #4.2aa)" active

 edge4way nselect,pselect space 2 ~(pdiff,pfet,pdc/a)/active pselect 2 \
 "P-Select space to P-Diffusion < 2 (Mosis #4.2bb)" active

 edge4way nselect,pselect space 2 ~(pdiff,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,nfet,ndc/a space 2 ~(pselect)/select space 2 \
 "P-Select space to N-Diffusion < 2 (Mosis #4.2e)" select

 edge4way pdiff,pfet,pdc/a space 2 ~(nselect)/select space 2 \
 "N-Select space to P-Diffusion < 2 (Mosis #4.2e)" select

 edge4way ~(pdiff,pfet,pdc/a,psd,psc/a)/active pdiff,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,nfet,ndc/a,nsd,nsc/a)/active ndiff,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,ndc/a psd,psc/a 2 ~(ndiff,ndc/a)/active 0 0 \
 "P-Ohmic(that touches N-Diffusion) width < 2 (Mosis #4.4)"

  edge4way pdiff,pdc/a nsd,nsc/a 2 ~(pdiff,pdc/a)/active 0 0 \
 "N-Ohmic(that touches P-Diffusion) width < 2 (Mosis #4.4)"

 edge4way gc ~(gc)/contact 1 poly,pc/a,diff,ndiff,nfet,nsd,pdiff,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,pc/a,diff,ndiff,nfet,nsd,pdiff,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,pc/a,diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a)/active poly,pc/a,diff,ndiff,nfet,nsd,pdiff,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 2 touching_ok \
 "Generic contact spacing < 2 (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,pc/a pc/a 3 touching_ok \
 "Poly spacing to Poly contact < 3 (Mosis #5.4b)"

 edge4way gc ~(gc)/contact 1 diff,ndiff,nfet,nsd,pdiff,pfet,psd,ndc/a,nsc/a,pdc/a,psc/a,poly,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 1 touching_illegal \
 "Generic contact spacing to Poly contact,Diffusion contact < 1 (Mosis #5.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,nfet,nsd,pdiff,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,nfet,nsd,pdiff,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,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 m1,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 3 touching_ok \
 "Metal1 spacing < 3 (Mosis #7.2)"

 spacing m1t m1t 2 touching_ok \
 "Metal1tight spacing < 2 (Mosis #7.2.b)"

 spacing m1t m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1 2 touching_ok \
 "Metal1tight spacing to Metal1 < 2 (Mosis #7.2.b)"

 edge4way gc space 1 m1,m1t,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,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,m1t,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,m1t,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,m1t,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,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,m1t,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 1 touching_illegal \
 " spacing to Metal2 contacts < 1 (Mosis #14.2)"

 spacing gc m2c/m2 1 touching_illegal \
 "GC contact spacing to Metal2 contacts < 1 (Mosis #8.4)"

 spacing m2,m2c/m2,m3c/m2 m2,m2c/m2,m3c/m2 4 touching_ok \
 "Metal2 spacing < 4 (Mosis #9.2)"

 spacing m2t m2t 3 touching_ok \
 "Metal2tight spacing < 3 (Mosis #9.2.b)"

 spacing m2t m2,m2t,m2c/m2,m3c/m2 3 touching_ok \
 "Metal2tight spacing to Metal2 < 3 (Mosis #9.2.b)"

 edge4way gv1 space 1 m2,m2t,m2c/m2,m3c/m2 space 1 \
 "Metal2 must overlap GV1 via by 1 (Mosis #9.3)" metal2

 edge4way ~(m2,m2t,m2c/m2,m3c/m2)/metal2 m2,m2t,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 17 ~(glass)/oxide pad 17 \
 "pad overlap of COG < 17 (Mosis #10.3)" oxide

 spacing ecap ecap 3 touching_ok \
 "Ecap spacing < 3 (Mosis #11.2)"

 edge4way ecap ~(ecap)/cap 5 poly,pc/a ~(ecap)/cap 5 \
 "Poly overlap of Ecap < 5 (Mosis #11.3)" active

 edge4way ~(ecap)/cap ecap 1 poly,pc/a 0 0 \
 "Ecap must touch Poly (Mosis #11.3x)" active

 edge4way poly2,phr space 5 ~(poly,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 2 touching_ok \
 "Generic contact2 spacing < 2 (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,m1t,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,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,m1t,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,m2t,m2c/m2,m3c/m2 space 1 \
 "Metal2 must overlap GV2 via by 1 (Mosis #14.3)" metal2

 edge4way ~(m2,m2t,m2c/m2,m3c/m2)/metal2 m2,m2t,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,m3c/m3,pad m3,m3c/m3,pad 4 touching_ok \
 "Metal3 spacing < 4 (Mosis #15.2)"

 edge4way m3c/m2 ~(m3c/m2)/metal2 1 m3,m3c/m3,pad ~(m3c/m2)/metal2 1 \
 "Metal3 overlap of Metal3 contact < 1 (Mosis #15.3)" metal3

 edge4way gv2 space 2 m3,m3c/m3,pad space 2 \
 "Metal3 must overlap GV2 via by 2 (Mosis #15.3)" metal3

 edge4way ~(m3,m3c/m3,pad)/metal3 m3,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,ndc/a,pdiff,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)"

 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


#CC cifstyle  lambda=0.35(p) 
#CC cifwidth CWN 350 \
#CC "generated CIF layer CWN width will be < 10 (';cif see CWN')"
#CC cifspacing CWN CWN 210 touching_ok \
#CC "generated CIF layer CWN spacing will be < 6 (';cif see CWN')"
#CC cifwidth CWP 350 \
#CC "generated CIF layer CWP width will be < 10 (';cif see CWP')"
#CC cifspacing CWP CWP 210 touching_ok \
#CC "generated CIF layer CWP spacing will be < 6 (';cif see CWP')"
#CC cifwidth CSN 70 \
#CC "generated CIF layer CSN width will be < 2 (';cif see CSN')"
#CC cifspacing CSN CSN 70 touching_ok \
#CC "generated CIF layer CSN spacing will be < 2 (';cif see CSN')"
#CC cifwidth CSP 70 \
#CC "generated CIF layer CSP width will be < 2 (';cif see CSP')"
#CC cifspacing CSP CSP 70 touching_ok \
#CC "generated CIF layer CSP spacing will be < 2 (';cif see CSP')"

 stepsize 400

end

extract
 style AMI0.5um(amic5)from:T11Z
 cscale 1
 lambda 35
 step   100
 sidehalo 8
 planeorder well 0
 planeorder select 1
 planeorder cap 2
 planeorder active 3
 planeorder metal1 4
 planeorder metal2 5
 planeorder metal3 6
 planeorder oxide 7
 planeorder xp 8
 planeorder comment 9
 planeorder contact 10
 planeorder via1 11
 planeorder via2 12

 resist (ndiff,ndc,nsd,nsc)/active 82400
 resist (pdiff,pdc,psd,psc)/active 102700
 resist (nwell)/well 816000
 resist (pwell)/well 1
 resist (poly,pc,pc,nfet,pfet,fet)/active 22300
 resist (poly2,ecap,p2c)/cap 41300
 resist (phr)/cap 41300
 resist (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c,m2c)/metal1  90
 resist (m2,m2t,m2c,m3c,m3c)/metal2  90
 resist (m3,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,pc,pc)/active (poly2,ecap,phr,p2c)/cap	111.965

#nwell,cwell,pwell
 areacap (nwell)/well   4.777

#ndiff
# MODEL HANDLES THIS: areacap (ndiff,ndc)/active  51.817
# MODEL HANDLES THIS: overlap (ndiff,ndc)/active ~space/w  51.817
# MODEL HANDLES THIS: perimc (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active 111.650
# MODEL HANDLES THIS: sideoverlap (ndiff,ndc)/active ~(ndiff,ndc,nfet,pfet,fet)/active ~space/w 111.650

#pdiff

#poly

 areacap (poly,pc)/active  10.780
 overlap (poly,pc)/active ~space/w  10.780

#poly2

#metal1
 areacap (m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1   3.797

#metal1-sub blocked by ~space/a,~space/c
 overlap (m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1 ~space/w   3.797 ~space/a,~space/c
 perimc (m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1  25.900
 sideoverlap (m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,pdc,pc,p2c,m2c)/metal1 ~space/w  25.900 ~space/a,~space/c

#metal1-diff blocked by ~space/c
 overlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (ndiff,ndc)/active   4.287 ~space/c
 sideoverlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (ndiff,ndc)/active  25.900 ~space/c
 overlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (pdiff,pdc)/active   4.287 ~space/c
 sideoverlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (pdiff,pdc)/active  25.900 ~space/c

#metal1-poly blocked by ~space/c
 overlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly,pc,nfet,pfet,fet)/active   6.370 ~space/c
 sideoverlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly,pc,nfet,pfet,fet)/active  21 ~space/c
 sideoverlap (poly,pc,nfet,pfet,fet)/active ~(poly,pc,nfet,pfet,fet)/active (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1  21 ~space/c

#metal1-poly2 not blocked
 overlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (poly2,ecap,phr)/cap   5.880

#metal2
 areacap (m2,m2t,m3c)/metal2   1.960

#metal2-sub blocked by 
 overlap (m2,m2t,m3c)/metal2 ~space/w   1.960 ~space/a,~space/m1,~space/c
 perimc (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2  20.300
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 ~space/w  20.300 ~space/a,~space/m1,~space/c

#metal2-*diff blocked by ~space/m1,~space/c
 overlap (m2,m2t,m3c)/metal2 (ndiff,ndc)/active   1.960 ~space/m1,~space/c
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 (ndiff,ndc)/active  20.300 ~space/m1,~space/c
 overlap (m2,m2t,m2c,m3c)/metal2 (pdiff,pdc)/active   1.960 ~space/m1,~space/c
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 (pdiff,pdc)/active  20.300 ~space/m1,~space/c

#metal2-poly blocked by ~space/m1,~space/c
 overlap (m2,m2t,m3c)/metal2 (poly,pc,nfet,pfet,fet)/active   1.837 ~space/m1,~space/c
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 (poly,pc,nfet,pfet,fet)/active  13.300 ~space/m1,~space/c
 sideoverlap (poly,pc,nfet,pfet,fet)/active ~(poly,pc,nfet,pfet,fet)/active (m2,m2t,m2c,m3c)/metal2  13.300 ~space/m1,~space/c

#metal2-poly2 blocked by ~space/m1

#M2->M1
 overlap (m2,m2t,m3c)/metal2 (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1   3.675
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1  17.500
 sideoverlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (m2,m2t,m2c,m3c)/metal2  17.500

#metal3
 areacap (m3,pad)/metal3   1.225

#metal3-sub blocked by ~space/a,~space/m1,~space/m2,~space/c
 overlap (m3,pad)/metal3 ~space/w   1.225 ~space/a,~space/m1,~space/m2,~space/c
 perimc (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3  13.300
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 ~space/w  13.300 ~space/a,~space/m1,~space/m2,~space/c

#metal3-*diff blocked by ~space/m1,~space/m2,~space/c
 overlap (m3,pad)/metal3 (ndiff,ndc)/active   1.347 ~space/m1,~space/m2,~space/c
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 (ndiff,ndc)/active  13.300 ~space/m1,~space/m2,~space/c
 overlap (m3,pad)/metal3 (pdiff,pdc)/active   1.347 ~space/m1,~space/m2,~space/c
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 (pdiff,pdc)/active  13.300 ~space/m1,~space/m2,~space/c

#metal3-poly blocked by ~space/m1,~space/m2,~space/c
 overlap (m3,pad)/metal3 (poly,pc,nfet,pfet,fet)/active   1.102 ~space/m1,~space/m2,~space/c
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 (poly,pc,nfet,pfet,fet)/active   9.800 ~space/m1,~space/m2,~space/c
 sideoverlap (poly,pc,nfet,pfet,fet)/active ~(poly,pc,nfet,pfet,fet)/active (m3,m3c,pad)/metal3   9.800 ~space/m1,~space/m2,~space/c

#metal3-poly2 blocked by ~space/m1,~space/m2

#M3->M1
 overlap (m3,pad)/metal3 (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1   1.470 ~space/m2

#metal3-metal1 blocked by ~space/m2
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1  11.200 ~space/m2
 sideoverlap (m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 ~(m1,m1t,ndc,nsc,pdc,psc,pc,p2c,m2c)/metal1 (m3,m3c,pad)/metal3  11.200 ~space/m2

#M3->M2
 overlap (m3,pad)/metal3 (m2,m2t,m2c,m3c)/metal2   3.920
 sideoverlap (m3,m3c,pad)/metal3 ~(m3,m3c,pad)/metal3 (m2,m2t,m2c,m3c)/metal2  18.200
 sideoverlap (m2,m2t,m2c,m3c)/metal2 ~(m2,m2t,m2c,m3c)/metal2 (m3,m3c,pad)/metal3  18.200

#metal4

#metal5

#metal6

#metal7

#metali

#fets

 fet  pfet pdiff,pdc 2 pfet Vdd! nwell 81 298
 fet  pfet pdiff,pdc 1 pfet Vdd! nwell 81 298

 fet  nfet ndiff,ndc 2 nfet Gnd! pwell 77 307
 fet  nfet ndiff,ndc 1 nfet Gnd! pwell 77 307

 fetresis  pfet linear		21001
 fetresis  pfet saturation	21001
 fetresis  nfet linear		6020
 fetresis  nfet saturation	6020

 fet  phr	poly2,p2c	2	phrResistor	Gnd!	nwell,pwell 0 0

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,m2t,m2c/m2,m3c/m2,m3c/m2 4 poly,ndiff,nsd,pdiff,psd,m1,m1t 1
 layer1 metal1 3 m1,m1t,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,ndc/a yellow \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA
 ndiff,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,pdc/a yellow \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA
 pdiff,pdc/a cyan \
 0000 5555 0000 5555 \
 0000 5555 0000 5555 \
 0000 5555 0000 5555 \
 0000 5555 0000 5555
 pdiff,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,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,m1t,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,m2t,m2c/m2,m3c/m2 cyan \
 0000 1111 0000 4444 \
 0000 1111 0000 4444 \
 0000 1111 0000 4444 \
 0000 1111 0000 4444
 m2,m2t,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,pc/a,nfet,pfet \
 0808 0400 0202 0101 \
 8080 4000 2020 1010 \
 0808 0004 0202 0101 \
 8080 0040 2020 1010
 m1,m1t,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,m2t,m2c/m2,m3c/m2 \
 0000 1111 0000 0000 \
 0000 1111 0000 0000 \
 0000 1111 0000 0000 \
 0000 1111 0000 0000
 pdiff,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,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,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,pdc/a,pfet 29
 psd,psc/a 30
 ndiff,ndc/a,nfet 31
 pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc,gv1 X

end

