Finally corrected all of the eight diode types, which had a lot of
typos left over from the conversion from s8 to sky130.
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index da9f1de..a2a4cb1 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -723,8 +723,8 @@
 
 #------------------------------------------------------------------
 # NOTE:  sky130_fd_pr__diode_pw2nd_05v5_lvt,
-# sky130_fd_pr__diode_pw2nd_05v5_nvt, sky130_fd_pr__pd2nw_05v5_lvt,
-# and sky130_fd_pr__pd2nw_11v0 are all considered parasitic diodes.
+# sky130_fd_pr__diode_pw2nd_05v5_nvt, sky130_fd_pr__diode_pd2nw_05v5_lvt,
+# and sky130_fd_pr__diode_pd2nw_11v0 are all considered parasitic diodes.
 # They may be generated by invoking the build procedure on the
 # command line.  To enable them in the PDK, add them to the
 # appropriate compatible {} list.
@@ -735,7 +735,7 @@
 	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
 	elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
 	compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt \
-	sky130_fd_pr__diode_pw2nd_11v0 sky130_fd_pr__diode_pw2nd_05v5_nvt} \
+	sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} \
 	full_metal 1}
 }
 
@@ -744,47 +744,7 @@
 	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
 	elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
 	compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt \
-	sky130_fd_pr__diode_pw2nd_11v0 sky130_fd_pr__diode_pw2nd_05v5_nvt} \
-	full_metal 1}
-}
-
-proc sky130::sky130_fd_pr__pd2nw_05v5_defaults {} {
-    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
-	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
-	elc 1 erc 1 etc 1 ebc 1 \
-	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
-	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
-	sky130_fd_pr__diode_pd2nw_11v0 sky130_fd_pr__diode_pd2nw_11v0} \ 
-	full_metal 1}
-}
-
-proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_defaults {} {
-    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
-	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
-	elc 1 erc 1 etc 1 ebc 1 \
-	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
-	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
-	sky130_fd_pr__diode_pd2nw_11v0 sky130_fd_pr__diode_pd2nw_11v0} \
-	full_metal 1}
-}
-
-proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
-    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
-	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
-	elc 1 erc 1 etc 1 ebc 1 \
-	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
-	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
-	sky130_fd_pr__diode_pd2nw_11v0 sky130_fd_pr__diode_pd2nw_11v0} \
-	full_metal 1}
-}
-
-
-proc sky130::sky130_fd_pr__diode_pw2nd_11v0_defaults {} {
-    return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
-	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
-	elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
-	compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt \
-	sky130_fd_pr__diode_pw2nd_11v0 sky130_fd_pr__diode_pw2nd_05v5_nvt} \
+	sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} \
 	full_metal 1}
 }
 
@@ -793,16 +753,57 @@
 	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
 	elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
 	compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt \
-	sky130_fd_pr__diode_pw2nd_11v0 sky130_fd_pr__diode_pw2nd_05v5_nvt} \
+	sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} \
 	full_metal 1}
+}
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_defaults {} {
+    return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
+	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
+	elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
+	compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt \
+	sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} \
+	full_metal 1}
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_defaults {} {
+    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
+	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
+	elc 1 erc 1 etc 1 ebc 1 \
+	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
+	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
+	sky130_fd_pr__diode_pd2nw_05v5_hvt sky130_fd_pr__diode_pd2nw_11v0} \ 
+	full_metal 1}
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_lvt_defaults {} {
+    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
+	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
+	elc 1 erc 1 etc 1 ebc 1 \
+	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
+	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
+	sky130_fd_pr__diode_pd2nw_05v5_hvt sky130_fd_pr__diode_pd2nw_11v0} \
+	full_metal 1}
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_hvt_defaults {} {
+    return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
+	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
+	elc 1 erc 1 etc 1 ebc 1 \
+	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
+	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
+	sky130_fd_pr__diode_pd2nw_05v5_hvt sky130_fd_pr__diode_pd2nw_11v0} \
+	full_metal 1}
+}
+
+
+proc sky130::sky130_fd_pr__diode_pd2nw_11v0_defaults {} {
     return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
 	nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
 	elc 1 erc 1 etc 1 ebc 1 \
 	glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
 	compatible {sky130_fd_pr__diode_pd2nw_05v5 sky130_fd_pr__diode_pd2nw_05v5_lvt \
-	sky130_fd_pr__diode_pd2nw_11v0 sky130_fd_pr__diode_pd2nw_11v0} \
+	sky130_fd_pr__diode_pd2nw_05v5_hvt sky130_fd_pr__diode_pd2nw_11v0} \
 	full_metal 1}
 }
 
@@ -816,15 +817,7 @@
     return [sky130::diode_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__pd2nw_05v5_convert {parameters} {
-    return [sky130::diode_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_convert {parameters} {
-    return [sky130::diode_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_convert {parameters} {
     return [sky130::diode_convert $parameters]
 }
 
@@ -832,11 +825,19 @@
     return [sky130::diode_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_convert {parameters} {
     return [sky130::diode_convert $parameters]
 }
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_lvt_convert {parameters} {
+    return [sky130::diode_convert $parameters]
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_hvt_convert {parameters} {
+    return [sky130::diode_convert $parameters]
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_11v0_convert {parameters} {
     return [sky130::diode_convert $parameters]
 }
 
@@ -850,28 +851,28 @@
     sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_lvt $parameters
 }
 
-proc sky130::sky130_fd_pr__pd2nw_05v5_dialog {parameters} {
-    sky130::diode_dialog sky130_fd_pr__pd2nw_05v5 $parameters
-}
-
-proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_dialog {parameters} {
-    sky130::diode_dialog sky130_fd_pr__pd2nw_05v5_lvt $parameters
-}
-
-proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
-    sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_dialog {parameters} {
+    sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_nvt $parameters
 }
 
 proc sky130::sky130_fd_pr__diode_pw2nd_11v0_dialog {parameters} {
     sky130::diode_dialog sky130_fd_pr__diode_pw2nd_11v0 $parameters
 }
 
-proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_dialog {parameters} {
-    sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_nvt $parameters
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_dialog {parameters} {
+    sky130::diode_dialog sky130_fd_pr__diode_pd2nw_05v5 $parameters
 }
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
-    sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_lvt_dialog {parameters} {
+    sky130::diode_dialog sky130_fd_pr__diode_pd2nw_05v5_lvt $parameters
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_hvt_dialog {parameters} {
+    sky130::diode_dialog sky130_fd_pr__diode_pd2nw_05v5_hvt $parameters
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_11v0_dialog {parameters} {
+    sky130::diode_dialog sky130_fd_pr__diode_pd2nw_11v0 $parameters
 }
 
 #----------------------------------------------------------------
@@ -884,15 +885,7 @@
     sky130::diode_check $parameters
 }
 
-proc sky130::sky130_fd_pr__pd2nw_05v5_check {parameters} {
-    sky130::diode_check $parameters
-}
-
-proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_check {parameters} {
-    sky130::diode_check $parameters
-}
-
-proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_check {parameters} {
     sky130::diode_check $parameters
 }
 
@@ -900,11 +893,19 @@
     sky130::diode_check $parameters
 }
 
-proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_check {parameters} {
     sky130::diode_check $parameters
 }
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_lvt_check {parameters} {
+    sky130::diode_check $parameters
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_hvt_check {parameters} {
+    sky130::diode_check $parameters
+}
+
+proc sky130::sky130_fd_pr__diode_pd2nw_11v0_check {parameters} {
     sky130::diode_check $parameters
 }
 
@@ -1118,7 +1119,8 @@
 #----------------------------------------------------------------
 # NOTE:  Use ppd instead of psd so that there is additional
 # diffusion around the contact, allowing more space for the
-# implant (likewise sky130_fd_pr__pd2nw_05v5_lvt and sky130_fd_pr__pd2nw_11v0).
+# implant (likewise sky130_fd_pr__diode_pd2nw_05v5_lvt and
+# sky130_fd_pr__diode_pd2nw_11v0).
 
 proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_draw {parameters} {
 
@@ -1142,9 +1144,55 @@
     return [sky130::diode_draw $drawdict]
 } 
 
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_draw {parameters} {
+
+    # Set a local variable for each rule in ruleset
+    foreach key [dict keys $sky130::ruleset] {
+        set $key [dict get $sky130::ruleset $key]
+    }
+
+    set newdict [dict create \
+	    dev_type		nndiode \
+	    dev_contact_type	nndic \
+	    end_type		mvpsd \
+	    end_contact_type	mvpsc \
+	    end_sub_type	psub \
+	    dev_spacing		0.37 \
+	    dev_surround	${diff_surround} \
+	    end_spacing		0.30 \
+	    end_surround	${diff_surround} \
+    ]
+    set drawdict [dict merge $sky130::ruleset $newdict $parameters]
+    return [sky130::diode_draw $drawdict]
+} 
+
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_draw {parameters} {
+
+    # Set a local variable for each rule in ruleset
+    foreach key [dict keys $sky130::ruleset] {
+        set $key [dict get $sky130::ruleset $key]
+    }
+
+    set newdict [dict create \
+	    dev_type		mvndiode \
+	    dev_contact_type	mvndic \
+	    end_type		mvpsd \
+	    end_contact_type	mvpsc \
+	    end_sub_type	psub \
+	    diff_spacing	0.37 \
+	    dev_spacing		0.39 \
+	    dev_surround	${diff_surround} \
+	    end_spacing		0.36 \
+	    end_surround	${diff_surround} \
+    ]
+    set drawdict [dict merge $sky130::ruleset $newdict $parameters]
+    return [sky130::diode_draw $drawdict]
+}
+
+
 #----------------------------------------------------------------
 
-proc sky130::sky130_fd_pr__pd2nw_05v5_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_draw {parameters} {
 
     # Set a local variable for each rule in ruleset
     foreach key [dict keys $sky130::ruleset] {
@@ -1172,7 +1220,7 @@
 
 #----------------------------------------------------------------
 
-proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_lvt_draw {parameters} {
 
     # Set a local variable for each rule in ruleset
     foreach key [dict keys $sky130::ruleset] {
@@ -1200,7 +1248,7 @@
 
 #----------------------------------------------------------------
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_05v5_hvt_draw {parameters} {
 
     # Set a local variable for each rule in ruleset
     foreach key [dict keys $sky130::ruleset] {
@@ -1226,58 +1274,10 @@
     return [sky130::diode_draw $drawdict]
 }
 
-#----------------------------------------------------------------
-
-proc sky130::sky130_fd_pr__diode_pw2nd_11v0_draw {parameters} {
-
-    # Set a local variable for each rule in ruleset
-    foreach key [dict keys $sky130::ruleset] {
-        set $key [dict get $sky130::ruleset $key]
-    }
-
-    set newdict [dict create \
-	    dev_type		mvndiode \
-	    dev_contact_type	mvndic \
-	    end_type		mvpsd \
-	    end_contact_type	mvpsc \
-	    end_sub_type	psub \
-	    diff_spacing	0.37 \
-	    dev_spacing		0.39 \
-	    dev_surround	${diff_surround} \
-	    end_spacing		0.36 \
-	    end_surround	${diff_surround} \
-    ]
-    set drawdict [dict merge $sky130::ruleset $newdict $parameters]
-    return [sky130::diode_draw $drawdict]
-}
-
-
-proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_draw {parameters} {
-
-    # Set a local variable for each rule in ruleset
-    foreach key [dict keys $sky130::ruleset] {
-        set $key [dict get $sky130::ruleset $key]
-    }
-
-    set newdict [dict create \
-	    dev_type		nndiode \
-	    dev_contact_type	nndic \
-	    end_type		mvpsd \
-	    end_contact_type	mvpsc \
-	    end_sub_type	psub \
-	    dev_spacing		0.37 \
-	    dev_surround	${diff_surround} \
-	    end_spacing		0.30 \
-	    end_surround	${diff_surround} \
-    ]
-    set drawdict [dict merge $sky130::ruleset $newdict $parameters]
-    return [sky130::diode_draw $drawdict]
-} 
-
 
 #----------------------------------------------------------------
 
-proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pd2nw_11v0_draw {parameters} {
 
     # Set a local variable for each rule in ruleset
     foreach key [dict keys $sky130::ruleset] {