Modified the fill generation script in magic to increase the size
of the minimum fill shape from 0.4um x 0.4um to 0.49um x 0.49um,
so that the shape passes the minimum metal area rule, for both
metals 3 and 4.  Also:  Updated references for volare.
diff --git a/gf180mcu/gf180mcu.json b/gf180mcu/gf180mcu.json
index 5acd702..4fb934d 100644
--- a/gf180mcu/gf180mcu.json
+++ b/gf180mcu/gf180mcu.json
@@ -89,8 +89,8 @@
         "magic": "MAGIC_COMMIT"
     },
     "reference": {
-        "open_pdks": "3cd608200b515f95382f3a7627193c4d7a3364df",
-        "magic": "efccdbf34145878180c6fce5654a65a60171a5b0",
+        "open_pdks": "dc02929a0a50cedf6f6160cab4d3f683796adc22",
+        "magic": "291ba96285bcd7c2176f95229fc540bd88a25b88",
         "gf180mcu_pdk": "a897aa30369d3bcec87d9d50ce9b01f320f854ef",
         "gf180mcu_fd_pr": "a11222d681f2134ab28e97f97b9b99b6af188f88",
         "gf180mcu_fd_pv": "e9410df04da5b64a1053aa6e5180dc144b8a12a2",
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 15c63c5..6af7b20 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -314,7 +314,7 @@
 
 # Miscellaneous
  -block  glass
- -block  fillblock,fillblock4
+ -block  fillblock
   comment comment
  -comment obscomment
 
@@ -459,7 +459,7 @@
   psub		pwell
 
   obstypes	obswell,mvobsactive,obsactive,obsli,obsmcon,obsm1,obsm2,obsm3,obsm4,obsm5,obsmrdl,obscomment
-  blocktypes	fillblock,fillblock4
+  blocktypes	fillblock
   
 end
 
@@ -617,7 +617,6 @@
   error_s   error_waffle
   error_ps  error_waffle
   fillblock cwell
-  fillblock4 cwell
 
   obswell   cwell
   obsactive implant4
@@ -1485,19 +1484,19 @@
  layer FILLOBSFOM  obsactive
 	calma	22 24
 
- layer FILLOBSM1 fillblock,fillblock4
+ layer FILLOBSM1 fillblock,obsm1
  	calma 	62 24
 
- layer FILLOBSM2 fillblock,fillblock4
+ layer FILLOBSM2 fillblock,obsm2
  	calma 	105 52
 
- layer FILLOBSM3 fillblock,fillblock4
+ layer FILLOBSM3 fillblock,obsm3
  	calma 	107 24
 
- layer FILLOBSM4 fillblock,fillblock4
+ layer FILLOBSM4 fillblock,obsm4
  	calma 	112 4
 
- layer FILLOBSM5 fillblock,fillblock4
+ layer FILLOBSM5 fillblock,obsm5
 	calma	117 4
 
  render	DNWELL 	cwell       -0.1    0.1
@@ -2109,7 +2108,7 @@
 # diff or poly.
 #---------------------------------------------------------
 
- templayer      obstruct_li_coarse allli,obsli,lifill,fillblock,fillblock4
+ templayer      obstruct_li_coarse allli,obsli,lifill,fillblock
         grow    2800
 	or	alldiff,allpoly
 	grow	200
@@ -2121,7 +2120,7 @@
         shrink  1495
         grow    1495
 
- templayer      obstruct_li_medium allli,obsli,lifill,fillblock,fillblock4
+ templayer      obstruct_li_medium allli,obsli,lifill,fillblock
         grow    2500
 	or	lifill_coarse
 	grow	300
@@ -2134,7 +2133,7 @@
         shrink  745
         grow    745
 
- templayer      obstruct_li_fine allli,obsli,lifill,fillblock,fillblock4
+ templayer      obstruct_li_fine allli,obsli,lifill,fillblock
 	or	lifill_coarse,lifill_medium
 	grow	300
 	or	alldiff,allpoly
@@ -2155,7 +2154,7 @@
 # MET1 fill
 #---------------------------------------------------
 
- templayer      obstruct_m1_coarse allm1,obsm1,m1fill,fillblock,fillblock4
+ templayer      obstruct_m1_coarse allm1,glass,obsm1,m1fill,fillblock
         grow    3000
  templayer	met1fill_coarse topbox
         # slots   0 2000 200 0 2000 200 700 0
@@ -2165,7 +2164,7 @@
         shrink  995
         grow    995
 
- templayer      obstruct_m1_medium allm1,obsm1,m1fill,fillblock,fillblock4
+ templayer      obstruct_m1_medium allm1,glass,obsm1,m1fill,fillblock
         grow    2800
 	or	met1fill_coarse
         grow    200
@@ -2176,7 +2175,7 @@
         shrink  495
         grow    495
 
- templayer      obstruct_m1_fine allm1,obsm1,m1fill,fillblock,fillblock4
+ templayer      obstruct_m1_fine allm1,glass,obsm1,m1fill,fillblock
         grow    300
 	or	met1fill_coarse,met1fill_medium
         grow    200
@@ -2187,7 +2186,7 @@
         shrink  285
         grow    285
 
- templayer      obstruct_m1_veryfine allm1,obsm1,m1fill,fillblock,fillblock4
+ templayer      obstruct_m1_veryfine allm1,glass,obsm1,m1fill,fillblock
         grow    100
 	or	met1fill_coarse,met1fill_medium,met1fill_fine
         grow    200
@@ -2207,7 +2206,7 @@
 #---------------------------------------------------
 # MET2 fill
 #---------------------------------------------------
- templayer      obstruct_m2 allm2,obsm2,m2fill,fillblock,fillblock4
+ templayer      obstruct_m2 allm2,glass,obsm2,m2fill,fillblock
         grow    3000
  templayer	met2fill_coarse topbox
         # slots   0 2000 200 0 2000 200 700 350
@@ -2217,7 +2216,7 @@
         shrink  995
         grow    995
 
- templayer      obstruct_m2_medium allm2,obsm2,m2fill,fillblock,fillblock4
+ templayer      obstruct_m2_medium allm2,glass,obsm2,m2fill,fillblock
         grow    2800
 	or	met2fill_coarse
         grow    200
@@ -2228,7 +2227,7 @@
         shrink  495
         grow    495
 
- templayer      obstruct_m2_fine allm2,obsm2,m2fill,fillblock,fillblock4
+ templayer      obstruct_m2_fine allm2,glass,obsm2,m2fill,fillblock
         grow    300
 	or	met2fill_coarse,met2fill_medium
         grow    200
@@ -2239,7 +2238,7 @@
         shrink  285
         grow    285
 
- templayer      obstruct_m2_veryfine allm2,obsm2,m2fill,fillblock,fillblock4
+ templayer      obstruct_m2_veryfine allm2,glass,obsm2,m2fill,fillblock
         grow    100
 	or	met2fill_coarse,met2fill_medium,met2fill_fine
         grow    200
@@ -2259,7 +2258,7 @@
 #---------------------------------------------------
 # MET3 fill
 #---------------------------------------------------
- templayer      obstruct_m3 allm3,glass,obsm3,m3fill,fillblock,fillblock4
+ templayer      obstruct_m3 allm3,glass,obsm3,m3fill,fillblock
         grow    3000
  templayer	met3fill_coarse topbox
         # slots   0 2000 300 0 2000 300 700 700
@@ -2269,7 +2268,7 @@
         shrink  995
         grow    995
 
- templayer      obstruct_m3_medium allm3,glass,obsm3,m3fill,fillblock,fillblock4
+ templayer      obstruct_m3_medium allm3,glass,obsm3,m3fill,fillblock
         grow    2700
 	or	met3fill_coarse
         grow    300
@@ -2280,7 +2279,7 @@
         shrink  495
         grow    495
 
- templayer      obstruct_m3_fine allm3,glass,obsm3,m3fill,fillblock,fillblock4
+ templayer      obstruct_m3_fine allm3,glass,obsm3,m3fill,fillblock
         grow    200
 	or	met3fill_coarse,met3fill_medium
         grow    300
@@ -2291,17 +2290,17 @@
         shrink  285
         grow    285
 
- templayer      obstruct_m3_veryfine allm3,glass,obsm3,m3fill,fillblock,fillblock4
+ templayer      obstruct_m3_veryfine allm3,glass,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 topbox
-        slots   0 400 300 0 400 300 150 200
+        slots   0 490 300 0 490 300 150 200
         and-not obstruct_m3_veryfine
 	and	topbox
-        shrink  195
-        grow    195
+        shrink  240
+        grow    240
 
  layer	MET3FILL met3fill_coarse
 	or	met3fill_medium
@@ -2315,7 +2314,7 @@
 #---------------------------------------------------
  templayer      obstruct_m4 glass
 	grow	2500
- 	or	allm4,obsm4,m4fill,fillblock,fillblock4
+ 	or	allm4,obsm4,m4fill,fillblock
         grow    3000
  templayer	met4fill_coarse topbox
         # slots   0 2000 300 0 2000 300 700 1050
@@ -2327,7 +2326,7 @@
 
  templayer	obstruct_m4_medium glass
 	grow	2500
-	or	allm4,obsm4,m4fill,fillblock,fillblock4
+	or	allm4,obsm4,m4fill,fillblock
         grow    2700
 	or	met4fill_coarse
         grow    300
@@ -2340,7 +2339,7 @@
 
  templayer      obstruct_m4_fine glass
 	grow	5000
- 	or	allm4,obsm4,m4fill,fillblock,fillblock4
+ 	or	allm4,obsm4,m4fill,fillblock
         grow    200
 	or	met4fill_coarse,met4fill_medium
         grow    300
@@ -2353,17 +2352,17 @@
 
  templayer      obstruct_m4_veryfine glass
 	grow	5100
-	or	allm4,obsm4,m4fill,fillblock,fillblock4
+	or	allm4,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 topbox
-        slots   0 400 300 0 400 300 150 300
+        slots   0 490 300 0 490 300 150 300
         and-not obstruct_m4_veryfine
 	and	topbox
-        shrink  195
-        grow    195
+        shrink  240
+        grow    240
 
  layer	MET4FILL met4fill_coarse
 	or	met4fill_medium
@@ -2429,8 +2428,6 @@
  ignore HVNTM
  ignore POLYMOD
  ignore LOWTAPDENSITY
- ignore FILLOBSPOLY
- ignore FILLOBSFOM
  ignore MET5BLOCK
  ignore OUTLINE
  ignore POLYCUT
@@ -3963,12 +3960,28 @@
  layer comment TTEXT
  labels TTEXT text
 
- layer fillblock  FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4,FILLOBSM5
- labels FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4,FILLOBSM5
+# Do not infer generic "fillblock" from GDS input
+# layer fillblock  FILLOBSM5
+# and FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4
 
- layer fillblock4  FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4
- and-not FILLOBSM5
- labels FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4
+# Use the obstruction types for fill block on individual layers
+ layer obsactive FILLOBSFOM,FILLOBSPOLY
+ labels FILLOBSFOM,FILLOBSPOLY
+
+ layer obsm1 FILLOBSM1
+ labels FILLOBSM1
+
+ layer obsm2 FILLOBSM2
+ labels FILLOBSM2
+
+ layer obsm3 FILLOBSM3
+ labels FILLOBSM3
+
+ layer obsm4 FILLOBSM4
+ labels FILLOBSM4
+
+ layer obsm5 FILLOBSM5
+ labels FILLOBSM5
 
 # MOS Varactor
 
@@ -6587,8 +6600,8 @@
  device rsubcircuit sky130_fd_pr__res_generic_pd__hv  mvpdiffres \
 	*mvpdiff nwell  error l=l w=w
 
- device resistor sky130_fd_pr__res_generic_po rmp *poly
- device resistor sky130_fd_pr__res_generic_po mrp1 *poly
+ device rsubcircuit sky130_fd_pr__res_generic_po rmp *poly l=l w=w
+ device rsubcircuit sky130_fd_pr__res_generic_po mrp1 *poly l=l w=w
 
  # NOTE: SkyWater diode models have bizarre units requiring bizarre scaling
  device subcircuit sky130_fd_pr__diode_pd2nw_05v5 *pdiode nwell a=area*1E12 p=perim*1E6
@@ -6744,7 +6757,12 @@
   style pnm
      default
      draw fillblock no_color_at_all
-     draw fillblock4 no_color_at_all
+     draw obsactive no_color_at_all
+     draw obsm1 no_color_at_all
+     draw obsm2 no_color_at_all
+     draw obsm3 no_color_at_all
+     draw obsm4 no_color_at_all
+     draw obsm5 no_color_at_all
      draw fomfill no_color_at_all
      draw polyfill no_color_at_all
      draw m1fill no_color_at_all
diff --git a/sky130/netgen/sky130_setup.tcl b/sky130/netgen/sky130_setup.tcl
index 8f73e0b..2db9715 100644
--- a/sky130/netgen/sky130_setup.tcl
+++ b/sky130/netgen/sky130_setup.tcl
@@ -74,16 +74,16 @@
     }
 }
 
-#-------------------------------------------
-# poly resistor
-#-------------------------------------------
+#----------------------------------------------
+# poly resistor (changed from R type to X type)
+#----------------------------------------------
 
 set devices {}
 lappend devices sky130_fd_pr__res_generic_po
 
 foreach dev $devices {
     if {[lsearch $cells1 $dev] >= 0} {
-	permute "-circuit1 $dev" end_a end_b
+	permute "-circuit1 $dev" 1 2
 	property "-circuit1 $dev" series enable
 	property "-circuit1 $dev" series {w critical}
 	property "-circuit1 $dev" series {l add}
@@ -96,7 +96,7 @@
 	property "-circuit1 $dev" delete mult
     }
     if {[lsearch $cells2 $dev] >= 0} {
-	permute "-circuit2 $dev" end_a end_b
+	permute "-circuit2 $dev" 1 2
 	property "-circuit2 $dev" series enable
 	property "-circuit2 $dev" series {w critical}
 	property "-circuit2 $dev" series {l add}
diff --git a/sky130/sky130.json b/sky130/sky130.json
index a4f89dc..ea89833 100644
--- a/sky130/sky130.json
+++ b/sky130/sky130.json
@@ -94,10 +94,10 @@
         "magic": "MAGIC_COMMIT"
     },
     "reference": {
-        "open_pdks": "3cd608200b515f95382f3a7627193c4d7a3364df",
-        "magic": "efccdbf34145878180c6fce5654a65a60171a5b0",
-        "sky130_fd_pr": "6927177c9946a35e3f50d1f80d6e43ccd4c1cab8",
-        "sky130_fd_io": "979f0a09c39b12e195e5da872eeac62c9f49f8b1",
+        "open_pdks": "dc02929a0a50cedf6f6160cab4d3f683796adc22",
+        "magic": "291ba96285bcd7c2176f95229fc540bd88a25b88",
+        "sky130_fd_pr": "49971d88997f8fc1bf8cb9d07fb6e5fa614b5ec9",
+        "sky130_fd_io": "3abef97503c37e5e68f450059f51eee308432b0b",
         "sky130_fd_sc_hs": "d96f84170db1c3e12d701ed0ff59ea4246305202",
         "sky130_fd_sc_ms": "8b7c93432fe8bd025d566a742c2dc398c4a323d9",
         "sky130_fd_sc_ls": "355741cee5e90bd418f26abc128d053768e0ff52",
@@ -112,7 +112,7 @@
         "sky130_fd_bd_sram": "be33adbcf188fdeab5c061699847d9d440f7a084",
         "sky130_fd_pr_reram": "d6d2a3c6960aac0a0b12fc21221c31777bbf284d",
         "sky130_ml_xx_hd": "6eb3b0718552b034f1bf1870285ff135e3fb2dcb",
-        "xschem_sky130": "d1bdbf57af9b717dc93de290ddf9e1f38e74392b",
+        "xschem_sky130": "5c86542cfb5a01419a763f0f14156db08e2a3d63",
         "klayout_sky130": "e4816ab2b6aca53c6b53759c647b3395f772b112",
         "precheck_sky130": "4fd5283b124e931c9e71219f47270075176f84e2"
     }