Modified the "wafflefill" cifoutput style to deal with the problem
of certain positional offsets preventing FOM fill in otherwise
fillable areas;  this causes poly fill to fill those areas so that
the areas become too low density in diffusion.  The solution is to
add an in-between pass that uses the same size fill shapes as the
FOM first pass, but with a Y offset of half the FOM fill row pitch.
The proper solution is to have a progressive Y offset like the
progressive X offset, but that needs to be coded in magic.
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 678af96..942b449 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -1900,9 +1900,23 @@
         shrink  2035
         grow    2035
 
+# Temporary:  pass1a fills in areas that are pathologically unable to
+# fit fomfill_pass1 due to offsets.  It should be fixed by implementing
+# a proper slots Y offset in addition to the X offset.
+
+ templayer      obstruct_fom_pass1a fomfill_pass1
+	grow	1590
+	or	obstruct_fom
+ templayer	fomfill_pass1a topbox
+	slots	0 4080 1600 0 4080 1600 1360 2840
+	and-not	obstruct_fom_pass1a
+	and	topbox
+	shrink	2035
+	grow	2035
+
 #---------------------------------------------------
 
- templayer      obstruct_poly_pass1 fomfill_pass1
+ templayer      obstruct_poly_pass1 fomfill_pass1,fomfill_pass1a
         grow    300
 	or	obstruct_poly
  templayer	polyfill_pass1 topbox
@@ -1914,7 +1928,7 @@
 
 #---------------------------------------------------
 
- templayer      obstruct_fom_pass2 fomfill_pass1
+ templayer      obstruct_fom_pass2 fomfill_pass1,fomfill_pass1a
         grow    1290
 	or	polyfill_pass1
         grow    300
@@ -1930,7 +1944,7 @@
 
  templayer      obstruct_poly_coarse polyfill_pass1
 	grow	60
-	or	fomfill_pass1,fomfill_pass2
+	or	fomfill_pass1,fomfill_pass1a,fomfill_pass2
 	grow	300
 	or	obstruct_poly
  templayer	polyfill_coarse topbox
@@ -1943,7 +1957,7 @@
 #---------------------------------------------------
  templayer      obstruct_poly_medium polyfill_pass1,polyfill_coarse
 	grow	60
-	or	fomfill_pass1,fomfill_pass2
+	or	fomfill_pass1,fomfill_pass1a,fomfill_pass2
         grow    300
 	or	obstruct_poly
  templayer	polyfill_medium topbox
@@ -1956,7 +1970,7 @@
 #---------------------------------------------------
  templayer      obstruct_poly_fine polyfill_pass1,polyfill_coarse,polyfill_medium
 	grow	60
-	or	fomfill_pass1,fomfill_pass2
+	or	fomfill_pass1,fomfill_pass1a,fomfill_pass2
 	grow	300
 	or	obstruct_poly
  templayer	polyfill_fine topbox
@@ -1968,7 +1982,7 @@
 
 #---------------------------------------------------
 
- templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass2
+ templayer      obstruct_fom_coarse fomfill_pass1,fomfill_pass1a,fomfill_pass2
         grow    1290
 	or	polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine
 	grow	300
@@ -1982,7 +1996,7 @@
 
 #---------------------------------------------------
 
- templayer      obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse
+ templayer      obstruct_fom_fine fomfill_pass1,fomfill_pass1a,fomfill_pass2,fomfill_coarse
         grow    1290
 	or	polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine
 	grow	300
@@ -1996,6 +2010,7 @@
 
 #---------------------------------------------------
  layer  FOMFILL fomfill_pass1 
+	or	fomfill_pass1a
 	or	fomfill_pass2
 	or	fomfill_coarse
 	or	fomfill_fine