Revised the rule for checking (effectively) HVI to nwell spacing. This
must use a cif-drc rule because the chech needs to be to LV nwell, not
HV nwell (which would have merged the HVI layer). Otherwise there are
lots of false positive errors.
diff --git a/VERSION b/VERSION
index 7eeb2c7..32c4ece 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.62
+1.0.63
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 3cd4f54..0c83c7f 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -1511,6 +1511,9 @@
grow-min 840
bridge 700 600
+ # Simple spacing checks to lvnwell must use CIF-DRC rule
+ templayer allmvdiffnowell *mvndiff,*mvpsd
+
templayer lvnwell nwell
and-not mvnwell
@@ -5129,8 +5132,11 @@
"N-well overlap of MV varactor < %d (lvtn.10 + lvtn.4b)"
spacing *mvndiode *mvndiode 1070 touching_ok \
"MV N-diode spacing < %d (hvntm.2 + 2 * hvntm.3)"
- spacing alldiffmv nwell 825 surround_ok \
- "MV N-diffusion to nwell spacing < %d (hvi.5 + nsd/psd.5)"
+
+variants (full)
+ cifspacing allmvdiffnowell lvnwell 825 touching_illegal \
+ "MV diffusion to LV nwell spacing < %d (hvi.5 + nsd/psd.5)"
+variants (fast),(full)
spacing allnfets allpactivenonfet 270 touching_illegal \
"nFET cannot abut P-diffusion (diff/tap.3)"