RTimothyEdwards / magic

Magic VLSI Layout Tool
Other
471 stars 99 forks source link

DEF Write Error #292

Open thud06 opened 7 months ago

thud06 commented 7 months ago

Im currently using magic version 8.3. When I try to write a def file using def -write i get the error: "free() : invalid pointer" then : "Aborted (core dumped)

RTimothyEdwards commented 7 months ago

Version 8.3 point what?

I'm happy to track it down but I will need a reproducible result.

thud06 commented 7 months ago

Woops sorry! It is Version 8.1 revision 213 when I type the version command. It is crashing when I try to write a def on version 7.5.241 on as well so I assume I might just be doing something wrong. My process is:

  1. Create a cell using SCN3ME_SUBM.30.TECH27
  2. save
  3. writeall
  4. save
  5. extract all
  6. def write fileName

It is at this point the magic console says:

Generating DEF output filename.def for cell cellName: Diagnostic: Write DEF header for cell cellName Diagnostic: Finding all components of cell cellName Diagnostic: Finding all nets in cell cellName (This can take a while!)

It then crashes with the "free() : invalid pointer" then : "Aborted (core dumped) errors on my linux console.

RTimothyEdwards commented 7 months ago

Version 8.1.213 is six years out of date. The current version of magic is 8.3.462.

thud06 commented 7 months ago

I went ahead and updated to 8.3.462 and am getting the same error. The magic console is saying "freeMagic called with NULL argument."

RTimothyEdwards commented 7 months ago

@thud06 : Can you please post the tech file? I did the steps above for a layout from qflow with the osu050 technology. Where did your tech file come from? It might simply be too old (although I try hard to retain backwards compatibility); the .tech27 format has not been used for decades. I have an updated tech file in the qflow repository which is the same technology but with a few critical differences such as a substrate specification, the lack of which might be what's causing the crash condition. I can go figure out if I need to fix the backwards-compatibility, while you can try the modified tech file and see if that's a good workaround for you (https://github.com/RTimothyEdwards/qflow) (file is tech/osu050/SCN3ME_SUbM.30.tech) (note the file extension ".tech" instead of ".tech27").

thud06 commented 7 months ago

@thud06 : Can you please post the tech file? I did the steps above for a layout from qflow with the osu050 technology. Where did your tech file come from? It might simply be too old (although I try hard to retain backwards compatibility); the .tech27 format has not been used for decades. I have an updated tech file in the qflow repository which is the same technology but with a few critical differences such as a substrate specification, the lack of which might be what's causing the crash condition. I can go figure out if I need to fix the backwards-compatibility, while you can try the modified tech file and see if that's a good workaround for you (https://github.com/RTimothyEdwards/qflow) (file is tech/osu050/SCN3ME_SUbM.30.tech) (note the file extension ".tech" instead of ".tech27").

Using the new tech file seems to have fixed my issue, thank you for the help !

RTimothyEdwards commented 7 months ago

@thud06 : Yes, but can you still please post the original tech file that you used? I have (supposedly) the same file (from public MOSIS ftp archives that no longer exist), but magic doesn't segfault when I use it. I do get a strange behavior where pins and metal layers get confused with each other. But it didn't crash the program.

thud06 commented 7 months ago

Sure! GitHub doesnt let me upload this file type so here it is copied/pasted:

tech scmos end

version version 2002a description "SCMOS: Submit as technology.lambda: SCN3ME_SUBM.30 [to process: AMIc5]" end

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

types well nwell,nw well pwell,pw implant n_field_implant,nfi implant p_field_implant,pfi select nselect,ns select pselect,ps cap electrode,poly2,el,p2 cap electrodecontact,poly2contact,poly2c,p2c,elc cap p2m12contact,p2m12c cap electrodecap,ecap,poly2cap,p2cap,pcap contact genericpoly2contact,gc2 active ntransistor,nfet active ptransistor,pfet active diffusion,diff active transistor,fet active ndiffusion,ndif,green active pdiffusion,pdif,brown active ndcontact,ndc active pdcontact,pdc active psubstratepdiff,pohmicdiff,pod,ppdiff,ppd,psd active nsubstratendiff,nohmicdiff,nod,nndiff,nnd,nsd active psubstratepcontact,pohmiccontact,poc,pwcontact,pwc,psc active nsubstratencontact,nohmiccontact,noc,nwcontact,nwc,nsc active polysilicon,red,poly,p active polycontact,pcontact,polycut,pc contact genericcontact,gcontact,gc metal1 metal1,m1,blue metal1 pseudo_rmetal1,prm1 metal1 rmetal1,rm1 metal1 fillm1,fm1 metal1 m2contact,m2cut,m2c,via1,v1 metal1 pm12contact,pm12c metal1 pdm12contact,pdm12c metal1 psm12contact,psm12c,pom12c,pwm12c metal1 ndm12contact,ndm12c metal1 nsm12contact,nsm12c,nom12c,nwm12c metal2 metal2,m2,purple metal2 pseudo_rmetal2,prm2 metal2 rmetal2,rm2 metal2 fillm2,fm2 via1 gv1 metal2 m3contact,m3cut,m3c,via2,v2 metal2 m123contact,m123c metal3 metal3,m3,cyan metal3 pseudo_rmetal3,prm3 metal3 rmetal3,rm3 metal3 fillm3,fm3 via2 gv2 metal3 pad oxide glass cap high_resist,hr cap poly2_high_resist,phr active pseudo_rpoly,prp active rpoly,rp cap pseudo_rpoly2,prp2 cap rpoly2,rp2 active pseudo_rndiffusion,prnd active rndiffusion,rndiff,rnd active pseudo_rpdiffusion,prpd active rpdiffusion,rpdiff,rpd active pseudo_rnwell,prnwell,prnw active rnwell,rnw implant filln,fn fill filla,fa fill fillb,fb active fillp,fp active fillapm,fapm xp xp xp m1p xp m2p xp m3p comment comment comment bb end

contact pc poly metal1 ndc ndiff metal1 pdc pdiff metal1 nsc nsd metal1 psc psd metal1 m2c metal1 metal2 m3c metal2 metal3 pm12c poly metal1 metal2 pdm12c pdiff metal1 metal2 psm12c psd metal1 metal2 ndm12c ndiff metal1 metal2 nsm12c nsd metal1 metal2 m123c metal1 metal2 metal3 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 fm1 20 fm1 34 fp 1 fp 34 fa 32 fb 45 fb 34 fn 45 fn 34 fapm 1 fapm 20 fapm 21 fapm 34 gv1 55 m2contact 20 m2contact 21 m2contact 55 pm12contact 1 pm12contact 20 pm12contact 21 pm12contact 32 pm12contact 55 p2m12contact 14 p2m12contact 20 p2m12contact 21 p2m12contact 32 p2m12contact 55 ndm12c 2 ndm12c 20 ndm12c 21 ndm12c 32 ndm12c 55 nsm12c 3 nsm12c 20 nsm12c 21 nsm12c 32 nsm12c 55 pdm12c 4 pdm12c 20 pdm12c 21 pdm12c 32 pdm12c 55 psm12c 5 psm12c 20 psm12c 21 psm12c 32 psm12c 55 metal2 21 rm2 21 rm2 48 prm2 48 m2p 21 m2p 34 fm2 21 fm2 34 gv2 56 m3contact 21 m3contact 22 m3contact 56 m123c 20 m123c 21 m123c 22 m123c 55 m123c 56 metal3 22 rm3 22 rm3 48 prm3 48 m3p 22 m3p 34 fm3 22 fm3 34 pad 22 pad 23 pad 34 pad 38 glass 34 xp 25 xp 34 ecap 10 ecap 14 poly2 14 p2c 14 p2c 20 p2c 32 gc2 19 hr 10 phr 14 phr 48 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 p2c poly2 p2c paint p2c ecap p2c paint p2m12c poly2 p2m12c paint p2m12c ecap p2m12c paint pad m3 pad compose phr poly2 hr paint hr poly2 phr paint poly2 hr phr erase phr hr poly2

CRE/CRM

compose rm1 prm1 m1 compose rm2 prm2 m2 compose rm3 prm3 m3 compose rp prp poly compose rp2 prp2 poly2 compose rnd prnd ndiff compose rpd prpd pdiff paint nwell rnw space paint nwell prnw space paint poly fp fp paint m1 fm1 fm1 paint m2 fm2 fm2 paint m3 fm3 fm3 end

connect nwell,nsc/a,nsm12c/a,nsd nwell,nsc/a,nsm12c/a,nsd pwell,psc/a,psm12c/a,psd pwell,psc/a,psm12c/a,psd m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2 m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2 m3,fm3,fapm,m3c/m3,m123c/m3 m3,fm3,fapm,m3c/m3,m123c/m3 ndiff,ndc/a,ndm12c/a,pdiff,pdc/a,pdm12c/a ndiff,ndc/a,ndm12c/a,pdiff,pdc/a,pdm12c/a poly,fp,nfet,pfet,fet,fapm,pc/a,pm12c/a poly,fp,nfet,pfet,fet,fapm,pc/a,pm12c/a gc2 poly2,ecap,metal1 p2c poly2,ecap,m1,fm1,fapm,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 p2m12c poly2,ecap,m1,fm1,fapm,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2 poly2,ecap,p2c,p2m12c poly2,ecap,p2c,p2m12c gc2 poly2,ecap,m1,fm1,fapm,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 gc poly,fp,ndiff,pdiff,nsd,psd,m1,fm1,fapm,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 gv1 m1,fm1,fapm,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2,fm2,fapm,m3c/m2,m123c/m2 gv2 m2,fm2,fapm,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3,fm3,fapm pad m1,fm1,m2,fm2,m3,fm3 rm1 prm1 rm2 prm2 rm3 prm3 rnw prnw rp prp rp2 prp2 rnd prnd rpd prpd phr hr end

cifoutput

style lambda=0.30(p) scalefactor 30 15

layer CWN nwell,rnw bloat-or pdiff,rpd,pdc/a,pdm12c/a,pfet 180 bloat-or nsd,nsc/a,nsm12c/a 90 bloat-or nfi * 120 grow 90 shrink 90 labels nwell,rnw calma 42 0

layer CWP pwell bloat-or ndiff,rnd,ndc/a,ndm12c/a,nfet 180 bloat-or psd,psc/a,psm12c/a 90 bloat-or pfi * 120 grow 90 shrink 90 and-not CWN labels pwell calma 41 0

templayer TNS ns

templayer TPS ps

we give priority to selects autogenerated around diffusions (vrs. ohmics)

XDP = (pdiff*60) Or ps

XDN = (ndiff*60) Or ns

FSP = ((pdiff60,psc60) Or XDP And-Not XDN Or ps shrink-grow

FSN = ((ndiff60,nsc60) 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,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS

diffusion auto-pselect (will have priority)

templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS

final pselect

templayer FSP bloat-or pdiff,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 60 ndiff,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 or XDP

give diff nselect priority

and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15

final nselect

templayer FSN bloat-or ndiff,rnd,nfet,nsd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,nfet * 60 pdiff,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 or XDN

never conflict with final pselect

and-not FSP

drawn select always goes

or TNS shrink 15 grow 15 grow 15 shrink 15

layer CSN FSN calma 45 0

layer CSP FSP calma 44 0

layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet calma 43 0

layer CCA ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 squares 30 60 90 calma 48 0

layer CCA pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 squares 30 60 90 calma 48 0

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

layer CCP pc/m1,pm12c/m1 squares 30 60 90 calma 47 0

layer CCE gc2 squares 0 60 90 calma 55 0

layer CCE p2c,p2m12c squares 30 60 90 calma 55 0

layer CCE gc2 squares 0 60 90 calma 55 0

layer CCC gc squares 0 60 90 calma 25 0

layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2m12c squares 30 60 90 calma 50 0

layer CV1 gv1 squares 0 60 90 calma 50 0

layer CV2 m3c/m2,m123c/m2 squares 30 60 90 calma 61 0

layer CV2 gv2 squares 0 60 90 calma 61 0

templayer XPAD1 pad shrink 180

templayer XPAD2 XPAD1 shrink 180

layer CM3 pad labels pad calma 62 0

layer CV2 XPAD2 squares 240 60 300 calma 61 0

layer CM2 pad labels pad calma 51 0

layer CV1 XPAD2 squares 60 60 300 calma 50 0

layer CM1 pad calma 49 0

layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c calma 49 0

layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c calma 51 0

layer CMFP m1p labels m1p calma 81 0

layer CMSP m2p labels m2p calma 82 0

layer 100 fp labels fp calma 100 0

layer 101 fm1 labels fm1 calma 101 0

layer 102 fm2 labels fm2 calma 102 0

layer 103 fm3 labels fm3 calma 103 0

layer 109 fa or fb squares 0 210 120 labels fa calma 109 0

layer 119 fn calma 119 0

layer 110 fapm labels fapm calma 110 0

layer CPG fp

layer CPG fp,fapm squares 0 210 120 labels fp calma 46 0

layer CM1 fm1

layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0

layer CM2 fm2

layer CM2 fm2,fapm

squares 0 210 120 labels fm2 calma 51 0

layer CM3 fm3

layer CM3 fm3,fapm

squares 0 210 120 labels fm3 calma 62 0

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

layer CMTP m3p labels m3p calma 83 0

layer COG pad shrink 600 labels pad calma 52 0

layer COG glass labels glass calma 52 0

layer CFI nfi,pfi labels nfi,pfi calma 27 0

layer CHR hr,phr labels hr,phr calma 34 0

layer CEL poly2,ecap,phr,p2c,p2m12c labels poly2,ecap,phr,p2c,p2m12c calma 56 0

CRE/CRM

layer CRW rnw,prnw labels rnw,prnw calma 65 0 layer CRG rp,prp labels rp,prp calma 67 0 layer CRD rnd,rpd,prnd,prpd labels rnd,rpd,prnd,prpd calma 66 0 layer CRE rnw,rp,rnd,rpd,rp2 labels rnw,rp,rnd,rpd,rp2 calma 64 0 layer CRF rm1,prm1 labels rm1,prm1 calma 71 0 layer CRS rm2,prm2 labels rm2,prm2 calma 72 0 layer CRG2 rp2,prp2 labels rp2,prp2 calma 68 0 layer CRT rm3,prm3 labels rm3,prm3 calma 73 0

CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3

CRE/CRM calma 70 0

layer CX comment labels comment calma 63 0

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

style fill-only scalefactor 30 15

layer 100 fp calma 100 0

layer 101 fm1 calma 101 0

layer 102 fm2 calma 102 0

layer 103 fm3 calma 103 0

layer 109 fa or fb calma 109 0

layer 119 fn calma 119 0

style fapm-boxes

this output style creates fill boxes automatically (to meet minimum

density requirements for poly and metal layers) 5 microns outside of

drawn layout IF: 1. you have a flattened version of your chip,

2. over which you paint the special fill layer 'fa', preferably with

a size that is a multiple of 7 + n * (7 + 4), 3. set 'cif

ostype fapm-boxes' and cif out to a file (this actually creates the

fill boxes on cif/strm layer '110' using the magic 'squares'

command), 4. cif in the resulting file (which creates boxes on magic

layer 'fapm') and place this cell onto your chip (and verify absence

of drc errors or shorts), then 5. cif out under your regular cif out

style, where the 'fapm' layer creates fill boxes on poly and all

metal layers.

scalefactor 30 15

templayer CRIT fapm,fn,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet,poly,rp,nfet,pfet,fet,pc/a,pm12c/a,poly2,ecap,phr,p2c,p2m12c or fm1,m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c or fm2,m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c or fm3,m3,rm3,m3c/m3,m123c/m3 or glass,pad grow 510 and fa

layer 110 fa squares 0 210 120 and-not CRIT shrink 90 grow 90 or fapm labels fapm calma 110 0

style fapm-stripes scalefactor 30 15

this output style creates the above layer 110 as stripes for reduced size

HOWEVER it requires each 'fa' box to first be an exact multiple as above

and then replacing the left side (1-lambda wide) stripe of each 'fa' box

to be a 1-lambda wide layer 'fb' box -- else you won't get strips!

templayer CRIT fapm,fn,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet,poly,rp,nfet,pfet,fet,pc/a,pm12c/a,poly2,ecap,phr,p2c,p2m12c or fm1,m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c or fm2,m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c or fm3,m3,rm3,m3c/m3,m123c/m3 or glass,pad grow 510 and fa

templayer FB fa or fb squares 0 210 120 and-not CRIT

layer 110 fa squares 0 210 120 and-not CRIT or FB shrink 90 grow 90 or fapm labels fapm calma 110 0

style lambda=0.30(cp) scalefactor 30 15

layer CWN nwell,rnw bloat-or pdiff,rpd,pdc/a,pdm12c/a,pfet 180 bloat-or nsd,nsc/a,nsm12c/a 90 bloat-or nfi * 120 grow 90 shrink 90 labels nwell,rnw calma 42 0

layer CWP pwell bloat-or ndiff,rnd,ndc/a,ndm12c/a,nfet 180 bloat-or psd,psc/a,psm12c/a 90 bloat-or pfi * 120 grow 90 shrink 90 and-not CWN labels pwell calma 41 0

templayer TNS ns

templayer TPS ps

we give priority to selects autogenerated around diffusions (vrs. ohmics)

XDP = (pdiff*60) Or ps

XDN = (ndiff*60) Or ns

FSP = ((pdiff60,psc60) Or XDP And-Not XDN Or ps shrink-grow

FSN = ((ndiff60,nsc60) 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,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS

diffusion auto-pselect (will have priority)

templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS

final pselect

templayer FSP bloat-or pdiff,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 60 ndiff,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 or XDP

give diff nselect priority

and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15

final nselect

templayer FSN bloat-or ndiff,rnd,nfet,nsd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,nfet * 60 pdiff,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 or XDN

never conflict with final pselect

and-not FSP

drawn select always goes

or TNS shrink 15 grow 15 grow 15 shrink 15

layer CSN FSN calma 45 0

layer CSP FSP calma 44 0

layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet calma 43 0

layer CCC ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 squares 30 60 90 calma 25 0

layer CCC pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 squares 30 60 90 calma 25 0

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

layer CCC pc/m1,pm12c/m1 squares 30 60 90 calma 25 0

layer CCC gc2 squares 0 60 90 calma 25 0

layer CCC p2c,p2m12c squares 30 60 90 calma 25 0

layer CCC gc2 squares 0 60 90 calma 25 0

layer CCC gc squares 0 60 90 calma 25 0

layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2m12c squares 30 60 90 calma 50 0

layer CV1 gv1 squares 0 60 90 calma 50 0

layer CV2 m3c/m2,m123c/m2 squares 30 60 90 calma 61 0

layer CV2 gv2 squares 0 60 90 calma 61 0

templayer XPAD1 pad shrink 180

templayer XPAD2 XPAD1 shrink 180

layer CM3 pad labels pad calma 62 0

layer CV2 XPAD2 squares 240 60 300 calma 61 0

layer CM2 pad labels pad calma 51 0

layer CV1 XPAD2 squares 60 60 300 calma 50 0

layer CM1 pad calma 49 0

layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c calma 49 0

layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c calma 51 0

layer CMFP m1p labels m1p calma 81 0

layer CMSP m2p labels m2p calma 82 0

layer 100 fp labels fp calma 100 0

layer 101 fm1 labels fm1 calma 101 0

layer 102 fm2 labels fm2 calma 102 0

layer 103 fm3 labels fm3 calma 103 0

layer 109 fa or fb squares 0 210 120 labels fa calma 109 0

layer 119 fn calma 119 0

layer 110 fapm labels fapm calma 110 0

layer CPG fp

layer CPG fp,fapm squares 0 210 120 labels fp calma 46 0

layer CM1 fm1

layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0

layer CM2 fm2

layer CM2 fm2,fapm

squares 0 210 120 labels fm2 calma 51 0

layer CM3 fm3

layer CM3 fm3,fapm

squares 0 210 120 labels fm3 calma 62 0

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

layer CMTP m3p labels m3p calma 83 0

layer COG pad shrink 600 labels pad calma 52 0

layer COG glass labels glass calma 52 0

layer CFI nfi,pfi labels nfi,pfi calma 27 0

layer CHR hr,phr labels hr,phr calma 34 0

layer CEL poly2,ecap,phr,p2c,p2m12c labels poly2,ecap,phr,p2c,p2m12c calma 56 0

CRE/CRM

layer CRW rnw,prnw labels rnw,prnw calma 65 0 layer CRG rp,prp labels rp,prp calma 67 0 layer CRD rnd,rpd,prnd,prpd labels rnd,rpd,prnd,prpd calma 66 0 layer CRE rnw,rp,rnd,rpd,rp2 labels rnw,rp,rnd,rpd,rp2 calma 64 0 layer CRF rm1,prm1 labels rm1,prm1 calma 71 0 layer CRS rm2,prm2 labels rm2,prm2 calma 72 0 layer CRG2 rp2,prp2 labels rp2,prp2 calma 68 0 layer CRT rm3,prm3 labels rm3,prm3 calma 73 0

CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3

CRE/CRM calma 70 0

layer CX comment labels comment calma 63 0

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

style lambda=0.30(c) scalefactor 30 15

layer CWN nwell,rnw bloat-or pdiff,rpd,pdc/a,pdm12c/a,pfet 180 bloat-or nsd,nsc/a,nsm12c/a 90 bloat-or nfi * 120 grow 90 shrink 90 labels nwell,rnw calma 42 0

templayer TNS ns

templayer TPS ps

we give priority to selects autogenerated around diffusions (vrs. ohmics)

XDP = (pdiff*60) Or ps

XDN = (ndiff*60) Or ns

FSP = ((pdiff60,psc60) Or XDP And-Not XDN Or ps shrink-grow

FSN = ((ndiff60,nsc60) 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,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS

diffusion auto-pselect (will have priority)

templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS

final pselect

templayer FSP bloat-or pdiff,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 60 ndiff,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 or XDP

give diff nselect priority

and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15

final nselect

templayer FSN bloat-or ndiff,rnd,nfet,nsd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,nfet * 60 pdiff,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 or XDN

never conflict with final pselect

and-not FSP

drawn select always goes

or TNS shrink 15 grow 15 grow 15 shrink 15

layer CSN FSN calma 45 0

layer CSP FSP calma 44 0

layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet calma 43 0

layer CCC ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 squares 30 60 90 calma 25 0

layer CCC pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 squares 30 60 90 calma 25 0

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

layer CCC pc/m1,pm12c/m1 squares 30 60 90 calma 25 0

layer CCC gc2 squares 0 60 90 calma 25 0

layer CCC p2c,p2m12c squares 30 60 90 calma 25 0

layer CCC gc2 squares 0 60 90 calma 25 0

layer CCC gc squares 0 60 90 calma 25 0

layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2m12c squares 30 60 90 calma 50 0

layer CV1 gv1 squares 0 60 90 calma 50 0

layer CV2 m3c/m2,m123c/m2 squares 30 60 90 calma 61 0

layer CV2 gv2 squares 0 60 90 calma 61 0

templayer XPAD1 pad shrink 180

templayer XPAD2 XPAD1 shrink 180

layer CM3 pad labels pad calma 62 0

layer CV2 XPAD2 squares 240 60 300 calma 61 0

layer CM2 pad labels pad calma 51 0

layer CV1 XPAD2 squares 60 60 300 calma 50 0

layer CM1 pad calma 49 0

layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c calma 49 0

layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c calma 51 0

layer CMFP m1p labels m1p calma 81 0

layer CMSP m2p labels m2p calma 82 0

layer 100 fp labels fp calma 100 0

layer 101 fm1 labels fm1 calma 101 0

layer 102 fm2 labels fm2 calma 102 0

layer 103 fm3 labels fm3 calma 103 0

layer 109 fa or fb squares 0 210 120 labels fa calma 109 0

layer 119 fn calma 119 0

layer 110 fapm labels fapm calma 110 0

layer CPG fp

layer CPG fp,fapm squares 0 210 120 labels fp calma 46 0

layer CM1 fm1

layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0

layer CM2 fm2

layer CM2 fm2,fapm

squares 0 210 120 labels fm2 calma 51 0

layer CM3 fm3

layer CM3 fm3,fapm

squares 0 210 120 labels fm3 calma 62 0

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

layer CMTP m3p labels m3p calma 83 0

layer COG pad shrink 600 labels pad calma 52 0

layer COG glass labels glass calma 52 0

layer CFI nfi,pfi labels nfi,pfi calma 27 0

layer CHR hr,phr labels hr,phr calma 34 0

layer CEL poly2,ecap,phr,p2c,p2m12c labels poly2,ecap,phr,p2c,p2m12c calma 56 0

CRE/CRM

layer CRW rnw,prnw labels rnw,prnw calma 65 0 layer CRG rp,prp labels rp,prp calma 67 0 layer CRD rnd,rpd,prnd,prpd labels rnd,rpd,prnd,prpd calma 66 0 layer CRE rnw,rp,rnd,rpd,rp2 labels rnw,rp,rnd,rpd,rp2 calma 64 0 layer CRF rm1,prm1 labels rm1,prm1 calma 71 0 layer CRS rm2,prm2 labels rm2,prm2 calma 72 0 layer CRG2 rp2,prp2 labels rp2,prp2 calma 68 0 layer CRT rm3,prm3 labels rm3,prm3 calma 73 0

CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3

CRE/CRM calma 70 0

layer CX comment labels comment calma 63 0

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

style lambda=0.30() scalefactor 30 15

layer CWN nwell,rnw bloat-or pdiff,rpd,pdc/a,pdm12c/a,pfet 180 bloat-or nsd,nsc/a,nsm12c/a 90 bloat-or nfi * 120 grow 90 shrink 90 labels nwell,rnw calma 42 0

templayer TNS ns

templayer TPS ps

we give priority to selects autogenerated around diffusions (vrs. ohmics)

XDP = (pdiff*60) Or ps

XDN = (ndiff*60) Or ns

FSP = ((pdiff60,psc60) Or XDP And-Not XDN Or ps shrink-grow

FSN = ((ndiff60,nsc60) 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,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS

diffusion auto-pselect (will have priority)

templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS

final pselect

templayer FSP bloat-or pdiff,rpd,pfet,psd,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet * 60 ndiff,rnd,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a,nfet 0 or XDP

give diff nselect priority

and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15

final nselect

templayer FSN bloat-or ndiff,rnd,nfet,nsd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,nfet * 60 pdiff,rpd,pdc/a,pdm12c/a,psd,psc/a,psm12c/a,pfet 0 or XDN

never conflict with final pselect

and-not FSP

drawn select always goes

or TNS shrink 15 grow 15 grow 15 shrink 15

layer CSN FSN calma 45 0

layer CSP FSP calma 44 0

layer CAA diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet labels diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,pfet,pfet,fet calma 43 0

layer CCA ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1 squares 30 60 90 calma 48 0

layer CCA pdc/m1,pdm12c/m1,psc/m1,psm12c/m1 squares 30 60 90 calma 48 0

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

layer CCP pc/m1,pm12c/m1 squares 30 60 90 calma 47 0

layer CCE gc2 squares 0 60 90 calma 55 0

layer CCE p2c,p2m12c squares 30 60 90 calma 55 0

layer CCE gc2 squares 0 60 90 calma 55 0

layer CCC gc squares 0 60 90 calma 25 0

layer CV1 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2m12c squares 30 60 90 calma 50 0

layer CV1 gv1 squares 0 60 90 calma 50 0

layer CV2 m3c/m2,m123c/m2 squares 30 60 90 calma 61 0

layer CV2 gv2 squares 0 60 90 calma 61 0

templayer XPAD1 pad shrink 180

templayer XPAD2 XPAD1 shrink 180

layer CM3 pad labels pad calma 62 0

layer CV2 XPAD2 squares 240 60 300 calma 61 0

layer CM2 pad labels pad calma 51 0

layer CV1 XPAD2 squares 60 60 300 calma 50 0

layer CM1 pad calma 49 0

layer CM1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c labels m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,p2c,p2m12c calma 49 0

layer CM2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c labels m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2,p2m12c calma 51 0

layer CMFP m1p labels m1p calma 81 0

layer CMSP m2p labels m2p calma 82 0

layer 100 fp labels fp calma 100 0

layer 101 fm1 labels fm1 calma 101 0

layer 102 fm2 labels fm2 calma 102 0

layer 103 fm3 labels fm3 calma 103 0

layer 109 fa or fb squares 0 210 120 labels fa calma 109 0

layer 119 fn calma 119 0

layer 110 fapm labels fapm calma 110 0

layer CPG fp

layer CPG fp,fapm squares 0 210 120 labels fp calma 46 0

layer CM1 fm1

layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0

layer CM2 fm2

layer CM2 fm2,fapm

squares 0 210 120 labels fm2 calma 51 0

layer CM3 fm3

layer CM3 fm3,fapm

squares 0 210 120 labels fm3 calma 62 0

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

layer CMTP m3p labels m3p calma 83 0

layer COG pad shrink 600 labels pad calma 52 0

layer COG glass labels glass calma 52 0

layer CFI nfi,pfi labels nfi,pfi calma 27 0

layer CHR hr,phr labels hr,phr calma 34 0

layer CEL poly2,ecap,phr,p2c,p2m12c labels poly2,ecap,phr,p2c,p2m12c calma 56 0

CRE/CRM

layer CRW rnw,prnw labels rnw,prnw calma 65 0 layer CRG rp,prp labels rp,prp calma 67 0 layer CRD rnd,rpd,prnd,prpd labels rnd,rpd,prnd,prpd calma 66 0 layer CRE rnw,rp,rnd,rpd,rp2 labels rnw,rp,rnd,rpd,rp2 calma 64 0 layer CRF rm1,prm1 labels rm1,prm1 calma 71 0 layer CRS rm2,prm2 labels rm2,prm2 calma 72 0 layer CRG2 rp2,prp2 labels rp2,prp2 calma 68 0 layer CRT rm3,prm3 labels rm3,prm3 calma 73 0

CRE/CRM layer CRM rm1,prm1,rm2,prm2,rm3,prm3

CRE/CRM calma 70 0

layer CX comment labels comment calma 63 0

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

end

cifinput

style lambda=0.30(p) scalefactor 30

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 CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and-not CV1 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer ndc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

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

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

layer pc CCC and CV1 and CV2 and CPG and-not CPC and-not CEL and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer gc CCP and-not CPG and-not CPC calma CCP 47 *

layer gc CCP and-not CM1 calma CCP 47 *

layer gc CCA and-not COP and-not CAA and-not CBA calma CCA 48 *

layer gc CCA and-not COP and-not CM1 calma CCA 48 *

layer gc CCC and-not COP and-not CPG and-not CPC and-not CEL and-not CAA and-not CBA calma CCC 25 *

layer gc CCC and-not COP and-not CM1 calma CCC 25 *

layer gc2 CCE and-not CPC and-not CEL calma CCE 55 *

layer gc2 CCE and-not CM1 calma CCE 55 *

layer gv1 CV1 and-not COP and-not CM1 calma CV1 50 *

layer gv1 CV1 and-not COP and-not CM2 calma CV1 50 *

layer gv2 CV2 and-not COP and-not CM2 calma CV2 61 *

layer gv2 CV2 and-not COP and-not CM3 calma CV2 61 *

layer m2c CV1 and-not CV2 and-not CCC and-not CCE and-not CCP and-not CCA and-not XP grow 30 and CM2 and CM1 grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCP grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCE grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer m3c CV2

and-not CV1 and-not XP grow 30 and CM3 and CM2 grow 15 shrink 15 calma CV2 61 *

layer m123c CV2

and CV1 and-not XP grow 30 and CM3 and CM2 and CM1 grow 15 shrink 15 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer pad XP labels pad calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer 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 CRT 73 calma CRM 70

style lambda=0.30(s) scalefactor 30

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 CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and-not CV1 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer ndc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

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

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

layer pc CCC and CV1 and CV2 and CPG and-not CPC and-not CEL and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer gc CCP and-not CPG and-not CPC calma CCP 47 *

layer gc CCP and-not CM1 calma CCP 47 *

layer gc CCA and-not COP and-not CAA and-not CBA calma CCA 48 *

layer gc CCA and-not COP and-not CM1 calma CCA 48 *

layer gc CCC and-not COP and-not CPG and-not CPC and-not CEL and-not CAA and-not CBA calma CCC 25 *

layer gc CCC and-not COP and-not CM1 calma CCC 25 *

layer gc2 CCE and-not CPC and-not CEL calma CCE 55 *

layer gc2 CCE and-not CM1 calma CCE 55 *

layer gv1 CV1 and-not COP and-not CM1 calma CV1 50 *

layer gv1 CV1 and-not COP and-not CM2 calma CV1 50 *

layer gv2 CV2 and-not COP and-not CM2 calma CV2 61 *

layer gv2 CV2 and-not COP and-not CM3 calma CV2 61 *

layer m2c CV1 and-not CV2 and-not CCC and-not CCE and-not CCP and-not CCA and-not XP grow 30 and CM2 and CM1 grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCP grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCE grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer m3c CV2

and-not CV1 and-not XP grow 30 and CM3 and CM2 grow 15 shrink 15 calma CV2 61 *

layer m123c CV2

and CV1 and-not XP grow 30 and CM3 and CM2 and CM1 grow 15 shrink 15 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer pad XP labels pad calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer 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 CRT 73 calma CRM 70

style lambda=0.30(ps) scalefactor 30

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 CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and-not CV1 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer ndc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

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

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

layer pc CCC and CV1 and CV2 and CPG and-not CPC and-not CEL and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer gc CCP and-not CPG and-not CPC calma CCP 47 *

layer gc CCP and-not CM1 calma CCP 47 *

layer gc CCA and-not COP and-not CAA and-not CBA calma CCA 48 *

layer gc CCA and-not COP and-not CM1 calma CCA 48 *

layer gc CCC and-not COP and-not CPG and-not CPC and-not CEL and-not CAA and-not CBA calma CCC 25 *

layer gc CCC and-not COP and-not CM1 calma CCC 25 *

layer gc2 CCE and-not CPC and-not CEL calma CCE 55 *

layer gc2 CCE and-not CM1 calma CCE 55 *

layer gv1 CV1 and-not COP and-not CM1 calma CV1 50 *

layer gv1 CV1 and-not COP and-not CM2 calma CV1 50 *

layer gv2 CV2 and-not COP and-not CM2 calma CV2 61 *

layer gv2 CV2 and-not COP and-not CM3 calma CV2 61 *

layer m2c CV1 and-not CV2 and-not CCC and-not CCE and-not CCP and-not CCA and-not XP grow 30 and CM2 and CM1 grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCP grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCE grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer m3c CV2

and-not CV1 and-not XP grow 30 and CM3 and CM2 grow 15 shrink 15 calma CV2 61 *

layer m123c CV2

and CV1 and-not XP grow 30 and CM3 and CM2 and CM1 grow 15 shrink 15 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer pad XP labels pad calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer 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 CRT 73 calma CRM 70

style lambda=0.30() scalefactor 30

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 CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and-not CV1 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and-not CV1 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and-not CV1 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and-not CV1 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer ndc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer ndc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer nsc CAA and CSN and CCA and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer nsc CAA and CSN and CCC and CV1 and CV2 and-not CWNR and-not CTA

and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer pdc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer pdc CAA and CSP and CCC and CV1 and CV2 and-not CTA

and-not CPS and CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

layer psc CAA and CSP and CCA and CV1 and CV2 and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCA 48 *

layer psc CAA and CSP and CCC and CV1 and CV2 and-not CWNR and-not CTA

and-not CPS and-not CWN and CM1 grow 30 grow 15 shrink 15 calma CCC 25 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

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

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

layer pc CCC and CV1 and CV2 and CPG and-not CPC and-not CEL and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and-not CV1 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer p2c CCE and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCE 55 *

layer p2c CCC and CV1 and CV2 and CPG and CEL and-not CPC and-not CAA grow 30 and CM1 grow 15 shrink 15 calma CCC 25 *

layer gc CCP and-not CPG and-not CPC calma CCP 47 *

layer gc CCP and-not CM1 calma CCP 47 *

layer gc CCA and-not COP and-not CAA and-not CBA calma CCA 48 *

layer gc CCA and-not COP and-not CM1 calma CCA 48 *

layer gc CCC and-not COP and-not CPG and-not CPC and-not CEL and-not CAA and-not CBA calma CCC 25 *

layer gc CCC and-not COP and-not CM1 calma CCC 25 *

layer gc2 CCE and-not CPC and-not CEL calma CCE 55 *

layer gc2 CCE and-not CM1 calma CCE 55 *

layer gv1 CV1 and-not COP and-not CM1 calma CV1 50 *

layer gv1 CV1 and-not COP and-not CM2 calma CV1 50 *

layer gv2 CV2 and-not COP and-not CM2 calma CV2 61 *

layer gv2 CV2 and-not COP and-not CM3 calma CV2 61 *

layer m2c CV1 and-not CV2 and-not CCC and-not CCE and-not CCP and-not CCA and-not XP grow 30 and CM2 and CM1 grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCP grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer pm12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and-not CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCE grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

layer p2m12c CV1 and-not CV2 and CCC grow 30 and CM2 and CM1 and CPG and CEL grow 15 shrink 15 calma CV1 50 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer ndm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer pdm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCA grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer nsm12c CAA and CSN and CV1 and-not CV2 and-not CWNR and-not CTA and CCC grow 30 and CM1 and CM2

and CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCA grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer psm12c CAA and CSP and CV1 and-not CV2 and-not CTA and CCC grow 30 and CM1 and CM2

and-not CWN grow 15 shrink 15 calma CV1 50 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer m3c CV2

and-not CV1 and-not XP grow 30 and CM3 and CM2 grow 15 shrink 15 calma CV2 61 *

layer m123c CV2

and CV1 and-not XP grow 30 and CM3 and CM2 and CM1 grow 15 shrink 15 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer pad XP labels pad calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer 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 CRT 73 calma CRM 70

style lambda=0.30(c) scalefactor 30

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

layer rnw CWN and-not CWNR and CRE and-not CSB and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer rnw CWN and-not CWNR and CRW and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer pseudo_rnwell CRW and-not CRE calma CRW 65 *

ignore CWP calma CWP 41 *

layer diff CAA and-not CTA and-not CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer tran CAA and-not CTA and CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

calma CSN 45 *

calma CSP 44 *

layer ndiff CAA and CSN and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRD and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer pseudo_rndiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and-not CWN and-not CSP and CSN and-not CBA calma CRD 66 *

layer pdiff CAA and CSP and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRD and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer pseudo_rpdiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CRD 66 *

layer nfet CAA and CSN and-not CWNR and-not CTA and CPG and-not CEL and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

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

layer nsd CAA and CSN and-not CWNR and-not CTA and CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer psd CAA and CSP and-not CWNR and-not CTA and-not CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer gc2 CCA and CEL calma CCA 48 *

layer gc2 CCP and CEL calma CCP 47 *

layer gc2 CCC and CEL calma CCC 25 *

layer gc2 CCE and CEL calma CCE 55 *

layer gc2 CCA and CPC and-not CPG calma CCA 48 *

layer gc2 CCP and CPC and-not CPG calma CCP 47 *

layer gc2 CCC and CPC and-not CPG calma CCC 25 *

layer gc2 CCE and CPC and-not CPG calma CCE 55 *

layer gc CCA and CPG and-not CEL calma CCA 48 *

layer gc CCP and CPG and-not CEL calma CCP 47 *

layer gc CCC and CPG and-not CEL calma CCC 25 *

layer gc CCE and CPG and-not CEL calma CCE 55 *

layer gc CCA and-not COP and-not CPC and-not CEL calma CCA 48 *

layer gc CCP and-not COP and-not CPC and-not CEL calma CCP 47 *

layer gc CCC and-not COP and-not CPC and-not CEL calma CCC 25 *

layer gc CCE and-not COP and-not CPC and-not CEL calma CCE 55 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

layer gv1 CV1 calma CV1 50 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer gv2 CV2 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer xp XP calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer comment CX labels CX calma CX 63 *

calma CTA 60 *

CRE/CRM

calma CRW 65 calma CRG 67 calma CRD 66 calma CRE 64 calma CRF 71 calma CRS 72 calma CRT 73 calma CRM 70

style lambda=0.30(cs) scalefactor 30

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

layer rnw CWN and-not CWNR and CRE and-not CSB and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer rnw CWN and-not CWNR and CRW and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer pseudo_rnwell CRW and-not CRE calma CRW 65 *

ignore CWP calma CWP 41 *

layer diff CAA and-not CTA and-not CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer tran CAA and-not CTA and CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer nselect CSN calma CSN 45 *

layer pselect CSP calma CSP 44 *

layer ndiff CAA and CSN and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRD and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer pseudo_rndiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and-not CWN and-not CSP and CSN and-not CBA calma CRD 66 *

layer pdiff CAA and CSP and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRD and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer pseudo_rpdiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CRD 66 *

layer nfet CAA and CSN and-not CWNR and-not CTA and CPG and-not CEL and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

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

layer nsd CAA and CSN and-not CWNR and-not CTA and CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer psd CAA and CSP and-not CWNR and-not CTA and-not CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer gc2 CCA and CEL calma CCA 48 *

layer gc2 CCP and CEL calma CCP 47 *

layer gc2 CCC and CEL calma CCC 25 *

layer gc2 CCE and CEL calma CCE 55 *

layer gc2 CCA and CPC and-not CPG calma CCA 48 *

layer gc2 CCP and CPC and-not CPG calma CCP 47 *

layer gc2 CCC and CPC and-not CPG calma CCC 25 *

layer gc2 CCE and CPC and-not CPG calma CCE 55 *

layer gc CCA and CPG and-not CEL calma CCA 48 *

layer gc CCP and CPG and-not CEL calma CCP 47 *

layer gc CCC and CPG and-not CEL calma CCC 25 *

layer gc CCE and CPG and-not CEL calma CCE 55 *

layer gc CCA and-not COP and-not CPC and-not CEL calma CCA 48 *

layer gc CCP and-not COP and-not CPC and-not CEL calma CCP 47 *

layer gc CCC and-not COP and-not CPC and-not CEL calma CCC 25 *

layer gc CCE and-not COP and-not CPC and-not CEL calma CCE 55 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

layer gv1 CV1 calma CV1 50 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer gv2 CV2 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer xp XP calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer comment CX labels CX calma CX 63 *

calma CTA 60 *

CRE/CRM

calma CRW 65 calma CRG 67 calma CRD 66 calma CRE 64 calma CRF 71 calma CRS 72 calma CRT 73 calma CRM 70

style lambda=0.30(cps) scalefactor 30

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

layer rnw CWN and-not CWNR and CRE and-not CSB and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer rnw CWN and-not CWNR and CRW and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer pseudo_rnwell CRW and-not CRE calma CRW 65 *

layer pwell CWP and-not CTA labels CWP calma CWP 41 *

layer diff CAA and-not CTA and-not CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer tran CAA and-not CTA and CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer nselect CSN calma CSN 45 *

layer pselect CSP calma CSP 44 *

layer ndiff CAA and CSN and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRD and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer pseudo_rndiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and-not CWN and-not CSP and CSN and-not CBA calma CRD 66 *

layer pdiff CAA and CSP and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRD and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer pseudo_rpdiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CRD 66 *

layer nfet CAA and CSN and-not CWNR and-not CTA and CPG and-not CEL and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

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

layer nsd CAA and CSN and-not CWNR and-not CTA and CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer psd CAA and CSP and-not CWNR and-not CTA and-not CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer gc2 CCA and CEL calma CCA 48 *

layer gc2 CCP and CEL calma CCP 47 *

layer gc2 CCC and CEL calma CCC 25 *

layer gc2 CCE and CEL calma CCE 55 *

layer gc2 CCA and CPC and-not CPG calma CCA 48 *

layer gc2 CCP and CPC and-not CPG calma CCP 47 *

layer gc2 CCC and CPC and-not CPG calma CCC 25 *

layer gc2 CCE and CPC and-not CPG calma CCE 55 *

layer gc CCA and CPG and-not CEL calma CCA 48 *

layer gc CCP and CPG and-not CEL calma CCP 47 *

layer gc CCC and CPG and-not CEL calma CCC 25 *

layer gc CCE and CPG and-not CEL calma CCE 55 *

layer gc CCA and-not COP and-not CPC and-not CEL calma CCA 48 *

layer gc CCP and-not COP and-not CPC and-not CEL calma CCP 47 *

layer gc CCC and-not COP and-not CPC and-not CEL calma CCC 25 *

layer gc CCE and-not COP and-not CPC and-not CEL calma CCE 55 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

layer gv1 CV1 calma CV1 50 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer gv2 CV2 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer xp XP calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer comment CX labels CX calma CX 63 *

calma CTA 60 *

CRE/CRM

calma CRW 65 calma CRG 67 calma CRD 66 calma CRE 64 calma CRF 71 calma CRS 72 calma CRT 73 calma CRM 70

style lambda=0.30(cp) scalefactor 30

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

layer rnw CWN and-not CWNR and CRE and-not CSB and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer rnw CWN and-not CWNR and CRW and-not CRD and-not CAA and-not CPG calma CWN 42 *

layer pseudo_rnwell CRW and-not CRE calma CRW 65 *

layer pwell CWP and-not CTA labels CWP calma CWP 41 *

layer diff CAA and-not CTA and-not CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

layer tran CAA and-not CTA and CPG and-not CWNR and-not COP and-not CSN and-not CSP labels CAA calma CAA 43 *

calma CSN 45 *

calma CSP 44 *

layer ndiff CAA and CSN and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRE and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer rnd CAA and CSN and-not CWNR and CRD and-not CSB and-not CPG and-not CWN and-not CSP and-not CBA calma CAA 43 *

layer pseudo_rndiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and-not CWN and-not CSP and CSN and-not CBA calma CRD 66 *

layer pdiff CAA and CSP and-not CWNR and-not CTA and-not CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRE and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer rpd CAA and CSP and-not CWNR and CRD and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CAA 43 *

layer pseudo_rpdiff CRD and-not CRE and-not CAA and-not CSB and-not CPG and CWN and-not CSN and-not CPS and CSP and-not CBA calma CRD 66 *

layer nfet CAA and CSN and-not CWNR and-not CTA and CPG and-not CEL and-not CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

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

layer nsd CAA and CSN and-not CWNR and-not CTA and CWN and-not CSP and-not CBA labels CAA calma CAA 43 *

layer psd CAA and CSP and-not CWNR and-not CTA and-not CWN and-not CSN and-not CPS and CSP and-not CBA labels CAA calma CAA 43 *

layer gc2 CCA and CEL calma CCA 48 *

layer gc2 CCP and CEL calma CCP 47 *

layer gc2 CCC and CEL calma CCC 25 *

layer gc2 CCE and CEL calma CCE 55 *

layer gc2 CCA and CPC and-not CPG calma CCA 48 *

layer gc2 CCP and CPC and-not CPG calma CCP 47 *

layer gc2 CCC and CPC and-not CPG calma CCC 25 *

layer gc2 CCE and CPC and-not CPG calma CCE 55 *

layer gc CCA and CPG and-not CEL calma CCA 48 *

layer gc CCP and CPG and-not CEL calma CCP 47 *

layer gc CCC and CPG and-not CEL calma CCC 25 *

layer gc CCE and CPG and-not CEL calma CCE 55 *

layer gc CCA and-not COP and-not CPC and-not CEL calma CCA 48 *

layer gc CCP and-not COP and-not CPC and-not CEL calma CCP 47 *

layer gc CCC and-not COP and-not CPC and-not CEL calma CCC 25 *

layer gc CCE and-not COP and-not CPC and-not CEL calma CCE 55 *

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

layer rp CPG and CRE and-not CSB calma CPG 46 *

layer rp CPG and CRG calma CPG 46 *

layer pseudo_rpoly CRG and-not CRE calma CRG 67 *

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

layer rm1 CRM and CM1 calma CRM 70 *

layer rm1 CRF and CM1 calma CRF 71 *

layer pseudo_rmetal1 CRF and-not rm1 calma CRF 71 *

layer m1p CMFP labels CMFP calma CMFP 81 *

layer gv1 CV1 calma CV1 50 *

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

layer rm2 CRM and CM2 calma CRM 70 *

layer rm2 CRS and CM2 calma CRS 72 *

layer pseudo_rmetal2 CRS and-not rm2 calma CRS 72 *

layer m2p CMSP labels CMSP calma CMSP 82 *

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

layer gv2 CV2 calma CV2 61 *

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

layer rm3 CRM and CM3 calma CRM 70 *

layer rm3 CRT and CM3 calma CRT 73 *

layer pseudo_rmetal3 CRT and-not rm3 calma CRT 73 *

layer m3p CMTP labels CMTP calma CMTP 83 *

layer xp XP calma XP 26 *

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

layer nfi CFI and CWN labels CFI calma CFI 27 *

layer pfi CFI and-not CWN labels CFI calma CFI 27 *

layer hr CHR labels CHR calma CHR 34 *

layer phr CEL and CHR calma CEL 56 *

layer ecap CEL and CPG labels CEL calma CEL 56 *

layer poly2 CEL and-not CPG labels CEL calma CEL 56 *

layer rp2 CEL and CRG2 calma CEL 56 *

layer pseudo_rpoly2 CRG2 and-not CRE calma CRG2 68 *

layer comment CX labels CX calma CX 63 *

calma CTA 60 *

CRE/CRM

calma CRW 65 calma CRG 67 calma CRD 66 calma CRE 64 calma CRF 71 calma CRS 72 calma CRT 73 calma CRM 70

style fill-only scalefactor 30

scalefactor 100

layer fp 100 calma 100 100 *

layer fm1 101 calma 101 101 *

layer fm2 102 calma 102 102 *

layer fm3 103 calma 103 103 *

layer fa 109 or fb calma 109 109 *

layer fn 119 calma 119 119 *

layer fapm 110 calma 110 110 *

end

mzrouter style irouter

layer hCost vCost jogCost hintCost

layer metal3 1 2 2 1 layer metal2 2 1 2 1 layer metal1 2 3 2 1 layer poly 10 10 11 1 contact m3contact metal3 metal2 5 contact m2contact metal2 metal1 6 contact pcontact metal1 poly 7 notactive poly pcontact

style garouter layer m2 32 64 256 1 layer m1 64 32 256 1 contact m2contact metal1 metal2 1024

end

drc width nwell 12 \ "N-well width < 12 (Mosis #1.1)"

width rnw 12 \ "rnwell (for resistor L/W extraction) width < 12 (Mosis #1.1)"

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

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

width poly,fp,rp,pc/a,pm12c/a,nfet,pfet,fet 2 \ "Poly width < 2 (Mosis #3.1)"

width nselect 2 \ "N-Select width < 2 (Mosis #4.4)"

width pselect 2 \ "P-Select width < 2 (Mosis #4.4)"

width pc/m1 4 \ "Poly contact width < 4 (Mosis #5.1)"

width pm12c/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 ndm12c/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width nsc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width nsm12c/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width pdc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width pdm12c/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width psc/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width psm12c/m1 4 \ "Diffusion contact width < 4 (Mosis #6.1)"

width m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 3 \ "Metal1 width < 3 (Mosis #7.1)"

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

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

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

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

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

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

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

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

width p2m12c 4 \ "Metal2 contact width < 4 (Mosis #8.1)"

width p2m12c 4 \ "stacked p2m12c width < 4 (Mosis #8.1)"

width m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 3 \ "Metal2 width < 3 (Mosis #9.1)"

width poly2,ecap,phr,p2c,p2m12c,p2c,p2m12c 5 \ "Poly2 width < 5 (Mosis #11.1)"

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

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

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

width gv2 2 \ "GV2 via width < 2 (Mosis #14.1)"

width m3c/m2 4 \ "Metal3 contact width < 4 (Mosis #14.1)"

width m123c/m2 4 \ "Metal3 contact width < 4 (Mosis #14.1)"

width m3,fm3,rm3,m3c/m3,m123c/m3,pad 5 \ "Metal3 width < 5 (Mosis #15.1)"

width hr,phr 4 \ "High-Resist width < 4 (Mosis #27.1)"

width phr 5 \ "High-Resist poly2R width < 5 (Mosis #27.7)"

width nfi,pfi 4 \ "N/P_field-implant width < 4 (Mosis #29.1)"

spacing nwell nwell 6 touching_ok \ "N-well(at-same-potential) spacing < 6 (Mosis #1.3)"

spacing pwell pwell 6 touching_ok \ "P-well(at-same-potential) spacing < 6 (Mosis #1.3)"

spacing rnw nwell 18 touching_illegal \ "rnw (for resistor L/W extraction) spacing to N-well < 18 (Mosis #2.3)"

edge4way ~(pwell)/well pwell 1 ~(rnw)/active 0 0 \ "P-well cannot touch rnw (for resistor L/W extraction) (Mosis #1.4)" active

spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 3 touching_ok \ "Diffusion spacing < 3 (Mosis #2.2)"

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

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

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

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

edge4way ~(pwell)/well pwell 6 ~(ndiff,rnd,nfet,ndc/a,ndm12c/a)/active pwell 6 \ "P-well overlap of N-Diffusion < 6 (Mosis #2.4)" active

edge4way ~(nwell)/well nwell 3 ~(nsd,nsc/a,nsm12c/a)/active nwell 3 \ "N-well overlap of N-Ohmic < 3 (Mosis #2.4)" active

edge4way ~(pwell)/well pwell 3 ~(psd,psc/a,psm12c/a)/active pwell 3 \ "P-well overlap of P-Ohmic < 3 (Mosis #2.4)" active

spacing ndiff,rnd,ndc/a,ndm12c/a nsd,nsc/a,nsm12c/a 9 touching_illegal \ "N-Diffusion spacing to N-Ohmic < 9 (Mosis #2.3+2.4)"

spacing pdiff,rpd,pdc/a,pdm12c/a psd,psc/a,psm12c/a 9 touching_illegal \ "P-Diffusion spacing to P-Ohmic < 9 (Mosis #2.3+2.4)"

spacing nwell psd,psc/a,psm12c/a 3 touching_illegal \ "N-well spacing to P-Ohmic < 3 (Mosis #2.4)"

spacing pwell nsd,nsc/a,nsm12c/a 3 touching_illegal \ "P-well spacing to N-Ohmic < 3 (Mosis #2.4)"

spacing psd,psc/a,psm12c/a rnw,prnw 3 touching_illegal \ "P-Ohmic spacing to rnw,prnw < 3 (Mosis #2.4)"

spacing nsd,nsc/a,nsm12c/a psd,psc/a,psm12c/a 6 touching_illegal \ "N-Ohmic spacing to P-Ohmic < 6 (Mosis #2.4+2.4)"

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

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

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

spacing poly,rp,pc/a,pm12c/a,nfet,pfet,fet fp,fapm 3 touching_illegal \ "Poly spacing to fill layer (fp) < 3 (Mosis #3.2)"

spacing fp fp 4 touching_ok \ "Poly fill layer (fp) spacing < 4 (Mosis #0)"

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

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

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

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

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

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

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

PEZ edge4way psd,psc/a,psm12c/a space ~(nfet)/active space \

PEZ "P-Ohmic space to N-Transistor < (Mosis #4.1)" active

PEZ edge4way nsd,nsc/a,nsm12c/a space ~(pfet)/active space \

PEZ "N-Ohmic space to P-Transistor < (Mosis #4.1)" active

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

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

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

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

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

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

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

edge4way diff space 2 nselect space 2 \ "N-Select must overlap Diffusion by 2 (Mosis #4.2)" select

edge4way diff space 2 pselect space 2 \ "P-Select must overlap Diffusion by 2 (Mosis #4.2)" select

edge4way ndiff,rnd,nfet,ndc/a,ndm12c/a space 2 ~(pselect)/select space 2 \ "P-Select space to N-Diffusion < 2 (Mosis #4.2e)" select

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

edge4way ~(pdiff,rpd,pfet,pdc/a,pdm12c/a,psd,psc/a,psm12c/a)/active pdiff,rpd,pfet,pdc/a,pdm12c/a,psd,psc/a,psm12c/a 1 ~(nselect)/select 0 0 \ "N-Select cannot touch P-Diffusion,P-Ohmic (Mosis #4.2f)" select

edge4way ~(ndiff,rnd,nfet,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a)/active ndiff,rnd,nfet,ndc/a,ndm12c/a,nsd,nsc/a,nsm12c/a 1 ~(pselect)/select 0 0 \ "P-Select cannot touch N-Diffusion,N-Ohmic (Mosis #4.2f)" select

width nsd,nsc/a,nsm12c/a,psd,psc/a,psm12c/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,ndm12c/a psd,psc/a,psm12c/a 2 ~(ndiff,rnd,ndc/a,ndm12c/a)/active 0 0 \ "P-Ohmic(that touches N-Diffusion) width < 2 (Mosis #4.4)"

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

edge4way gc ~(gc)/contact 1 poly,fp,rp,pc/a,pm12c/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a ~(gc)/contact 1 \ "Poly,Diffusion overlap of GC contact < 1 (Mosis #5.2)" active

edge4way gc space 1 poly,fp,rp,pc/a,pm12c/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a space 1 \ "one of: Poly,Diffusion must overlap GC contact by 1 (Mosis #5.2a,6.2a)" active

edge4way ~(poly,fp,rp,pc/a,pm12c/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a)/active poly,fp,rp,pc/a,pm12c/a,diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a 1 ~(gc)/contact 0 0 \ "Edge to one of: Poly,Diffusion cannot touch GC contact (Mosis #5.2a,6.2a)" contact

spacing gc gc 3 touching_ok \ "Generic contact spacing < 3 (Mosis #5.3)"

edge4way ~(gc)/contact gc 1 ~(ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1)/metal1 0 0 \ "GC contact cannot touch Metal1 contacts (Mosis #0)" metal1

edge4way ~(gc2)/contact gc2 1 ~(ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1)/metal1 0 0 \ "Generic contact2 cannot touch Metal1 contacts (Mosis #0)" metal1

spacing gv1 m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2 2 touching_illegal \ "GV1 via spacing to Metal2 contacts < 2 (Mosis #14.2)"

spacing poly,fp,rp,pc/a,pm12c/a pc/a,pm12c/a 4 touching_ok \ "Poly spacing to Poly contact < 4 (Mosis #5.5.b)"

edge4way gc ~(gc)/contact 1 diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,poly,fp,rp,pc/a,pm12c/a ~(gc)/contact 1 \ "Diffusion,Poly overlap of GC contact < 1 (Mosis #6.2)" active

spacing gc pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a 2 touching_illegal \ "Generic contact spacing to Poly contact,Diffusion contact < 2 (Mosis #5.3)"

spacing nsc/m1,nsm12c/m1 pdc/m1,pdm12c/m1 1 touching_illegal \ "nsc spacing to pdc < 1 (Mosis #6.3)"

spacing psc/m1,psm12c/m1 ndc/m1,ndm12c/m1 1 touching_illegal \ "psc spacing to ndc < 1 (Mosis #6.3)"

spacing pdm12c/m1 pdc/m1,m2c/m1,nsm12c/m1 1 touching_illegal \ "pdm12c spacing to pdc or m2c or nsm12c < 1 (Mosis #6.3)"

spacing psm12c/m1 psc/m1,m2c/m1 1 touching_illegal \ "psm12c spacing to psc or m2c < 1 (Mosis #6.3)"

spacing ndm12c/m1 ndc/m1,m2c/m1,nsm12c/m1 1 touching_illegal \ "ndm12c spacing to ndc or m2c or nsm12c < 1 (Mosis #6.3)"

spacing nsm12c/m1 nsc/m1,m2c/m1 1 touching_illegal \ "nsm12c spacing to nsc or m2c < 1 (Mosis #6.3)"

spacing pm12c/m1 pc/m1,m2c/m1 1 touching_illegal \ "pm12c spacing to pc or m2c < 1 (Mosis #6.3)"

spacing m123c/m2 pdm12c/m2,psm12c/m2,ndm12c/m2,nsm12c/m2,pm12c/m2,m2c/m2,m3c/m2 1 touching_illegal \ "m123c spacing to *m12c or m2c or m3c < 1 (Mosis #6.3)"

spacing nfet,pfet ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a 1 touching_illegal \ "N-Transistor,P-Transistor spacing to Diffusion contact < 1 (Mosis #6.4)"

spacing nfet,pfet gc 2 touching_illegal \ "N-Transistor,P-Transistor spacing to Generic contact < 2 (Mosis #6.4)"

spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a pc/a,pm12c/a 1 touching_illegal \ "Diffusion spacing to Poly contact < 1 (Mosis #6.5.b)"

spacing diff,ndiff,rnd,nfet,nsd,pdiff,rpd,pfet,psd,ndc/a,ndm12c/a,nsc/a,nsm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nfet,pfet ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a 4 touching_ok \ "Diffusion spacing to Diffusion contact < 4 (Mosis #6.5.b)"

spacing pc/a,pm12c/a ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a 2 touching_illegal \ "pc/a,pm12c/a spacing to ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a < 2 (Mosis #6.7)"

spacing m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 3 touching_ok \ "Metal1 spacing < 3 (Mosis #7.2)"

spacing m1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 fm1,fapm 3 touching_illegal \ "Metal1 spacing to fill layer (fm1) < 3 (Mosis #7.2)"

spacing fm1 fm1 4 touching_ok \ "Metal1 fill layer (fm1) spacing < 4 (Mosis #0)"

edge4way gc space 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 space 1 \ "Metal1 must overlap GC contact by 1 (Mosis #7.3,7.4)" metal1

edge4way ~(m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1)/metal1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 1 ~(gc)/contact 0 0 \ "Metal1(edge) cannot touch GC contact (Mosis #7.3+7.4)" contact

spacing gv1 gv1 3 touching_ok \ "GV1 via spacing < 3 (Mosis #8.2)"

edge4way gv1 ~(gv1)/via1 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 ~(gv1)/via1 1 \ "Metal1 overlap of GV1 via < 1 (Mosis #8.3)" metal1

edge4way gv1 space 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 space 1 \ "Metal1 must overlap GV1 via by 1 (Mosis #8.3)" metal1

edge4way ~(m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1)/metal1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 1 ~(gv1)/via1 0 0 \ "Metal1(edge) cannot touch GV1 via (Mosis #8.3)" via1

spacing m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 3 touching_ok \ "Metal2 spacing < 3 (Mosis #9.2)"

spacing m2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 fm2,fapm 3 touching_illegal \ "Metal2 spacing to fill layer (fm2) < 3 (Mosis #9.2)"

spacing fm2 fm2 4 touching_ok \ "Metal2 fill layer (fm2) spacing < 4 (Mosis #0)"

edge4way gv1 space 1 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 space 1 \ "Metal2 must overlap GV1 via by 1 (Mosis #9.3)" metal2

edge4way ~(m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 1 ~(gv1)/via1 0 0 \ "Metal2(edge) cannot touch GV1 via (Mosis #9.3)" via1

width glass 10 \ "COG width < 10 (Mosis #10.2)"

edge4way ~(pad)/metal3 pad 20 ~(glass)/oxide pad 20 \ "pad overlap of COG < 20 (Mosis #10.3)" oxide

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

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

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

edge4way poly2,phr,p2c,p2m12c space 5 ~(poly,fp,rp,pc/a,pm12c/a)/active space 5 \ "Poly2 spacing to Poly < 5 (Mosis #11.3c)" active

spacing ecap pc/a,pm12c/a 2 touching_illegal \ "Ecap spacing to Poly contact < 2 (Mosis #11.5)"

spacing ecap gc 3 touching_illegal \ "Ecap spacing to Generic contact < 3 (Mosis #11.5)"

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

spacing poly2,ecap,phr,p2c,p2m12c pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a 2 touching_illegal \ "Poly2 spacing to Poly contact,Diffusion contact < 2 (Mosis #11.5)"

spacing poly2,ecap,phr,p2c,p2m12c gc,gc 3 touching_illegal \ "Poly2 spacing to GC contact < 3 (Mosis #11.5)"

spacing gc2 gc2 3 touching_ok \ "Generic contact2 spacing < 3 (Mosis #13.2)"

edge4way ~(ecap)/cap ecap 3 ~(gc2)/contact ecap 3 \ "Ecap overlap of Generic contact2 < 3 (Mosis #13.3)" contact

edge4way ~(ecap)/cap ecap 2 ~(p2c,p2m12c)/cap ecap 2 \ "Ecap overlap of Poly2 contact < 2 (Mosis #13.3)" cap

edge4way gc2 space 1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 space 1 \ "Metal1 must overlap Generic contact2 by 1 (Mosis #13.4)" metal1

edge4way ~(m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1)/metal1 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 1 ~(gc2)/contact 0 0 \ "Metal1(edge) cannot touch Generic contact2 (Mosis #13.4)" contact

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

spacing gv2 gv2 3 touching_ok \ "GV2 via spacing < 3 (Mosis #14.2)"

spacing gv2 m3c/m2,m123c/m2 2 touching_illegal \ "GV2 via spacing to Metal3 contact < 2 (Mosis #14.2)"

edge4way gv2 space 1 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 space 1 \ "Metal2 must overlap GV2 via by 1 (Mosis #14.3)" metal2

edge4way ~(m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2)/metal2 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 1 ~(gv2)/via2 0 0 \ "Metal2(edge) cannot touch GV2 via (Mosis #14.3)" via2

spacing m3,rm3,m3c/m3,m123c/m3,pad m3,rm3,m3c/m3,m123c/m3,pad 3 touching_ok \ "Metal3 spacing < 3 (Mosis #15.2)"

spacing m3,rm3,m3c/m3,m123c/m3,pad fm3,fapm 3 touching_illegal \ "Metal3 spacing to fill layer (fm3) < 3 (Mosis #15.2)"

spacing fm3 fm3 4 touching_ok \ "Metal3 fill layer (fm3) spacing < 4 (Mosis #0)"

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

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

edge4way ~(m3,fm3,rm3,m3c/m3,m123c/m3,pad)/metal3 m3,fm3,rm3,m3c/m3,m123c/m3,pad 1 ~(gv2)/via2 0 0 \ "Metal3(edge) cannot touch GV2 via (Mosis #15.3)" via2

spacing hr,phr hr,phr 4 touching_ok \ "High-Resist spacing < 4 (Mosis #27.2)"

spacing hr,phr,phr p2c,p2m12c 2 touching_illegal \ "High-Resist spacing to Poly2 contact < 2 (Mosis #27.3)"

spacing hr,phr,phr gc 2 touching_illegal \ "High-Resist spacing to GC contact < 2 (Mosis #27.3)"

edge4way hr,phr space 2 ~(ndiff,rnd,ndc/a,ndm12c/a,pdiff,rpd,pdc/a,pdm12c/a)/active 0 2 \ "High-Resist space to Diffusion < 2 (Mosis #27.4)" active

spacing hr,phr,phr poly2,ecap,phr,p2c,p2m12c 2 touching_ok \ "High-Resist spacing to other Poly2 < 2 (Mosis #27.5)"

edge4way hr,phr space 2 ~(poly2,ecap,phr,p2c,p2m12c)/contact hr,phr 2 \ "High-Resist space to Poly2 < 2 (Mosis #27.5x)" contact

spacing nwell phr 4 touching_illegal \ "N-well spacing to Silicide-Block poly2R < 4 (Mosis #27.6)"

spacing phr phr 7 touching_ok \ "High-Resist poly2R spacing < 7 (Mosis #27.13)"

edge4way phr space/active,hr 2 hr hr 2 \ "High-Resist overlap of High-Resist poly2R < 2 (Mosis #27.15)"

spacing nfi nfi 4 touching_ok \ "N_field-implant spacing < 4 (Mosis #35.2)"

spacing pfi pfi 4 touching_ok \ "P_field-implant spacing < 4 (Mosis #35.2)"

spacing nfi pfi 4 touching_illegal \ "N_field-implant spacing to P_field-implant < 4 (Mosis #35.2)"

spacing nwell,pdiff,rpd,pfet,pdc/a,pdm12c/a pfi 4 touching_illegal \ "N-well,P-Diffusion spacing to P_field-implant < 4 (Mosis #2.1)"

spacing pwell,ndiff,rnd,nfet,ndc/a,ndm12c/a nfi 4 touching_illegal \ "P-well,N-Diffusion spacing to N_field-implant < 4 (Mosis #2.1)"

edge4way ~(nwell)/well nwell 4 ~(nfi)/implant nwell 4 \ "N-well overlap of N_field-implant < 4 (Mosis #21.2)" implant

edge4way ~(pwell)/well pwell 4 ~(pfi)/implant pwell 4 \ "P-well overlap of P_field-implant < 4 (Mosis #21.2)" implant

spacing fa fapm 4 touching_illegal \ "fill layer fa spacing to fill layer fapm < 4 (Mosis #0)"

width fa 7 \ "filla width < 7 (Mosis #0)"

width fapm 7 \ "fillapm width < 7 (Mosis #0)"

width fp 7 \ "fillp width < 7 (Mosis #0)"

width fm1 7 \ "fillm1 width < 7 (Mosis #0)"

width fm2 7 \ "fillm2 width < 7 (Mosis #0)"

width fm3 7 \ "fillm3 width < 7 (Mosis #0)"

edge4way fa ~(fa)/fill 1 ~(fa)/fill (~(fa),fa)/fill 1 \ "Contact not rectangular (Magic rule)"

edge4way fb ~(fb)/fill 1 ~(fb)/fill (~(fb),fb)/fill 1 \ "Contact not rectangular (Magic rule)"

edge4way fapm ~(fapm)/active 1 ~(fapm)/active (~(fapm),fapm)/active 1 \ "Contact not rectangular (Magic rule)"

edge4way fp ~(fp)/active 1 ~(fp)/active (~(fp),fp)/active 1 \ "Contact not rectangular (Magic rule)"

edge4way fm1 ~(fm1)/metal1 1 ~(fm1)/metal1 (~(fm1),fm1)/metal1 1 \ "Contact not rectangular (Magic rule)"

edge4way fm2 ~(fm2)/metal2 1 ~(fm2)/metal2 (~(fm2),fm2)/metal2 1 \ "Contact not rectangular (Magic rule)"

edge4way fm3 ~(fm3)/metal3 1 ~(fm3)/metal3 (~(fm3),fm3)/metal3 1 \ "Contact not rectangular (Magic rule)"

edge4way rp space/active 1 prp 0 0 \ "prp overhang of rpoly (for resistor L/W extraction) < 1 (Mosis #0)" active

edge4way rp2 space/cap 1 prp2 0 0 \ "prp2 overhang of rpoly2 (for resistor L/W extraction) < 1 (Mosis #0)" cap

edge4way rnw space/active 1 prnw 0 0 \ "prnw overhang of rnwell (for resistor L/W extraction) < 1 (Mosis #0)" active

edge4way rpd space/active 1 prpd 0 0 \ "prpd overhang of rpdiff (for resistor L/W extraction) < 1 (Mosis #0)" active

edge4way rnd space/active 1 prnd 0 0 \ "prnd overhang of rndiff (for resistor L/W extraction) < 1 (Mosis #0)" active

edge4way rm1 space/metal1 1 prm1 0 0 \ "prm1 overhang of rmetal1 (for resistor L/W extraction) < 1 (Mosis #0)" metal1

edge4way rm2 space/metal2 1 prm2 0 0 \ "prm2 overhang of rmetal2 (for resistor L/W extraction) < 1 (Mosis #0)" metal2

edge4way rm3 space/metal3 1 prm3 0 0 \ "prm3 overhang of rmetal3 (for resistor L/W extraction) < 1 (Mosis #0)" metal3

edge4way ndc/a,ndm12c/a,nsc/a,nsm12c/a ~(ndc/a,ndm12c/a,nsc/a,nsm12c/a)/active 1 ~(ndc/a,ndm12c/a,nsc/a,nsm12c/a)/active (~(ndc/a,ndm12c/a,nsc/a,nsm12c/a),ndc/a,ndm12c/a,nsc/a,nsm12c/a)/active 1 \ "Contact not rectangular (Magic rule)"

edge4way pdc/a,pdm12c/a,psc/a,psm12c/a ~(pdc/a,pdm12c/a,psc/a,psm12c/a)/active 1 ~(pdc/a,pdm12c/a,psc/a,psm12c/a)/active (~(pdc/a,pdm12c/a,psc/a,psm12c/a),pdc/a,pdm12c/a,psc/a,psm12c/a)/active 1 \ "Contact not rectangular (Magic rule)"

edge4way pc/a,pm12c/a ~(pc/a,pm12c/a)/active 1 ~(pc/a,pm12c/a)/active (~(pc/a,pm12c/a),pc/a,pm12c/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,p2m12c ~(p2c,p2m12c)/cap 1 ~(p2c,p2m12c)/cap (~(p2c,p2m12c),p2c,p2m12c)/cap 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,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1 ~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1)/metal1 1 ~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1)/metal1 (~(m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1),m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1)/metal1 1 \ "Contact not rectangular (Magic rule)"

edge4way gv2 ~(gv2)/via2 1 ~(gv2)/via2 (~(gv2),gv2)/via2 1 \ "Contact not rectangular (Magic rule)"

edge4way m3c/m2,m123c/m2 ~(m3c/m2,m123c/m2)/metal2 1 ~(m3c/m2,m123c/m2)/metal2 (~(m3c/m2,m123c/m2),m3c/m2,m123c/m2)/metal2 1 \ "Contact not rectangular (Magic rule)"

exact_overlap gc,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a,gc,pc/a,pm12c/a,gc

exact_overlap gc2,p2c,p2m12c

edge4way pad ~(pad)/m3 1 ~(pad)/m3 (~(pad),pad)/m3 1 \ "Contact not rectangular (Magic rule)"

exact_overlap ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1

exact_overlap m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2

exact_overlap m3c/m3,m123c/m3

exact_overlap gv1

exact_overlap gv2

width m1p 4 \ "Metal1 PIN width < 4 (do_pins)"

spacing m1p m1p 4 touching_ok \ "Metal1 PIN spacing < 4 (do_pins)"

width m2p 4 \ "Metal2 PIN width < 4 (do_pins)"

spacing m2p m2p 4 touching_ok \ "Metal2 PIN spacing < 4 (do_pins)"

width m3p 6 \ "Metal3 PIN width < 6 (do_pins)"

spacing m3p m3p 4 touching_ok \ "Metal3 PIN spacing < 4 (do_pins)"

CC cifstyle lambda=0.30(p)

CC cifwidth CWN 360 \

CC "generated CIF layer CWN width will be < 12 (';cif see CWN')"

CC cifspacing CWN CWN 180 touching_ok \

CC "generated CIF layer CWN spacing will be < 6 (';cif see CWN')"

CC cifwidth CWP 360 \

CC "generated CIF layer CWP width will be < 12 (';cif see CWP')"

CC cifspacing CWP CWP 180 touching_ok \

CC "generated CIF layer CWP spacing will be < 6 (';cif see CWP')"

CC cifwidth CSN 60 \

CC "generated CIF layer CSN width will be < 2 (';cif see CSN')"

CC cifspacing CSN CSN 60 touching_ok \

CC "generated CIF layer CSN spacing will be < 2 (';cif see CSN')"

CC cifwidth CSP 60 \

CC "generated CIF layer CSP width will be < 2 (';cif see CSP')"

CC cifspacing CSP CSP 60 touching_ok \

CC "generated CIF layer CSP spacing will be < 2 (';cif see CSP')"

stepsize 400

end

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

resist (ndiff,rnd,ndc,ndm12c,nsd,nsc,nsm12c)/active 82200 resist (pdiff,rpd,pdc,pdm12c,psd,psc,psm12c)/active 105200 resist (nwell)/well 808000 resist (rnw)/active 808000 resist (pwell)/well 1 resist (poly,fp,rp,pc,pm12c,pc,pm12c,nfet,pfet,fet)/active 22000 resist (poly2,ecap,p2c,p2m12c,p2c,p2m12c)/cap 40300 resist (phr)/cap 40300 resist (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c)/metal1 90 resist (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c,m3c,m123c)/metal2 90 resist (m3,fm3,rm3,m3c,m123c,pad)/metal3 50

contact ndc 4 62700 contact pdc 4 160000 contact pc 4 15600 contact p2c 4 26100 contact m2c 4 910 contact m3c 4 830

poly2

overlap (poly,fp,rp,pc,pm12c,pc,pm12c)/active (poly2,ecap,phr,p2c,p2m12c,p2c,p2m12c)/cap 84.960

nwell,cwell,pwell

areacap (nwell)/well 3.600

rnw

areacap (rnw)/active 3.600

ndiff

MODEL HANDLES THIS: areacap (ndiff,ndc,ndm12c)/active 38.430

MODEL HANDLES THIS: overlap (ndiff,ndc,ndm12c)/active ~space/w 38.430

MODEL HANDLES THIS: perimc (ndiff,ndc,ndm12c)/active ~(ndiff,ndc,ndm12c,nfet,pfet,fet)/active 94.800

MODEL HANDLES THIS: sideoverlap (ndiff,ndc,ndm12c)/active ~(ndiff,ndc,ndm12c,nfet,pfet,fet)/active ~space/w 94.800

areacap (rnd)/active 38.430 overlap (rnd)/active ~space/w 38.430 perimc (rnd)/active ~(rnd)/active 94.800 sideoverlap (rnd)/active ~(rnd)/active ~space/w 94.800

pdiff

MODEL HANDLES THIS: areacap (pdiff,pdc,pdm12c)/active 65.880

MODEL HANDLES THIS: overlap (pdiff,pdc,pdm12c)/active ~space/w 65.880

MODEL HANDLES THIS: perimc (pdiff,pdc,pdm12c)/active ~(pdiff,pdc,pdm12c,nfet,pfet,fet)/active 75.300

MODEL HANDLES THIS: sideoverlap (pdiff,pdc,pdm12c)/active ~(pdiff,pdc,pdm12c,nfet,pfet,fet)/active ~space/w 75.300

areacap (rpd)/active 65.880 overlap (rpd)/active ~space/w 65.880 perimc (rpd)/active ~(rpd)/active 75.300 sideoverlap (rpd)/active ~(rpd)/active ~space/w 75.300

rnw

poly

MODEL HANDLES THIS: overlap (nfet)/active (ndiff,rnd,ndc,ndm12c)/active 221.670

MODEL HANDLES THIS: sideoverlap (nfet)/active ~(nfet)/active (ndiff,rnd,ndc,ndm12c)/active 58.500

MODEL HANDLES THIS: overlap (pfet)/active (pdiff,rpd,pdc,pdm12c)/active 213.480

MODEL HANDLES THIS: sideoverlap (pfet)/active ~(pfet)/active (pdiff,rpd,pdc,pdm12c)/active 82.800

areacap (poly,fp,rp,pc,pm12c)/active 7.740 overlap (poly,fp,rp,pc,pm12c)/active ~space/w 7.740

poly2

rnw

metal1

areacap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 2.700

metal1-sub blocked by ~space/a,~space/c

overlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~space/w 2.700 ~space/a,~space/c perimc (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 20.700 sideoverlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~space/w 20.700 ~space/a,~space/c

rnw

overlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 rnw/active 2.700 ~space/c sideoverlap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 rnw/active 20.700 ~space/c

metal1-diff blocked by ~space/c

overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (ndiff,rnd,ndc,ndm12c)/active 3.150 ~space/c sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (ndiff,rnd,ndc,ndm12c)/active 20.700 ~space/c overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (pdiff,rpd,pdc,pdm12c)/active 3.150 ~space/c sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (pdiff,rpd,pdc,pdm12c)/active 20.700 ~space/c

metal1-poly blocked by ~space/c

overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 4.590 ~space/c sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 15.900 ~space/c sideoverlap (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 15.900 ~space/c

metal1-poly2 not blocked

overlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (poly2,ecap,phr,p2c,p2m12c)/cap 3.960

metal2

areacap (m2,fm2,rm2,m3c,m123c)/metal2 1.350

metal2-sub blocked by

overlap (m2,fm2,rm2,m3c,m123c)/metal2 ~space/w 1.350 ~space/a,~space/m1,~space/c perimc (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 15.900 sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~space/w 15.900 ~space/a,~space/m1,~space/c overlap (m2,fm2,rm2,m3c,m123c)/metal2 rnw/active 1.350 ~space/m1,~space/c sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 rnw/active 15.900 ~space/m1,~space/c

metal2-*diff blocked by ~space/m1,~space/c

overlap (m2,fm2,rm2,m3c,m123c)/metal2 (ndiff,rnd,ndc,ndm12c)/active 1.350 ~space/m1,~space/c sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (ndiff,rnd,ndc,ndm12c)/active 15.900 ~space/m1,~space/c overlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (pdiff,rpd,pdc,pdm12c)/active 1.350 ~space/m1,~space/c sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (pdiff,rpd,pdc,pdm12c)/active 15.900 ~space/m1,~space/c

metal2-poly blocked by ~space/m1,~space/c

overlap (m2,fm2,rm2,m3c,m123c)/metal2 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 1.350 ~space/m1,~space/c sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 10.800 ~space/m1,~space/c sideoverlap (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 10.800 ~space/m1,~space/c

metal2-poly2 blocked by ~space/m1

M2->M1

overlap (m2,fm2,rm2,m3c,m123c)/metal2 (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 2.520 sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 14.700 sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 14.700

metal3

areacap (m3,fm3,rm3,pad)/metal3 0.900

metal3-sub blocked by ~space/a,~space/m1,~space/m2,~space/c

overlap (m3,fm3,rm3,pad)/metal3 ~space/w 0.900 ~space/a,~space/m1,~space/m2,~space/c perimc (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 10.500 sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 ~space/w 10.500 ~space/a,~space/m1,~space/m2,~space/c

rnw

overlap (m3,fm3,rm3,pad)/metal3 rnw/active 0.900 ~space/m1,~space/m2,~space/c sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 rnw/active 10.500 ~space/m1,~space/m2,~space/c

metal3-*diff blocked by ~space/m1,~space/m2,~space/c

overlap (m3,fm3,rm3,pad)/metal3 (ndiff,rnd,ndc,ndm12c)/active 0.990 ~space/m1,~space/m2,~space/c sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 (ndiff,rnd,ndc,ndm12c)/active 10.500 ~space/m1,~space/m2,~space/c overlap (m3,fm3,rm3,pad)/metal3 (pdiff,rpd,pdc,pdm12c)/active 0.990 ~space/m1,~space/m2,~space/c sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 (pdiff,rpd,pdc,pdm12c)/active 10.500 ~space/m1,~space/m2,~space/c

metal3-poly blocked by ~space/m1,~space/m2,~space/c

overlap (m3,fm3,rm3,pad)/metal3 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 0.810 ~space/m1,~space/m2,~space/c sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active 8.100 ~space/m1,~space/m2,~space/c sideoverlap (poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active ~(poly,fp,rp,pc,pm12c,nfet,pfet,fet)/active (m3,fm3,rm3,m3c,m123c,pad)/metal3 8.100 ~space/m1,~space/m2,~space/c

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

M3->M1

overlap (m3,fm3,rm3,pad)/metal3 (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 1.080 ~space/m2

metal3-metal1 blocked by ~space/m2

sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 9.900 ~space/m2 sideoverlap (m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 ~(m1,fm1,rm1,ndc,ndm12c,nsc,nsm12c,pdc,pdm12c,psc,psm12c,pc,pm12c,m2c,m123c)/metal1 (m3,fm3,rm3,m3c,m123c,pad)/metal3 9.900 ~space/m2

M3->M2

overlap (m3,fm3,rm3,pad)/metal3 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 3.060 sideoverlap (m3,fm3,rm3,m3c,m123c,pad)/metal3 ~(m3,fm3,rm3,m3c,m123c,pad)/metal3 (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 16.800 sideoverlap (m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 ~(m2,fm2,rm2,m2c,pdm12c,ndm12c,psm12c,nsm12c,pm12c,m123c,m3c)/metal2 (m3,fm3,rm3,m3c,m123c,pad)/metal3 16.800

metal4

metal5

metal6

metal7

metali

fets

fet pfet pdiff,pdc 2 pfet Vdd! nwell 83 213 fet pfet pdiff,pdc 1 pfet Vdd! nwell 83 213

fet nfet ndiff,ndc 2 nfet Gnd! pwell 59 222 fet nfet ndiff,ndc 1 nfet Gnd! pwell 59 222

fetresis pfet linear 20996 fetresis pfet saturation 20996 fetresis nfet linear 6144 fetresis nfet saturation 6144

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 fet rmetal3 metal3 2 metal3Resistor Gnd! nwell,pwell 0 0 fet phr poly2,p2c 2 phrResistor Gnd! nwell,pwell 0 0

end

wiring contact pdcontact 4 metal1 0 pdiff 0 contact ndcontact 4 metal1 0 ndiff 0 contact pcontact 4 metal1 0 poly 0 contact m2contact 4 metal1 0 metal2 0 contact m3contact 5 metal2 0 metal3 1

end

router layer2 metal2 3 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2,m123c/m2,m3c/m2,m123c/m2 4 poly,fp,rp,ndiff,rnd,nsd,pdiff,rpd,psd,m1,fm1,rm1 1 layer1 metal1 3 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/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,ndm12c/a yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA ndiff,rnd,ndc/a,ndm12c/a cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 nsd,nsc/a,nsm12c/a yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 nsd,nsc/a,nsm12c/a cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 pdiff,rpd,pdc/a,pdm12c/a yellow \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA pdiff,rpd,pdc/a,pdm12c/a cyan \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 \ 0000 5555 0000 5555 pdiff,rpd,pdc/a,pdm12c/a magenta \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 psd,psc/a,psm12c/a yellow \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 \ 1515 2A2A 5151 A2A2 psd,psc/a,psm12c/a cyan \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 \ 0000 1515 0000 5151 psd,psc/a,psm12c/a magenta \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 \ 2A2A 0000 A2A2 0000 poly,fp,rp,pc/a,pm12c/a magenta \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA \ 5555 AAAA 5555 AAAA nfet yellow \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 nfet cyan \ 0000 0505 0000 1414 \ 0000 5050 0000 4141 \ 0000 0505 0000 1414 \ 0000 5050 0000 4141 nfet magenta \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A \ 5050 2828 4141 A0A0 \ 0505 8282 1414 0A0A pfet yellow \ 6363 A0A0 5050 2828 \ 3636 0A0A 0505 8282 \ 6363 A0A0 5050 2828 \ 3636 0A0A 0505 8282 pfet cyan \ 0000 5151 0000 5454 \ 0000 1515 0000 1515 \ 0000 5151 0000 5454 \ 0000 1515 0000 1515 pfet magenta \ 9494 0A0A 2525 8282 \ 4949 A0A0 5252 2828 \ 9494 0A0A 2525 8282 \ 4949 A0A0 5252 2828 poly2,ecap,phr,p2c,p2m12c yellow \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF \ FFFF FFFF FFFF FFFF m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/m1 cyan \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 \ AAAA 0000 AAAA 0000 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 cyan \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 \ 0000 1111 0000 4444 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 magenta \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 \ 0000 4444 0000 1111 m2c/m1,pdm12c/m1,ndm12c/m1,psm12c/m1,nsm12c/m1,pm12c/m1,m123c/m1,gv1 black \ 0000 6666 6666 0000 \ 0000 9999 9999 0000 \ 0000 6666 6666 0000 \ 0000 9999 9999 0000 pad,glass black \ 0300 0700 0E00 1C00 \ 3800 7000 E000 C000 \ 00C0 00E0 0070 0038 \ 001C 000E 0007 0003 nwell yellow \ 0800 1000 2000 4000 \ 8000 0001 0002 0004 \ 0008 0010 0020 0040 \ 0080 0010 0200 0400 nwell cyan \ 1000 2000 4000 8000 \ 0001 0002 0004 0008 \ 0010 0020 0040 0080 \ 0100 0200 0400 0800 pwell yellow \ 1000 0400 0400 0100 \ 0100 0040 0040 0010 \ 0010 0004 0004 0001 \ 0001 4000 4000 1000 pwell cyan \ 0000 0800 0000 0200 \ 0000 0080 0000 0020 \ 0000 0008 0000 0002 \ 0000 8000 0000 2000 pwell magenta \ 0800 0000 0200 0000 \ 0080 0000 0020 0000 \ 0008 0000 0002 0000 \ 8000 0000 2000 0000 m3c/m2,m123c/m2,gv2 black \ 0100 0000 0000 0000 \ 1010 0000 0000 0000 \ 0001 0000 0000 0000 \ 1010 0000 0000 0000 m3c/m2,m123c/m2,gv2 cyan \ 0280 0000 0820 0000 \ 2008 0000 8002 0000 \ 8002 0000 2008 0000 \ 0820 0000 0280 0000 m3c/m2,m123c/m2,gv2 magenta \ 0100 06C0 0440 1830 \ 1010 600C 4004 8003 \ 0001 C006 4004 3018 \ 1010 0C60 0440 0380 m3c/m2,m123c/m2,gv2 black \ 0820 0820 0820 0FE0 \ E00F 2008 2008 2008 \ 2008 2008 2008 E00F \ 0000 0FE0 0820 0820 error_p,error_s,error_ps black \ 0000 3C3C 4646 4A4A \ 5252 6262 3C3C 0000 \ 0000 3C3C 4646 4A4A \ 5252 6262 3C3C 0000 magnet yellow \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 \ AAAA 0000 5555 0000 fence magenta \ FFFF 0000 0000 0000 \ 0000 0000 0000 0000 \ FFFF 0000 0000 0000 \ 0000 0000 0000 0000 rotate cyan \ 0000 E0E0 E0E0 E0E0 \ 0000 0000 0000 0000 \ 0000 E0E0 E0E0 E0E0 \ 0000 0000 0000 0000 pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a,gc,gc,gc X

style versatec pfet \ 07c0 0f80 1f00 3e00 \ 7c00 f800 f001 e003 \ c007 800f 001f 003e \ 00c7 00f8 01f0 03e0 nfet \ 1f00 0f80 07c0 03e0 \ 01f0 00f8 007c 003e \ 001f 800f c007 e003 \ f001 f800 7c00 3e00 gv1 \ c3c3 c3c3 0000 0000 \ 0000 0000 c3c3 c3c3 \ c3c3 c3c3 0000 0000 \ 0000 0000 c3c3 c3c3 pwell \ 2020 2020 2020 2020 \ 2020 2020 2020 2020 \ 0000 0000 0000 0000 \ 0000 0000 0000 0000 nwell \ 0808 0404 0202 0101 \ 0000 0000 0000 0000 \ 0808 0404 0202 0101 \ 0000 0000 0000 0000 poly,fp,rp,pc/a,pm12c/a,nfet,pfet \ 0808 0400 0202 0101 \ 8080 4000 2020 1010 \ 0808 0004 0202 0101 \ 8080 0040 2020 1010 m1,fm1,rm1,ndc/m1,ndm12c/m1,nsc/m1,nsm12c/m1,pdc/m1,pdm12c/m1,psc/m1,psm12c/m1,pc/m1,pm12c/m1,m2c/m1,m123c/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,nsm12c/a \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 \ 0808 1414 2222 4141 \ 8080 4040 2020 1010 m2,fm2,rm2,m2c/m2,pdm12c/m2,ndm12c/m2,psm12c/m2,nsm12c/m2,pm12c/m2,m123c/m2,m3c/m2 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 \ 0000 1111 0000 0000 pdiff,rpd,pdc/a,pdm12c/a,pfet \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 \ 0000 0808 5555 8080 \ 0000 8080 5555 0808 psd,psc/a,psm12c/a \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 \ 1414 2222 0000 2222 \ 4141 2222 0000 2222 ndiff,rnd,ndc/a,ndm12c/a,nfet \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 \ 0808 1010 2020 4040 \ 8080 4141 2222 1414 pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a,gc,gc,gc X

style gremlin pfet 9 nfet 10 gv1 11 pwell 15 nwell 16 poly,fp,rp,pc/a,pm12c/a,nfet,pfet 19 pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a,gc,gc,gc 22 pad,glass 23 nsd,nsc/a,nsm12c/a 24 gv1 28 pdiff,rpd,pdc/a,pdm12c/a,pfet 29 psd,psc/a,psm12c/a 30 ndiff,rnd,ndc/a,ndm12c/a,nfet 31 pc/a,pm12c/a,ndc/a,ndm12c/a,pdc/a,pdm12c/a,psc/a,psm12c/a,nsc/a,nsm12c/a,gc,gc,gc,gv1 X

end

RTimothyEdwards commented 7 months ago

Actually the thing to do is to tarball it into a .tgz file and then post it, which github will allow. But this works.

RTimothyEdwards commented 7 months ago

I'm glad the modified tech file works for you, because even with the file you posted I cannot duplicate the crash condition. So I will have to shelve the problem. Let me know if anything else crops up.