Finalized (I hope) the fill generation output style.
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index df37c77..bceb1fc 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -1661,77 +1661,52 @@
 
 #----------------------------------------------------------------
 # Generate guard-band around nwells to keep FOM from crossing
-# Spacing from nwell = Diff/Tap 9 = 0.34um
+# Spacing from LV nwell = Diff/Tap 9 = 0.34um
+# Spacing from HV nwell = Diff/Tap 18 = 0.43um (= 0.18 + 0.25)
 # Enclosure by nwell = Diff/Tap 8 = 0.18um
 #----------------------------------------------------------------
- templayer	well_shrink nwell
+
+ templayer mvnwell
+ 	bloat-all alldiffmv nwell
+
+ templayer lvnwell nwell
+	and-not mvnwell
+
+ templayer	well_shrink mvnwell
+	shrink 	250
+	or lvnwell
 	shrink	180
  templayer	well_guardband nwell
 	grow	340
 	and-not	well_shrink
 
 #---------------------------------------------------
-# Interleaved FOM and POLY fill
+# Diffusion and poly keep-out areas
 #---------------------------------------------------
- templayer      slots_fom_pass1 topbox
-        slots   0 4080 1320 0 4080 1320 1360 0
- templayer      obstruct_fom_pass1 alldiff,allpoly,rpw
+ templayer      obstruct_fom alldiff,allpoly,rpw
         grow    500
 	or	well_guardband
- templayer	fomfill_pass1 slots_fom_pass1
-        and-not obstruct_fom_pass1
+
+ templayer      obstruct_poly alldiff,allpoly,rpw
+	grow	1000
+
+#---------------------------------------------------
+# FOM and POLY fill
+#---------------------------------------------------
+ templayer	fomfill_pass1 topbox
+        slots   0 4080 1320 0 4080 1320 1360 0
+        and-not obstruct_fom
 	and	topbox
         shrink  2035
         grow    2035
 
 #---------------------------------------------------
 
- templayer      slots_fom_pass2 topbox
-        slots   0 2500 1320 0 2500 1320 1360 0
- templayer      obstruct_fom_pass2 fomfill_pass1
-        grow    1320
-	or	obstruct_fom_pass1
- templayer	fomfill_pass2 slots_fom_pass2
-        and-not obstruct_fom_pass2
-	and	topbox
-        shrink  1245
-        grow    1245
-
-#---------------------------------------------------
-
- templayer      slots_fom_coarse topbox
-        slots   0 1500 1320 0 1500 1320 1360 0
- templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass2
-        grow    1320
-	or	obstruct_fom_pass1
- templayer	fomfill_coarse slots_fom_coarse
-        and-not obstruct_fom_coarse
-	and	topbox
-        shrink  745
-        grow    745
-
-#---------------------------------------------------
-
- templayer      slots_fom_fine topbox
-        slots   0 500 400 0 500 400 160 0
- templayer      obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse
-	grow	1320
-	or	obstruct_fom_pass1
- templayer	fomfill_fine slots_fom_fine
-        and-not obstruct_fom_fine
-	and	topbox
-        shrink  245
-        grow    245
-
-#---------------------------------------------------
-
- templayer      slots_poly_pass1 topbox
-        slots   0 720 360 0 720 360 240 0
- templayer      obstruct_poly_pass1
-	or	fomfill_pass1,fomfill_pass2,fomfill_coarse,fomfill_fine
+ templayer      obstruct_poly_pass1 fomfill_pass1
         grow    300
-	or	obstruct_fom_pass1
- templayer	polyfill_pass1 slots_poly_pass1
+	or	obstruct_poly
+ templayer	polyfill_pass1 topbox
+        slots   0 720 360 0 720 360 240 0
         and-not obstruct_poly_pass1
 	and	topbox
         shrink  355
@@ -1739,51 +1714,95 @@
 
 #---------------------------------------------------
 
- templayer      slots_poly_coarse topbox
-        slots   0 720 360 0 720 360 240 120
+ templayer      obstruct_fom_pass2 fomfill_pass1
+        grow    1290
+	or	polyfill_pass1
+        grow    300
+	or	obstruct_fom
+ templayer	fomfill_pass2 topbox
+        slots   0 2500 1320 0 2500 1320 1360 0
+        and-not obstruct_fom_pass2
+	and	topbox
+        shrink  1245
+        grow    1245
+
+#---------------------------------------------------
+
  templayer      obstruct_poly_coarse polyfill_pass1
-	or	fomfill_pass1,fomfill_pass2,fomfill_coarse,fomfill_fine
-	grow	360
-	or	obstruct_fom_pass1
- templayer	polyfill_coarse slots_poly_coarse
+	grow	60
+	or	fomfill_pass1,fomfill_pass2
+	grow	300
+	or	obstruct_poly
+ templayer	polyfill_coarse topbox
+        slots   0 720 360 0 720 360 240 120
         and-not obstruct_poly_coarse
 	and	topbox
         shrink  355
         grow    355
 
 #---------------------------------------------------
- templayer      slots_poly_medium topbox
-        slots   0 540 360 0 540 360 240 100
  templayer      obstruct_poly_medium polyfill_pass1,polyfill_coarse
-	or	fomfill_pass1,fomfill_pass2,fomfill_coarse,fomfill_fine
-        grow    1010
-	or	obstruct_fom_pass1
- templayer	polyfill_medium slots_poly_medium
+	grow	60
+	or	fomfill_pass1,fomfill_pass2
+        grow    300
+	or	obstruct_poly
+ templayer	polyfill_medium topbox
+        slots   0 540 360 0 540 360 240 100
         and-not obstruct_poly_medium
 	and	topbox
         shrink  265
         grow    265
 
 #---------------------------------------------------
- templayer      slots_poly_fine topbox
-        slots   0 480 360 0 480 360 240 200
  templayer      obstruct_poly_fine polyfill_pass1,polyfill_coarse,polyfill_medium
-	or	fomfill_pass1,fomfill_pass2,fomfill_coarse,fomfill_fine
-	grow	1010
-	or	obstruct_poly_pass1
- templayer	polyfill_fine slots_poly_fine
+	grow	60
+	or	fomfill_pass1,fomfill_pass2
+	grow	300
+	or	obstruct_poly
+ templayer	polyfill_fine topbox
+        slots   0 480 360 0 480 360 240 200
         and-not obstruct_poly_fine
 	and	topbox
         shrink  235
         grow    235
 
 #---------------------------------------------------
- templayer	fomfill    fomfill_pass1 
+
+ templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass2
+        grow    1290
+	or	polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine
+	grow	300
+	or	obstruct_fom
+ templayer	fomfill_coarse topbox
+        slots   0 1500 1320 0 1500 1320 1360 0
+        and-not obstruct_fom_coarse
+	and	topbox
+        shrink  745
+        grow    745
+
+#---------------------------------------------------
+
+ templayer      obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse
+        grow    1290
+	or	polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine
+	grow	300
+	or	obstruct_fom
+ templayer	fomfill_fine topbox
+        slots   0 500 400 0 500 400 160 0
+        and-not obstruct_fom_fine
+	and	topbox
+        shrink  245
+        grow    245
+
+#---------------------------------------------------
+ templayer	fomfill
+	or	fomfill_pass1 
 	or	fomfill_pass2
 	or	fomfill_coarse
 	or	fomfill_fine
 
- templayer	polyfill    polyfill_pass1 
+ templayer	polyfill
+	or	polyfill_pass1 
 	or	polyfill_coarse
 	or	polyfill_medium
 	or	polyfill_fine
@@ -1796,47 +1815,44 @@
 #---------------------------------------------------
 # MET1 fill
 #---------------------------------------------------
- templayer      slots_m1_coarse topbox
-        slots   0 2000 200 0 2000 200 700 0
+
  templayer      obstruct_m1_coarse allm1,allpad,obsm1,m1fill,fillblock
         grow    3000
- templayer	met1fill_coarse slots_m1_coarse
+ templayer	met1fill_coarse topbox
+        slots   0 2000 200 0 2000 200 700 0
         and-not obstruct_m1_coarse
 	and	topbox
         shrink  995
         grow    995
 
- templayer      slots_m1_medium topbox
-        slots   0 1000 200 0 1000 200 700 0
  templayer      obstruct_m1_medium allm1,allpad,obsm1,m1fill,fillblock
         grow    2800
 	or	met1fill_coarse
         grow    200
- templayer	met1fill_medium slots_m1_medium
+ templayer	met1fill_medium topbox
+        slots   0 1000 200 0 1000 200 700 0
         and-not obstruct_m1_medium
 	and	topbox
         shrink  495
         grow    495
 
- templayer      slots_m1_fine topbox
-        slots   0 580 200 0 580 200 700 0
  templayer      obstruct_m1_fine allm1,allpad,obsm1,m1fill,fillblock
         grow    300
 	or	met1fill_coarse,met1fill_medium
         grow    200
- templayer	met1fill_fine slots_m1_fine
+ templayer	met1fill_fine topbox
+        slots   0 580 200 0 580 200 700 0
         and-not obstruct_m1_fine
 	and	topbox
         shrink  285
         grow    285
 
- templayer      slots_m1_veryfine topbox
-        slots   0 300 200 0 300 200 100 50
  templayer      obstruct_m1_veryfine allm1,allpad,obsm1,m1fill,fillblock
         grow    100
 	or	met1fill_coarse,met1fill_medium,met1fill_fine
         grow    200
- templayer	met1fill_veryfine slots_m1_veryfine
+ templayer	met1fill_veryfine topbox
+        slots   0 300 200 0 300 200 100 50
         and-not obstruct_m1_veryfine
 	and	topbox
         shrink  145
@@ -1851,47 +1867,43 @@
 #---------------------------------------------------
 # MET2 fill
 #---------------------------------------------------
- templayer      slots_m2_coarse topbox
-        slots   0 2000 200 0 2000 200 700 350
  templayer      obstruct_m2 allm2,allpad,obsm2,m2fill,fillblock
         grow    3000
- templayer	met2fill_coarse slots_m2_coarse
+ templayer	met2fill_coarse topbox
+        slots   0 2000 200 0 2000 200 700 350
         and-not obstruct_m2
 	and	topbox
         shrink  995
         grow    995
 
- templayer      slots_m2_medium topbox
-        slots   0 1000 200 0 1000 200 700 350
  templayer      obstruct_m2_medium allm2,allpad,obsm2,m2fill,fillblock
         grow    2800
 	or	met2fill_coarse
         grow    200
- templayer	met2fill_medium slots_m2_medium
+ templayer	met2fill_medium topbox
+        slots   0 1000 200 0 1000 200 700 350
         and-not obstruct_m2_medium
 	and	topbox
         shrink  495
         grow    495
 
- templayer      slots_m2_fine topbox
-        slots   0 580 200 0 580 200 700 350
  templayer      obstruct_m2_fine allm2,allpad,obsm2,m2fill,fillblock
         grow    300
 	or	met2fill_coarse,met2fill_medium
         grow    200
- templayer	met2fill_fine slots_m2_fine
+ templayer	met2fill_fine topbox
+        slots   0 580 200 0 580 200 700 350
         and-not obstruct_m2_fine
 	and	topbox
         shrink  285
         grow    285
 
- templayer      slots_m2_veryfine topbox
-        slots   0 300 200 0 300 200 100 100
  templayer      obstruct_m2_veryfine allm2,allpad,obsm2,m2fill,fillblock
         grow    100
 	or	met2fill_coarse,met2fill_medium,met2fill_fine
         grow    200
- templayer	met2fill_veryfine slots_m2_veryfine
+ templayer	met2fill_veryfine topbox
+        slots   0 300 200 0 300 200 100 100
         and-not obstruct_m2_veryfine
 	and	topbox
         shrink  145
@@ -1906,46 +1918,44 @@
 #---------------------------------------------------
 # MET3 fill
 #---------------------------------------------------
- templayer      slots_m3_coarse topbox
-        slots   0 2000 300 0 2000 300 700 700
  templayer      obstruct_m3 allm3,allpad,obsm3,m3fill,fillblock
         grow    3000
- templayer	met3fill_coarse slots_m3_coarse
+ templayer	met3fill_coarse topbox
+        slots   0 2000 300 0 2000 300 700 700
         and-not obstruct_m3
 	and	topbox
         shrink  995
         grow    995
 
- templayer      slots_m3_medium topbox
-        slots   0 1000 300 0 1000 300 700 700
  templayer      obstruct_m3_medium allm3,allpad,obsm3,m3fill,fillblock
         grow    2700
 	or	met3fill_coarse
         grow    300
- templayer	met3fill_medium slots_m3_medium
+ templayer	met3fill_medium topbox
+        slots   0 1000 300 0 1000 300 700 700
         and-not obstruct_m3_medium
 	and	topbox
         shrink  495
         grow    495
 
- templayer      slots_m3_fine topbox
-        slots   0 580 300 0 580 300 700 700
  templayer      obstruct_m3_fine allm3,allpad,obsm3,m3fill,fillblock
         grow    200
 	or	met3fill_coarse,met3fill_medium
         grow    300
- templayer	met3fill_fine slots_m3_fine
+ templayer	met3fill_fine topbox
+        slots   0 580 300 0 580 300 700 700
         and-not obstruct_m3_fine
 	and	topbox
         shrink  285
         grow    285
 
- templayer      slots_m3_veryfine topbox
-        slots   0 400 300 0 400 300 150 200
  templayer      obstruct_m3_veryfine allm3,allpad,obsm3,m3fill,fillblock
+	# Note: Adding 0.1 to waffle rule to clear wide spacing rule
+        grow    100
 	or	met3fill_coarse,met3fill_medium,met3fill_fine
         grow    300
- templayer	met3fill_veryfine slots_m3_veryfine
+ templayer	met3fill_veryfine topbox
+        slots   0 400 300 0 400 300 150 200
         and-not obstruct_m3_veryfine
 	and	topbox
         shrink  195
@@ -1961,45 +1971,43 @@
 #---------------------------------------------------
 # MET4 fill
 #---------------------------------------------------
- templayer      slots_m4_coarse topbox
-        slots   0 2000 300 0 2000 300 700 1050
  templayer      obstruct_m4 allm4,allpad,obsm4,m4fill,fillblock
         grow    3000
- templayer	met4fill_coarse slots_m4_coarse
+ templayer	met4fill_coarse topbox
+        slots   0 2000 300 0 2000 300 700 1050
         and-not obstruct_m4
 	and	topbox
         shrink  995
         grow    995
 
- templayer      slots_m4_medium topbox
-        slots   0 1000 300 0 1000 300 700 1050
  templayer      obstruct_m4_medium allm4,allpad,obsm4,m4fill,fillblock
         grow    2700
 	or	met4fill_coarse
         grow    300
- templayer	met4fill_medium slots_m4_medium
+ templayer	met4fill_medium topbox
+        slots   0 1000 300 0 1000 300 700 1050
         and-not obstruct_m4_medium
         shrink  495
         grow    495
 
- templayer      slots_m4_fine topbox
-        slots   0 580 300 0 580 300 700 1050
  templayer      obstruct_m4_fine allm4,allpad,obsm4,m4fill,fillblock
         grow    200
 	or	met4fill_coarse,met4fill_medium
         grow    300
- templayer	met4fill_fine slots_m4_fine
+ templayer	met4fill_fine topbox
+        slots   0 580 300 0 580 300 700 1050
         and-not obstruct_m4_fine
 	and	topbox
         shrink  285
         grow    285
 
- templayer      slots_m4_veryfine topbox
-        slots   0 400 300 0 400 300 150 300
  templayer      obstruct_m4_veryfine allm4,allpad,obsm4,m4fill,fillblock
+	# Note: Adding 0.1 to waffle rule to clear wide spacing rule
+        grow    100
 	or	met4fill_coarse,met4fill_medium,met4fill_fine
         grow    300
- templayer	met4fill_veryfine slots_m4_veryfine
+ templayer	met4fill_veryfine topbox
+        slots   0 400 300 0 400 300 150 300
         and-not obstruct_m4_veryfine
 	and	topbox
         shrink  195
@@ -2014,11 +2022,10 @@
 #---------------------------------------------------
 # MET5 fill
 #---------------------------------------------------
- templayer      slots_m5 topbox
-        slots   0 3000 1600 0 3000 1600 1000 100
  templayer      obstruct_m5 allm5,allpad,obsm5,m5fill,fillblock
         grow    3000
- templayer	met5fill_gen slots_m5
+ templayer	met5fill_gen topbox
+        slots   0 3000 1600 0 3000 1600 1000 100
         and-not obstruct_m5
 	and	topbox
         shrink  1495