Added resistor type short as a custom modification to the device
models. Changed "obslic" (li-m1 contact as an obstruction layer)
to be defined not between obsli and obsm1, but between obsli and
metal1. This is consistent with the use of obsli in the standard
cells with the LEF files generated using the "-toplayer" option,
and allows metal1 to be placed across the power rails and obslic
contacts without generating DRC errors.
diff --git a/VERSION b/VERSION
index 9600efd..672e5f5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.38
+1.0.39
diff --git a/sky130/Makefile.in b/sky130/Makefile.in
index 949cf86..daa0808 100644
--- a/sky130/Makefile.in
+++ b/sky130/Makefile.in
@@ -362,6 +362,10 @@
-lef %l/latest/cells/*/*.magic.lef compile-only \
-spice %l/latest/cells/*/*.spice filter=custom/scripts/rename_cells.py \
-library primitive sky130_fd_pr |& tee -a ${SKY130A}_install.log
+ # Custom: Add "short" resistor model to the r+c models file
+ cat ./custom/models/short.spice >> \
+ ${STAGING_PATH}/${SKY130A}/libs.tech/ngspice/sky130_fd_pr__model__r+c.model.spice
+
# Install SkyWater I/O pad library
# Purposely ignoring "-lef sky130_fd_io/latest/lef/*.lef" and making our own LEF views
${STAGE} -source ${SKYWATER_PATH} -target ${STAGING_PATH}/${SKY130A} \
diff --git a/sky130/custom/models/short.spice b/sky130/custom/models/short.spice
new file mode 100644
index 0000000..bc5faf0
--- /dev/null
+++ b/sky130/custom/models/short.spice
@@ -0,0 +1,2 @@
+* Resistor model "short" defined with a fixed resistance of 0.01 ohms.
+.model short r r=0.01
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index e17b2c8..568cab3 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -328,7 +328,7 @@
mvpdic mvpdiode locali
lic locali metal1
- obslic obsli obsm1
+ obslic obsli metal1
via1 metal1 metal2
via2 metal2 metal3
@@ -607,6 +607,10 @@
compose mvnfet poly mvndiff
compose mvpfet poly mvpdiff
compose mvvar poly mvnsd
+
+ paint obslic locali via1
+ paint obslic obsm1 obsm1
+ paint obslic obsm1 obsli
paint ndc nwell pdc
paint nfet nwell pfet
@@ -5486,6 +5490,7 @@
obs obsmrdl met6
#endif
+ # NOTE: obslic only used with li1, not obsli.
obs obslic mcon
end