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.magicrc b/sky130/magic/sky130.magicrc
index e0cf60a..db999db 100644
--- a/sky130/magic/sky130.magicrc
+++ b/sky130/magic/sky130.magicrc
@@ -50,9 +50,7 @@
# add path to reference cells
if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_base
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr_rf2
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
@@ -61,11 +59,9 @@
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
- addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu130
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
} else {
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_base/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
@@ -74,15 +70,13 @@
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
- addpath ${PDKPATH}/libs.ref/sky130_osu130/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
}
# add path to GDS cells
#ifdef FULLTECH
if {[file isdir ${PDKPATH}/libs.ref/gds]} {
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_base
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf
- path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr_rf2
+ path cell ${PDKPATH}/libs.ref/gds/sky130_fd_pr
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_io
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hd
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_hdll
@@ -93,9 +87,7 @@
path cell +${PDKPATH}/libs.ref/gds/sky130_fd_sc_ms
path cell +${PDKPATH}/libs.ref/gds/sky130_osu130
} else {
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_base/gds
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf/gds
- path cell ${PDKPATH}/libs.ref/sky130_fd_pr_rf2/gds
+ path cell ${PDKPATH}/libs.ref/sky130_fd_pr/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_io/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hd/gds
path cell +${PDKPATH}/libs.ref/sky130_fd_sc_hdll/gds
diff --git a/sky130/magic/sky130.tcl b/sky130/magic/sky130.tcl
index c97d9a9..d868da7 100644
--- a/sky130/magic/sky130.tcl
+++ b/sky130/magic/sky130.tcl
@@ -6,7 +6,7 @@
# Magic/TCL design kit for SKYWATER TECHNAME
#-----------------------------------------------------
# Tim Edwards
-# Revision 0 PRE-ALPHA 3/21/2019
+# Revision 1 ALPHA 9/10/2020
#-----------------------------------------------------
set TECHPATH STAGING_PATH
@@ -109,36 +109,38 @@
magic::add_toolkit_menu $layoutframe "Devices 1" pdk1
magic::add_toolkit_command $layoutframe "nmos (MOSFET)" \
- "magic::gencell sky130::nshort" pdk1
+ "magic::gencell sky130::sky130_fd_pr__nfet_01v8" pdk1
magic::add_toolkit_command $layoutframe "pmos (MOSFET)" \
- "magic::gencell sky130::pshort" pdk1
+ "magic::gencell sky130::sky130_fd_pr__pfet_01v8" pdk1
magic::add_toolkit_separator $layoutframe pdk1
magic::add_toolkit_command $layoutframe "n-diode" \
- "magic::gencell sky130::ndiode" pdk1
+ "magic::gencell sky130::sky130_fd_pr__diode_pw2nd_05v5" pdk1
magic::add_toolkit_command $layoutframe "p-diode" \
- "magic::gencell sky130::pdiode" pdk1
+ "magic::gencell sky130::sky130_fd_pr__diode_pd2nw_05v5" pdk1
magic::add_toolkit_separator $layoutframe pdk1
magic::add_toolkit_command $layoutframe "MOS varactor" \
- "magic::gencell sky130::xcnwvc" pdk1
+ "magic::gencell sky130::sky130_fd_pr__cap_var_lvt" pdk1
magic::add_toolkit_separator $layoutframe pdk1
- magic::add_toolkit_command $layoutframe "NPN 1x1" \
- "magic::gencell sky130::sky130_fd_pr_rf_npn_1x1" pdk1
- magic::add_toolkit_command $layoutframe "NPN 1x2" \
- "magic::gencell sky130::sky130_fd_pr_rf_npn_1x2" pdk1
- magic::add_toolkit_command $layoutframe "PNP 5x" \
- "magic::gencell sky130::sky130_fd_pr_rf_pnp5x" pdk1
+ magic::add_toolkit_command $layoutframe "NPN 1.0 x 1.0" \
+ "magic::gencell sky130::sky130_fd_pr__npn_05v5_W1p00L1p00" pdk1
+ magic::add_toolkit_command $layoutframe "NPN 1.0 x 2.0" \
+ "magic::gencell sky130::sky130_fd_pr__npn_05v5_W1p00L2p00" pdk1
+ magic::add_toolkit_command $layoutframe "PNP 0.68 x 0.68" \
+ "magic::gencell sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68" pdk1
+ magic::add_toolkit_command $layoutframe "PNP 3.4 x 3.4" \
+ "magic::gencell sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40" pdk1
+#ifdef REDISTRIBUTION
magic::add_toolkit_separator $layoutframe pdk1
- magic::add_toolkit_command $layoutframe "balun" \
- "magic::gencell sky130::balun" pdk1
- magic::add_toolkit_command $layoutframe "inductor 011" \
- "magic::gencell sky130::xind4_011" pdk1
- magic::add_toolkit_command $layoutframe "inductor 02" \
- "magic::gencell sky130::xind4_02" pdk1
+ magic::add_toolkit_command $layoutframe "inductor 01x04" \
+ "magic::gencell sky130::sky130_fd_pr__ind_01_04" pdk1
+ magic::add_toolkit_command $layoutframe "inductor 02x04" \
+ "magic::gencell sky130::sky130_fd_pr__ind_02_04" pdk1
+#endif (REDISTRIBUTION)
magic::add_toolkit_separator $layoutframe pdk1
@@ -164,88 +166,82 @@
magic::add_toolkit_menu $layoutframe "Devices 2" pdk2
- magic::add_toolkit_command $layoutframe "mrdn (1.8V) - 120 Ohm/sq" \
- "magic::gencell sky130::mrdn" pdk2
- magic::add_toolkit_command $layoutframe "mrdp (1.8V) - 197 Ohm/sq" \
- "magic::gencell sky130::mrdp" pdk2
- magic::add_toolkit_command $layoutframe "mrdn_hv (5.0V) - 114 Ohm/sq" \
- "magic::gencell sky130::mrdn_hv" pdk2
- magic::add_toolkit_command $layoutframe "mrdp_hv (5.0V) - 191 Ohm/sq" \
- "magic::gencell sky130::mrdp_hv" pdk2
+ magic::add_toolkit_command $layoutframe "n-diff resistor (1.8V) - 120 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_nd" pdk2
+ magic::add_toolkit_command $layoutframe "p-diff resistor (1.8V) - 197 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_pd" pdk2
+ magic::add_toolkit_command $layoutframe "n-diff resistor (5.0V) - 114 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__mrdn_hv" pdk2
+ magic::add_toolkit_command $layoutframe "p-diff resistor (5.0V) - 191 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__mrdp_hv" pdk2
- magic::add_toolkit_command $layoutframe "mrp1 - 48.2 Ohm/sq" \
- "magic::gencell sky130::mrp1" pdk2
- magic::add_toolkit_command $layoutframe "xhrpoly_0p35 - 319.8 Ohm/sq" \
- "magic::gencell sky130::xhrpoly" pdk2
- magic::add_toolkit_command $layoutframe "uhrpoly_0p35 - 2000 Ohm/sq" \
- "magic::gencell sky130::uhrpoly" pdk2
- magic::add_toolkit_command $layoutframe "xpwres - 3050 Ohm/sq" \
- "magic::gencell sky130::xpwres" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 48.2 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_po" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 319.8 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_high_po_0p35" pdk2
+ magic::add_toolkit_command $layoutframe "poly resistor - 2000 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_xhigh_po_0p35" pdk2
+ magic::add_toolkit_command $layoutframe "p-well resistor - 3050 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_iso_pw" pdk2
magic::add_toolkit_separator $layoutframe pdk2
- magic::add_toolkit_command $layoutframe "mrl1 - 12.2 Ohm/sq" \
- "magic::gencell sky130::mrl1" pdk2
- magic::add_toolkit_command $layoutframe "mrm1 - 125 mOhm/sq" \
- "magic::gencell sky130::mrm1" pdk2
- magic::add_toolkit_command $layoutframe "mrm2 - 125 mOhm/sq" \
- "magic::gencell sky130::mrm2" pdk2
- magic::add_toolkit_command $layoutframe "mrm3 - 47 mOhm/sq" \
- "magic::gencell sky130::mrm3" pdk2
+ magic::add_toolkit_command $layoutframe "l1 metal resistor - 12.2 Ohm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_l1" pdk2
+ magic::add_toolkit_command $layoutframe "m1 metal resistor - 125 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m1" pdk2
+ magic::add_toolkit_command $layoutframe "m2 metal resistor - 125 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m2" pdk2
+ magic::add_toolkit_command $layoutframe "m3 metal resistor - 47 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m3" pdk2
#ifdef METAL5
- magic::add_toolkit_command $layoutframe "mrm4 - 47 mOhm/sq" \
- "magic::gencell sky130::mrm4" pdk2
- magic::add_toolkit_command $layoutframe "mrm5 - 29 mOhm/sq" \
- "magic::gencell sky130::mrm5" pdk2
+ magic::add_toolkit_command $layoutframe "m4 metal resistor - 47 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m4" pdk2
+ magic::add_toolkit_command $layoutframe "m5 metal resistor - 29 mOhm/sq" \
+ "magic::gencell sky130::sky130_fd_pr__res_generic_m5" pdk2
#endif (METAL5)
#ifdef MIM
- magic::add_toolkit_command $layoutframe "xcmimc1 - 1fF/um^2 MiM cap" \
- "magic::gencell sky130::xcmimc1" pdk2
- magic::add_toolkit_command $layoutframe "xcmimc2 - 1fF/um^2 MiM cap" \
- "magic::gencell sky130::xcmimc2" pdk2
+ magic::add_toolkit_command $layoutframe "MiM cap - 1fF/um^2 (metal3)" \
+ "magic::gencell sky130::sky130_fd_pr__cap_mim_m3_1" pdk2
+ magic::add_toolkit_command $layoutframe "MiM cap - 1fF/um^2 (metal4)" \
+ "magic::gencell sky130::sky130_fd_pr__cap_mim_m3_2" pdk2
#endif (MIM)
magic::add_toolkit_separator $layoutframe pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 p/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 p/m5 shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 6.8x6.1 li/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 6.8x6.1 p/m4 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 li/m3/m5 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp 4.2x2 nhvnat" \
- "magic::gencell sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 11.5x11.7 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 1.8x1.8 li shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield" pdk2
+ # "magic::gencell sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield" pdk2
# magic::add_toolkit_command $layoutframe "vpp 1.8x1.8 m3 shield" \
- # "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield" pdk2
+ # "magic::gencell sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 4.4x4.6 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 li/m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield" pdk2
magic::add_toolkit_command $layoutframe "vpp 8.6x7.9 m3 shield" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield" pdk2
- magic::add_toolkit_command $layoutframe "vpp2" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp2" pdk2
- magic::add_toolkit_command $layoutframe "vpp2 nwell" \
- "magic::gencell sky130::sky130_fd_pr_rf_xcmvpp2_nwell" pdk2
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield" pdk2
+ magic::add_toolkit_command $layoutframe "vpp 4.4x4.6" \
+ "magic::gencell sky130::sky130_fd_pr__cap_vpp_04p4x04p6_l1m1m2_noshield" pdk2
${layoutframe}.titlebar.mbuttons.drc.toolmenu add command -label "DRC Routing" -command {drc style drc(routing)}
@@ -754,35 +750,37 @@
}
#------------------------------------------------------------------
-# NOTE: ndiode_lvt, ndiode_native, pdiode_lvt, and pdiode_hvt are
-# all considered parasitic diodes. They may be generated by
-# invoking the build procedure on the command line. To enable them
-# in the PDK, add them to the appropriate compatible {} list.
+# NOTE: sky130_fd_pr__diode_pw2nd_05v5_lvt,
+# sky130_fd_pr__diode_pw2nd_05v5_nvt, sky130_fd_pr__pd2nw_05v5_lvt,
+# and sky130_fd_pr__pd2nw_11v0 are all considered parasitic diodes.
+# They may be generated by invoking the build procedure on the
+# command line. To enable them in the PDK, add them to the
+# appropriate compatible {} list.
#------------------------------------------------------------------
-proc sky130::ndiode_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
- compatible {ndiode ndiode_h} full_metal 1}
+ compatible {ndiode sky130_fd_pr__diode_pw2nd_11v0} full_metal 1}
}
-proc sky130::ndiode_lvt_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
full_metal 1}
}
-proc sky130::pdiode_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
- compatible {pdiode pdiode_h} full_metal 1}
+ compatible {pdiode sky130_fd_pr__pd2nw_11v0} full_metal 1}
}
-proc sky130::pdiode_lvt_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
@@ -790,7 +788,7 @@
full_metal 1}
}
-proc sky130::pdiode_hvt_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2025 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
@@ -798,127 +796,127 @@
full_metal 1}
}
-proc sky130::ndiode_h_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
- compatible {ndiode ndiode_h} full_metal 1}
+ compatible {ndiode sky130_fd_pr__diode_pw2nd_11v0} full_metal 1}
}
-proc sky130::ndiode_native_defaults {} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 doverlap 0 \
full_metal 1}
}
-proc sky130::pdiode_h_defaults {} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_defaults {} {
return {w 0.45 l 0.45 area 0.2024 peri 1.8 \
nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 \
elc 1 erc 1 etc 1 ebc 1 \
glc 1 grc 1 gtc 1 gbc 1 doverlap 0 \
- compatible {pdiode pdiode_h} full_metal 1}
+ compatible {pdiode sky130_fd_pr__pd2nw_11v0} full_metal 1}
}
#----------------------------------------------------------------
-proc sky130::ndiode_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_lvt_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_lvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_hvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_h_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::ndiode_native_convert {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_convert {parameters} {
return [sky130::diode_convert $parameters]
}
-proc sky130::pdiode_h_convert {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_convert {parameters} {
return [sky130::diode_convert $parameters]
}
#----------------------------------------------------------------
-proc sky130::ndiode_dialog {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_dialog {parameters} {
sky130::diode_dialog ndiode $parameters
}
-proc sky130::ndiode_lvt_dialog {parameters} {
- sky130::diode_dialog ndiode_lvt $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_lvt $parameters
}
-proc sky130::pdiode_dialog {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_dialog {parameters} {
sky130::diode_dialog pdiode $parameters
}
-proc sky130::pdiode_lvt_dialog {parameters} {
- sky130::diode_dialog pdiode_lvt $parameters
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_05v5_lvt $parameters
}
-proc sky130::pdiode_hvt_dialog {parameters} {
- sky130::diode_dialog pdiode_hvt $parameters
+proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
}
-proc sky130::ndiode_h_dialog {parameters} {
- sky130::diode_dialog ndiode_h $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_11v0 $parameters
}
-proc sky130::ndiode_native_dialog {parameters} {
- sky130::diode_dialog ndiode_native $parameters
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__diode_pw2nd_05v5_nvt $parameters
}
-proc sky130::pdiode_h_dialog {parameters} {
- sky130::diode_dialog pdiode_h $parameters
+proc sky130::sky130_fd_pr__pd2nw_11v0_dialog {parameters} {
+ sky130::diode_dialog sky130_fd_pr__pd2nw_11v0 $parameters
}
#----------------------------------------------------------------
-proc sky130::ndiode_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_lvt_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_lvt_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_hvt_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_h_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::ndiode_native_check {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_check {parameters} {
sky130::diode_check $parameters
}
-proc sky130::pdiode_h_check {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_check {parameters} {
sky130::diode_check $parameters
}
@@ -1107,7 +1105,7 @@
#----------------------------------------------------------------
-proc sky130::ndiode_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1132,9 +1130,9 @@
#----------------------------------------------------------------
# NOTE: Use ppd instead of psd so that there is additional
# diffusion around the contact, allowing more space for the
-# implant (likewise pdiode_lvt and pdiode_hvt).
+# implant (likewise sky130_fd_pr__pd2nw_05v5_lvt and sky130_fd_pr__pd2nw_11v0).
-proc sky130::ndiode_lvt_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_lvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1158,7 +1156,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1186,7 +1184,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_lvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_05v5_lvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1214,7 +1212,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_hvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1242,7 +1240,7 @@
#----------------------------------------------------------------
-proc sky130::ndiode_h_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1266,7 +1264,7 @@
}
-proc sky130::ndiode_native_draw {parameters} {
+proc sky130::sky130_fd_pr__diode_pw2nd_05v5_nvt_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1291,7 +1289,7 @@
#----------------------------------------------------------------
-proc sky130::pdiode_h_draw {parameters} {
+proc sky130::sky130_fd_pr__pd2nw_11v0_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -1325,12 +1323,12 @@
#----------------------------------------------------------------
#ifdef MIM
-proc sky130::xcmimc1_defaults {} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_defaults {} {
return {w 2.00 l 2.00 val 4.0 carea 1.00 cperi 0.17 \
nx 1 ny 1 dummy 0 square 0 lmin 2.00 wmin 2.00 \
lmax 30.0 wmax 30.0 dc 0 bconnect 1 tconnect 1}
}
-proc sky130::xcmimc2_defaults {} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_defaults {} {
return {w 2.00 l 2.00 val 4.0 carea 1.00 cperi 0.17 \
nx 1 ny 1 dummy 0 square 0 lmin 2.00 wmin 2.00 \
lmax 30.0 wmax 30.0 dc 0 bconnect 1 tconnect 1}
@@ -1405,10 +1403,10 @@
}
#ifdef MIM
-proc sky130::xcmimc1_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_convert {parameters} {
return [cap_convert $parameters]
}
-proc sky130::xcmimc2_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_convert {parameters} {
return [cap_convert $parameters]
}
#endif (MIM)
@@ -1448,11 +1446,11 @@
}
#ifdef MIM
-proc sky130::xcmimc1_dialog {parameters} {
- sky130::cap_dialog xcmimc1 $parameters
+proc sky130::sky130_fd_pr__cap_mim_m3_1_dialog {parameters} {
+ sky130::cap_dialog sky130_fd_pr__cap_mim_m3_1 $parameters
}
-proc sky130::xcmimc2_dialog {parameters} {
- sky130::cap_dialog xcmimc2 $parameters
+proc sky130::sky130_fd_pr__cap_mim_m3_2_dialog {parameters} {
+ sky130::cap_dialog sky130_fd_pr__cap_mim_m3_2 $parameters
}
#endif (MIM)
@@ -1916,7 +1914,7 @@
#----------------------------------------------------------------
#ifdef MIM
-proc sky130::xcmimc1_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_draw {parameters} {
set newdict [dict create \
top_type m4 \
top_contact_type via3 \
@@ -1936,7 +1934,7 @@
return [sky130::cap_draw $drawdict]
}
-proc sky130::xcmimc2_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_draw {parameters} {
set newdict [dict create \
top_type m5 \
top_contact_type via4 \
@@ -2032,10 +2030,10 @@
}
#ifdef MIM
-proc sky130::xcmimc1_check {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_1_check {parameters} {
return [sky130::cap_check $parameters]
}
-proc sky130::xcmimc2_check {parameters} {
+proc sky130::sky130_fd_pr__cap_mim_m3_2_check {parameters} {
return [sky130::cap_check $parameters]
}
#endif (MIM)
@@ -2069,12 +2067,12 @@
#----------------------------------------------------------------
#----------------------------------------------------------------
-# xpwres: Specify all user-editable default values and those
-# needed by xpwres_check
+# sky130_fd_pr__res_iso_pw: Specify all user-editable default values and those
+# needed by sky130_fd_pr__res_iso_pw_check
# NOTE: Work in progress. These values need to be corrected.
#----------------------------------------------------------------
-proc sky130::xpwres_defaults {} {
+proc sky130::sky130_fd_pr__res_iso_pw_defaults {} {
return {w 2.650 l 26.50 m 1 nx 1 wmin 2.650 lmin 26.50 \
rho 975 val 4875 dummy 0 dw 0.25 term 1.0 \
guard 1 endcov 100 full_metal 1}
@@ -2085,7 +2083,7 @@
# needed by rp1_check
#----------------------------------------------------------------
-proc sky130::mrp1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_po_defaults {} {
return {w 0.330 l 1.650 m 1 nx 1 wmin 0.330 lmin 1.650 \
rho 48.2 val 241 dummy 0 dw 0.0 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2094,95 +2092,110 @@
}
# "term" is rho * 0.06, the distance between xpc edge and CONT.
-proc sky130::xhrpoly_0p35_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_defaults {} {
return {w 0.350 l 0.50 m 1 nx 1 wmin 0.350 lmin 0.50 \
rho 319.8 val 456.857 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 0.350}
}
-proc sky130::xhrpoly_0p69_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_defaults {} {
return {w 0.690 l 1.00 m 1 nx 1 wmin 0.690 lmin 0.50 \
rho 319.8 val 463.480 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 0.690}
}
-proc sky130::xhrpoly_1p41_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_defaults {} {
return {w 1.410 l 2.00 m 1 nx 1 wmin 1.410 lmin 0.50 \
rho 319.8 val 453.620 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 1.410}
}
-proc sky130::xhrpoly_2p85_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_defaults {} {
return {w 2.850 l 3.00 m 1 nx 1 wmin 2.850 lmin 0.50 \
rho 319.8 val 336.630 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 2.850}
}
-proc sky130::xhrpoly_5p73_defaults {} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_defaults {} {
return {w 5.730 l 6.00 m 1 nx 1 wmin 5.730 lmin 0.50 \
rho 319.8 val 334.870 dummy 0 dw 0.0 term 19.188 \
sterm 0.0 caplen 0 guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {xhrpoly_0p35 xhrpoly_0p69 xhrpoly_1p41 \
- xhrpoly_2p85 xhrpoly_5p73} \
+ compatible {sky130_fd_pr__res_high_po_0p35 \
+ sky130_fd_pr__res_high_po_0p69 sky130_fd_pr__res_high_po_1p41 \
+ sky130_fd_pr__res_high_po_2p85 sky130_fd_pr__res_high_po_5p73} \
full_metal 1 wmax 5.730}
}
# "term" is rho * 0.06, the distance between xpc edge and CONT.
-proc sky130::uhrpoly_0p35_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_defaults {} {
return {w 0.350 l 0.50 m 1 nx 1 wmin 0.350 lmin 0.50 \
rho 2000 val 2875.143 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 0.350 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_0p69_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_defaults {} {
return {w 0.690 l 1.00 m 1 nx 1 wmin 0.690 lmin 0.50 \
rho 2000 val 2898.600 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 0.690 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_1p41_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_defaults {} {
return {w 1.410 l 2.00 m 1 nx 1 wmin 1.410 lmin 0.50 \
rho 2000 val 2836.900 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 1.410 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_2p85_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_defaults {} {
return {w 2.850 l 3.00 m 1 nx 1 wmin 2.850 lmin 0.50 \
rho 2000 val 2105.300 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 2.850 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
-proc sky130::uhrpoly_5p73_defaults {} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_defaults {} {
return {w 5.730 l 6.00 m 1 nx 1 wmin 5.730 lmin 0.50 \
rho 2000 val 2094.200 dummy 0 dw 0.0 term 120 \
sterm 0.0 caplen 0 wmax 5.730 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 \
- compatible {uhrpoly_0p35 uhrpoly_0p69 uhrpoly_1p41 \
- uhrpoly_2p85 uhrpoly_5p73} full_metal 1}
+ compatible {sky130_fd_pr__res_xhigh_po_0p35 \
+ sky130_fd_pr__res_xhigh_po_0p69 sky130_fd_pr__res_xhigh_po_1p41 \
+ sky130_fd_pr__res_xhigh_po_2p85 sky130_fd_pr__res_xhigh_po_5p73} \
+ full_metal 1}
}
#----------------------------------------------------------------
-# mrdn: Specify all user-editable default values and those
+# sky130_fd_pr__res_generic_nd: Specify all user-editable default values and those
# needed by rdn_check
#----------------------------------------------------------------
-proc sky130::mrdn_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_nd_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 120 val 600.0 dummy 0 dw 0.05 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2190,7 +2203,7 @@
full_metal 1}
}
-proc sky130::mrdn_hv_defaults {} {
+proc sky130::sky130_fd_pr__mrdn_hv_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 120 val 600.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.4 snake 0 guard 1 \
@@ -2199,11 +2212,11 @@
}
#----------------------------------------------------------------
-# mrdp: Specify all user-editable default values and those
+# sky130_fd_pr__res_generic_pd: Specify all user-editable default values and those
# needed by rdp_check
#----------------------------------------------------------------
-proc sky130::mrdp_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_pd_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 197 val 985.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.60 snake 0 guard 1 \
@@ -2211,7 +2224,7 @@
full_metal 1}
}
-proc sky130::mrdp_hv_defaults {} {
+proc sky130::sky130_fd_pr__mrdp_hv_defaults {} {
return {w 0.420 l 2.100 m 1 nx 1 wmin 0.42 lmin 2.10 \
rho 197 val 985.0 dummy 0 dw 0.02 term 0.0 \
sterm 0.0 caplen 0.60 snake 0 guard 1 \
@@ -2220,61 +2233,61 @@
}
#----------------------------------------------------------------
-# mrl1: Specify all user-editable default values and those needed
-# by mrl1_check
+# sky130_fd_pr__res_generic_l1: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_l1_check
#----------------------------------------------------------------
-proc sky130::mrl1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_l1_defaults {} {
return {w 0.170 l 0.170 m 1 nx 1 wmin 0.17 lmin 0.17 \
rho 12.8 val 12.8 dummy 0 dw 0.0 term 0.0 snake 0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm1: Specify all user-editable default values and those needed
-# by mrm1_check
+# sky130_fd_pr__res_generic_m1: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m1_check
#----------------------------------------------------------------
-proc sky130::mrm1_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m1_defaults {} {
return {w 0.140 l 0.140 m 1 nx 1 wmin 0.14 lmin 0.14 \
rho 0.125 val 0.125 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm2: Specify all user-editable default values and those needed
-# by mrm2_check
+# sky130_fd_pr__res_generic_m2: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m2_check
#----------------------------------------------------------------
-proc sky130::mrm2_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m2_defaults {} {
return {w 0.140 l 0.140 m 1 nx 1 wmin 0.14 lmin 0.14 \
rho 0.125 val 0.125 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# mrm3: Specify all user-editable default values and those needed
-# by mrm3_check
+# sky130_fd_pr__res_generic_m3: Specify all user-editable default values and those needed
+# by sky130_fd_pr__res_generic_m3_check
#----------------------------------------------------------------
-proc sky130::mrm3_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m3_defaults {} {
return {w 0.300 l 0.300 m 1 nx 1 wmin 0.30 lmin 0.30 \
rho 0.047 val 0.047 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
#----------------------------------------------------------------
-# Additional entries for mrm4 and mrm5, depending on the
+# Additional entries for sky130_fd_pr__res_generic_m4 and sky130_fd_pr__res_generic_m5, depending on the
# back-end metal stack.
#----------------------------------------------------------------
#ifdef METAL5
-proc sky130::mrm4_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m4_defaults {} {
return {w 0.300 l 0.300 m 1 nx 1 wmin 0.30 lmin 0.30 \
rho 0.047 val 0.047 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
}
-proc sky130::mrm5_defaults {} {
+proc sky130::sky130_fd_pr__res_generic_m5_defaults {} {
return {w 1.600 l 1.600 m 1 nx 1 wmin 1.60 lmin 1.60 \
rho 0.029 val 0.029 dummy 0 dw 0.0 term 0.0 \
roverlap 0}
@@ -2304,83 +2317,83 @@
#----------------------------------------------------------------
-proc sky130::xpwres_convert {parameters} {
+proc sky130::sky130_fd_pr__res_iso_pw_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrp1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_po_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_0p35_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_0p69_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_1p41_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_2p85_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::xhrpoly_5p73_convert {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_0p35_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_0p69_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_1p41_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_2p85_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::uhrpoly_5p73_convert {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdn_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_nd_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdp_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_pd_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdn_hv_convert {parameters} {
+proc sky130::sky130_fd_pr__mrdn_hv_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrdp_hv_convert {parameters} {
+proc sky130::sky130_fd_pr__mrdp_hv_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrl1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_l1_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm1_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m1_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm2_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m2_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm3_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m3_convert {parameters} {
return [sky130::res_convert $parameters]
}
#ifdef METAL5
-proc sky130::mrm4_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m4_convert {parameters} {
return [sky130::res_convert $parameters]
}
-proc sky130::mrm5_convert {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m5_convert {parameters} {
return [sky130::res_convert $parameters]
}
#endif (METAL5)
@@ -2452,84 +2465,84 @@
#----------------------------------------------------------------
-proc sky130::xpwres_dialog {parameters} {
- sky130::res_dialog xpwres $parameters
+proc sky130::sky130_fd_pr__res_iso_pw_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_iso_pw $parameters
}
-proc sky130::mrp1_dialog {parameters} {
- sky130::res_dialog mrp1 $parameters
+proc sky130::sky130_fd_pr__res_generic_po_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_po $parameters
}
-proc sky130::xhrpoly_0p35_dialog {parameters} {
- sky130::res_dialog xhrpoly_0p35 $parameters
+proc sky130::sky130_fd_pr__res_high_po_0p35_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_0p35 $parameters
}
-proc sky130::xhrpoly_0p69_dialog {parameters} {
- sky130::res_dialog xhrpoly_0p69 $parameters
+proc sky130::sky130_fd_pr__res_high_po_0p69_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_0p69 $parameters
}
-proc sky130::xhrpoly_1p41_dialog {parameters} {
- sky130::res_dialog xhrpoly_1p41 $parameters
+proc sky130::sky130_fd_pr__res_high_po_1p41_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_1p41 $parameters
}
-proc sky130::xhrpoly_2p85_dialog {parameters} {
- sky130::res_dialog xhrpoly_2p85 $parameters
+proc sky130::sky130_fd_pr__res_high_po_2p85_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_2p85 $parameters
}
-proc sky130::xhrpoly_5p73_dialog {parameters} {
- sky130::res_dialog xhrpoly_5p73 $parameters
+proc sky130::sky130_fd_pr__res_high_po_5p73_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_high_po_5p73 $parameters
}
-proc sky130::uhrpoly_0p35_dialog {parameters} {
- sky130::res_dialog uhrpoly_0p35 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_0p35 $parameters
}
-proc sky130::uhrpoly_0p69_dialog {parameters} {
- sky130::res_dialog uhrpoly_0p69 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_0p69 $parameters
}
-proc sky130::uhrpoly_1p41_dialog {parameters} {
- sky130::res_dialog uhrpoly_1p41 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_1p41 $parameters
}
-proc sky130::uhrpoly_2p85_dialog {parameters} {
- sky130::res_dialog uhrpoly_2p85 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_2p85 $parameters
}
-proc sky130::uhrpoly_5p73_dialog {parameters} {
- sky130::res_dialog uhrpoly_5p73 $parameters
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_xhigh_po_5p73 $parameters
}
-proc sky130::mrdn_dialog {parameters} {
- sky130::res_dialog mrdn $parameters
+proc sky130::sky130_fd_pr__res_generic_nd_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_nd $parameters
}
-proc sky130::mrdp_dialog {parameters} {
- sky130::res_dialog mrdp $parameters
+proc sky130::sky130_fd_pr__res_generic_pd_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_pd $parameters
}
-proc sky130::mrdn_hv_dialog {parameters} {
- sky130::res_dialog mrdn_hv $parameters
+proc sky130::sky130_fd_pr__mrdn_hv_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__mrdn_hv $parameters
}
-proc sky130::mrdp_hv_dialog {parameters} {
- sky130::res_dialog mrdp_hv $parameters
+proc sky130::sky130_fd_pr__mrdp_hv_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__mrdp_hv $parameters
}
-proc sky130::mrl1_dialog {parameters} {
- sky130::res_dialog mrl1 $parameters
+proc sky130::sky130_fd_pr__res_generic_l1_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_l1 $parameters
}
-proc sky130::mrm1_dialog {parameters} {
- sky130::res_dialog mrm1 $parameters
+proc sky130::sky130_fd_pr__res_generic_m1_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m1 $parameters
}
-proc sky130::mrm2_dialog {parameters} {
- sky130::res_dialog mrm2 $parameters
+proc sky130::sky130_fd_pr__res_generic_m2_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m2 $parameters
}
-proc sky130::mrm3_dialog {parameters} {
- sky130::res_dialog mrm3 $parameters
+proc sky130::sky130_fd_pr__res_generic_m3_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m3 $parameters
}
#ifdef METAL5
-proc sky130::mrm4_dialog {parameters} {
- sky130::res_dialog mrm4 $parameters
+proc sky130::sky130_fd_pr__res_generic_m4_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m4 $parameters
}
-proc sky130::mrm5_dialog {parameters} {
- sky130::res_dialog mrm5 $parameters
+proc sky130::sky130_fd_pr__res_generic_m5_dialog {parameters} {
+ sky130::res_dialog sky130_fd_pr__res_generic_m5 $parameters
}
#endif (METAL5)
@@ -2981,7 +2994,7 @@
#----------------------------------------------------------------
-proc sky130::mrp1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_po_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3010,7 +3023,7 @@
#----------------------------------------------------------------
-proc sky130::xhrpoly_0p35_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p35_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3040,7 +3053,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_0p69_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_0p69_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3070,7 +3083,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_1p41_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_1p41_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3100,7 +3113,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_2p85_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_2p85_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3130,7 +3143,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::xhrpoly_5p73_draw {parameters} {
+proc sky130::sky130_fd_pr__res_high_po_5p73_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3162,7 +3175,7 @@
#----------------------------------------------------------------
-proc sky130::uhrpoly_0p35_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3192,7 +3205,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_0p69_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3222,7 +3235,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_1p41_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3252,7 +3265,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_2p85_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3282,7 +3295,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::uhrpoly_5p73_draw {parameters} {
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3314,7 +3327,7 @@
#----------------------------------------------------------------
-proc sky130::mrdn_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_nd_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3342,7 +3355,7 @@
#----------------------------------------------------------------
-proc sky130::mrdn_hv_draw {parameters} {
+proc sky130::sky130_fd_pr__mrdn_hv_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3370,7 +3383,7 @@
#----------------------------------------------------------------
-proc sky130::mrdp_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_pd_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3398,7 +3411,7 @@
#----------------------------------------------------------------
-proc sky130::mrdp_hv_draw {parameters} {
+proc sky130::sky130_fd_pr__mrdp_hv_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3427,7 +3440,7 @@
#----------------------------------------------------------------
-proc sky130::xpwres_draw {parameters} {
+proc sky130::sky130_fd_pr__res_iso_pw_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3462,7 +3475,7 @@
#----------------------------------------------------------------
-proc sky130::mrl1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_l1_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3485,7 +3498,7 @@
#----------------------------------------------------------------
-proc sky130::mrm1_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m1_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3508,7 +3521,7 @@
#----------------------------------------------------------------
-proc sky130::mrm2_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m2_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3531,7 +3544,7 @@
#----------------------------------------------------------------
-proc sky130::mrm3_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m3_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3555,7 +3568,7 @@
#----------------------------------------------------------------
#ifdef METAL5
-proc sky130::mrm4_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m4_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
@@ -3576,7 +3589,7 @@
return [sky130::res_draw $drawdict]
}
-proc sky130::mrm5_draw {parameters} {
+proc sky130::sky130_fd_pr__res_generic_m5_draw {parameters} {
# Set a local variable for each rule in ruleset
foreach key [dict keys $sky130::ruleset] {
set $key [dict get $sky130::ruleset $key]
@@ -3750,84 +3763,84 @@
#----------------------------------------------------------------
-proc sky130::xpwres_check {parameters} {
- return [sky130::res_check xpwres $parameters]
+proc sky130::sky130_fd_pr__res_iso_pw_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_iso_pw $parameters]
}
-proc sky130::mrp1_check {parameters} {
- return [sky130::res_check mrp1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_po_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_po $parameters]
}
-proc sky130::xhrpoly_0p35_check {parameters} {
- return [sky130::res_check xhrpoly_0p35 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_0p35_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_0p35 $parameters]
}
-proc sky130::xhrpoly_0p69_check {parameters} {
- return [sky130::res_check xhrpoly_0p69 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_0p69_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_0p69 $parameters]
}
-proc sky130::xhrpoly_1p41_check {parameters} {
- return [sky130::res_check xhrpoly_1p41 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_1p41_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_1p41 $parameters]
}
-proc sky130::xhrpoly_2p85_check {parameters} {
- return [sky130::res_check xhrpoly_2p85 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_2p85_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_2p85 $parameters]
}
-proc sky130::xhrpoly_5p73_check {parameters} {
- return [sky130::res_check xhrpoly_5p73 $parameters]
+proc sky130::sky130_fd_pr__res_high_po_5p73_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_high_po_5p73 $parameters]
}
-proc sky130::uhrpoly_0p35_check {parameters} {
- return [sky130::res_check uhrpoly_0p35 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_0p35_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_0p35 $parameters]
}
-proc sky130::uhrpoly_0p69_check {parameters} {
- return [sky130::res_check uhrpoly_0p69 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_0p69_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_0p69 $parameters]
}
-proc sky130::uhrpoly_1p41_check {parameters} {
- return [sky130::res_check uhrpoly_1p41 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_1p41_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_1p41 $parameters]
}
-proc sky130::uhrpoly_2p85_check {parameters} {
- return [sky130::res_check uhrpoly_2p85 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_2p85_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_2p85 $parameters]
}
-proc sky130::uhrpoly_5p73_check {parameters} {
- return [sky130::res_check uhrpoly_5p73 $parameters]
+proc sky130::sky130_fd_pr__res_xhigh_po_5p73_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_xhigh_po_5p73 $parameters]
}
-proc sky130::mrdn_check {parameters} {
- return [sky130::res_check mrdn $parameters]
+proc sky130::sky130_fd_pr__res_generic_nd_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_nd $parameters]
}
-proc sky130::mrdp_check {parameters} {
- return [sky130::res_check mrdp $parameters]
+proc sky130::sky130_fd_pr__res_generic_pd_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_pd $parameters]
}
-proc sky130::mrdn_hv_check {parameters} {
- return [sky130::res_check mrdn_hv $parameters]
+proc sky130::sky130_fd_pr__mrdn_hv_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__mrdn_hv $parameters]
}
-proc sky130::mrdp_hv_check {parameters} {
- return [sky130::res_check mrdp_hv $parameters]
+proc sky130::sky130_fd_pr__mrdp_hv_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__mrdp_hv $parameters]
}
-proc sky130::mrl1_check {parameters} {
- return [sky130::res_check mrl1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_l1_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_l1 $parameters]
}
-proc sky130::mrm1_check {parameters} {
- return [sky130::res_check mrm1 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m1_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m1 $parameters]
}
-proc sky130::mrm2_check {parameters} {
- return [sky130::res_check mrm2 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m2_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m2 $parameters]
}
-proc sky130::mrm3_check {parameters} {
- return [sky130::res_check mrm3 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m3_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m3 $parameters]
}
#ifdef METAL5
-proc sky130::mrm4_check {parameters} {
- return [sky130::res_check mrm4 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m4_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m4 $parameters]
}
-proc sky130::mrm5_check {parameters} {
- return [sky130::res_check mrm5 $parameters]
+proc sky130::sky130_fd_pr__res_generic_m5_check {parameters} {
+ return [sky130::res_check sky130_fd_pr__res_generic_m5 $parameters]
}
#endif (METAL5)
@@ -3855,32 +3868,40 @@
# needed by mos_check
#----------------------------------------------------------------
-proc sky130::pshort_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_defaults {} {
return {w 0.42 l 0.15 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::plowvt_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_defaults {} {
return {w 0.42 l 0.35 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.35 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::phighvt_defaults {} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_defaults {} {
return {w 0.42 l 0.15 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
-proc sky130::phv_defaults {} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {pshort plowvt phighvt phv} full_metal 1}
+ compatible {sky130_fd_pr__pfet_01v8 \
+ sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt \
+ sky130_fd_pr__pfet_g5v0d10v5} full_metal 1}
}
#----------------------------------------------------------------
@@ -3888,39 +3909,49 @@
# needed by mos_check
#----------------------------------------------------------------
-proc sky130::nshort_defaults {} {
+proc sky130::sky130_fd_pr__nfet_01v8_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nlowvt_defaults {} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::sonos_e_defaults {} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_defaults {} {
return {w 0.420 l 0.150 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nhv_defaults {} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
-proc sky130::nhvnative_defaults {} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_defaults {} {
return {w 0.42 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 \
- compatible {nshort nlowvt sonos_e nhv nhvnative} full_metal 1}
+ compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt \
+ sky130_fd_bs_flash__special_sonosfet_star \
+ sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1}
}
#----------------------------------------------------------------
@@ -3928,25 +3959,28 @@
# needed by mosvc_check
#----------------------------------------------------------------
-proc sky130::xcnwvc_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_lvt_defaults {} {
return {w 1.0 l 0.18 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.18 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
-proc sky130::xcnwvc2_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_hvt_defaults {} {
return {w 1.0 l 0.18 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.18 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
-proc sky130::xchvnwc_defaults {} {
+proc sky130::sky130_fd_pr__cap_var_defaults {} {
return {w 1.0 l 0.50 m 1 nf 1 diffcov 100 polycov 100 \
guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 \
topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 1.0 \
- compatible {xcnwvc xcnwvc2 xchvnwc} full_metal 1}
+ compatible {sky130_fd_pr__cap_var_lvt \
+ sky130_fd_pr__cap_var_hvt sky130_fd_pr__cap_var} full_metal 1}
}
#----------------------------------------------------------------
@@ -3993,51 +4027,51 @@
#----------------------------------------------------------------
-proc sky130::nshort_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nlowvt_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::sonos_e_convert {parameters} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nhv_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::nhvnative_convert {parameters} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::pshort_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::plowvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::phighvt_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::phv_convert {parameters} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xcnwvc_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_lvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xcnwvc2_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_hvt_convert {parameters} {
return [sky130::mos_convert $parameters]
}
-proc sky130::xchvnwc_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_var_convert {parameters} {
return [sky130::mos_convert $parameters]
}
@@ -4086,52 +4120,52 @@
#----------------------------------------------------------------
-proc sky130::nshort_dialog {parameters} {
- sky130::mos_dialog nshort $parameters
+proc sky130::sky130_fd_pr__nfet_01v8_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_01v8 $parameters
}
-proc sky130::nlowvt_dialog {parameters} {
- sky130::mos_dialog nlowvt $parameters
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_01v8_lvt $parameters
}
-proc sky130::sonos_e_dialog {parameters} {
- sky130::mos_dialog sonos_e $parameters
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_bs_flash__special_sonosfet_star $parameters
}
-proc sky130::nhv_dialog {parameters} {
- sky130::mos_dialog nhv $parameters
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_g5v0d10v5 $parameters
}
-proc sky130::nhvnative_dialog {parameters} {
- sky130::mos_dialog nhvnative $parameters
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__nfet_05v0_nvt $parameters
}
-proc sky130::pshort_dialog {parameters} {
- sky130::mos_dialog pshort $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8 $parameters
}
-proc sky130::plowvt_dialog {parameters} {
- sky130::mos_dialog plowvt $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8_lvt $parameters
}
-proc sky130::phighvt_dialog {parameters} {
- sky130::mos_dialog phighvt $parameters
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_01v8_hvt $parameters
}
-proc sky130::phv_dialog {parameters} {
- sky130::mos_dialog phv $parameters
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__pfet_g5v0d10v5 $parameters
}
-proc sky130::xcnwvc_dialog {parameters} {
- sky130::mos_dialog xcnwvc $parameters
+proc sky130::sky130_fd_pr__cap_var_lvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var_lvt $parameters
}
-proc sky130::xcnwvc2_dialog {parameters} {
- sky130::mos_dialog xcnwvc2 $parameters
+proc sky130::sky130_fd_pr__cap_var_hvt_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var_hvt $parameters
}
-proc sky130::xchvnwc_dialog {parameters} {
- sky130::mos_dialog xchvnwc $parameters
+proc sky130::sky130_fd_pr__cap_var_dialog {parameters} {
+ sky130::mos_dialog sky130_fd_pr__cap_var $parameters
}
#----------------------------------------------------------------
@@ -4870,7 +4904,7 @@
# nMOS 1.8V
#-------------------
-proc sky130::nshort_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_draw {parameters} {
set newdict [dict create \
gate_type nfet \
diff_type ndiff \
@@ -4887,7 +4921,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::nlowvt_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_draw {parameters} {
set newdict [dict create \
gate_type nfetlvt \
diff_type ndiff \
@@ -4904,7 +4938,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::sonos_e_draw {parameters} {
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_draw {parameters} {
set newdict [dict create \
gate_type nsonos \
diff_type ndiff \
@@ -4927,7 +4961,7 @@
# pMOS 1.8V
#-------------------
-proc sky130::pshort_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_draw {parameters} {
set newdict [dict create \
gate_type pfet \
diff_type pdiff \
@@ -4945,7 +4979,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::plowvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_draw {parameters} {
set newdict [dict create \
gate_type pfetlvt \
diff_type pdiff \
@@ -4963,7 +4997,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::phighvt_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_draw {parameters} {
set newdict [dict create \
gate_type pfethvt \
diff_type pdiff \
@@ -4985,7 +5019,7 @@
# pMOS 5.0V
#-------------------
-proc sky130::phv_draw {parameters} {
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_draw {parameters} {
set newdict [dict create \
gate_type mvpfet \
diff_type mvpdiff \
@@ -5009,7 +5043,7 @@
# nMOS 5.0V
#-------------------
-proc sky130::nhv_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_draw {parameters} {
set newdict [dict create \
gate_type mvnfet \
diff_type mvndiff \
@@ -5027,7 +5061,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::nhvnative_draw {parameters} {
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_draw {parameters} {
set newdict [dict create \
gate_type mvnnfet \
diff_type mvndiff \
@@ -5049,7 +5083,7 @@
# MOS varactor (1.8V)
#------------------------
-proc sky130::xcnwvc_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_lvt_draw {parameters} {
set newdict [dict create \
gate_type var \
diff_type nnd \
@@ -5070,7 +5104,7 @@
return [sky130::mos_draw $drawdict]
}
-proc sky130::xcnwvc2_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_hvt_draw {parameters} {
set newdict [dict create \
gate_type varhvt \
diff_type nnd \
@@ -5097,7 +5131,7 @@
# Should have option for same-net with merged wells.
#---------------------------------------------------------
-proc sky130::xchvnwc_draw {parameters} {
+proc sky130::sky130_fd_pr__cap_var_draw {parameters} {
set newdict [dict create \
gate_type mvvar \
diff_type mvnsd \
@@ -5231,52 +5265,52 @@
#----------------------------------------------------------------
-proc sky130::nshort_check {parameters} {
- return [sky130::mos_check nshort $parameters]
+proc sky130::sky130_fd_pr__nfet_01v8_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_01v8 $parameters]
}
-proc sky130::nlowvt_check {parameters} {
- return [sky130::mos_check nlowvt $parameters]
+proc sky130::sky130_fd_pr__nfet_01v8_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_01v8_lvt $parameters]
}
-proc sky130::sonos_e_check {parameters} {
- return [sky130::mos_check sonos_e $parameters]
+proc sky130::sky130_fd_bs_flash__special_sonosfet_star_check {parameters} {
+ return [sky130::mos_check sky130_fd_bs_flash__special_sonosfet_star $parameters]
}
-proc sky130::nhv_check {parameters} {
- return [sky130::mos_check nhv $parameters]
+proc sky130::sky130_fd_pr__nfet_g5v0d10v5_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_g5v0d10v5 $parameters]
}
-proc sky130::nhvnative_check {parameters} {
- return [sky130::mos_check nhvnative $parameters]
+proc sky130::sky130_fd_pr__nfet_05v0_nvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__nfet_05v0_nvt $parameters]
}
-proc sky130::pshort_check {parameters} {
- return [sky130::mos_check pshort $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8 $parameters]
}
-proc sky130::plowvt_check {parameters} {
- return [sky130::mos_check plowvt $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8_lvt $parameters]
}
-proc sky130::phighvt_check {parameters} {
- return [sky130::mos_check phighvt $parameters]
+proc sky130::sky130_fd_pr__pfet_01v8_hvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_01v8_hvt $parameters]
}
-proc sky130::phv_check {parameters} {
- return [sky130::mos_check phv $parameters]
+proc sky130::sky130_fd_pr__pfet_g5v0d10v5_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__pfet_g5v0d10v5 $parameters]
}
-proc sky130::xcnwvc_check {parameters} {
- return [sky130::mos_check xcnwvc $parameters]
+proc sky130::sky130_fd_pr__cap_var_lvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var_lvt $parameters]
}
-proc sky130::xcnwvc2_check {parameters} {
- return [sky130::mos_check xcnwvc2 $parameters]
+proc sky130::sky130_fd_pr__cap_var_hvt_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var_hvt $parameters]
}
-proc sky130::xchvnwc_check {parameters} {
- return [sky130::mos_check xchvnwc $parameters]
+proc sky130::sky130_fd_pr__cap_var_check {parameters} {
+ return [sky130::mos_check sky130_fd_pr__cap_var $parameters]
}
#----------------------------------------------------------------
@@ -5305,140 +5339,124 @@
#
# Bipolar transistors:
#
-# sky130_fd_pr_rf_npn_1x1
-# sky130_fd_pr_rf_npn_1x2
-# sky130_fd_pr_rf_pnp5x
+# sky130_fd_pr__npn_05v5_W1p00L1p00
+# sky130_fd_pr__npn_05v5_W1p00L2p00
+# sky130_fd_pr__pnp_05v5_W0p68L0p68
+# sky130_fd_pr__pnp_05v5_W3p40L3p40
#
# Parallel Plate Capacitors:
#
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield
-# sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield
-# sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield
-# sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield
-# sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield
-# sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4
-# sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield
-# sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield
-# sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield
-# sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield
-# sky130_fd_pr_rf_xcmvpp2
-# sky130_fd_pr_rf_xcmvpp2_nwell
-# sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield
-# sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield
-# sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield
-# sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield
+# sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield
+# sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield
+# sky130_fd_pr__cap_vpp_1p8x1p8_li_shield
+# sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield
+# sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield
+# sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield
+#ifdef REDISTRIBUTION
#
# Inductors:
#
-# balun
-# xind4_011
-# xind4_02
+# sky130_fd_pr__ind_01_04
+# sky130_fd_pr__ind_02_04
+#endif (REDISTRIBUTION)
-proc sky130::sky130_fd_pr_rf_npn_1x1_defaults {} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 7.03 ystep 7.03}
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_defaults {} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 7.03 ystep 8.03}
}
-proc sky130::sky130_fd_pr_rf_pnp5x_defaults {} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.44 ystep 6.44}
}
-proc sky130::balun_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 292 ystep 292}
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_defaults {} {
+ return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.44 ystep 6.44}
}
-proc sky130::xind4_02_defaults {} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_02_04_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 258 ystep 258}
}
-proc sky130::xind4_011_defaults {} {
+proc sky130::sky130_fd_pr__ind_01_04_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 290 ystep 404}
}
+#endif (REDISTRIBUTION)
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
-}
-
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.47 ystep 5.76}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 6.47 ystep 5.76}
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 10.41 ystep 11.54}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 11.08 ystep 11.36}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 1.77 ystep 1.77}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 3.88 ystep 3.88}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.55 ystep 4.76}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_defaults {} {
- return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.55 ystep 4.76}
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 4.05 ystep 4.26}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_defaults {} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_defaults {} {
return {nx 1 ny 1 deltax 0 deltay 0 nocell 1 xstep 8.25 ystep 7.51}
}
@@ -5460,107 +5478,93 @@
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_convert {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_convert {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_convert {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::balun_convert {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::xind4_011_convert {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::xind4_02_convert {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_convert {parameters} {
+ return [sky130::fixed_convert $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_convert {parameters} {
- return [sky130::fixed_convert $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_convert {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_convert {parameters} {
return [sky130::fixed_convert $parameters]
}
@@ -5607,107 +5611,93 @@
magic::add_entry deltay "Y step (um)" $parameters
}
-proc sky130::sky130_fd_pr_rf_npn_1x1_dialog {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_dialog {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_pnp5x_dialog {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::balun_dialog {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::xind4_011_dialog {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::xind4_02_dialog {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_dialog {parameters} {
+ sky130::fixed_dialog $parameters
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_dialog {parameters} {
- sky130::fixed_dialog $parameters
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_dialog {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_dialog {parameters} {
sky130::fixed_dialog $parameters
}
@@ -5749,108 +5739,94 @@
# No additional parameters declared for drawing
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_npn_1x1 $parameters]
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__npn_05v5_W1p00L1p00 $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_npn_1x2 $parameters]
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__npn_05v5_W1p00L2p00 $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_pnp5x $parameters]
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__pnp_05v5_W0p68L0p68 $parameters]
}
-proc sky130::balun_draw {parameters} {
- return [sky130::fixed_draw balun $parameters]
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__pnp_05v5_W3p40L3p40 $parameters]
}
-proc sky130::xind4_011_draw {parameters} {
- return [sky130::fixed_draw xind4_011 $parameters]
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__ind_01_04 $parameters]
}
-proc sky130::xind4_02_draw {parameters} {
- return [sky130::fixed_draw xind4_02 $parameters]
+proc sky130::sky130_fd_pr__ind_02_04_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__ind_02_04 $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4 $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_1p8x1p8_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp2 $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp2_nwell $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_draw {parameters} {
- return [sky130::fixed_draw sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield $parameters]
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_draw {parameters} {
+ return [sky130::fixed_draw sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield $parameters]
}
#----------------------------------------------------------------
@@ -5903,107 +5879,93 @@
#----------------------------------------------------------------
-proc sky130::sky130_fd_pr_rf_npn_1x1_check {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L1p00_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_npn_1x2_check {parameters} {
+proc sky130::sky130_fd_pr__npn_05v5_W1p00L2p00_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_pnp5x_check {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W0p68L0p68_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::balun_check {parameters} {
+proc sky130::sky130_fd_pr__pnp_05v5_W3p40L3p40_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::xind4_011_check {parameters} {
+#ifdef REDISTRIBUTION
+proc sky130::sky130_fd_pr__ind_01_04_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::xind4_02_check {parameters} {
+proc sky130::sky130_fd_pr__ind_02_04_check {parameters} {
+ return [sky130::fixed_check $parameters]
+}
+#endif (REDISTRIBUTION)
+
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_m4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_pom4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp11p5x11p7_polym50p4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_lim4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp4p4x4p6_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_6p8x6p1_pom4_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_lim4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_lim5_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp6p8x6p1_polym4shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvpp8p6x7p9_m3_lim5shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_11p5x11p7_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf2_xcmvppx4_2xnhvnative10x4_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_1p8x1p8_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp11p5x11p7_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_lishield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_4p4x4p6_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp1p8x1p8_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_li_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
-proc sky130::sky130_fd_pr_rf_xcmvpp2_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp2_nwell_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3_lishield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp4p4x4p6_m3shield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3_lishield_check {parameters} {
- return [sky130::fixed_check $parameters]
-}
-
-proc sky130::sky130_fd_pr_rf_xcmvpp8p6x7p9_m3shield_check {parameters} {
+proc sky130::sky130_fd_pr__cap_vpp_8p6x7p9_m3_shield_check {parameters} {
return [sky130::fixed_check $parameters]
}
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