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