Corrected the GF device generator for magic to correctly handle
W vs. NF for a MOSFET as read from a netlist using "readspice",
by dividing W by NF to get width per finger of the device.
diff --git a/VERSION b/VERSION
index c9b46ab..266bc23 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.536
+1.0.537
diff --git a/gf180mcu/magic/gf180mcu.tcl b/gf180mcu/magic/gf180mcu.tcl
index 80035eb..c466abc 100644
--- a/gf180mcu/magic/gf180mcu.tcl
+++ b/gf180mcu/magic/gf180mcu.tcl
@@ -3350,6 +3350,7 @@
 
 proc gf180mcu::mos_convert {parameters} {
     set pdkparams [dict create]
+    set nf 1
     dict for {key value} $parameters {
 	switch -nocase $key {
 	    l -
@@ -3362,20 +3363,46 @@
 	    }
 	    m {
 		# M value in an expression like '1*1' convert to
-		# M and NF
-		if {[regexp {\'([0-9]+)\*([0-9]+)\'} $value valid m nf]} {
-		    dict set pdkparams [string tolower $key] $m
-		    dict set pdkparams nf $nf
+		# NF and M, and do not overlap fingers.
+		if {[regexp {\'([0-9]+)\*([0-9]+)\'} $value valid mx my]} {
+		    dict set pdkparams [string tolower $key] $my
 		} else {
 		    dict set pdkparams [string tolower $key] $value
 		}
 	    }
+	    nf {
+		# Adjustment of W will be handled after parsing
+		dict set pdkparams $key $value
+	    }
 	    default {
 		# Allow unrecognized parameters to be passed unmodified
 		dict set pdkparams $key $value
 	    }
 	}
     }
+
+    # Magic does not understand "nf" as a parameter, but expands to
+    # "nf" number of devices connected horizontally.  The "w" value
+    # must be divided down accordingly, as the "nf" parameter implies
+    # that the total width "w" is divided into "nf" fingers.
+
+    catch {
+	set w [dict get $pdkparams w]
+	set nf [dict get $pdkparams nf]
+	if {$nf > 1} {
+	    dict set pdkparams w [expr $w / $nf]
+	}
+    }
+    catch {
+	set nf [expr $nf * $mx]
+	if {$nf > 1} {
+	    dict set pdkparams nf $nf
+	}
+	if {$mx > 1} {
+	    dict set pdkparams doverlap 0
+	}
+    }
+
     return $pdkparams
 }