Open thud06 opened 7 months ago
Version 8.3 point what?
I'm happy to track it down but I will need a reproducible result.
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:
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.
Version 8.1.213 is six years out of date. The current version of magic is 8.3.462.
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."
@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 : 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 !
@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.
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
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
templayer XDN bloat-or ndiff,rnd,ndc/a,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS
templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS
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
and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15
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
and-not FSP
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,fapm squares 0 210 120 labels fp calma 46 0
layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0
layer CM2 fm2,fapm
squares 0 210 120 labels fm2 calma 51 0
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
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
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
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
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
templayer XDN bloat-or ndiff,rnd,ndc/a,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS
templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS
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
and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15
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
and-not FSP
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,fapm squares 0 210 120 labels fp calma 46 0
layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0
layer CM2 fm2,fapm
squares 0 210 120 labels fm2 calma 51 0
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
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
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
templayer XDN bloat-or ndiff,rnd,ndc/a,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS
templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS
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
and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15
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
and-not FSP
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,fapm squares 0 210 120 labels fp calma 46 0
layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0
layer CM2 fm2,fapm
squares 0 210 120 labels fm2 calma 51 0
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
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
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
templayer XDN bloat-or ndiff,rnd,ndc/a,ndm12c/a * 60 psd,psc/a,psm12c/a 0 or TNS
templayer XDP bloat-or pdiff,rpd,pdc/a,pdm12c/a * 60 nsd,nsc/a,nsm12c/a 0 or TPS
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
and-not XDN or TPS shrink 15 grow 15 grow 15 shrink 15
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
and-not FSP
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,fapm squares 0 210 120 labels fp calma 46 0
layer CM1 fm1,fapm squares 0 210 120 labels fm1 calma 49 0
layer CM2 fm2,fapm
squares 0 210 120 labels fm2 calma 51 0
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
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
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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 *
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
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 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
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)"
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
overlap (poly,fp,rp,pc,pm12c,pc,pm12c)/active (poly2,ecap,phr,p2c,p2m12c,p2c,p2m12c)/cap 84.960
areacap (nwell)/well 3.600
areacap (rnw)/active 3.600
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
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
areacap (poly,fp,rp,pc,pm12c)/active 7.740 overlap (poly,fp,rp,pc,pm12c)/active ~space/w 7.740
areacap (m1,fm1,rm1,ndc,ndm12c,pdc,pdm12c,pc,pm12c,m2c,m123c)/metal1 2.700
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
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
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
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
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
areacap (m2,fm2,rm2,m3c,m123c)/metal2 1.350
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
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
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
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
areacap (m3,fm3,rm3,pad)/metal3 0.900
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
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
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
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
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
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
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
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
Actually the thing to do is to tarball it into a .tgz file and then post it, which github will allow. But this works.
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.
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)