tech
 scmos
end

version
 version 2001a-cifcheck
 description "SCMOS: Submit as technology.lambda: SCNA.80 [to process: AMIabn]"
end

planes
  well,w
  implant,i
  select,s
  cap,c
  active,a
  metal1,m1
  metal2,m2
  oxide,ox
  comment
  xp
  contact
  via1,v1
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  entransistor,enfet
  active  eptransistor,epfet
  active  doublentransistor,nfloating-gate,nfloatg,nfg,nffet
  active  doubleptransistor,pfloating-gate,pfloatg,pfg,pffet
  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  pbase,pb
  active  emitter,emit,em
  active  emittercontact,emitcontact,emc,ec
  active  base
  active  basecontact,bcontact,bc
  active  collector,coll,col,co,cl
  active  collectorcontact,colcontact,colc,coc,clc
  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  metal1tight,m1t
  metal1  m2contact,m2cut,m2c,via1,v1
  metal2  metal2,m2,purple
  metal2  pseudo_rmetal2,prm2
  metal2  rmetal2,rm2
  metal2  metal2tight,m2t
  via1  gv1
  metal2  pad
  oxide  glass
  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
  xp  xp
  xp  m1p
  xp  m2p
  comment  comment
  comment  bb
end

contact
  pc  poly  metal1
  ndc  ndiff  metal1
  pdc  pdiff  metal1
  nsc  nsd  metal1
  psc  psd  metal1
  m2c  metal1  metal2
  clc  collector  metal1
  emc  emit  metal1
  bc   base  metal1
end

styles
 styletype  mos
  nwell  12
  pwell  13
  nfi  53
  pfi  54
  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
  rm1  20
  rm1  48
  prm1  48
  m1p  20
  m1p  34
  fn  45
  fn  34
  m1t  49
  gv1  55
  m2contact  20
  m2contact  21
  m2contact  55
  metal2  21
  rm2  21
  rm2  48
  prm2  48
  m2p  21
  m2p  34
  m2t  50
  pad  22
  pad  23
  pad  34
  pad  38
  glass  34
  xp  25
  xp  34
  ecap  10
  ecap  14
  pbase  15
  base  17
  bc  5
  bc  20
  bc  32
  emit  16
  emc  16
  emc  20
  emc  32
  col  3
  clc  3
  clc  20
  clc  32
  poly2  14
  p2c  14
  p2c  20
  p2c  32
  gc2  19
  enfet  6
  enfet  30
  epfet  8
  epfet  31
  nffet  6
  nffet  7
  nffet  30
  pffet  8
  pffet  9
  pffet  31
  rp  47
  rp  48
  prp  48
  rp2  14
  rp2  48
  prp2  48
  rnd  2
  rnd  48
  prnd  48
  rpd  4
  rpd  53
  prpd  53
  rnw  12
  rnw  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 ndiff poly2 enfet
  paint pdiff poly2 epfet
  paint  enfet  ndiff  enfet
  paint  epfet  pdiff  epfet
  erase  enfet  poly2  ndiff
  erase  epfet  poly2  pdiff
  paint  poly2 enfet space
  paint  enfet  poly  nfet
  paint  epfet  poly  pfet
  paint  enfet  nwell  epfet
  paint  nffet  nwell  pffet
  paint  epfet  pwell  enfet
  paint  pffet  pwell  nffet
  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
  paint  pbase  nselect emit
  paint  pbase  pselect base
#CRE/CRM
  compose  rm1  prm1 m1
  compose  rm2  prm2 m2
  compose  rp  prp poly
  compose  rp2  prp2 poly2
  compose  rnd  prnd ndiff
  compose  rpd  prpd pdiff
  paint  nwell  rnw space
  paint  nwell  prnw space
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,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1,emc/a,bc/a  m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1,emc/a,bc/a
  clc  collector,metal1
  collector nwell,nsc/a,nsd,gc
  m2,m2t,m2c/m2  m2,m2t,m2c/m2
  ndiff,ndc/a,pdiff,pdc/a  ndiff,ndc/a,pdiff,pdc/a
  poly,nfet,nffet,pfet,pffet,fet,pc/a  poly,nfet,nffet,pfet,pffet,fet,pc/a
  poly2,ecap,p2c,enfet,epfet  poly2,ecap,p2c,enfet,epfet
  gc2 poly2,ecap,metal1
  gc  poly,ndiff,pdiff,nsd,psd,m1,m1t,m2c/m1
  pbase  base,bc/a
  base  bc/a
  emit  emc/a
  gc  emit,base
  gv1  m1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2,m2t
  pad  m1,m1t,m2,m2t
  rm1  prm1
  rm2  prm2
  rnw  prnw
  rp  prp
  rp2  prp2
  rnd  prnd
  rpd  prpd
end

cifoutput

style  CIFCHECK:dummy-style-for-cif-check-rules-only-NOT-FOR-CIF!
 scalefactor  80 40

 layer CWN nwell,rnw
 bloat-or pbase,emit,base,emc/a,bc/a * 480
 bloat-or pdiff,rpd,pdc/a,pfet,pffet,epfet,pffet * 400
 bloat-or nsd,nsc/a,coll,clc * 240
 bloat-or nfi * 320
 grow 240
 shrink 240
 labels nwell,rnw
 calma 42 0

 layer CWP pwell
 bloat-or ndiff,rnd,ndc/a,nfet,nffet,enfet,nffet * 400
 bloat-or psd,psc/a * 240
 bloat-or pfi * 320
 grow 240
 shrink 240
 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*160) Or ps
#XDN = (ndiff*160) Or ns
#FSP = ((pdiff*160,psc*160) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*160,nsc*160) 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 * 160 psd,psc/a 0
 or TNS

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

#final pselect 
 templayer FSP
 bloat-or pdiff,rpd,pfet,pffet,epfet,pffet,psd,pdc/a,psc/a,pfet,pffet,epfet,pffet * 160 ndiff,rnd,ndc/a,nsd,nsc/a,nfet,nffet,enfet,nffet 0
 or base,bc/a
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 40
 grow 40
 grow 40
 shrink 40

#final nselect
 templayer FSN
 bloat-or ndiff,rnd,nfet,nffet,enfet,nffet,nsd,ndc/a,nsc/a,nfet,nffet,enfet,nffet,coll,clc * 160 pdiff,rpd,pdc/a,psd,psc/a,pfet,pffet,epfet,pffet 0
 or emit,emc/a
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 40
 grow 40
 grow 40
 shrink 40

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0


style  lambda=0.80(p)
 scalefactor  80 40

 layer CWN nwell,rnw
 bloat-or pbase,emit,base,emc/a,bc/a * 480
 bloat-or pdiff,rpd,pdc/a,pfet,pffet,epfet,pffet * 400
 bloat-or nsd,nsc/a,coll,clc * 240
 bloat-or nfi * 320
 grow 240
 shrink 240
 labels nwell,rnw
 calma 42 0

 layer CWP pwell
 bloat-or ndiff,rnd,ndc/a,nfet,nffet,enfet,nffet * 400
 bloat-or psd,psc/a * 240
 bloat-or pfi * 320
 grow 240
 shrink 240
 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*160) Or ps
#XDN = (ndiff*160) Or ns
#FSP = ((pdiff*160,psc*160) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*160,nsc*160) 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 * 160 psd,psc/a 0
 or TNS

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

#final pselect 
 templayer FSP
 bloat-or pdiff,rpd,pfet,pffet,epfet,pffet,psd,pdc/a,psc/a,pfet,pffet,epfet,pffet * 160 ndiff,rnd,ndc/a,nsd,nsc/a,nfet,nffet,enfet,nffet 0
 or base,bc/a
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 40
 grow 40
 grow 40
 shrink 40

#final nselect
 templayer FSN
 bloat-or ndiff,rnd,nfet,nffet,enfet,nffet,nsd,ndc/a,nsc/a,nfet,nffet,enfet,nffet,coll,clc * 160 pdiff,rpd,pdc/a,psd,psc/a,pfet,pffet,epfet,pffet 0
 or emit,emc/a
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 40
 grow 40
 grow 40
 shrink 40

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 labels diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 calma 43 0

 layer CCA ndc/m1,nsc/m1
 squares 80 160 160
 calma 48 0

 layer CCA 
 squares 80 160 240
 calma 48 0

 layer CCA pdc/m1,psc/m1
 squares 80 160 160
 calma 48 0

 layer CCA 
 squares 80 160 240
 calma 48 0

 layer CPG poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 labels poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 calma 46 0

 layer CCP pc/m1
 squares 80 160 160
 calma 47 0

 layer CCP 
 squares 80 160 240
 calma 47 0

 layer CCE gc2
 squares 0 160 160
 calma 55 0

 layer CCE p2c
 squares 80 160 160
 calma 55 0

 layer CCE 
 squares 80 160 240
 calma 55 0

 layer CCE gc2
 squares 0 160 160
 calma 55 0

 layer CCC gc
 squares 0 160 160
 calma 25 0

 layer CV1 m2c/m1
 squares 80 160 240
 calma 50 0

 layer CV1 gv1
 squares 0 160 240
 calma 50 0

 templayer XPAD1 pad
 shrink 480

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD1
 calma 50 0

 layer CM1 pad
 calma 49 0

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

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

 layer CMFP m1p
 labels m1p
 calma 81 0

 layer CMSP m2p
 labels m2p
 calma 82 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 CEL poly2,ecap,p2c,enfet,nffet,epfet,pffet
 labels poly2,ecap,p2c,enfet,nffet,epfet,pffet
 calma 56 0

 layer CBA pbase,emit,base,emc/a,bc/a
 labels pbase,emit,base,emc/a,bc/a
 calma 58 0

 layer CCA emc/a
 squares 240 160 160
 labels emc/a
 calma 48 0

 layer CCA bc/a
 squares 160 160 160
 labels bc/a
 calma 48 0

 layer CCA clc
 squares 160 160 160
 labels clc
 calma 48 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
#CRE/CRM layer CRM rm1,prm1,rm2,prm2
#CRE/CRM calma 70 0

 layer CX comment
 labels comment
 calma 63 0

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


style  lambda=0.80(cp)
 scalefactor  80 40

 layer CWN nwell,rnw
 bloat-or pbase,emit,base,emc/a,bc/a * 480
 bloat-or pdiff,rpd,pdc/a,pfet,pffet,epfet,pffet * 400
 bloat-or nsd,nsc/a,coll,clc * 240
 bloat-or nfi * 320
 grow 240
 shrink 240
 labels nwell,rnw
 calma 42 0

 layer CWP pwell
 bloat-or ndiff,rnd,ndc/a,nfet,nffet,enfet,nffet * 400
 bloat-or psd,psc/a * 240
 bloat-or pfi * 320
 grow 240
 shrink 240
 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*160) Or ps
#XDN = (ndiff*160) Or ns
#FSP = ((pdiff*160,psc*160) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*160,nsc*160) 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 * 160 psd,psc/a 0
 or TNS

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

#final pselect 
 templayer FSP
 bloat-or pdiff,rpd,pfet,pffet,epfet,pffet,psd,pdc/a,psc/a,pfet,pffet,epfet,pffet * 160 ndiff,rnd,ndc/a,nsd,nsc/a,nfet,nffet,enfet,nffet 0
 or base,bc/a
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 40
 grow 40
 grow 40
 shrink 40

#final nselect
 templayer FSN
 bloat-or ndiff,rnd,nfet,nffet,enfet,nffet,nsd,ndc/a,nsc/a,nfet,nffet,enfet,nffet,coll,clc * 160 pdiff,rpd,pdc/a,psd,psc/a,pfet,pffet,epfet,pffet 0
 or emit,emc/a
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 40
 grow 40
 grow 40
 shrink 40

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 labels diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 calma 43 0

 layer CCC ndc/m1,nsc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC pdc/m1,psc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CPG poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 labels poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 calma 46 0

 layer CCC pc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC gc2
 squares 0 160 160
 calma 25 0

 layer CCC p2c
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC gc2
 squares 0 160 160
 calma 25 0

 layer CCC gc
 squares 0 160 160
 calma 25 0

 layer CV1 m2c/m1
 squares 80 160 240
 calma 50 0

 layer CV1 gv1
 squares 0 160 240
 calma 50 0

 templayer XPAD1 pad
 shrink 480

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD1
 calma 50 0

 layer CM1 pad
 calma 49 0

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

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

 layer CMFP m1p
 labels m1p
 calma 81 0

 layer CMSP m2p
 labels m2p
 calma 82 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 CEL poly2,ecap,p2c,enfet,nffet,epfet,pffet
 labels poly2,ecap,p2c,enfet,nffet,epfet,pffet
 calma 56 0

 layer CBA pbase,emit,base,emc/a,bc/a
 labels pbase,emit,base,emc/a,bc/a
 calma 58 0

 layer CCC emc/a
 squares 240 160 160
 labels emc/a
 calma 25 0

 layer CCC bc/a
 squares 160 160 160
 labels bc/a
 calma 25 0

 layer CCC clc
 squares 160 160 160
 labels clc
 calma 25 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
#CRE/CRM layer CRM rm1,prm1,rm2,prm2
#CRE/CRM calma 70 0

 layer CX comment
 labels comment
 calma 63 0

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


style  lambda=0.80(c)
 scalefactor  80 40

 layer CWN nwell,rnw
 bloat-or pbase,emit,base,emc/a,bc/a * 480
 bloat-or pdiff,rpd,pdc/a,pfet,pffet,epfet,pffet * 400
 bloat-or nsd,nsc/a,coll,clc * 240
 bloat-or nfi * 320
 grow 240
 shrink 240
 labels nwell,rnw
 calma 42 0

 templayer TNS ns

 templayer TPS ps

#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*160) Or ps
#XDN = (ndiff*160) Or ns
#FSP = ((pdiff*160,psc*160) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*160,nsc*160) 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 * 160 psd,psc/a 0
 or TNS

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

#final pselect 
 templayer FSP
 bloat-or pdiff,rpd,pfet,pffet,epfet,pffet,psd,pdc/a,psc/a,pfet,pffet,epfet,pffet * 160 ndiff,rnd,ndc/a,nsd,nsc/a,nfet,nffet,enfet,nffet 0
 or base,bc/a
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 40
 grow 40
 grow 40
 shrink 40

#final nselect
 templayer FSN
 bloat-or ndiff,rnd,nfet,nffet,enfet,nffet,nsd,ndc/a,nsc/a,nfet,nffet,enfet,nffet,coll,clc * 160 pdiff,rpd,pdc/a,psd,psc/a,pfet,pffet,epfet,pffet 0
 or emit,emc/a
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 40
 grow 40
 grow 40
 shrink 40

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 labels diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 calma 43 0

 layer CCC ndc/m1,nsc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC pdc/m1,psc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CPG poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 labels poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 calma 46 0

 layer CCC pc/m1
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC gc2
 squares 0 160 160
 calma 25 0

 layer CCC p2c
 squares 80 160 160
 calma 25 0

 layer CCC 
 squares 80 160 240
 calma 25 0

 layer CCC gc2
 squares 0 160 160
 calma 25 0

 layer CCC gc
 squares 0 160 160
 calma 25 0

 layer CV1 m2c/m1
 squares 80 160 240
 calma 50 0

 layer CV1 gv1
 squares 0 160 240
 calma 50 0

 templayer XPAD1 pad
 shrink 480

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD1
 calma 50 0

 layer CM1 pad
 calma 49 0

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

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

 layer CMFP m1p
 labels m1p
 calma 81 0

 layer CMSP m2p
 labels m2p
 calma 82 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 CEL poly2,ecap,p2c,enfet,nffet,epfet,pffet
 labels poly2,ecap,p2c,enfet,nffet,epfet,pffet
 calma 56 0

 layer CBA pbase,emit,base,emc/a,bc/a
 labels pbase,emit,base,emc/a,bc/a
 calma 58 0

 layer CCC emc/a
 squares 240 160 160
 labels emc/a
 calma 25 0

 layer CCC bc/a
 squares 160 160 160
 labels bc/a
 calma 25 0

 layer CCC clc
 squares 160 160 160
 labels clc
 calma 25 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
#CRE/CRM layer CRM rm1,prm1,rm2,prm2
#CRE/CRM calma 70 0

 layer CX comment
 labels comment
 calma 63 0

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


style  lambda=0.80()
 scalefactor  80 40

 layer CWN nwell,rnw
 bloat-or pbase,emit,base,emc/a,bc/a * 480
 bloat-or pdiff,rpd,pdc/a,pfet,pffet,epfet,pffet * 400
 bloat-or nsd,nsc/a,coll,clc * 240
 bloat-or nfi * 320
 grow 240
 shrink 240
 labels nwell,rnw
 calma 42 0

 templayer TNS ns

 templayer TPS ps

#we give priority to selects autogenerated around diffusions (vrs. ohmics)
#XDP = (pdiff*160) Or ps
#XDN = (ndiff*160) Or ns
#FSP = ((pdiff*160,psc*160) Or XDP And-Not XDN Or ps shrink-grow
#FSN = ((ndiff*160,nsc*160) 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 * 160 psd,psc/a 0
 or TNS

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

#final pselect 
 templayer FSP
 bloat-or pdiff,rpd,pfet,pffet,epfet,pffet,psd,pdc/a,psc/a,pfet,pffet,epfet,pffet * 160 ndiff,rnd,ndc/a,nsd,nsc/a,nfet,nffet,enfet,nffet 0
 or base,bc/a
 or XDP
#give diff nselect priority
 and-not XDN
 or TPS
 shrink 40
 grow 40
 grow 40
 shrink 40

#final nselect
 templayer FSN
 bloat-or ndiff,rnd,nfet,nffet,enfet,nffet,nsd,ndc/a,nsc/a,nfet,nffet,enfet,nffet,coll,clc * 160 pdiff,rpd,pdc/a,psd,psc/a,pfet,pffet,epfet,pffet 0
 or emit,emc/a
 or XDN
#never conflict with final pselect
 and-not FSP
#drawn select always goes
 or TNS
 shrink 40
 grow 40
 grow 40
 shrink 40

 layer CSN FSN
 calma 45 0

 layer CSP FSP
 calma 44 0

 layer CAA diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 labels diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,pfet,pffet,epfet,pffet,pfet,pffet,epfet,pffet,fet,coll,clc
 calma 43 0

 layer CCA ndc/m1,nsc/m1
 squares 80 160 160
 calma 48 0

 layer CCA 
 squares 80 160 240
 calma 48 0

 layer CCA pdc/m1,psc/m1
 squares 80 160 160
 calma 48 0

 layer CCA 
 squares 80 160 240
 calma 48 0

 layer CPG poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 labels poly,rp,nfet,nffet,pfet,pffet,fet,pc/a,ecap
 calma 46 0

 layer CCP pc/m1
 squares 80 160 160
 calma 47 0

 layer CCP 
 squares 80 160 240
 calma 47 0

 layer CCE gc2
 squares 0 160 160
 calma 55 0

 layer CCE p2c
 squares 80 160 160
 calma 55 0

 layer CCE 
 squares 80 160 240
 calma 55 0

 layer CCE gc2
 squares 0 160 160
 calma 55 0

 layer CCC gc
 squares 0 160 160
 calma 25 0

 layer CV1 m2c/m1
 squares 80 160 240
 calma 50 0

 layer CV1 gv1
 squares 0 160 240
 calma 50 0

 templayer XPAD1 pad
 shrink 480

 layer CM2 pad
 labels pad
 calma 51 0

 layer CV1 XPAD1
 calma 50 0

 layer CM1 pad
 calma 49 0

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

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

 layer CMFP m1p
 labels m1p
 calma 81 0

 layer CMSP m2p
 labels m2p
 calma 82 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 CEL poly2,ecap,p2c,enfet,nffet,epfet,pffet
 labels poly2,ecap,p2c,enfet,nffet,epfet,pffet
 calma 56 0

 layer CBA pbase,emit,base,emc/a,bc/a
 labels pbase,emit,base,emc/a,bc/a
 calma 58 0

 layer CCA emc/a
 squares 240 160 160
 labels emc/a
 calma 48 0

 layer CCA bc/a
 squares 160 160 160
 labels bc/a
 calma 48 0

 layer CCA clc
 squares 160 160 160
 labels clc
 calma 48 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
#CRE/CRM layer CRM rm1,prm1,rm2,prm2
#CRE/CRM calma 70 0

 layer CX comment
 labels comment
 calma 63 0

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

end

cifinput

style  lambda=0.80(p)
 scalefactor  80

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

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

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

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

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

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

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

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 and-not CBA
 and-not CPS
 and-not CWN
 and CM1
 grow 80
 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-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 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 m2c CV1

 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 80
 and CM2
 and CM1
 grow 40
 shrink 40
 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 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 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 80
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

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

 layer enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer bc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCA 48 *

 layer bc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCC 25 *

 layer emc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCA 48 *

 layer emc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(s)
 scalefactor  80

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

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

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

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

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

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

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

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 and-not CBA
 and-not CPS
 and-not CWN
 and CM1
 grow 80
 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-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 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 m2c CV1

 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 80
 and CM2
 and CM1
 grow 40
 shrink 40
 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 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 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 80
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

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

 layer enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer bc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCA 48 *

 layer bc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCC 25 *

 layer emc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCA 48 *

 layer emc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(ps)
 scalefactor  80

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

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

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

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

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

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

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

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 and-not CBA
 and-not CPS
 and-not CWN
 and CM1
 grow 80
 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-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 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 m2c CV1

 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 80
 and CM2
 and CM1
 grow 40
 shrink 40
 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 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 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 80
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

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

 layer enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer bc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCA 48 *

 layer bc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCC 25 *

 layer emc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCA 48 *

 layer emc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80()
 scalefactor  80

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

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

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

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

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

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

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

 layer psc CAA
 and CSP
 and CCC
 and-not CV1
 and-not CWNR
 and-not CTA
 and-not CBA
 and-not CPS
 and-not CWN
 and CM1
 grow 80
 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-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 and CM1
 calma CCP 47 *

 layer pc CCC
 and-not CV1
 and CPG
 and-not CPC
 and-not CEL
 and-not CAA
 grow 80
 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 m2c CV1

 and-not CCC
 and-not CCP
 and-not CCA
 and-not XP
 grow 80
 and CM2
 and CM1
 grow 40
 shrink 40
 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 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 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 80
 and CM1
 and CEL
 labels CM1
 calma CCE 55 *

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

 layer enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer bc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCA 48 *

 layer bc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN
 and CM1
 grow 160
 labels CBA
 calma CCC 25 *

 layer emc CCA
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCA 48 *

 layer emc CCC
 and CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN
 and CM1
 grow 240
 labels CBA
 calma CCC 25 *

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(c)
 scalefactor  80

 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 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 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 enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(cs)
 scalefactor  80

 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 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 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 enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(cps)
 scalefactor  80

 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 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 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 enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *


style  lambda=0.80(cp)
 scalefactor  80

 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 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 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 enfet CAA
 and CSN
 and-not CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer epfet CAA
 and CSP
 and-not CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer nffet CAA
 and CSN
 and CPG
 and CEL
 and-not CWN
 and-not CSP
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pffet CAA
 and CSP
 and CPG
 and CEL
 and CWN
 and-not CSN
 and-not CPS
 and-not CBA
 labels CAA
 calma CAA 43 *

 layer pbase CBA
 labels CBA
 calma CBA 58 *

 layer base CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSP
 and CWN

 layer emit CBA
 and-not CPG
 and-not CEL
 and-not CPC
 and CSN
 and CWN

 layer comment CX
 labels CX
 calma CX 63 *

 calma CTA 60 *

#CRE/CRM
 calma CRW 65 *
 calma CRG 67 *
 calma CRD 66 *
 calma CRE 64 *
 calma CRF 71 *
 calma CRS 72 *
 calma CRM 70 *

end

mzrouter
 style irouter
#		layer	hCost	vCost	jogCost	hintCost 
 layer		metal2	2	1	2	1
 layer		metal1	2	3	2	1
 layer		poly	10	10	11	1
 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 rnw 10 \
 "rnwell (for resistor L/W extraction) width < 10 (Mosis #1.1)"

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

 width diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll 3 \
 "Diffusion width < 3 (Mosis #2.1)"

 width poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,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,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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,rm2,m2t,m2c/m2,pad 3 \
 "Metal2 width < 3 (Mosis #9.1)"

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

 width ecap 3 \
 "Ecap width < 3 (Mosis #11.1)"

 width poly2,ecap 2 \
 "Poly2 width < 2 (Mosis #11.1)"

 width gc2 2 \
 "Generic contact2 width < 2 (Mosis #13.1)"

 width p2c 4 \
 "Poly2 contact width < 4 (Mosis #13.1)"

 width pbase,emit,base,emc/a,bc/a 12 \
 "Pbase width < 12 (Mosis #16)"

 width base,bc/a 4 \
 "Base width < 4 (Mosis #16)"

 width emit,emc/a 4 \
 "Emitter width < 4 (Mosis #16)"

 width bc/a 6 \
 "Base contact width < 6 (Mosis #16)"

 width bc 2 \
 "Base Generic contact width < 2 (Mosis #16)"

 width emc/a 8 \
 "Emitter contact width < 8 (Mosis #16)"

 width emc 2 \
 "Emitter Generic contact width < 2 (Mosis #16)"

 width clc 6 \
 "Collector contact width < 6 (Mosis #16.9)"

 width coll 3 \
 "Collector width < 3 (Mosis #16.9)"

 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 9 touching_illegal \
 "rnw (for resistor L/W extraction) spacing to N-well < 9 (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,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll 3 touching_ok \
 "Diffusion spacing < 3 (Mosis #2.2)"

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

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

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

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

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

 spacing pdiff,rpd,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 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,nffet,enfet,nffet,ndc/a,nfet,nffet psd,psc/a 4 touching_ok \
 "N-Diffusion spacing to P-Ohmic < 4 (Mosis #2.5)"

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

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

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

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

 edge4way poly,rp,rp,pc/a ~(poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet,prp)/active 1 space space 1 \
 "Poly spacing to Diffusion < 1 (Mosis #3.5)"

 edge4way nfet,nffet ~(nfet,nffet)/active 3 ~(pselect)/select ~(nfet,nffet)/active 3 \
 "N-Transistor space to P-Select < 3 (Mosis #4.1)" select

 edge4way pfet,pffet ~(pfet,pffet)/active 3 ~(nselect)/select ~(pfet,pffet)/active 3 \
 "P-Transistor space to N-Select < 3 (Mosis #4.1)" select

 edge4way nfet,nffet ~(nfet,nffet)/active 3 ~(psd,psc/a)/active ~(nfet,nffet)/active 2 \
 "N-Transistor space to P-Ohmic < 3 (Mosis #4.1)" active

 edge4way pfet,pffet ~(pfet,pffet)/active 3 ~(nsd,nsc/a)/active ~(pfet,pffet)/active 2 \
 "P-Transistor space to N-Ohmic < 3 (Mosis #4.1)" active

#PEZ edge4way psd,psc/a space  ~(nfet,nffet)/active space  \
#PEZ "P-Ohmic space to N-Transistor <  (Mosis #4.1)" active

#PEZ edge4way nsd,nsc/a space  ~(pfet,pffet)/active space  \
#PEZ "N-Ohmic space to P-Transistor <  (Mosis #4.1)" active

 edge4way ~(nselect,pselect)/select nselect,pselect 2 ~(diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll)/active nselect,pselect 2 \
 "N-Select,P-Select overlap of Diffusion < 2 (Mosis #4.2_)" active

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

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

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

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

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

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

 edge4way ~(pdiff,rpd,pfet,pffet,epfet,pffet,pdc/a,psd,psc/a)/active pdiff,rpd,pfet,pffet,epfet,pffet,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,nffet,enfet,nffet,ndc/a,nsd,nsc/a)/active ndiff,rnd,nfet,nffet,enfet,nffet,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,rp,rp,pc/a,diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,emit,emc/a,base,bc/a,coll ~(gc)/contact 1 \
 "Poly,Diffusion overlap of Poly contact < 1 (Mosis #5.2)" active

 edge4way gc space 1 poly,rp,rp,pc/a,diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,emit,emc/a,base,bc/a,coll space 1 \
 "one of: Poly,Diffusion,Emitter,Base,Collector must overlap GC contact by 1 (Mosis #5.2a,6.2a)" active

 edge4way ~(poly,rp,rp,pc/a,diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,emit,emc/a,base,bc/a,coll)/active poly,rp,rp,pc/a,diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,emit,emc/a,base,bc/a,coll 1 ~(gc)/contact 0 0 \
 "Edge to one of: Poly,Diffusion,Emitter,Base,Collector 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,bc/m1,emc/m1,clc/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,rp,rp,pc/a pc/a 3 touching_ok \
 "Poly spacing to Poly contact < 3 (Mosis #5.4b)"

 edge4way gc ~(gc)/contact 1 diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,emit,emc/a,base,bc/a,coll,poly,rp,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 1 touching_illegal \
 "Generic contact spacing to Poly contact,Diffusion contact < 1 (Mosis #5.3)"

 spacing nfet,nffet,pfet,pffet 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,nffet,pfet,pffet gc 2 touching_illegal \
 "N-Transistor,P-Transistor spacing to Generic contact < 2 (Mosis #6.4)"

 spacing diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll pc/a 1 touching_illegal \
 "Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)"

 spacing diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll,nfet,nffet,pfet,pffet 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,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 m1,rm1,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 2 touching_ok \
 "Metal1tight spacing to Metal1 < 2 (Mosis #7.2.b)"

 edge4way gc space 1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 space 1 \
 "Metal1 must overlap GC contact by 1 (Mosis #7.3,7.4)" metal1

 edge4way ~(m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 ~(gv1)/via1 1 \
 "Metal1 overlap of GV1 via < 1 (Mosis #8.3)" metal1

 edge4way gv1 space 1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 space 1 \
 "Metal1 must overlap GV1 via by 1 (Mosis #8.3)" metal1

 edge4way ~(m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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)"


    edge4way  diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll ~(diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll)/active 1 ~(m2c/m1)/metal1 ~(diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll)/active 1 \
 "Via must be on a flat active surface (Mosis rule #8.4,5)" metal1

    edge4way  poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet ~(poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet)/active 1 ~(m2c/m1)/metal1 ~(poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet)/active 1 \
 "Via must be on a flat poly surface (Mosis rule #8.4,5)" metal1

    edge4way space/active ~space/active 1 ~(m2c/m1)/metal1 \
    ~space/active 1 \
 "Via must be on a flat space surface (Mosis rule #8.4,5)" metal1

    edge4way  diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll ~(diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll)/active 2 ~(gv1)/via1 ~(diff,ndiff,rnd,nfet,nffet,enfet,nffet,nsd,pdiff,rpd,pfet,pffet,epfet,pffet,psd,ndc/a,nsc/a,pdc/a,psc/a,coll)/active 2 \
 "Via must be on a flat active surface (Mosis rule #8.4,5)" via1

    edge4way  poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet ~(poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet)/active 2 ~(gv1)/via1 ~(poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet)/active 2 \
 "Via must be on a flat poly surface (Mosis rule #8.4,5)" via1

    edge4way space/active ~space/active 2 ~(gv1)/via1 \
    ~space/active 2 \
 "Via must be on a flat space surface (Mosis rule #8.4,5)" via1
 spacing m2,rm2,m2c/m2,pad m2,rm2,m2c/m2,pad 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,rm2,m2t,m2c/m2,pad 3 touching_ok \
 "Metal2tight spacing to Metal2 < 3 (Mosis #9.2.b)"

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

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

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

 spacing poly2,ecap poly2,ecap 3 touching_ok \
 "Poly2 spacing < 3 (Mosis #11.2)"

 edge4way ecap space 2 poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet,enfet,epfet space 2 \
 "Poly must overlap Ecap by 2 (Mosis #11.3)" active

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

 edge4way poly2 space 2 ~(poly,rp,rp,pc/a)/active space 2 \
 "Poly2 spacing to Poly < 2 (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 poly2,ecap 3 touching_ok \
 "Poly2 spacing < 3 (Mosis #12.2)"

 edge4way enfet,nffet,epfet,pffet space,poly,rp,rp,pc/a 2 poly2,ecap 0 0 \
 "Poly2 overhang of ETransistor < 2 (Mosis #12.3)" cap

 edge4way ~(ndiff,rnd,ndc/a,pdiff,rpd,pdc/a)/active ndiff,rnd,ndc/a,pdiff,rpd,pdc/a 1 ~(poly2)/cap 0 0 \
 "Poly2 cannot touch Diffusion (Mosis #12.4)" cap

 edge4way poly2,ecap space 1 ~(ndiff,rnd,ndc/a,pdiff,rpd,pdc/a)/active poly2,ecap 1 \
 "Poly2 space to Diffusion < 1 (Mosis #12.4)" active

 spacing poly2,ecap,enfet,nffet,epfet,pffet pc/a,ndc/a,pdc/a,psc/a,nsc/a 2 touching_illegal \
 "Poly2 spacing to Poly contact,Diffusion contact < 2 (Mosis #12.6)"

 spacing poly2,ecap,enfet,nffet,epfet,pffet gc,gc 3 touching_illegal \
 "Poly2 spacing to GC contact < 3 (Mosis #12.6)"

 edge4way enfet,nffet,epfet,pffet ndiff,rnd,ndc/a,pdiff,rpd,pdc/a 4 ndiff,rnd,ndc/a,pdiff,rpd,pdc/a ndiff,rnd,ndc/a,pdiff,rpd,pdc/a 4 \
 "Diffusion overhang of ETransistor < 4 (Mosis #12.7)" active

 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 ~(gc2)/contact 2 poly2,ecap ~(gc2)/contact 2 \
 "Poly2 overlap of Generic contact2 < 2 (Mosis #13.4)" cap

 edge4way gc2 space 1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 space 1 \
 "Metal1 must overlap Generic contact2 by 1 (Mosis #13.4)" metal1

 edge4way ~(m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1)/metal1 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 1 ~(gc2)/contact 0 0 \
 "Metal1(edge) cannot touch Generic contact2 (Mosis #13.4)" contact

 edge4way ~(poly2,ecap)/cap poly2,ecap 1 ~(p2c)/metal1 poly2,ecap 1 \
 "Poly2 overlap of Poly2 contact < 1 (Mosis #13.4)" metal1

 edge4way ~(emit,emc/a)/active emit,emc/a 3 ~(gc)/contact emit,emc/a 3 \
 "Emitter overlap of GC contact < 3 (Mosis #16.2)" contact

 edge4way emit,emc/a,emc/a ~(emit,emc/a,emc/a)/active 2 pbase,emit,base,emc/a,bc/a ~(emit,emc/a,emc/a)/active 2 \
 "Pbase overlap of Emitter < 2 (Mosis #16.3)" active

 spacing emit,emc/a,emc/a base,bc/a,bc/a 4 touching_illegal \
 "Emitter spacing to Base < 4 (Mosis #16.4)"

 edge4way base,bc/a,bc/a ~(base,bc/a,bc/a)/active 2 pbase,emit,base,emc/a,bc/a ~(base,bc/a,bc/a)/active 2 \
 "Pbase overlap of Base < 2 (Mosis #16.5)" active

 edge4way ~(base,bc/a)/active base,bc/a 2 ~(gc)/contact base,bc/a 2 \
 "Base overlap of GC contact < 2 (Mosis #16.6)" contact

 edge4way ~(nwell)/well nwell 6 ~(pbase,emit,base,emc/a,bc/a,base,bc/a,bc/a,emit,emc/a,emc/a)/active nwell 6 \
 "N-well overlap of Pbase < 6 (Mosis #16.7)" active

 spacing pbase,emit,base,emc/a,bc/a nsd,nsc/a,coll,clc 4 touching_illegal \
 "Pbase spacing to Collector,Collector contact < 4 (Mosis #16.8)"

 edge4way ~(coll)/active coll 2 ~(gc)/contact coll 2 \
 "Collector overlap of Generic contact < 2 (Mosis #16.9)" contact

 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,pffet,epfet,pffet,pdc/a pfi 4 touching_illegal \
 "N-well,P-Diffusion spacing to P_field-implant < 4 (Mosis #2.1)"

 spacing pwell,ndiff,rnd,nfet,nffet,enfet,nffet,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

 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 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 bc/a ~(bc/a)/active 1 ~(bc/a)/active (~(bc/a),bc/a)/active 1 \
 "Contact not rectangular (Magic rule)"

 edge4way emc/a ~(emc/a)/active 1 ~(emc/a)/active (~(emc/a),emc/a)/active 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)/m2 1 ~(pad)/m2 (~(pad),pad)/m2 1 \
 "Contact not rectangular (Magic rule)"

 exact_overlap ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c

 exact_overlap m2c/m2

 exact_overlap gv1


 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)"

 cifstyle  CIFCHECK:dummy-style-for-cif-check-rules-only-NOT-FOR-CIF! 
 cifwidth CWN 800 \
 "generated CIF layer CWN width will be < 10 (';cif see CWN')"
 cifspacing CWN CWN 480 touching_ok \
 "generated CIF layer CWN spacing will be < 6 (';cif see CWN')"
 cifwidth CWP 800 \
 "generated CIF layer CWP width will be < 10 (';cif see CWP')"
 cifspacing CWP CWP 480 touching_ok \
 "generated CIF layer CWP spacing will be < 6 (';cif see CWP')"
 cifwidth CSN 160 \
 "generated CIF layer CSN width will be < 2 (';cif see CSN')"
 cifspacing CSN CSN 160 touching_ok \
 "generated CIF layer CSN spacing will be < 2 (';cif see CSN')"
 cifwidth CSP 160 \
 "generated CIF layer CSP width will be < 2 (';cif see CSP')"
 cifspacing CSP CSP 160 touching_ok \
 "generated CIF layer CSP spacing will be < 2 (';cif see CSP')"

 stepsize 400

end

extract
 style AMI1.6um(amiabn)from:T12J
 cscale 1
 lambda 80
 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 oxide 7
 planeorder xp 8
 planeorder comment 9
 planeorder contact 10
 planeorder via1 11

 resist (ndiff,rnd,ndc,nsd,nsc)/active 57300
 resist (pdiff,rpd,pdc,psd,psc)/active 78800
 resist (nwell)/well 1744000
 resist (rnw)/active 1744000
 resist (pwell)/well 1
 resist (poly,rp,rp,pc,pc,nfet,nffet,pfet,pffet,fet)/active 26500
 resist (poly2,ecap,p2c,enfet,nffet,epfet,pffet)/cap 21600
 resist (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c,m2c)/metal1  50
 resist (m2,rm2,m2t,m2c,pad)/metal2  30

 contact ndc 4 54300
 contact pdc 4 40000
 contact pc 4 23500
 contact p2c 4 14000
 contact m2c 4  40


#poly2
 overlap (poly,rp,rp,pc,pc)/active (poly2,ecap,p2c)/cap	378.880

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

#rnw
 areacap (rnw)/active  37.120

#ndiff
# MODEL HANDLES THIS: areacap (ndiff,ndc)/active 188.800
# MODEL HANDLES THIS: overlap (ndiff,ndc)/active ~space/w 188.800
# MODEL HANDLES THIS: perimc (ndiff,ndc)/active ~(ndiff,ndc,nfet,nffet,pfet,pffet,fet)/active  84.800
# MODEL HANDLES THIS: sideoverlap (ndiff,ndc)/active ~(ndiff,ndc,nfet,nffet,pfet,pffet,fet)/active ~space/w  84.800

 areacap (rnd)/active 188.800
 overlap (rnd)/active ~space/w 188.800
 perimc (rnd)/active ~(rnd)/active  84.800
 sideoverlap (rnd)/active ~(rnd)/active ~space/w  84.800

#pdiff
# MODEL HANDLES THIS: areacap (pdiff,pdc)/active 181.120
# MODEL HANDLES THIS: overlap (pdiff,pdc)/active ~space/w 181.120
# MODEL HANDLES THIS: perimc (pdiff,pdc)/active ~(pdiff,pdc,nfet,nffet,pfet,pffet,fet)/active 136
# MODEL HANDLES THIS: sideoverlap (pdiff,pdc)/active ~(pdiff,pdc,nfet,nffet,pfet,pffet,fet)/active ~space/w 136

 areacap (rpd)/active 181.120
 overlap (rpd)/active ~space/w 181.120
 perimc (rpd)/active ~(rpd)/active 136
 sideoverlap (rpd)/active ~(rpd)/active ~space/w 136

#rnw

#poly
# MODEL HANDLES THIS: overlap (nfet,nffet)/active (ndiff,rnd,ndc)/active 731.520
# MODEL HANDLES THIS: sideoverlap (nfet,nffet)/active ~(nfet,nffet)/active (ndiff,rnd,ndc)/active 140.800
# MODEL HANDLES THIS: overlap (pfet,pffet)/active (pdiff,rpd,pdc)/active 720.640
# MODEL HANDLES THIS: sideoverlap (pfet,pffet)/active ~(pfet,pffet)/active (pdiff,rpd,pdc)/active 170.400

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

#poly2

#rnw

#metal1
 areacap (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1  12.160

#metal1-sub blocked by ~space/a,~space/c
 overlap (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 ~space/w  12.160 ~space/a,~space/c
 perimc (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1  45.600
 sideoverlap (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 ~space/w  45.600 ~space/a,~space/c

#rnw
 overlap (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 rnw/active  12.160 ~space/c
 sideoverlap (m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,pdc,bc,emc,clc,pc,p2c,m2c)/metal1 rnw/active  45.600 ~space/c

#metal1-diff blocked by ~space/c
 overlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (ndiff,rnd,ndc)/active  30.720 ~space/c
 sideoverlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (ndiff,rnd,ndc)/active  45.600 ~space/c
 overlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (pdiff,rpd,pdc)/active  30.720 ~space/c
 sideoverlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (pdiff,rpd,pdc)/active  45.600 ~space/c

#metal1-poly blocked by ~space/c
 overlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active  27.520 ~space/c
 sideoverlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active  47.200 ~space/c
 sideoverlap (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active ~(poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1  47.200 ~space/c

#metal1-poly2 not blocked
 overlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (poly2,ecap,enfet,nffet,epfet,pffet)/cap  28.160

#metal2
 areacap (m2,rm2,m2t,pad)/metal2   9.600

#metal2-sub blocked by ~space/a,~space/m1,~space/c
 overlap (m2,rm2,m2t,pad)/metal2 ~space/w   9.600 ~space/a,~space/m1,~space/c
 perimc (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2  32
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 ~space/w  32 ~space/a,~space/m1,~space/c

#rnw
 overlap (m2,rm2,m2t,pad)/metal2 rnw/active   9.600 ~space/m1,~space/c
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 rnw/active  32 ~space/m1,~space/c

#metal2-*diff blocked by ~space/m1,~space/c
 overlap (m2,rm2,m2t,pad)/metal2 (ndiff,rnd,ndc)/active  17.280 ~space/m1,~space/c
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 (ndiff,rnd,ndc)/active  32 ~space/m1,~space/c
 overlap (m2,rm2,m2t,pad)/metal2 (pdiff,rpd,pdc)/active  17.280 ~space/m1,~space/c
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 (pdiff,rpd,pdc)/active  32 ~space/m1,~space/c

#metal2-poly blocked by ~space/m1,~space/c
 overlap (m2,rm2,m2t,pad)/metal2 (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active  14.720 ~space/m1,~space/c
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active  40.800 ~space/m1,~space/c
 sideoverlap (poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active ~(poly,rp,rp,pc,nfet,nffet,pfet,pffet,fet)/active (m2,rm2,m2t,m2c,pad)/metal2  40.800 ~space/m1,~space/c

#metal2-poly2 blocked by ~space/m1

#M2->M1
 overlap (m2,rm2,m2t,pad)/metal2 (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1  27.520
 sideoverlap (m2,rm2,m2t,m2c,pad)/metal2 ~(m2,rm2,m2t,m2c,pad)/metal2 (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1  55.200
 sideoverlap (m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 ~(m1,rm1,m1t,ndc,nsc,pdc,psc,bc,emc,clc,pc,p2c,m2c)/metal1 (m2,rm2,m2t,m2c,pad)/metal2  55.200

#metal3

#metal4

#metal5

#metal6

#metal7

#metali

#fets

 fet pbase base,bc/a,emit,emc/a 2 npn Error! nwell 0 0

 fet  pfet pdiff,pdc,pffet,epfet 2 pfet Vdd! nwell 170 721
 fet  pfet pdiff,pdc,pffet,epfet 1 pfet Vdd! nwell 170 721

 fet  nfet ndiff,ndc,nffet,enfet 2 nfet Gnd! pwell 141 732
 fet  nfet ndiff,ndc,nffet,enfet 1 nfet Gnd! pwell 141 732

 fet  epfet pdiff,pdc,pffet,pfet 2 epfet Vdd! nwell 170 721
 fet  epfet pdiff,pdc,pffet,pfet 1 epfet Vdd! nwell 170 721

 fet  enfet ndiff,ndc,nffet,nfet 2 enfet Gnd! pwell 141 732
 fet  enfet ndiff,ndc,nffet,nfet 1 enfet Gnd! pwell 141 732

 fet  pffet pdiff,pdc,pfet,epfet 2 pffet Vdd! nwell 170 721
 fet  pffet pdiff,pdc,pfet,epfet 1 pffet Vdd! nwell 170 721

 fet  nffet ndiff,ndc,nfet,enfet 2 nffet Gnd! pwell 141 732
 fet  nffet ndiff,ndc,nfet,enfet 1 nffet Gnd! pwell 141 732

 fetresis  pfet linear		31898
 fetresis  pfet saturation	31898
 fetresis  nfet linear		10077
 fetresis  nfet saturation	10077

 fet  rnwell	nsd,nsc	2	nwellResistor	Gnd!	nwell,pwell 0 0
 fet  rpoly	poly,pc	2	polyResistor	Gnd!	nwell,pwell 0 0
 fet  rpoly2	poly2,p2c	2	poly2Resistor	Gnd!	nwell,pwell 0 0
 fet  rndiff	ndiff,ndc	2	ndiffResistor	Gnd!	nwell,pwell 0 0
 fet  rpdiff	pdiff,pdc	2	pdiffResistor	Gnd!	nwell,pwell 0 0

 fet  rmetal1	metal1	2	metal1Resistor	Gnd!	nwell,pwell 0 0
 fet  rmetal2	metal2	2	metal2Resistor	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

end

router
 layer2 metal2 3 m2,rm2,m2t,m2c/m2 4 poly,rp,rp,pc/a,nfet,nffet,pfet,pffet,fet,ndiff,rnd,nsd,pdiff,rpd,psd,ndc/a,nsc/a,pdc/a,psc/a 1
 layer1 metal1 3 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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,coll,clc yellow \
 1515 2A2A 5151 A2A2 \
 1515 2A2A 5151 A2A2 \
 1515 2A2A 5151 A2A2 \
 1515 2A2A 5151 A2A2
 nsd,nsc/a,coll,clc 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,rp,rp,pc/a magenta \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA \
 5555 AAAA 5555 AAAA
 nfet,nffet yellow \
 0505 8282 1414 0A0A \
 5050 2828 4141 A0A0 \
 0505 8282 1414 0A0A \
 5050 2828 4141 A0A0
 nfet,nffet cyan \
 0000 0505 0000 1414 \
 0000 5050 0000 4141 \
 0000 0505 0000 1414 \
 0000 5050 0000 4141
 nfet,nffet magenta \
 5050 2828 4141 A0A0 \
 0505 8282 1414 0A0A \
 5050 2828 4141 A0A0 \
 0505 8282 1414 0A0A
 pfet,pffet yellow \
 6363 A0A0 5050 2828 \
 3636 0A0A 0505 8282 \
 6363 A0A0 5050 2828 \
 3636 0A0A 0505 8282
 pfet,pffet cyan \
 0000 5151 0000 5454 \
 0000 1515 0000 1515 \
 0000 5151 0000 5454 \
 0000 1515 0000 1515
 pfet,pffet magenta \
 9494 0A0A 2525 8282 \
 4949 A0A0 5252 2828 \
 9494 0A0A 2525 8282 \
 4949 A0A0 5252 2828
 poly2,ecap yellow \
 FFFF FFFF FFFF FFFF \
 FFFF FFFF FFFF FFFF \
 FFFF FFFF FFFF FFFF \
 FFFF FFFF FFFF FFFF
 enfet yellow \
 BABA 7575 EAEA D5D5 \
 ABAB 5757 AEAE 5D5D \
 BABA 7575 EAEA D5D5 \
 ABAB 5757 AEAE 5D5D
 enfet cyan \
 4141 0A0A 0505 2828 \
 1414 A0A0 5050 8282 \
 4141 0A0A 0505 2828 \
 1414 A0A0 5050 8282
 nffet yellow \
 8E8E 0707 8B8B D5D5 \
 E8E8 7070 B8B8 5D5D \
 8E8E 0707 8B8B D5D5 \
 E8E8 7070 B8B8 5D5D
 nffet cyan \
 0101 0808 1414 2828 \
 1010 8080 4141 8282 \
 0101 0808 1414 2828 \
 1010 8080 4141 8282
 nffet magenta \
 5050 A0A0 4040 0202 \
 0505 0A0A 0404 2020 \
 5050 A0A0 4040 0202 \
 0505 0A0A 0404 2020
 epfet yellow \
 BCBC 4F4F 2F2F D3D3 \
 CBCB F4F4 F2F2 3D3D \
 BCBC 4F4F 2F2F D3D3 \
 CBCB F4F4 F2F2 3D3D
 epfet cyan \
 0000 A0A0 0000 2828 \
 0000 0A0A 0000 8282 \
 0000 A0A0 0000 2828 \
 0000 0A0A 0000 8282
 epfet magenta \
 4141 0000 5050 0000 \
 1414 0000 0505 0000 \
 4141 0000 5050 0000 \
 1414 0000 0505 0000
 pffet yellow \
 7B7B F0F0 F0F0 E9E9 \
 B7B7 0F0F 0F0F 9E9E \
 7B7B F0F0 F0F0 E9E9 \
 B7B7 0F0F 0F0F 9E9E
 pffet cyan \
 0000 0101 0000 1414 \
 0000 1010 0000 4141 \
 0000 0101 0000 1414 \
 0000 1010 0000 4141
 pffet magenta \
 8484 0A0A 2525 8282 \
 4848 A0A0 5252 2828 \
 8484 0A0A 2525 8282 \
 4848 A0A0 5252 2828 
 poly2,ecap yellow \
 3E3E 7777 E3E3 C1C1 \
 E3E3 7777 3E3E 1C1C \
 3E3E 7777 E3E3 C1C1 \
 E3E3 7777 3E3E 1C1C
 poly2,ecap magenta \
 4141 8888 1414 2A2A \
 1414 8888 4141 A2A2 \
 4141 8888 1414 2A2A \
 1414 8888 4141 A2A2
 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/m1,pc/m1,p2c,m2c/m1 cyan \
 AAAA 0000 AAAA 0000 \
 AAAA 0000 AAAA 0000 \
 AAAA 0000 AAAA 0000 \
 AAAA 0000 AAAA 0000
 m2,rm2,m2t,m2c/m2,pad cyan \
 0000 1111 0000 4444 \
 0000 1111 0000 4444 \
 0000 1111 0000 4444 \
 0000 1111 0000 4444
 m2,rm2,m2t,m2c/m2,pad 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
 emit,emc/a,emc/a yellow \
 4444 8888 4444 8888 \
 4444 8888 4444 8888 \
 4444 8888 4444 8888 \
 4444 8888 4444 8888 
 emit,emc/a,emc/a cyan \
 0000 4444 0000 4444 \
 0000 4444 0000 4444 \
 0000 4444 0000 4444 \
 0000 4444 0000 4444 
 base,bc/a,bc/a yellow \
 5555 AAAA 0000 0000 \
 5555 AAAA 0000 0000 \
 5555 AAAA 0000 0000 \
 5555 AAAA 0000 0000 
 base,bc/a,bc/a cyan \
 0000 5555 0000 0000 \
 0000 5555 0000 0000 \
 0000 5555 0000 0000 \
 0000 5555 0000 0000 
 base,bc/a,bc/a magenta \
 AAAA 0000 0000 0000 \
 AAAA 0000 0000 0000 \
 AAAA 0000 0000 0000 \
 AAAA 0000 0000 0000 
 clc,emc/a,emc,bc/a,bc X
 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,pffet \
 07c0 0f80 1f00 3e00 \
 7c00 f800 f001 e003 \
 c007 800f 001f 003e \
 00c7 00f8 01f0 03e0
 nfet,nffet \
 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,rp,rp,pc/a,nfet,nffet,pfet,pffet \
 0808 0400 0202 0101 \
 8080 4000 2020 1010 \
 0808 0004 0202 0101 \
 8080 0040 2020 1010
 m1,rm1,m1t,ndc/m1,nsc/m1,pdc/m1,psc/m1,bc/m1,emc/m1,clc/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,coll,clc \
 0808 1414 2222 4141 \
 8080 4040 2020 1010 \
 0808 1414 2222 4141 \
 8080 4040 2020 1010
 m2,rm2,m2t,m2c/m2,pad \
 0000 1111 0000 0000 \
 0000 1111 0000 0000 \
 0000 1111 0000 0000 \
 0000 1111 0000 0000
 pdiff,rpd,pdc/a,pfet,pffet \
 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,nffet \
 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,pffet 9
 nfet,nffet 10
 gv1 11
 pwell 15
 nwell 16
 poly,rp,rp,pc/a,nfet,nffet,pfet,pffet 19
 pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc 22
 pad,glass 23
 nsd,nsc/a,coll,clc 24
 gv1 28
 pdiff,rpd,pdc/a,pfet,pffet 29
 psd,psc/a 30
 ndiff,rnd,ndc/a,nfet,nffet 31
 pc/a,ndc/a,pdc/a,psc/a,nsc/a,gc,gc,gc,gv1 X

end

