Changed the sky130 and gf180mcu Makefiles so that "--with-reference"
works as advertised, which is that "--with-reference" by itself
uses the exising "sky130.json" or "gf180mcu.json" file, while
"--with-reference=<file>" uses "<file>" to get the source
repository commit hashes (and without the argument, the latest
version of all repositories is used). Previously, the version
"--with-reference=<file>" did not work at all, and was equivalent
to not using the argument. Thanks to Toni Trigoso for pointing
out the error.
diff --git a/VERSION b/VERSION
index d0f79bb..fcf512e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.522
+1.0.523
diff --git a/gf180mcu/Makefile.in b/gf180mcu/Makefile.in
index 1d5b4aa..394cde8 100644
--- a/gf180mcu/Makefile.in
+++ b/gf180mcu/Makefile.in
@@ -164,8 +164,10 @@
ifeq (${USE_REFERENCE}, 1)
REFERENCE_JSON = ${TECH}.json
-else
+else ifeq (${USE_REFERENCE}, 0)
REFERENCE_JSON =
+else
+ REFERENCE_JSON = ${USE_REFERENCE}
endif
# Path to GF180MCU library sources
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 45fa6f9..3c67bb6 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -298,8 +298,10 @@
ifeq (${USE_REFERENCE}, 1)
REFERENCE_JSON = ${TECH}.json
-else
+else ifeq (${USE_REFERENCE}, 0)
REFERENCE_JSON =
+else
+ REFERENCE_JSON = ${USE_REFERENCE}
endif
FOSSI_URL = https://github.com/fossi-foundation
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 7c41bc8..5fb3e7d 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -1746,16 +1746,24 @@
# with mask-hints layers.
templayer drawn_hvi
- mask-hints HVI
+ mask-hints HVI
templayer allmvdiffnowell *mvndiff,*mvpsd
and-not drawn_hvi
- templayer nwell_or_hvi nwell,drawn_hvi
-
templayer lvnwell nwell
and-not mvnwell
+ templayer hvi_abut_lvnwell lvnwell
+ grow 5
+ and drawn_hvi
+ grow 695
+
+ templayer hvi_to_lvnwell drawn_hvi
+ and-not hvi_abut_lvnwell
+ grow 700
+ and lvnwell
+
# Check for low-voltage diffusion in high-voltage well
templayer lvdiff_in_mvnwell *pdiff,*pdiode,pdiffres,*nsd
or pfet,ppu,scpfet,scpfethvt,pfetlvt,pfetmvt,pfethvt
@@ -4408,8 +4416,10 @@
variants (full)
cifspacing allmvdiffnowell lvnwell 825 touching_illegal \
"MV diffusion to LV nwell spacing < %d (hvi.5 + nsd/psd.5)"
- cifspacing nwell_or_hvi nwell_or_hvi 700 touching_ok \
- "HVI to HVI or LV nwell spacing < %d (hvi.5)"
+ cifspacing drawn_hvi drawn_hvi 700 touching_ok \
+ "HVI to HVI spacing < %d (hvi.5)"
+ cifmaxwidth hvi_to_lvnwell 0 bend_illegal \
+ "HVI to LV nwell spacing < 0.7um (hvi.5)"
cifmaxwidth difftap_near_mvnwell 0 bend_illegal \
"Spacing of N-Diffusion or P-tap to MV nwell < 0.43um (diff/tap.18,20)"
variants (fast),(full)