Substantially revised the technology file for magic, the PDK device
generator script for magic, the setup file for netgen, and the
DRC torture test generator, to match the final naming conventions
for the sky130_fd_pr library of primitive devices.
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech
index 8faaa03..994e000 100644
--- a/sky130/magic/sky130.tech
+++ b/sky130/magic/sky130.tech
@@ -42,13 +42,13 @@
#------------------------------------------------------------------------
# sky130_fd_pr__nfet_01v8 nfet standard nFET
# sky130_fd_pr__nfet_01v8 scnfet standard nFET in standard cell**
-# npd npd special nFET in SRAM cell
-# npass npass special nFET in SRAM cell
+# sky130_fd_pr__special_nfet_latch npd special nFET in SRAM cell
+# sky130_fd_pr__special_nfet_pass npass special nFET in SRAM cell
# sky130_fd_pr__nfet_01v8_lvt nfetlvt low Vt nFET
-# sonos_p/e nsonos SONOS nFET
+# sky130_fd_bs_flash__special_sonosfet_star nsonos SONOS nFET
# sky130_fd_pr__pfet_01v8 pfet standard pFET
# sky130_fd_pr__pfet_01v8 scpfet standard pFET in standard cell**
-# ppu ppu special pFET in SRAM cell
+# sky130_fd_pr__special_pfet_pass ppu special pFET in SRAM cell
# sky130_fd_pr__pfet_01v8_lvt pfetlvt low Vt pFET
# sky130_fd_pr__pfet_01v8_mvt pfetmvt med Vt pFET
# sky130_fd_pr__pfet_01v8_hvt pfethvt high Vt pFET
@@ -56,10 +56,10 @@
# sky130_fd_pr__pfet_g5v0d10v5 mvpfet thickox pFET
# sky130_fd_pr__nfet_g5v0d10v5 mvnfet thickox nFET
# sky130_fd_pr__nfet_01v8_nvt mvnnfet thickox native nFET
-# sky130_fd_pr__diode_pw2nd ndiode n+ diff diode
-# ndiode_h mvndiode thickox n+ diff diode
-# sky130_fd_pr__diode_pd2nw pdiode p+ diff diode
-# pdiode_h mvpdiode thickox p+ diff diode
+# sky130_fd_pr__diode_pw2nd_05v5 ndiode n+ diff diode
+# sky130_fd_pr__diode_pw2nd_11v0 mvndiode thickox n+ diff diode
+# sky130_fd_pr__diode_pd2nw_05v5 pdiode p+ diff diode
+# sky130_fd_pr__diode_pd2nw_11v0 mvpdiode thickox p+ diff diode
# sky130_fd_pr__diode_pw2nd_nvt nndiode diode with nndiff
# sky130_fd_pr__diode_pw2nd_lvt ndiodelvt low Vt n+ diff diode
# sky130_fd_pr__diode_pd2nw_lvt pdiodelvt low Vt p+ diff diode
@@ -67,56 +67,43 @@
# sky130_fd_pr__npn_05v0 pbase NPN in deep nwell
# sky130_fd_pr__npn_11v0 mvpbase thick oxide gated NPN
# sky130_fd_pr__pnp_05v0 nbase PNP
-# xcmimc1 mimcap MiM cap 1st plate
-# xcmimc2 mimcap2 MiM cap 2nd plate
-# mrdn rdn n+ diff resistor
+# sky130_fd_pr__cap_mim_m3_1 mimcap MiM cap 1st plate
+# sky130_fd_pr__cap_mim_m3_2 mimcap2 MiM cap 2nd plate
+# sky130_fd_pr__res_generic_nd rdn n+ diff resistor
# mrdn_hv mvrdn thickox n+ diff resistor
-# mrdp rdp p+ diff resistor
+# sky130_fd_pr__res_generic_pd rdp p+ diff resistor
# mrdp_hv mvrdp thickox p+ diff resistor
-# mrl1 rli local interconnect resistor
-# mrp1 npres n+ poly resistor
-# xhrpoly_* ppres (*) p+ poly resistor (300 Ohms/sq)
-# uhrpoly_* xres (*) p+ poly resistor (2k Ohms/sq)
-# xcnwvc varactor varactor (low Vt?)
-# xcnwvc2 varactorhvt high Vt varactor
-# xchvnwc mvvaractor thickox varactor
-# xpwres rpw pwell resistor (in deep nwell)
+# sky130_fd_pr__res_generic_l1 rli local interconnect resistor
+# sky130_fd_pr__res_generic_po npres n+ poly resistor
+# sky130_fd_pr__res_high_po_* ppres (*) p+ poly resistor (300 Ohms/sq)
+# sky130_fd_pr__res_xhigh_po_* xres (*) p+ poly resistor (2k Ohms/sq)
+# sky130_fd_pr__cap_var_lvt varactor low Vt varactor
+# sky130_fd_pr__cap_var_hvt varactorhvt high Vt varactor
+# sky130_fd_pr__cap_var mvvaractor thickox varactor
+# sky130_fd_pr__res_iso_pw rpw pwell resistor (in deep nwell)
#
-# (*) Note that ppres may extract into some generic type
-# called "xhrpoly", but only specific sizes of xhrpoly are
-# allowed, and these are created from fixed layouts like the
-# types below.
+# (*) Note that ppres may extract into some generic type called
+# "sky130_fd_pr__res_xhigh_po", but only specific sizes of xhrpoly are
+# allowed, and these are created from fixed layouts like the types below.
#
# (**) nFET and pFET in standard cells are the same as devices
# outside of the standard cell except for the DRC rule for
# FET to diffusion contact spacing (which is 0.05um, not 0.055um)
#
-# To avoid creating a large number of types, a few ID layers are
-# used in conjunction with standard devices types: "lvt" for
-# low threshold voltage, and "hvt" for high threshold voltage.
-# "dnwell" is used as an identifier layer where appropriate.
-# Layer HVI (thick oxide) is treated differently, and types
-# "mv*" are defined where thick oxide is required.
-#
#-------------------------------------------------------------
# The following devices are not extracted but are represented
# only by script-generated subcells in the PDK.
#-------------------------------------------------------------
-# nshortesd ESD nFET
-# nhvesd ESD thickox nFET
-# nhvnativeesd ESD native nFET
-# phvesd ESD thickox pFET
-# fnpass flash nFET device
-# xesd_ndiode_h_*** ESD n+ diode
-# xesd_pdiode_h_*** ESD p+ diode
-# reslocsub local substrate island indicator
-# xcmvpp Vpp cap
-# xcmvpp_2 Vpp cap
-# xcmvpp_* Vpp cap
-# xcmvpp* Vpp cap
-# balun balun inductor
-# ind4 inductor
-# fuse metal fuse device
+# sky130_fd_pr__esd_nfet_01v8 ESD nFET
+# sky130_fd_pr__esd_nfet_g5v0d10v5 ESD thickox nFET
+# sky130_fd_pr__esd_nfet_05v0_nvt ESD native nFET
+# sky130_fd_pr__esd_pfet_g5v0d10v5 ESD thickox pFET
+# sky130_fd_pr__special_nfet_pass_flash flash nFET device
+# sky130_fd_pr__esd_rf_diode_pw2nd_11v0 ESD n+ diode
+# sky130_fd_pr__esd_rf_diode_pd2nw_11v0 ESD p+ diode
+# sky130_fd_pr__cap_vpp_* Vpp cap
+# sky130_fd_pr__ind_* inductor
+# sky130_fd_pr__fuse_m4 metal fuse device
#--------------------------------------------------------------
#-----------------------------------------------------
@@ -5897,7 +5884,7 @@
device msubcircuit sky130_fd_pr__pfet_01v8 pfet,scpfet \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
- device msubcircuit ppu ppu \
+ device msubcircuit sky130_fd_pr__special_pfet_pass ppu \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
device msubcircuit sky130_fd_pr__pfet_01v8_lvt pfetlvt \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
@@ -5906,23 +5893,36 @@
device msubcircuit sky130_fd_pr__pfet_01v8_hvt pfethvt \
*pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w
- device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet,npd,npass \
+ device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit npd npd \
+ device msubcircuit sky130_fd_pr__special_nfet_latch npd \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit npass npass \
+ device msubcircuit sky130_fd_pr__special_nfet_pass npass \
+ *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
+
+ device msubcircuit sky130_fd_pr__special_nfet_latch npd \
+ *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__special_nfet_pass npass \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
device msubcircuit sky130_fd_pr__nfet_01v8_lvt nfetlvt \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device msubcircuit sonos_e nsonos \
+ device msubcircuit sky130_fd_bs_flash__special_sonosfet_star nsonos \
*ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w
- device subcircuit xcnwvc varactor \
+ device subcircuit sky130_fd_pr__cap_var_lvt varactor \
*nndiff nwell error l=l w=w
- device subcircuit xcnwvc2 varhvt \
+ device subcircuit sky130_fd_pr__cap_var_hvt varhvt \
*nndiff nwell error l=l w=w
- device subcircuit xchvnwc mvvaractor \
+ device subcircuit sky130_fd_pr__cap_var mvvaractor \
*mvnndiff nwell error l=l w=w
+ # Extended drain devices (must appear before the regular devices)
+ device msubcircuit sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error l=l w=w
+ device msubcircuit sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \
+ pwell,space/w nwell error l=l w=w
+
device msubcircuit sky130_fd_pr__pfet_g5v0d10v5 mvpfet \
*mvpdiff,mvpdiffres *mvpdiff,mvpdiffres nwell error l=l w=w
device msubcircuit sky130_fd_pr__nfet_g5v0d10v5 mvnfet \
@@ -5933,64 +5933,56 @@
device msubcircuit sky130_fd_pr__npn_05v0 npn dnwell *ndiff space/w error a1=area
device msubcircuit sky130_fd_pr__pnp_05v0 pnp pwell,space/w *pdiff a1=area
- # Extended drain devices
- device msubcircuit sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff dnwell \
- pwell,space/w error l=l w=w
- device msubcircuit sky130_fd_pr__nfet_20v0 mvnfet *mvndiff dnwell \
- pwell,space/w error l=l w=w
- device msubcircuit sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff pwell,space/w \
- nwell error l=l w=w
-
- device rsubcircuit short rmp \
+ device rsubcircuit sky130_fd_pr__res_generic_po rmp \
*poly space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rli1 \
+ device rsubcircuit sky130_fd_pr__res_generic_l1 rli1 \
*li,coreli space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal1 \
+ device rsubcircuit sky130_fd_pr__res_generic_m1 rmetal1 \
*metal1 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal2 \
+ device rsubcircuit sky130_fd_pr__res_generic_m2 rmetal2 \
*metal2 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rmetal3 \
+ device rsubcircuit sky130_fd_pr__res_generic_m3 rmetal3 \
*metal3 space/w,pwell,nwell error l=l w=w
#ifdef METAL5
- device rsubcircuit short rm4 \
+ device rsubcircuit sky130_fd_pr__res_generic_m4 rm4 \
*m4 space/w,pwell,nwell error l=l w=w
- device rsubcircuit short rm5 \
+ device rsubcircuit sky130_fd_pr__res_generic_m5 rm5 \
*m5 space/w,pwell,nwell error l=l w=w
#endif (METAL5)
- device rsubcircuit xhrpoly_0p35 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_0p35 xhrpoly \
xpc pwell,space/w error +res0p35 l=l w=w
- device rsubcircuit xhrpoly_0p69 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_0p69 xhrpoly \
xpc pwell,space/w error +res0p69 l=l w=w
- device rsubcircuit xhrpoly_1p41 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_1p41 xhrpoly \
xpc pwell,space/w error +res1p41 l=l w=w
- device rsubcircuit xhrpoly_2p85 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_2p85 xhrpoly \
xpc pwell,space/w error +res2p85 l=l w=w
- device rsubcircuit xhrpoly_5p73 xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po_5p73 xhrpoly \
xpc pwell,space/w error +res5p73 l=l w=w
- device rsubcircuit xhrpoly xhrpoly \
+ device rsubcircuit sky130_fd_pr__res_high_po xhrpoly \
xpc pwell,space/w error l=l w=w
- device rsubcircuit uhrpoly_0p35 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_0p35 uhrpoly \
xpc pwell,space/w error +res0p35 l=l w=w
- device rsubcircuit uhrpoly_0p69 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_0p69 uhrpoly \
xpc pwell,space/w error +res0p69 l=l w=w
- device rsubcircuit uhrpoly_1p41 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_1p41 uhrpoly \
xpc pwell,space/w error +res1p41 l=l w=w
- device rsubcircuit uhrpoly_2p85 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_2p85 uhrpoly \
xpc pwell,space/w error +res2p85 l=l w=w
- device rsubcircuit uhrpoly_5p73 uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po_5p73 uhrpoly \
xpc pwell,space/w error +res5p73 l=l w=w
- device rsubcircuit uhrpoly uhrpoly \
+ device rsubcircuit sky130_fd_pr__res_xhigh_po uhrpoly \
xpc pwell,space/w error l=l w=w
- device rsubcircuit mrp1 mrp1 \
+ device rsubcircuit sky130_fd_pr__res_generic_po mrp1 \
*poly pwell,space/w error l=l w=w
- device rsubcircuit mrdn ndiffres \
+ device rsubcircuit sky130_fd_pr_res_generic_nd ndiffres \
*ndiff pwell,space/w error l=l w=w
- device rsubcircuit mrdp pdiffres \
+ device rsubcircuit sky130_fd_pr_res_generic_pd pdiffres \
*pdiff nwell error l=l w=w
- device rsubcircuit xpwres rpw \
+ device rsubcircuit sky130_fd_pr__res_iso_pw rpw \
pwell dnwell error l=l w=w
device rsubcircuit mrdn_hv mvndiffres \
@@ -5998,13 +5990,13 @@
device rsubcircuit mrdp_hv mvpdiffres \
*mvpdiff nwell error l=l w=w
- device subcircuit sky130-fd_pr__diode_pd2nw *pdiode \
+ device subcircuit sky130_fd_pr__diode_pd2nw_05v5 *pdiode \
nwell a=area
- device msubcircuit sky130_fd_pr__diode_pw2nd *ndiode \
+ device msubcircuit sky130_fd_pr__diode_pw2nd_05v5 *ndiode \
pwell,space/w a=area
- device subcircuit pdiode_h *mvpdiode \
+ device subcircuit sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode \
nwell a=area
- device msubcircuit ndiode_h *mvndiode \
+ device msubcircuit sky130_fd_pr__diode_pw2nd_11v0 *mvndiode \
pwell,space/w a=area
# These are parasitic devices
@@ -6018,88 +6010,88 @@
pwell,space/w a=area
#ifdef MIM
- device subcircuit xcmimc1 *mimcap m3 nwell,pwell,space/w error a=area s=subs
- device subcircuit xcmimc2 *mimcap2 m4,mimcc/m4 nwell,pwell,space/w error a=area s=subs
+ device subcircuit sky130_fd_pr__cap_mim_m3_1 *mimcap m3 nwell,pwell,space/w error a=area s=subs
+ device subcircuit sky130_fd_pr__cap_mim_m3_2 *mimcap2 m4,mimcc/m4 nwell,pwell,space/w error a=area s=subs
#endif (MIM)
variants (orig)
- device mosfet pshort scpfet,pfet pdiff,pdiffres,pdc nwell
- device mosfet ppu ppu pdiff,pdiffres,pdc nwell
- device mosfet plowvt pfetlvt pdiff,pdiffres,pdc nwell
- device mosfet pmedvt pfetmvt pdiff,pdiffres,pdc nwell
- device mosfet phighvt pfethvt pdiff,pdiffres,pdc nwell
- device mosfet nshort scnfet,npd,npass,nfet ndiff,ndiffres,ndc pwell,space/w
- device mosfet npd npd ndiff,ndiffres,ndc pwell,space/w
- device mosfet npass npass ndiff,ndiffres,ndc pwell,space/w
- device mosfet nlowvt nfetlvt ndiff,ndiffres,ndc pwell,space/w
- device mosfet sonos_e nsonos ndiff,ndiffres,ndc pwell,space/w
- device mosfet phv mvpfet mvpdiff,mvpdiffres,mvpdc nwell
- device mosfet nhv mvnfet mvndiff,mvndiffres,mvndc pwell,space/w
- device mosfet nhvnative mvnnfet *mvndiff,mvndiffres pwell,space/w
+ device mosfet sky130_fd_pr__pfet_01v8 scpfet,pfet pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__special_pfet_pass ppu pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_lvt pfetlvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_mvt pfetmvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__pfet_01v8_hvt pfethvt pdiff,pdiffres,pdc nwell
+ device mosfet sky130_fd_pr__nfet_01v8 scnfet,nfet ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_pass npass ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_pr__nfet_01v8_lvt nfetlvt ndiff,ndiffres,ndc pwell,space/w
+ device mosfet sky130_fd_bs_flash__special_sonosfet_star nsonos ndiff,ndiffres,ndc \
+ pwell,space/w
+
+ # Extended drain devices (must appear before the regular devices)
+ device mosfet sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error
+ device mosfet sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \
+ dnwell pwell,space/w error
+ device mosfet sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \
+ pwell,space/w nwell error
+
+ device mosfet sky130_fd_pr__pfet_g5v0d10v5 mvpfet mvpdiff,mvpdiffres,mvpdc nwell
+ device mosfet sky130_fd_pr__nfet_g5v0d10v5 mvnfet mvndiff,mvndiffres,mvndc pwell,space/w
+ device mosfet sky130_fd_pr__nfet_05v0_nvt mvnnfet *mvndiff,mvndiffres pwell,space/w
# These devices always extract as subcircuits
- device subcircuit xcnwvc varactor *nndiff nwell error l=l w=w
- device subcircuit xcnwvc2 varhvt *nndiff nwell error l=l w=w
- device subcircuit xchvnwc mvvaractor *mvnndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var_lvt varactor *nndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var_hvt varhvt *nndiff nwell error l=l w=w
+ device subcircuit sky130_fd_pr__cap_var mvvaractor *mvnndiff nwell error l=l w=w
- device resistor short rmp *poly
- device resistor short rli1 *li,coreli
- device resistor short rmetal1 *metal1
- device resistor short rmetal2 *metal2
- device resistor short rmetal3 *metal3
+ device resistor sky130_fd_pr__res_generic_po rmp *poly
+ device resistor sky130_fd_pr__res_generic_l1 rli1 *li,coreli
+ device resistor sky130_fd_pr__res_generic_m1 rmetal1 *metal1
+ device resistor sky130_fd_pr__res_generic_m2 rmetal2 *metal2
+ device resistor sky130_fd_pr__res_generic_m3 rmetal3 *metal3
#ifdef METAL5
- device resistor short rm4 *m4
- device resistor short rm5 *m5
+ device resistor sky130_fd_pr__res_generic_m4 rm4 *m4
+ device resistor sky130_fd_pr__res_generic_m5 rm5 *m5
#endif (METAL5)
- device resistor xhrpoly_0p35 xhrpoly xpc +res0p35
- device resistor xhrpoly_0p69 xhrpoly xpc +res0p69
- device resistor xhrpoly_1p41 xhrpoly xpc +res1p41
- device resistor xhrpoly_2p85 xhrpoly xpc +res2p85
- device resistor xhrpoly_5p73 xhrpoly xpc +res5p73
- device resistor xhrpoly xhrpoly xpc
- device resistor uhrpoly_0p35 uhrpoly xpc +res0p35
- device resistor uhrpoly_0p69 uhrpoly xpc +res0p69
- device resistor uhrpoly_1p41 uhrpoly xpc +res1p41
- device resistor uhrpoly_2p85 uhrpoly xpc +res2p85
- device resistor uhrpoly_5p73 uhrpoly xpc +res5p73
- device resistor uhrpoly uhrpoly xpc
- device resistor mrp1 mrp1 *poly
- device resistor mrdn ndiffres *ndiff
- device resistor mrdp pdiffres *pdiff
+ device resistor sky130_fd_pr__res_high_po_0p35 xhrpoly xpc +res0p35
+ device resistor sky130_fd_pr__res_high_po_0p69 xhrpoly xpc +res0p69
+ device resistor sky130_fd_pr__res_high_po_1p41 xhrpoly xpc +res1p41
+ device resistor sky130_fd_pr__res_high_po_2p85 xhrpoly xpc +res2p85
+ device resistor sky130_fd_pr__res_high_po_5p73 xhrpoly xpc +res5p73
+ device resistor sky130_fd_pr__res_high_po xhrpoly xpc
+ device resistor sky130_fd_pr__res_xhigh_po_0p35 uhrpoly xpc +res0p35
+ device resistor sky130_fd_pr__res_xhigh_po_0p69 uhrpoly xpc +res0p69
+ device resistor sky130_fd_pr__res_xhigh_po_1p41 uhrpoly xpc +res1p41
+ device resistor sky130_fd_pr__res_xhigh_po_2p85 uhrpoly xpc +res2p85
+ device resistor sky130_fd_pr__res_xhigh_po_5p73 uhrpoly xpc +res5p73
+ device resistor sky130_fd_pr__res_xhigh_po uhrpoly xpc
+ device resistor sky130_fd_pr__res_generic_po mrp1 *poly
+ device resistor sky130_fd_pr__res_generic_nd ndiffres *ndiff
+ device resistor sky130_fd_pr__res_generic_pd pdiffres *pdiff
device resistor mrdn_hv mvndiffres *mvndiff
device resistor mrdp_hv mvpdiffres *mvpdiff
- device resistor xpwres rpw pwell
+ device resistor sky130_fd_pr__res_iso_pw rpw pwell
- device pdiode pdiode *pdiode nwell a=area
- device ndiode ndiode *ndiode pwell,space/w a=area
- device pdiode pdiode_h *mvpdiode nwell a=area
- device ndiode ndiode_h *mvndiode pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5 *pdiode nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5 *ndiode pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_11v0 *mvndiode pwell,space/w a=area
# These are parasitic devices
- device ndiode ndiode_lvt *ndiodelvt pwell,space/w a=area
- device pdiode pdiode_lvt *pdiodelvt nwell a=area
- device pdiode pdiode_hvt *pdiodehvt nwell a=area
- device ndiode ndiode_native *nndiode pwell,space/w a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5_lvt *ndiodelvt pwell,space/w a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5_lvt *pdiodelvt nwell a=area
+ device pdiode sky130_fd_pr__diode_pd2nw_05v5_hvt *pdiodehvt nwell a=area
+ device ndiode sky130_fd_pr__diode_pw2nd_05v5_nvt *nndiode pwell,space/w a=area
- device bjt sky130_fd_pr__npn_05v0 npn dnwell *ndiff space/w error a1=area
- device bjt sky130_fd_pr__pnp_05v0 pnp pwell,space/w *pdiff a1=area
-
- # Extended drain devices
- device mosfet sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff dnwell \
- pwell,space/w error
- device mosfet sky130_fd_pr__nfet_20v0 mvnfet *mvnndiff dnwell \
- pwell,space/w error
- device mosfet sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff pwell,space/w \
- nwell error
-
- device subcircuit pdiode_h *mvpdiode nwell a=area
- device msubcircuit ndiode_h *mvndiode pwell,space/w a=area
+ device bjt sky130_fd_pr__npn_05v5 npn dnwell *ndiff space/w error a1=area
+ device bjt sky130_fd_pr__pnp_05v5 pnp pwell,space/w *pdiff a1=area
#ifdef MIM
- device capacitor xcmimc1 *mimcap *m3 1
- device capacitor xcmimc2 *mimcap2 *m4 1
+ device capacitor sky130_fd_pr__cap_mim_m3_1 *mimcap *m3 1
+ device capacitor sky130_fd_pr__cap_mim_m3_2 *mimcap2 *m4 1
#endif (MIM)
end