diff --git a/VERSION b/VERSION
index bde91a2..56d0dad 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.47
+1.0.48
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 9f584f8..7d87b56 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -367,6 +367,8 @@
   allnfets	   nfet,npass,npd,scnfet,mvnfet,mvnnfet,nfetlvt,nsonos
   allpfets	   pfet,ppu,scpfet,mvpfet,pfethvt,pfetlvt,pfetmvt
   allfets	   allnfets,allpfets,varactor,mvvaractor,varhvt
+  allfetsstd	   nfet,mvnfet,mvnnfet,nfetlvt,pfet,mvpfet,pfethvt,pfetlvt,pfetmvt
+  allfetsspecial   npass,npd,scnfet,nsonos,ppu,scpfet
 
   allnactivenonfet *ndiff,*nsd,*ndiode,*nndiode,*mvndiff,*mvnsd,*mvndiode,*ndiodelvt
   allnactive	   allnactivenonfet,allnfets
@@ -782,26 +784,24 @@
 	grow	110
 	bloat-or allpactivetap * 125 allnactivenontap 0
 	bloat-or allpactivenontap * 125 allnactivetap 0
-	bridge	380 380
+
+ templayer baseNPLUS ndiffres,mvndiffres
+ 	grow	125
+	bloat-or allnactivetap * 125 allpactivenontap 0
+	bloat-or allnactivenontap * 125 allpactivetap 0
 
  templayer extendPPLUS  basePPLUS,CELLRING
-	grow	185
-	shrink	185
+	bridge	380 380
+	and-not baseNPLUS
 	and-not	CELLRING
 
  layer PPLUS basePPLUS,extendPPLUS 
 	close   265000
 	calma	94 20
 
- templayer baseNPLUS ndiffres,mvndiffres
- 	grow	125
-	bloat-or allnactivetap * 125 allpactivenontap 0
-	bloat-or allnactivenontap * 125 allpactivetap 0
-	bridge	380 380
-
  templayer extendNPLUS  baseNPLUS,CELLRING
- 	grow	185
- 	shrink	185
+	bridge	380 380
+	and-not basePPLUS
 	and-not	CELLRING
 
  layer NPLUS baseNPLUS,extendNPLUS
@@ -1308,10 +1308,26 @@
  and-not dnwell_shrink
  and-not nwell
 
+ templayer pwell_in_dnwell dnwell
+ and-not nwell
+
  # SONOS nFET devices must be in deep nwell
  templayer dnwell_missing nsonos
  and-not dnwell
 
+ # SONOS nFET devices must be in cell with abutment box
+ templayer abutment_box
+	boundary
+
+ templayer bbox_missing nsonos
+	and-not abutment_box
+
+ # Make sure nwell covers varactor poly
+ templayer var_poly_no_nwell
+	bloat-all varactor,mvvaractor *poly
+	grow 150
+	and-not nwell
+
  # Define MiM cap bottom plate for spacing rule
  templayer mim_bottom
  bloat-all *mimcap *metal3
@@ -1402,7 +1418,7 @@
  and nwell
  
  templayer ntap_missing *pdiff,*mvpdiff
- and-not dnwell
+ and-not pwell_in_dnwell
  and-not ntap_reach
 
  templayer dptap_reach psc,mvpsc
@@ -1466,6 +1482,22 @@
  and dnwell
  and-not dptap_reach
 
+ templayer pdiff_crosses_dnwell dnwell
+ grow 20
+ and-not dnwell
+ and allpdifflv,allpdiffmv
+
+ templayer nwell_with_tap
+ bloat-all nsc,mvnsc nwell
+
+ templayer nwell_missing_tap nwell
+ and-not nwell_with_tap
+
+ # Make sure varactor nwell contains no P diffusion
+ templayer pdiff_in_varactor_well
+ bloat-all varactor,mvvaractor nwell
+ and allpactive
+
  templayer m1_small_hole allm1,obsm1,obslic
  close   140000
 
@@ -1478,6 +1510,42 @@
  templayer m2_hole_empty m2_small_hole
  and-not allm2,obsm2
 
+ templayer m1_huge allm1
+ shrink 1500
+ grow 1500
+
+ templayer m1_large_halo m1_huge
+ grow 280
+ and-not m1_huge
+ and allm1
+
+ templayer m2_huge allm2
+ shrink 1500
+ grow 1500
+
+ templayer m2_large_halo m2_huge
+ grow 280
+ and-not m2_huge
+ and allm2
+
+ templayer m3_huge allm3
+ shrink 1500
+ grow 1500
+
+ templayer m3_large_halo m3_huge
+ grow 400
+ and-not m3_huge
+ and allm3
+
+ templayer m4_huge allm4
+ shrink 1500
+ grow 1500
+
+ templayer m4_large_halo m4_huge
+ grow 400
+ and-not m4_huge
+ and allm4
+
 #ifdef EXPERIMENTAL
 #----------------------------------------------------------------
 style paint
@@ -4911,11 +4979,17 @@
  spacing dnwell dnwell 6300 touching_ok "Deep N-well spacing < %d (dnwell.3)"
  spacing dnwell allnwell 4500 surround_ok \
 	"Deep N-well spacing to N-well < %d (nwell.7)"
+
+ variants (full)
  cifmaxwidth nwell_missing 0 bend_illegal \
 	"N-well overlap of Deep N-well < 0.4um outside, 1.03um inside (nwell.5a, 7)"
  cifmaxwidth dnwell_missing 0 bend_illegal \
 	"SONOS nFET must be in Deep N-well (tunm.6a)"
 
+ cifmaxwidth pdiff_crosses_dnwell 0 bend_illegal \
+	"P+ diff cannot straddle Deep N-well (dnwell.5)"
+ variants (fast),(full)
+
 #-----------------------------
 # NWELL
 #-----------------------------
@@ -4923,6 +4997,11 @@
  width allnwell 840 "N-well width < %d (nwell.1)"
  spacing allnwell allnwell 1270 touching_ok "N-well spacing < %d (nwell.2a)"
 
+ variants (full)
+ cifmaxwidth nwell_missing_tap 0 bend_illegal \
+	"All nwells must contain metal-connected N+ taps (nwell.4)"
+ variants (fast),(full)
+
 #-----------------------------
 # DIFF
 #-----------------------------
@@ -4931,6 +5010,7 @@
 	150 "Diffusion width < %d (diff/tap.1)"
  width *mvndiff,mvnfet,mvnnfet,*mvndiode,*nndiode,mvndiffres,*mvpdiff,mvpfet,*mvpdiode 290 \
 	"MV Diffusion width < %d (diff/tap.14)"
+
  width *mvnsd,*mvpsd 150 "MV Tap width < %d (diff/tap.1)"
  extend *mvpsd *mvndiff 700 "MV Butting tap length < %d (diff/tap.16)"
  extend *mvnsd *mvpdiff 700 "MV Butting tap length < %d (diff/tap.16)"
@@ -4968,24 +5048,33 @@
  spacing *mvndiode *mvndiode 1070 touching_ok \
 	"MV N-diode spacing < %d (hvntm.2 + 2 * hvntm.3)"
 
+ spacing allnfets allpactivenonfet 270 touching_illegal \
+	"nFET cannot abut P-diffusion (diff/tap.3)"
+ spacing allpfets allnactivenonfet 270 touching_illegal \
+	"pFET cannot abut N-diffusion (diff/tap.3)"
+
  # Butting junction rules
  edge4way (*psd)/a ~(*ndiff,*psd)/a 125 ~(*ndiff)/a (*ndiff)/a 125 \
-	"N-Diffusion to P-tap spacing < %d across butted junction"
+	"N-Diffusion to P-tap spacing < %d across butted junction (psd.5b)"
  edge4way (*ndiff)/a ~(*ndiff,*psd)/a 125 ~(*psd)/a (*psd)/a 125 \
-	"N-Diffusion to P-tap spacing < %d across butted junction"
+	"N-Diffusion to P-tap spacing < %d across butted junction (psd.5a)"
  edge4way (*nsd)/a ~(*pdiff,*nsd)/a 125 ~(*pdiff)/a (*pdiff)/a 125 \
-	"P-Diffusion to N-tap spacing < %d across butted junction"
+	"P-Diffusion to N-tap spacing < %d across butted junction (nsd.5b)"
  edge4way (*pdiff)/a ~(*pdiff,*nsd)/a 125 ~(*nsd)/a (*nsd)/a 125 \
-	"P-Diffusion to N-tap spacing < %d across butted junction"
+	"P-Diffusion to N-tap spacing < %d across butted junction (nsd.5a)"
 
  edge4way (*mvpsd)/a ~(*mvndiff,*mvpsd)/a 125 ~(*mvndiff)/a (*mvndiff)/a 125 \
-	"MV N-Diffusion to MV P-tap spacing < %d across butted junction"
+	"MV N-Diffusion to MV P-tap spacing < %d across butted junction (psd.5b)"
  edge4way (*mvndiff)/a ~(*mvndiff,*mvpsd)/a 125 ~(*mvpsd)/a (*mvpsd)/a 125 \
-	"MV N-Diffusion to MV P-tap spacing < %d across butted junction"
+	"MV N-Diffusion to MV P-tap spacing < %d across butted junction (psd.5a)"
  edge4way (*mvnsd)/a ~(*mvpdiff,*mvnsd)/a 125 ~(*mvpdiff)/a (*mvpdiff)/a 125 \
-	"MV P-Diffusion to MV N-tap spacing < %d across butted junction"
+	"MV P-Diffusion to MV N-tap spacing < %d across butted junction (nsd.5b)"
  edge4way (*mvpdiff)/a ~(*mvpdiff,*mvnsd)/a 125 ~(*mvnsd)/a (*mvnsd)/a 125 \
-	"MV P-Diffusion to MV N-tap spacing < %d across butted junction"
+	"MV P-Diffusion to MV N-tap spacing < %d across butted junction (nsd.5a)"
+
+ # Sandwiched butting junction restrictions
+ edge4way (*pdiff)/a (*nsd)/a 400 ~(*pdiff)/a 0 0 "NSDM width < %d (diff/tap.5)
+ edge4way (*ndiff)/a (*psd)/a 400 ~(*ndiff)/a 0 0 "PSDM width < %d (diff/tap.5)
 
  variants (full)
 
@@ -4997,33 +5086,70 @@
  cifmaxwidth ntap_missing 0 bend_illegal \
 	"P-diff distance to N-tap must be < 15.0um (LU.3)"
 
- variants *
+ variants (fast),(full)
 
 #-----------------------------
 # POLY
 #-----------------------------
 
- width allpoly 150 "poly.width < %d (poly.1a)"
- spacing allpoly allpoly 210 touching_ok "poly.spacing < %d (poly.2)"
- spacing allpolynonfet alldifflvnonfet 75 corner_ok allfets \
-	"poly.spacing to Diffusion < %d (poly.4a)"
+ width allpoly 150 "poly width < %d (poly.1a)"
+ spacing allpoly allpoly 210 touching_ok "poly spacing < %d (poly.2)"
+
+ spacing allpolynonfet \
+	*ndif,*ndiode,*nndiode,ndiffres,*ndiodelvt,*pdif,*pdiode,pdiffres,*pdiodelvt,*pdiodehvt \
+	75 corner_ok allfets \
+	"poly spacing to Diffusion < %d (poly.4)"
  spacing npres *nsd 480 touching_illegal \
-	"poly.resistor spacing to N-tap < %d (poly.9)"
+	"poly resistor spacing to N-tap < %d (poly.9)"
  overhang *ndiff,rndiff nfet,scnfet,npd,npass 250 "N-Diffusion overhang of nmos < %d (poly.7)"
  overhang *mvndiff,mvrndiff mvnfet,mvnnfet 250 \
 	"N-Diffusion overhang of nmos < %d (poly.7)"
  overhang *pdiff,rpdiff pfet,scpfet,ppu 250 "P-Diffusion overhang of pmos < %d (poly.7)"
  overhang *mvpdiff,mvrpdiff mvpfet 250 "P-Diffusion overhang of pmos < %d (poly.7)"
- overhang *poly allfets 130 "poly.overhang of transistor < %d (poly.8)"
+ overhang *poly allfets 130 "poly overhang of transistor < %d (poly.8)"
  rect_only allfets "No bends in transistors (poly.11)"
  rect_only xhrpoly,uhrpoly "No bends in poly resistors (poly.11)"
  extend  xpc/a xhrpoly,uhrpoly 2160 \
- 	"poly.contact extends poly resistor by < %d (licon.1c + li.5)"
- spacing xhrpoly,uhrpoly xhrpoly,uhrpoly 1240 touching_illegal \
+ 	"poly contact extends poly resistor by < %d (licon.1c + li.5)"
+ spacing xhrpoly,uhrpoly,xpc xhrpoly,uhrpoly,xpc 1240 touching_illegal \
 	"Distance between precision resistors < %d (rpm.2 + 2 * rpm.3)"
 
+ spacing xhrpoly,uhrpoly,xpc allndifflv,allndiffmv 780 touching_illegal \
+	"Distance from precision resistor to N+ diffusion < %d (rpm.3 + rpm.6 + nsd.5a)"
+ spacing xhrpoly,uhrpoly,xpc *poly 400 touching_illegal \
+	"Distance from precision resistor to unrelated poly < %d (rpm.3 + rpm.7)"
+ spacing xhrpoly,uhrpoly,xpc allndiffmvnontap 830 touching_illegal \
+	"Distance from precision resistor to MV N+ diffusion < %d (rpm.3 + rpm.9)"
+
 #--------------------------------------------------------------------
-# NPC (Nitride poly.Cut)
+# HVTP
+#--------------------------------------------------------------------
+
+ spacing pmoshvt,pdiodehvt,varactorhvt pfet,ppu,scpfet,mvpfet,pfetlvt,pfetmvt \
+		360 touching_illegal \
+		"Min. spacing between pFET and HVTP < %d (hvtp.4)"
+
+ spacing pmoshvt,pdiodehvt,varactorhvt varactor 360 touching_illegal \
+		"Min. spacing between varactor and HVTP < %d (hvtp.4 + varac.3)"
+
+#--------------------------------------------------------------------
+# LVTN
+#--------------------------------------------------------------------
+
+ spacing pmoslvt,nmoslvt,pdiodelvt,ndiodelvt allfets 360 touching_illegal \
+		"Min. spacing between FET and LVTP < %d (lvtn.3a)"
+
+ spacing pmoslvt,nmoslvt,pdiodelvt,ndiodelvt pmoshvt,pdiodehvt,varactorhvt \
+		740 touching_illegal \
+		"Min. spacing between LVTN and LVTP < %d (lvtn.9)"
+
+ # Spacing across S/D direction requires edge rule
+ edge4way allfets allactivenonfet 415 \
+	~(pmoslvt,nmoslvt,pdiodelvt,ndiodelvt)/a allfets 415 \
+	"Min. spacing between FET and LVTP in S/D direction < %d (lvtn.3b)"
+
+#--------------------------------------------------------------------
+# NPC (Nitride poly Cut)
 #--------------------------------------------------------------------
 
 # Layer NPC is defined automatically around poly contacts (grow 0.1um)
@@ -5038,9 +5164,11 @@
  width psc/li 170 "P-tap contact width     < %d (licon.1)"
  width ndic/li 170 "N-diode contact width < %d (licon.1)"
  width pdic/li 170 "P-diode contact width < %d (licon.1)"
- width pc/li  170 "poly.contact width        < %d (licon.1)"
+ width pc/li  170 "poly contact width        < %d (licon.1)"
 
- width xpc/li  350 "poly.resistor contact width < %d (licon.1b + 2 * li.5)"
+ width xpc/li  350 "poly resistor contact width < %d (licon.1b + 2 * li.5)"
+ area  xpc/li  700000 350 "poly resistor contact length < 2.0um (licon.1c)"
+ area allli,*obsli 56100 170 "Local interconnect minimum area < %a (li.6)"
 
  width mvndc/li 170 "N-diffusion contact width < %d (licon.1)"
  width mvnsc/li 170 "N-tap contact width     < %d (licon.1)"
@@ -5058,11 +5186,11 @@
  spacing pc pc 170 touching_ok "Poly1 contact spacing < %d (licon.2)"
 
  spacing pc alldiff 190 touching_illegal \
-	"poly.contact spacing to diffusion < %d (licon.14)"
- spacing pc allpfets 235 touching_illegal \
-	"poly.contact spacing to pFET < %d (licon.9 + psdm.5a)"
+	"poly contact spacing to diffusion < %d (licon.14)"
+ spacing pc allpdifflv,allpdiffmv 235 touching_illegal \
+	"poly contact spacing to P-diffusion < %d (licon.9 + psdm.5a)"
 
- spacing ndc,pdc nfet,pfet 55 touching_illegal \
+ spacing ndc,pdc nfet,nfetlvt,pfet,pfethvt,pfetlvt,pfetmvt 55 touching_illegal \
 	"Diffusion contact to gate < %d (licon.11)"
  spacing ndc,pdc scnfet,npd,npass,scpfet,ppu 50 touching_illegal \
 	"Diffusion contact to standard cell gate < %d (licon.11)"
@@ -5084,6 +5212,16 @@
  surround pdic/a *pdi 40 absence_illegal \
 	"P-diode overlap of N-diode contact < %d (licon.5a)"
 
+ surround nsc/a *nsd 40 absence_illegal \
+	"N-tap overlap of N-tap contact < %d (licon.5a)"
+ surround psc/a *psd 40 absence_illegal \
+	"P-tap overlap of P-tap contact < %d (licon.5a)"
+
+ spacing psc/a allnactivenontap 60 touching_illegal \
+	"Min. space between P-tap contact and butting N diffusion < %d (licon.5b)"
+ spacing nsc/a allpactivenontap 60 touching_illegal \
+	"Min. space between N-tap contact and butting P diffusion < %d (licon.5b)"
+
  surround ndc/a *ndiff,nfet,scnfet,npd,npass,nfetlvt 60 directional \
 	"N-diffusion overlap of N-diffusion contact < %d in one direction (licon.5c)"
  surround pdc/a *pdiff,pfet,scpfet,ppu,pfethvt,pfetmvt,pfetlvt 60 directional \
@@ -5107,6 +5245,16 @@
  surround mvpdic/a *mvpdi 40 absence_illegal \
 	"P-diode overlap of N-diode contact < %d (licon.5a)"
 
+ surround mvnsc/a *mvnsd 40 absence_illegal \
+	"N-tap overlap of N-tap contact < %d (licon.5a)"
+ surround mvpsc/a *mvpsd 40 absence_illegal \
+	"P-tap overlap of P-tap contact < %d (licon.5a)"
+
+ spacing mvpsc/a allndiffmvnontap 60 touching_illegal \
+	"Min. space between P-tap contact and butting N diffusion < %d (licon.5b)"
+ spacing mvnsc/a allpdiffmvnontap 60 touching_illegal \
+	"Min. space between N-tap contact and butting P diffusion < %d (licon.5b)"
+
  surround mvndc/a *mvndiff,mvnfet 60 directional \
 	"N-diffusion overlap of N-diffusion contact < %d in one direction (licon.5c)"
  surround mvpdc/a *mvpdiff,mvpfet 60 directional \
@@ -5122,9 +5270,9 @@
 	"P-tap overlap of P-tap contact < %d in one direction (licon.7)"
 
  surround pc/a *poly,mrp1,xhrpoly,uhrpoly 50 absence_illegal \
-	"poly.overlap of poly contact < %d (licon.8)"
+	"poly overlap of poly contact < %d (licon.8)"
  surround pc/a *poly,mrp1,xhrpoly,uhrpoly 80 directional \
-	"poly.overlap of poly contact < %d in one direction (licon.8a)"
+	"poly overlap of poly contact < %d in one direction (licon.8a)"
 
  exact_overlap ndc/a,pdc/a,psc/a,nsc/a,pc/a,ndic/a,pdic/a
  exact_overlap mvndc/a,mvpdc/a,mvpsc/a,mvnsc/a,mvndic/a,mvpdic/a
@@ -5133,7 +5281,10 @@
 # LI - Local interconnect layer
 #-------------------------------------------------------------
 
- width *li,rli 170 "Local interconnect width < %d (li.1)"
+variants *
+
+ width *li 170 "Local interconnect width < %d (li.1)"
+ width rli 290 "Local interconnect width < %d (li.7)"
  width coreli 140 "Core local interconnect width < %d (li.c1)"
  spacing allli allli,*obsli 170 touching_ok  "Local interconnect spacing < %d (li.3)"
  spacing coreli allli,*obsli 140 touching_ok  "Core local interconnect spacing < %d (li.c2)"
@@ -5152,7 +5303,7 @@
 #-------------------------------------------------------------
 
  width lic/m1 170 "mcon.width < %d (mcon.1)"
- spacing lic/m1 lic/m1,obslic/m1 170 touching_ok "mcon.spacing < %d (mcon.2)"
+ spacing lic/m1 lic/m1,obslic/m1 190 touching_ok "mcon.spacing < %d (mcon.2)"
 
  exact_overlap lic/m1
 
@@ -5171,13 +5322,16 @@
 
 variants (fast),(full)
  widespacing allm1 3000 allm1,*obsm1 280 touching_ok \
-	"Metal1 > 3um spacing to unrelated m1 < %d (met1.3a)"
+	"Metal1 > 3um spacing to unrelated m1 < %d (met1.3b)"
  widespacing *obsm1 3000 allm1 280 touching_ok \
-	"Metal1 > 3um spacing to unrelated m1 < %d (met1.3a)"
+	"Metal1 > 3um spacing to unrelated m1 < %d (met1.3b)"
 
 variants (full)
  cifmaxwidth m1_hole_empty 0 bend_illegal \
 	"Min area of metal1 holes > 0.14um^2 (met1.7)"
+
+ cifspacing m1_large_halo m1_large_halo 280 touching_ok \
+	"Spacing of metal1 features attached to and within 0.28um of large metal1 < %d (met1.3a)"
 variants *
 
 #--------------------------------------------------
@@ -5203,13 +5357,16 @@
 
 variants (fast),(full)
  widespacing allm2 3000 allm2,obsm2  280 touching_ok \
-	"Metal2 > 3um spacing to unrelated m2 < %d (met2.3)"
+	"Metal2 > 3um spacing to unrelated m2 < %d (met2.3b)"
  widespacing obsm2 3000 allm2  280 touching_ok \
-	"Metal2 > 3um spacing to unrelated m2 < %d (met2.3)"
+	"Metal2 > 3um spacing to unrelated m2 < %d (met2.3b)"
 
 variants (full)
  cifmaxwidth m2_hole_empty 0 bend_illegal \
 	"Min area of metal2 holes > 0.14um^2 (met2.7)"
+
+ cifspacing m2_large_halo m2_large_halo 280 touching_ok \
+	"Spacing of metal2 features attached to and within 0.28um of large metal2 < %d (met2.3a)"
 variants *
 
 #--------------------------------------------------
@@ -5239,6 +5396,8 @@
 	"Metal3 > 3um spacing to unrelated m3 < %d (met3.3d)"
  widespacing obsm3 3000 allm3  400 touching_ok \
 	"Metal3 > 3um spacing to unrelated m3 < %d (met3.3d)"
+ cifspacing m3_large_halo m3_large_halo 400 touching_ok \
+	"Spacing of metal3 features attached to and within 0.40um of large metal3 < %d (met3.3c)"
 variants *
 
 
@@ -5272,6 +5431,8 @@
 	"Metal4 > 3um spacing to unrelated m4 < %d (met4.5b)"
  widespacing obsm4 3000 allm4  400 touching_ok \
 	"Metal4 > 3um spacing to unrelated m4 < %d (met4.5b)"
+ cifspacing m4_large_halo m4_large_halo 400 touching_ok \
+	"Spacing of metal4 features attached to and within 0.40um of large metal4 < %d (met4.5a)"
 variants *
 
 #--------------------------------------------------
@@ -5305,7 +5466,7 @@
  surround glass metrdl 10750 absence_ok "RDL must surround glass cut by %d (rdl.3)"
  spacing metrdl padl 19660 surround_ok "RDL spacing to unrelated pad < %d (rdl.6)"
 
-variants *
+variants (fast),(full)
 
 #endif (REDISTRIBUTION)
 
@@ -5313,23 +5474,26 @@
 # NMOS, PMOS
 #--------------------------------------------------
 
- extend allfets *poly 420 "Transistor width < %d (diff/tap.2)"
+ edge4way *poly allfetsstd 420 allfets 0 0 \
+	"Transistor width < %d (diff/tap.2)"
+ edge4way *poly allfetsspecial 360 allfets 0 0 \
+	"Transistor in standard cell width < %d (diff/tap.2)"
+
  # Except:  Note that standard cells allow transistor width minimum 0.36um
  width pfetlvt 350 "LVT PMOS gate length < %d (poly.1b)"
 
- spacing *nsd,*mvnsd allpolynonfet 55 touching_illegal \
-	"N-tap spacing to field poly < %d (poly.5)"
- spacing *psd,*mvpsd allpolynonfet 55 touching_illegal \
-	"P-tap spacing to field poly < %d (poly.5)"
+ spacing allpolynonfet *nsd 55 corner_ok varactor \
+	"poly spacing to diffusion tap < %d (poly.5)"
+ spacing allpolynonfet *mvnsd 55 corner_ok mvvaractor \
+	"poly spacing to diffusion tap < %d (poly.5)"
 
- # Full edge rule required to describe FET to butted tap distance
- edge4way *psd *ndiff 300 *ndiff *psd 300 \
+ edge4way *psd *ndiff 300 ~(nfet,npass,npd,scnfet,nfetlvt,nsonos)/a *psd 300 \
 	"Butting P-tap spacing to NMOS gate < %d (poly.6)"
- edge4way *nsd *pdiff 300 *pdiff *nsd 300 \
+ edge4way *nsd *pdiff 300 ~(pfet,ppu,scpfet,pfetlvt,pfetmvt)/a *nsd 300 \
 	"Butting N-tap spacing to PMOS gate < %d (poly.6)"
- edge4way *mvpsd *mvndiff 300 *mvndiff *mvpsd 300 \
+ edge4way *mvpsd *mvndiff 300 ~(mvnfet,mvnnfet)/a *mvpsd 300 \
 	"Butting MV P-tap spacing to MV NMOS gate < %d (poly.6)"
- edge4way *mvnsd *mvpdiff 300 *mvpdiff *mvnsd 300 \
+ edge4way *mvnsd *mvpdiff 300 ~mvpfet/a *mvnsd 300 \
 	"Butting MV N-tap spacing to MV PMOS gate < %d (poly.6)"
 
  # No LV FETs in HV diff
@@ -5366,19 +5530,31 @@
 
 #--------------------------------------------------
 # xhrpoly (P+ poly resistor)
-#--------------------------------------------------
-
-  width xhrpoly 350 "xhrpoly resistor width < %d (P+ poly.1a)"
-  # NOTE: xhrpoly resistor requires choice of discrete widths 0.35, 0.69, ... up to 1.27.
-
-#--------------------------------------------------
 # uhrpoly (P+ poly resistor, 2kOhm/sq)
 #--------------------------------------------------
 
-  width uhrpoly 350 "uhrpoly resistor width < %d"
+  # NOTE: u/xhrpoly resistor requires discrete widths 0.35, 0.69, ... up to 1.27.
+  width xhrpoly 350 "xhrpoly resistor width < %d (P+ poly.1a)"
+  width uhrpoly 350 "uhrpoly resistor width < %d (P+ poly.1a)"
+
   spacing xhrpoly,uhrpoly,xpc alldiff 480 touching_illegal \
 	"xhrpoly/uhrpoly resistor spacing to diffusion < %d (poly.9)"
 
+  spacing allpolyres,xpc *poly,allfets 480 touching_illegal \
+	"Poly resistor spacing to poly < %d (poly.9)"
+
+  spacing allpolyres,xpc alldiff 480 touching_illegal \
+	"Poly resistor spacing to diffusion < %d (poly.9)"
+
+#------------------------------------
+# nsonos
+#------------------------------------
+
+variants (full)
+  cifmaxwidth bbox_missing 0 bend_illegal \
+	"SONOS transistor must be in cell with abutment box (tunm.8)"
+variants (fast),(full)
+
 #------------------------------------
 # MOS Varactor device rules
 #------------------------------------
@@ -5392,6 +5568,14 @@
  width var,varhvt,mvvar 180 "Varactor length < %d (var.1)"
  extend var,varhvt,mvvar *poly 1000 "Varactor width < %d (var.2)"
 
+variants (full)
+ cifmaxwidth var_poly_no_nwell 0 bend_illegal \
+	"N-well overlap of varactor poly < 0.15um (varac.5)"
+
+ cifmaxwidth pdiff_in_varactor_well 0 bend_illegal \
+	"Varactor N-well must not contain P+ diffusion (varac.7)"
+variants (fast),(full)
+
 #ifdef MIM
 #-----------------------------------------------------------
 # MiM CAP (CAPM) - 
@@ -5411,8 +5595,11 @@
  spacing via3 *mimcap 140 touching_illegal "MiM cap spacing to via3 < %d (capm.8)"
  spacing *mimcap *metal3/m3 500 surround_ok \
 	"MiM cap spacing to unrelated metal3 < %d (capm.11)"
- cifspacing mim_bottom mim_bottom 120 touching_ok \
+
+variants (full)
+ cifspacing mim_bottom mim_bottom 1200 touching_ok \
 	 "MiM cap bottom plate spacing < %d (capm.2b)"
+variants (fast),(full)
 
  # MiM cap contact rules (VIA3)
 
@@ -5436,8 +5623,11 @@
  spacing via4 *mimcap2 140 touching_illegal "MiM cap spacing to via4 < %d (cap2m.8)"
  spacing *mimcap *metal4/m4 500 surround_ok \
 	"MiM cap spacing to unrelated metal4 < %d (cap2m.11)"
- cifspacing mim2_bottom mim2_bottom 120 touching_ok \
+
+variants (full)
+ cifspacing mim2_bottom mim2_bottom 1200 touching_ok \
  	"MiM2 cap bottom plate spacing < %d (cap2m.2b)"
+variants (fast),(full)
 
  # MiM cap contact rules (VIA4)
 
