Updated the magic techfile with the first draft of the completed
automated waffle fill cif output style.
diff --git a/VERSION b/VERSION
index 79728fe..4a4127c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.24
+1.0.25
diff --git a/common/gate_list.txt b/common/gate_list.txt
index 84fd5b7..b1097ec 100644
--- a/common/gate_list.txt
+++ b/common/gate_list.txt
@@ -98,7 +98,7 @@
 LATCHRQ	    function	Q=IQ	QB=IQB	enable  E	data_in  D	clear !R
 LATCHIRQ    function	Q=IQ	QB=IQB	enable  !E	data_in  D	clear !R
 LATCHSRQ    function	Q=IQ	QB=IQB	enable  E	data_in  D	preset !S   clear !R
-LATCHISRQ   function	Q=IQ	QB=IQB	enable  E	data_in  D	preset !S   clear !R
+LATCHISRQ   function	Q=IQ	QB=IQB	enable  !E	data_in  D	preset !S   clear !R
 
 DFF	    function	Q=IQ	clocked_on  C	    next_state  D
 DFFQ	    function	Q=IQ	function    QB=IQB   clocked_on	C   next_state	D
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index ee75912..6de5487 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -360,12 +360,6 @@
   padl m1 m2 m3 glass
 #endif  (!METAL5)
 
-  res0p35   implant1
-  res0p69   implant1
-  res1p41   implant1
-  res2p85   implant1
-  res5p73   implant1
-
 #ifdef REDISTRIBUTION
   mrdlc metal5 mrdl
 #endif (REDISTRIBUTION)
@@ -508,6 +502,12 @@
   xpc	    polysilicon	   pselect2  metal1  contact_X'es
   rmp	    polysilicon	   poly_resist_stripes
 
+  res0p35   implant1
+  res0p69   implant1
+  res1p41   implant1
+  res2p85   implant1
+  res5p73   implant1
+
   pdiode    pdiffusion     pselect2
   ndiode    ndiffusion     nselect2
   pdiodec   pdiffusion     pselect2 metal1 contact_X'es
@@ -1494,116 +1494,147 @@
  options calma-permissive-labels
  gridlimit 5
 
+#----------------------------------------------------------------
+# Generate guard-band around nwells to keep FOM from crossing
+# Spacing from nwell = Diff/Tap 9 = 0.34um
+# Enclosure by nwell = Diff/Tap 8 = 0.18um
+#----------------------------------------------------------------
+ templayer	well_shrink nwell
+	shrink	180
+ templayer	well_guardband nwell
+	grow	340
+	and-not	well_shrink
+
 #---------------------------------------------------
-# FOM fill (under development)
+# Interleaved FOM and POLY fill
 #---------------------------------------------------
  templayer      slots_fom_pass1
 	bbox	top
         slots   0 4080 1320 0 4080 1320 1360 0
  templayer      obstruct_fom_pass1 alldiff,allpoly,rpw
         grow    500
+	or	well_guardband
  templayer	fomfill_pass1 slots_fom_pass1
         and-not obstruct_fom_pass1
         shrink  2035
         grow    2035
 
+#---------------------------------------------------
+
+ templayer      slots_poly_pass1
+	bbox	top
+        slots   0 720 360 0 720 360 240 0
+ templayer      obstruct_poly_pass1 alldiff,allpoly,rpw
+        grow    700
+	or	fomfill_pass1
+        grow    300
+	or	well_guardband
+ templayer	polyfill_pass1 slots_poly_pass1
+        and-not obstruct_poly_pass1
+        shrink  355
+        grow    355
+
+#---------------------------------------------------
+
  templayer      slots_fom_pass2
 	bbox	top
         slots   0 2500 1320 0 2500 1320 1360 0
  templayer      obstruct_fom_pass2 fomfill_pass1
         grow    820
-	or	alldiff,allpoly,rpw
-        grow    500
+        grow    200
+	or	polyfill_pass1
+        grow    300
+	or	obstruct_fom_pass1
  templayer	fomfill_pass2 slots_fom_pass2
         and-not obstruct_fom_pass2
         shrink  1245
         grow    1245
 
- templayer      slots_fom_coarse
-	bbox	top
-        slots   0 1500 1320 0 1500 1320 1360 0
- templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass2
-        grow    820
-	or	alldiff,allpoly,rpw
-        grow    500
- templayer	fomfill_coarse slots_fom_coarse
-        and-not obstruct_fom_coarse
-        shrink  745
-        grow    745
-
- templayer      slots_fom_fine
-	bbox	top
-        slots   0 500 400 0 500 400 160 0
- templayer      obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse
-	grow	820
-	or	alldiff,allpoly,rpw
-        grow    500
- templayer	fomfill_fine slots_fom_fine
-        and-not obstruct_fom_fine
-        shrink  245
-        grow    245
-
- layer	FOMMASK    fomfill_pass1 
-	or	fomfill_pass2
-	or	fomfill_coarse
-	or	fomfill_fine
- 	calma 	23 0
-
 #---------------------------------------------------
-# POLY fill (under development)
-#---------------------------------------------------
- templayer      slots_poly_pass1
-	bbox	top
-        slots   0 720 360 0 720 360 240 0
- templayer      obstruct_poly_pass1 alldiff,allpoly,rpw
-        grow    1000
- templayer	polyfill_pass1 slots_poly_pass1
-        and-not obstruct_poly_pass1
-        shrink  355
-        grow    355
 
  templayer      slots_poly_coarse
 	bbox	top
         slots   0 720 360 0 720 360 240 120
- templayer      obstruct_poly_coarse alldiff,allpoly,rpw
-        grow    640
-	or	polyfill_pass1
-	grow	360
+ templayer      obstruct_poly_coarse polyfill_pass1
+	grow	60
+	or	fomfill_pass1,fomfill_pass2
+	grow	300
+	or	obstruct_poly_pass1
  templayer	polyfill_coarse slots_poly_coarse
         and-not obstruct_poly_coarse
         shrink  355
         grow    355
 
+#---------------------------------------------------
+
+ templayer      slots_fom_coarse
+	bbox	top
+        slots   0 1500 1320 0 1500 1320 1360 0
+ templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass2
+        grow    1020
+	or	polyfill_pass1,polyfill_coarse
+        grow    300
+	or	obstruct_fom_pass1
+ templayer	fomfill_coarse slots_fom_coarse
+        and-not obstruct_fom_coarse
+        shrink  745
+        grow    745
+
+#---------------------------------------------------
  templayer      slots_poly_medium
 	bbox	top
         slots   0 540 360 0 540 360 240 100
- templayer      obstruct_poly_medium alldiff,allpoly,rpw
-        grow    650
-	or	polyfill_pass1,polyfill_coarse
-	grow	360
+ templayer      obstruct_poly_medium polyfill_pass1,polyfill_coarse
+        grow    1010
+	or	obstruct_poly_pass1
  templayer	polyfill_medium slots_poly_medium
         and-not obstruct_poly_medium
         shrink  265
         grow    265
 
+#---------------------------------------------------
+
+ templayer      slots_fom_fine
+	bbox	top
+        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
+        shrink  245
+        grow    245
+
+#---------------------------------------------------
  templayer      slots_poly_fine
 	bbox	top
         slots   0 480 360 0 480 360 240 200
- templayer      obstruct_poly_fine alldiff,allpoly,rpw
+ templayer      obstruct_poly_fine polyfill_pass1,polyfill_coarse,polyfill_medium
         grow    650
 	or	polyfill_pass1,polyfill_coarse,polyfill_medium
 	grow	360
+	or	obstruct_poly_pass1
  templayer	polyfill_fine slots_poly_fine
         and-not obstruct_poly_fine
         shrink  235
         grow    235
 
- layer	POLYMASK    polyfill_pass1 
+#---------------------------------------------------
+ templayer	fomfill    fomfill_pass1 
+	or	fomfill_pass2
+	or	fomfill_coarse
+	or	fomfill_fine
+ 	calma 	23 0
+
+ templayer	polyfill    polyfill_pass1 
 	or	polyfill_coarse
 	or	polyfill_medium
 	or	polyfill_fine
  	calma 	28 0
 
+ layer	FOMMASK    fomfill
+ layer	POLYMASK    polyfill
+
 #---------------------------------------------------
 # MET1 fill
 #---------------------------------------------------