Removed the name "licon" from the magic techfile, as it is used incorrectly compared to the SkyWater documentation, and there is no concept in magic of a single contact type between local interconnect and poly, diffusion, or tap. Also changed some of the CIF names from the SCMOS naming conventions to SkyWater's; namely HVI instead of THKOX, NSDM instead of NPLUS, and PSDM instead of PPLUS. Hopefully this eliminates the worst inonsistencies and confusions.
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech index d691af2..b561940 100644 --- a/sky130/magic/sky130.tech +++ b/sky130/magic/sky130.tech
@@ -186,14 +186,14 @@ active pdiffc,pdcontact,pdc active mvndiffc,mvndcontact,mvndc active mvpdiffc,mvpdcontact,mvpdc - active psubdiff,psubstratepdiff,ppdiff,ppd,psd - active nsubdiff,nsubstratendiff,nndiff,nnd,nsd - active mvpsubdiff,mvpsubstratepdiff,mvppdiff,mvppd,mvpsd - active mvnsubdiff,mvnsubstratendiff,mvnndiff,mvnnd,mvnsd - active psubdiffcont,psubstratepcontact,psc - active nsubdiffcont,nsubstratencontact,nsc - active mvpsubdiffcont,mvpsubstratepcontact,mvpsc - active mvnsubdiffcont,mvnsubstratencontact,mvnsc + active psubdiff,psubstratepdiff,ppdiff,ppd,psd,ptap + active nsubdiff,nsubstratendiff,nndiff,nnd,nsd,ntap + active mvpsubdiff,mvpsubstratepdiff,mvppdiff,mvppd,mvpsd,mvptap + active mvnsubdiff,mvnsubstratendiff,mvnndiff,mvnnd,mvnsd,mvntap + active psubdiffcont,psubstratepcontact,psc,ptapc + active nsubdiffcont,nsubstratencontact,nsc,ntapc + active mvpsubdiffcont,mvpsubstratepcontact,mvpsc,mvptapc + active mvnsubdiffcont,mvnsubstratencontact,mvnsc,mvntapc -active obsactive -active mvobsactive @@ -235,9 +235,9 @@ locali locali,li1,li -locali corelocali,coreli1,coreli locali rlocali,rli1,rli - locali viali,vial,mcon,lic,licon,m1c,v0 + locali viali,vial,mcon,m1c,v0 -locali obsli1,obsli - -locali obsli1c,obslic,obslicon + -locali obsli1c,obsmcon # Metal 1 metal1 metal1,m1,met1 @@ -331,8 +331,8 @@ mvndic mvndiode locali mvpdic mvpdiode locali - lic locali metal1 - obslic obsli metal1 + mcon locali metal1 + obsmcon obsli metal1 via1 metal1 metal2 via2 metal2 metal3 @@ -539,9 +539,9 @@ locali metal1 coreli metal1 rli metal1 poly_resist_stripes - lic metal1 metal2 via1arrow + mcon metal1 metal2 via1arrow obsli metal1 - obslic metal1 metal2 via1arrow + obsmcon metal1 metal2 via1arrow metal1 metal2 m1fill metal2 @@ -623,8 +623,8 @@ compose mvpfet poly mvpdiff compose mvvar poly mvnsd - paint obslic locali via1 - paint obslic obsm1 obsli,obsm1 + paint obsmcon locali via1 + paint obsmcon obsm1 obsli,obsm1 paint ndc nwell pdc paint nfet nwell pfet @@ -670,7 +670,7 @@ *nwell,*nsd,*mvnsd,dnwell,pnp *nwell,*nsd,*mvnsd,dnwell,pnp pwell,*psd,*mvpsd,npn pwell,*psd,*mvpsd,npn *li,coreli *li,coreli - *m1,m1fill,obslic *m1,m1fill,obslic + *m1,m1fill,obsmcon *m1,m1fill,obsmcon *m2,m2fill *m2,m2fill *m3,m3fill *m3,m3fill #ifdef METAL5 @@ -796,43 +796,43 @@ calma 65 28 #---------------------------------------------------------------- -# PPLUS, NPLUS (PSDM, NSDM) +# PSDM, NSDM (PPLUS, NPLUS implants) #---------------------------------------------------------------- - templayer basePPLUS pdiffres,mvpdiffres + templayer basePSDM pdiffres,mvpdiffres grow 15 or xhrpoly,uhrpoly,xpc grow 110 bloat-or allpactivetap * 125 allnactivenontap 0 bloat-or allpactivenontap * 125 allnactivetap 0 - templayer baseNPLUS ndiffres,mvndiffres + templayer baseNSDM ndiffres,mvndiffres grow 125 bloat-or allnactivetap * 125 allpactivenontap 0 bloat-or allnactivenontap * 125 allpactivetap 0 - templayer extendPPLUS basePPLUS,CELLRING + templayer extendPSDM basePSDM,CELLRING bridge 380 380 - and-not baseNPLUS + and-not baseNSDM and-not CELLRING - layer PPLUS basePPLUS,extendPPLUS + layer PSDM basePSDM,extendPSDM grow 185 shrink 185 close 265000 - mask-hints PPLUS + mask-hints PSDM calma 94 20 - templayer extendNPLUS baseNPLUS,CELLRING + templayer extendNSDM baseNSDM,CELLRING bridge 380 380 - and-not basePPLUS + and-not basePSDM and-not CELLRING - layer NPLUS baseNPLUS,extendNPLUS + layer NSDM baseNSDM,extendNSDM grow 185 shrink 185 close 265000 - mask-hints NPLUS + mask-hints NSDM calma 93 44 #---------------------------------------------------------------- @@ -1004,7 +1004,7 @@ calma 66 28 #---------------------------------------------------------------- -# THKOX (HVI) (includes rules NWELL 8-11 and DIFFTAP 14-26) +# HVI (includes rules NWELL 8-11 and DIFFTAP 14-26) #---------------------------------------------------------------- templayer thkox_area alldiffmv,mvvar @@ -1022,18 +1022,18 @@ # (HVI min width rule is 0.6 but CNTM min width rule is 0.84um) grow-min 840 - templayer baseTHKOX thkox_area,small_ptap_mv + templayer baseHVI thkox_area,small_ptap_mv bridge 700 600 grow 345 shrink 345 - templayer extendTHKOX baseTHKOX,CELLRING + templayer extendHVI baseHVI,CELLRING grow 345 shrink 345 and-not CELLRING - layer THKOX baseTHKOX,extendTHKOX - mask-hints THKOX + layer HVI baseHVI,extendHVI + mask-hints HVI calma 75 20 #---------------------------------------------------------------- @@ -1133,7 +1133,7 @@ #---------------------------------------------------------------- # MCON #---------------------------------------------------------------- - layer MCON lic + layer MCON mcon squares-grid 0 170 190 calma 67 44 @@ -1628,11 +1628,11 @@ shrink 345 and-not hvntm_block - templayer m1_small_hole allm1,obsm1,obslic + templayer m1_small_hole allm1,obsm1,obsmcon close 140000 templayer m1_hole_empty m1_small_hole - and-not allm1,obsm1,obslic + and-not allm1,obsm1,obsmcon templayer m2_small_hole allm2,obsm2 close 140000 @@ -1697,7 +1697,7 @@ # cif ostyle paint # cif paint m1strap comment # cif paint m1strap m1 - # cif paint listrap licon + # cif paint listrap viali # erase comment templayer m1strap *li @@ -2197,11 +2197,11 @@ templayer ndiffarea DIFF,DIFFTXT,DIFFPIN and-not POLY and-not NWELL - and-not PPLUS + and-not PSDM and-not DIODE and-not DIFFRES - and-not THKOX - and NPLUS + and-not HVI + and NSDM and-not CORELI copyup ndifcheck labels DIFF @@ -2222,11 +2222,11 @@ templayer mvndiffarea DIFF,DIFFTXT,DIFFPIN and-not POLY and-not NWELL - and-not PPLUS + and-not PSDM and-not DIODE and-not DIFFRES - and THKOX - and NPLUS + and HVI + and NSDM copyup ndifcheck labels DIFF labels DIFFTXT text @@ -2244,43 +2244,43 @@ copyup mvndifcheck layer ndiode DIFF - and NPLUS + and NSDM and DIODE and-not NWELL and-not POLY - and-not PPLUS - and-not THKOX + and-not PSDM + and-not HVI and-not LVTN labels DIFF layer ndiodelvt DIFF - and NPLUS + and NSDM and DIODE and-not NWELL and-not POLY - and-not PPLUS - and-not THKOX + and-not PSDM + and-not HVI and LVTN labels DIFF templayer ndiodearea DIODE - and NPLUS - and-not THKOX + and NSDM + and-not HVI and-not NWELL - copyup DIODE,NPLUS + copyup DIODE,NSDM layer ndiffres DIFFRES - and NPLUS - and-not THKOX + and NSDM + and-not HVI labels DIFF templayer pdiffarea DIFF,DIFFTXT,DIFFPIN and-not POLY and NWELL - and-not NPLUS + and-not NSDM and-not DIODE - and-not THKOX - and PPLUS + and-not HVI + and PSDM copyup pdifcheck labels DIFF variants (vendor) @@ -2293,42 +2293,42 @@ layer pdiff pdiffarea layer mvndiode DIFF - and NPLUS + and NSDM and DIODE - and THKOX + and HVI and-not POLY - and-not PPLUS + and-not PSDM and-not LVTN labels DIFF layer nndiode DIFF - and NPLUS + and NSDM and DIODE - and THKOX + and HVI and-not POLY - and-not PPLUS + and-not PSDM and LVTN labels DIFF templayer mvndiodearea DIODE - and NPLUS - and THKOX + and NSDM + and HVI and-not NWELL - copyup DIODE,NPLUS + copyup DIODE,NSDM layer mvndiffres DIFFRES - and NPLUS - and THKOX + and NSDM + and HVI labels DIFF templayer mvpdiffarea DIFF,DIFFTXT,DIFFPIN and-not POLY and NWELL - and-not NPLUS - and THKOX + and-not NSDM + and HVI and-not DIODE and-not DIFFRES - and PPLUS + and PSDM copyup mvpdifcheck labels DIFF variants (vendor) @@ -2345,45 +2345,45 @@ copyup pdifcheck layer pdiode DIFF - and PPLUS + and PSDM and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and-not LVTN and-not HVTP and DIODE labels DIFF layer pdiodelvt DIFF - and PPLUS + and PSDM and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and LVTN and-not HVTP and DIODE labels DIFF layer pdiodehvt DIFF - and PPLUS + and PSDM and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and-not LVTN and HVTP and DIODE labels DIFF templayer pdiodearea DIODE - and PPLUS - and-not THKOX - copyup DIODE,PPLUS + and PSDM + and-not HVI + copyup DIODE,PSDM # Define pfet areas as known pdiff, regardless of the presence of a well. templayer pfetarea DIFF - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and POLY layer pfet pfetarea @@ -2438,25 +2438,25 @@ copyup mvpdifcheck layer mvpdiode DIFF - and PPLUS + and PSDM and-not POLY - and-not NPLUS - and THKOX + and-not NSDM + and HVI and DIODE labels DIFF templayer mvpdiodearea DIODE - and PPLUS - and THKOX - copyup DIODE,PPLUS + and PSDM + and HVI + copyup DIODE,PSDM # Define pfet areas as known pdiff, # regardless of the presence of a # well. templayer mvpfetarea DIFF - and-not NPLUS - and THKOX + and-not NSDM + and HVI and POLY layer mvpfet mvpfetarea @@ -2468,9 +2468,9 @@ labels DIFF layer pdiff DIFF,DIFFTXT,DIFFPIN - and-not NPLUS + and-not NSDM and-not POLY - and-not THKOX + and-not HVI and-not DIODE and-not DIFFRES labels DIFF @@ -2482,16 +2482,16 @@ labels DIFFPIN port layer pdiffres DIFFRES - and PPLUS + and PSDM and NWELL - and-not THKOX + and-not HVI labels DIFF layer nfet DIFF and POLY - and-not PPLUS - and NPLUS - and-not THKOX + and-not PSDM + and NSDM + and-not HVI and-not LVTN and-not SONOS and-not STDCELL @@ -2500,10 +2500,10 @@ layer scnfet DIFF and POLY - and-not PPLUS - and NPLUS + and-not PSDM + and NSDM and-not NWELL - and-not THKOX + and-not HVI and-not LVTN and-not SONOS and STDCELL @@ -2511,8 +2511,8 @@ layer npass DIFF and POLY - and-not PPLUS - and NPLUS + and-not PSDM + and NSDM and-not NWELL and COREID # Shrink-grow operation eliminates the smaller npass device @@ -2522,8 +2522,8 @@ layer npd DIFF and POLY - and-not PPLUS - and NPLUS + and-not PSDM + and NSDM and-not NWELL and COREID # Shrink-grow operation eliminates the smaller npass device @@ -2533,28 +2533,28 @@ layer nfetlvt DIFF and POLY - and-not PPLUS - and NPLUS - and-not THKOX + and-not PSDM + and NSDM + and-not HVI and LVTN and-not SONOS labels DIFF layer nsonos DIFF and POLY - and-not PPLUS - and NPLUS - and-not THKOX + and-not PSDM + and NSDM + and-not HVI and LVTN and SONOS labels DIFF templayer nsdarea TAP - and NPLUS + and NSDM and NWELL and-not POLY - and-not PPLUS - and-not THKOX + and-not PSDM + and-not HVI and-not CORELI copyup nsubcheck @@ -2562,14 +2562,14 @@ labels TAP layer nsd TAP,TAPPIN - and NPLUS + and NSDM and-not POLY - and-not THKOX + and-not HVI labels TAP labels TAPPIN port layer corenvar TAP - and NPLUS + and NSDM and POLY and COREID labels TAP @@ -2582,11 +2582,11 @@ copyup nsubcheck templayer psdarea TAP - and PPLUS + and PSDM and-not NWELL and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and-not pfetexpand copyup psubcheck @@ -2594,14 +2594,14 @@ labels TAP layer psd TAP,TAPPIN - and PPLUS + and PSDM and-not POLY - and-not THKOX + and-not HVI labels TAP labels TAPPIN port layer corepvar TAP - and PPLUS + and PSDM and POLY and COREID labels TAP @@ -2610,9 +2610,9 @@ grow 500 layer mvpdiff DIFF,DIFFTXT,DIFFPIN - and-not NPLUS + and-not NSDM and-not POLY - and THKOX + and HVI and mvpfetexpand labels DIFF variants (vendor) @@ -2623,42 +2623,42 @@ labels DIFFPIN port layer mvpdiffres DIFFRES - and PPLUS + and PSDM and NWELL - and THKOX + and HVI and-not mvrdpioedge labels DIFF templayer mvnfetarea DIFF and POLY - and-not PPLUS - and NPLUS + and-not PSDM + and NSDM and-not LVTN - and THKOX + and HVI grow 350 templayer mvnnfetarea DIFF,TAP and POLY - and-not PPLUS - and NPLUS + and-not PSDM + and NSDM and LVTN - and THKOX + and HVI and-not mvnfetarea layer mvnfetesd DIFF and POLY - and-not PPLUS - and NPLUS - and THKOX + and-not PSDM + and NSDM + and HVI and ESDID and-not mvnnfetarea labels DIFF layer mvnfet DIFF and POLY - and-not PPLUS - and NPLUS - and THKOX + and-not PSDM + and NSDM + and HVI and-not ESDID and-not mvnnfetarea labels DIFF @@ -2667,19 +2667,19 @@ labels DIFF templayer mvnsdarea TAP - and NPLUS + and NSDM and NWELL and-not POLY - and-not PPLUS - and THKOX + and-not PSDM + and HVI copyup mvnsubcheck layer mvnsd mvnsdarea labels TAP layer mvnsd TAP,TAPPIN - and NPLUS - and THKOX + and NSDM + and HVI labels TAP labels TAPPIN port @@ -2691,11 +2691,11 @@ copyup mvnsubcheck templayer mvpsdarea DIFF - and PPLUS + and PSDM and-not NWELL and-not POLY - and-not NPLUS - and THKOX + and-not NSDM + and HVI and-not mvpfetexpand copyup mvpsubcheck @@ -2703,8 +2703,8 @@ labels DIFF layer mvpsd TAP,TAPPIN - and PPLUS - and THKOX + and PSDM + and HVI labels TAP labels TAPPIN port @@ -2719,33 +2719,33 @@ copyup mvpsubcheck layer psd TAP - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and-not POLY - and-not THKOX + and-not HVI and-not pfetexpand and psdexpand layer nsd TAP - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and-not POLY - and-not THKOX + and-not HVI and nsdexpand layer mvpsd TAP - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and-not POLY - and THKOX + and HVI and-not mvpfetexpand and mvpsdexpand layer mvnsd TAP - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and-not POLY - and THKOX + and HVI and mvnsdexpand templayer hresarea POLY @@ -2757,11 +2757,11 @@ grow 3000 templayer diffresarea DIFFRES - and-not THKOX + and-not HVI grow 3000 templayer mvdiffresarea DIFFRES - and THKOX + and HVI grow 3000 templayer resarea diffresarea,mvdiffresarea,hresarea,uresarea @@ -2769,21 +2769,21 @@ layer pfet POLY and DIFF and diffresarea - and-not NPLUS + and-not NSDM and-not STDCELL layer scpfet POLY and DIFF and diffresarea and-not HVTP - and-not NPLUS + and-not NSDM and STDCELL layer scpfethvt POLY and DIFF and diffresarea and HVTP - and-not NPLUS + and-not NSDM and STDCELL templayer xpolyterm RPM,URPM @@ -2831,7 +2831,7 @@ and POLYRES and RPM and-not URPM - and PPLUS + and PSDM and NPC and-not xpolyterm labels POLY @@ -2846,10 +2846,10 @@ templayer ndcbase CONT and DIFF - and NPLUS + and NSDM and-not NWELL and LI - and-not THKOX + and-not HVI layer ndc ndcbase grow 85 @@ -2861,10 +2861,10 @@ templayer nscbase CONT and DIFF,TAP - and NPLUS + and NSDM and NWELL and LI - and-not THKOX + and-not HVI layer nsc nscbase grow 85 @@ -2876,10 +2876,10 @@ templayer pdcbase CONT and DIFF - and PPLUS + and PSDM and NWELL and LI - and-not THKOX + and-not HVI layer pdc pdcbase grow 85 @@ -2891,10 +2891,10 @@ templayer pdcnowell CONT and DIFF - and PPLUS + and PSDM and pfetexpand and LI - and-not THKOX + and-not HVI layer pdc pdcnowell grow 85 @@ -2906,11 +2906,11 @@ templayer pscbase CONT and DIFF,TAP - and PPLUS + and PSDM and-not NWELL and-not pfetexpand and LI - and-not THKOX + and-not HVI layer psc pscbase grow 85 @@ -2936,11 +2936,11 @@ templayer ndicbase CONT and DIFF - and NPLUS + and NSDM and DIODE and-not POLY - and-not PPLUS - and-not THKOX + and-not PSDM + and-not HVI and-not LVTN layer ndic ndicbase @@ -2953,11 +2953,11 @@ templayer ndilvtcbase CONT and DIFF - and NPLUS + and NSDM and DIODE and-not POLY - and-not PPLUS - and-not THKOX + and-not PSDM + and-not HVI and LVTN layer ndilvtc ndilvtcbase @@ -2970,11 +2970,11 @@ templayer pdicbase CONT and DIFF - and PPLUS + and PSDM and DIODE and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and-not LVTN and-not HVTP @@ -2988,11 +2988,11 @@ templayer pdilvtcbase CONT and DIFF - and PPLUS + and PSDM and DIODE and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and LVTN and-not HVTP @@ -3006,11 +3006,11 @@ templayer pdihvtcbase CONT and DIFF - and PPLUS + and PSDM and DIODE and-not POLY - and-not NPLUS - and-not THKOX + and-not NSDM + and-not HVI and-not LVTN and HVTP @@ -3024,10 +3024,10 @@ templayer mvndcbase CONT and DIFF - and NPLUS + and NSDM and-not NWELL and LI - and THKOX + and HVI layer mvndc mvndcbase grow 85 @@ -3039,10 +3039,10 @@ templayer mvnscbase CONT and DIFF,TAP - and NPLUS + and NSDM and NWELL and LI - and THKOX + and HVI layer mvnsc mvnscbase grow 85 @@ -3054,10 +3054,10 @@ templayer mvpdcbase CONT and DIFF - and PPLUS + and PSDM and NWELL and LI - and THKOX + and HVI layer mvpdc mvpdcbase grow 85 @@ -3069,10 +3069,10 @@ templayer mvpdcnowell CONT and DIFF - and PPLUS + and PSDM and mvpfetexpand and MET1 - and THKOX + and HVI layer mvpdc mvpdcnowell grow 85 @@ -3084,11 +3084,11 @@ templayer mvpscbase CONT and DIFF,TAP - and PPLUS + and PSDM and-not NWELL and-not mvpfetexpand and LI - and THKOX + and HVI layer mvpsc mvpscbase grow 85 @@ -3100,12 +3100,12 @@ templayer mvndicbase CONT and DIFF - and NPLUS + and NSDM and DIODE and-not POLY - and-not PPLUS + and-not PSDM and-not LVTN - and THKOX + and HVI layer mvndic mvndicbase grow 85 @@ -3117,12 +3117,12 @@ templayer nndicbase CONT and DIFF - and NPLUS + and NSDM and DIODE and-not POLY - and-not PPLUS + and-not PSDM and LVTN - and THKOX + and HVI layer nndic nndicbase grow 85 @@ -3134,11 +3134,11 @@ templayer mvpdicbase CONT and DIFF - and PPLUS + and PSDM and DIODE and-not POLY - and-not NPLUS - and THKOX + and-not NSDM + and HVI layer mvpdic mvpdicbase grow 85 @@ -3180,7 +3180,7 @@ and LIRES,LISHORT labels LIRES,LISHORT - layer lic MCON + layer mcon MCON grow 95 shrink 95 shrink 85 @@ -3365,18 +3365,18 @@ #endif # Find diffusion not covered in - # NPLUS or PPLUS and pull it into + # NSDM or PSDM and pull it into # the next layer up templayer gentrans DIFF - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and POLY copyup DIFF,POLY templayer gendiff DIFF,TAP - and-not PPLUS - and-not NPLUS + and-not PSDM + and-not NSDM and-not POLY and-not COREID copyup DIFF @@ -3386,8 +3386,8 @@ templayer ndiccopy CONT and LI and DIODE - and NPLUS - and-not THKOX + and NSDM + and-not HVI layer ndic ndiccopy grow 85 @@ -3400,8 +3400,8 @@ templayer mvndiccopy CONT and LI and DIODE - and NPLUS - and THKOX + and NSDM + and HVI layer mvndic mvndiccopy grow 85 @@ -3414,8 +3414,8 @@ templayer pdiccopy CONT and LI and DIODE - and PPLUS - and-not THKOX + and PSDM + and-not HVI layer pdic pdiccopy grow 85 @@ -3428,8 +3428,8 @@ templayer mvpdiccopy CONT and LI and DIODE - and PPLUS - and THKOX + and PSDM + and HVI layer mvpdic mvpdiccopy grow 85 @@ -3590,9 +3590,9 @@ layer var POLY and TAP - and NPLUS + and NSDM and NWELL - and-not THKOX + and-not HVI and-not HVTP # NOTE: Else forms a varactor that is not in the vendor netlist. and-not COREID @@ -3600,17 +3600,17 @@ layer varhvt POLY and TAP - and NPLUS + and NSDM and NWELL - and-not THKOX + and-not HVI and HVTP labels POLY layer mvvar POLY and TAP - and NPLUS + and NSDM and NWELL - and THKOX + and HVI labels POLY calma NWELL 64 20 @@ -3626,12 +3626,12 @@ calma HVTP 78 44 # SONOS (TUNM) calma SONOS 80 20 - # NPLUS = NSDM - calma NPLUS 93 44 - # PPLUS = PSDM - calma PPLUS 94 20 - # HVI - calma THKOX 75 20 + # NSDM (NPLUS) + calma NSDM 93 44 + # PSDM (PPLUS) + calma PSDM 94 20 + # HVI (THKOX) + calma HVI 75 20 # NPC calma NPC 95 20 # P+ POLY MASK @@ -4145,7 +4145,7 @@ width coreli,pc,ndc,nsc,pdc,psc,allli,*obsli 140 \ "Core local interconnect width < %d (li.c1)" - spacing coreli,pc,ndc,nsc,pdc,psc,lic allli,*obsli 140 touching_ok \ + spacing coreli,pc,ndc,nsc,pdc,psc,mcon allli,*obsli 140 touching_ok \ "Core local interconnect spacing < %d (li.c2)" surround pc/li *li,coreli 80 directional \ @@ -4165,10 +4165,10 @@ # MCON - Contact between local interconnect and metal1 #------------------------------------------------------------- - width lic/m1 170 "mcon.width < %d (mcon.1)" - spacing lic/m1 lic/m1,obslic/m1 190 touching_ok "mcon.spacing < %d (mcon.2)" + width mcon/m1 170 "mcon.width < %d (mcon.1)" + spacing mcon/m1 mcon/m1,obsmcon/m1 190 touching_ok "mcon.spacing < %d (mcon.2)" - exact_overlap lic/li + exact_overlap mcon/li #------------------------------------------------------------- # METAL1 - @@ -4178,9 +4178,9 @@ spacing allm1,m1fill allm1,*obsm1,m1fill 140 touching_ok "Metal1 spacing < %d (met1.2)" area allm1,*obsm1 83000 140 "Metal1 minimum area < %a (met1.6)" - surround lic/m1 *met1 30 absence_illegal \ + surround mcon/m1 *met1 30 absence_illegal \ "Metal1 overlap of local interconnect contact < %d (met1.4)" - surround lic/m1 *met1 60 directional \ + surround mcon/m1 *met1 60 directional \ "Metal1 overlap of local interconnect contact < %d in one direction (met1.5)" angles allm1,m1fill 45 "Only 45 and 90 degree angles permitted on metal1 (x.3a)" @@ -4561,7 +4561,7 @@ routing mrdl met6 MET6 m6 MRDL METRDL #endif - cut lic mcon MCON Mcon + cut mcon mcon MCON Mcon cut m2c via via1 VIA VIA1 cont2 via12 cut m3c via2 VIA2 cont3 via23 #ifdef METAL5 @@ -4582,8 +4582,8 @@ obs obsmrdl met6 #endif - # NOTE: obslic only used with li1, not obsli. - obs obslic mcon + # NOTE: obsmcon only used with li1, not obsli. + obs obsmcon mcon # Vias on obstruction layers should be ignored, so cast to obstruction metal. obs obsm1 via @@ -4667,7 +4667,7 @@ height alldiffcont 0.3262 0.61 height pc 0.5062 0.43 height allli 0.9361 0.10 - height lic 1.0361 0.34 + height mcon 1.0361 0.34 height allm1 1.3761 0.36 height m1fill 1.3761 0.36 height v1 1.7361 0.27 @@ -4699,7 +4699,7 @@ antenna poly sidewall 50 none antenna allcont surface 3 none antenna li sidewall 75 0 450 - antenna lic surface 3 0 18 + antenna mcon surface 3 0 18 antenna m1,m2,m3 sidewall 400 2600 400 antenna v1 surface 3 0 18 antenna v2 surface 6 0 36 @@ -4754,7 +4754,7 @@ contact mvndc,mvnsc 15000 contact mvpdc,mvpsc 15000 contact pc 15000 - contact lic 152000 + contact mcon 152000 contact m2c 4500 contact m3c 3410 #ifdef METAL5 @@ -5216,7 +5216,7 @@ # All wiring values are in nanometers scalefactor 10 - contact lic 170 li 0 0 m1 30 60 + contact mcon 170 li 0 0 m1 30 60 contact v1 260 m1 0 30 m2 0 30 contact v2 280 m2 0 45 m3 25 0 #ifdef METAL5