Added an analog pad to sky130 with essential (fairly minimal) ESD, to replace the existing analog pad with no ESD. The existing analog pad was renamed to "analog_noesd_pad". ESD structures are not SkyWater's and will remain unqualified until we get first silicon.
diff --git a/VERSION b/VERSION index 8d88d69..a0b3453 100644 --- a/VERSION +++ b/VERSION
@@ -1 +1 @@ -1.0.404 +1.0.405
diff --git a/sky130/custom/sky130_fd_io/gds/sky130_ef_io__analog.gds b/sky130/custom/sky130_fd_io/gds/sky130_ef_io__analog.gds index 6e2a043..ff79b8d 100644 --- a/sky130/custom/sky130_fd_io/gds/sky130_ef_io__analog.gds +++ b/sky130/custom/sky130_fd_io/gds/sky130_ef_io__analog.gds Binary files differ
diff --git a/sky130/custom/sky130_fd_io/lef/sky130_ef_io__analog_noesd_pad.lef b/sky130/custom/sky130_fd_io/lef/sky130_ef_io__analog_noesd_pad.lef new file mode 100644 index 0000000..bd69a92 --- /dev/null +++ b/sky130/custom/sky130_fd_io/lef/sky130_ef_io__analog_noesd_pad.lef
@@ -0,0 +1,345 @@ +VERSION 5.7 ; + NOWIREEXTENSIONATPIN ON ; + DIVIDERCHAR "/" ; + BUSBITCHARS "[]" ; +MACRO sky130_ef_io__analog_noesd_pad + CLASS PAD ; + FOREIGN sky130_ef_io__analog_noesd_pad ; + ORIGIN 0.000 0.000 ; + SIZE 75.000 BY 200.000 ; + PIN P_CORE + PORT + LAYER met3 ; + RECT 24.720 0.000 49.720 82.350 ; + END + END P_CORE + PIN VSSA + PORT + LAYER met4 ; + RECT 0.000 36.735 1.270 40.185 ; + END + PORT + LAYER met4 ; + RECT 0.000 56.405 75.000 56.735 ; + END + PORT + LAYER met4 ; + RECT 0.000 47.735 75.000 48.065 ; + END + PORT + LAYER met4 ; + RECT 0.000 51.645 1.270 52.825 ; + END + PORT + LAYER met4 ; + RECT 73.730 36.735 75.000 40.185 ; + END + PORT + LAYER met4 ; + RECT 73.730 56.405 75.000 56.735 ; + END + PORT + LAYER met4 ; + RECT 73.730 47.735 75.000 48.065 ; + END + PORT + LAYER met4 ; + RECT 73.730 51.645 75.000 52.825 ; + END + PORT + LAYER met5 ; + RECT 73.730 36.840 75.000 40.085 ; + END + PORT + LAYER met5 ; + RECT 0.000 47.735 1.270 56.735 ; + END + PORT + LAYER met5 ; + RECT 0.000 36.840 1.270 40.085 ; + END + PORT + LAYER met5 ; + RECT 73.730 47.735 75.000 56.735 ; + END + END VSSA + PIN VSSD + PORT + LAYER met4 ; + RECT 0.000 41.585 1.270 46.235 ; + END + PORT + LAYER met4 ; + RECT 73.730 41.585 75.000 46.235 ; + END + PORT + LAYER met5 ; + RECT 0.000 41.685 1.270 46.135 ; + END + PORT + LAYER met5 ; + RECT 73.730 41.685 75.000 46.135 ; + END + END VSSD + PIN AMUXBUS_B + PORT + LAYER met4 ; + RECT 0.000 48.365 75.000 51.345 ; + END + PORT + LAYER met4 ; + RECT 73.730 48.365 75.000 51.345 ; + END + END AMUXBUS_B + PIN AMUXBUS_A + PORT + LAYER met4 ; + RECT 0.000 53.125 75.000 56.105 ; + END + PORT + LAYER met4 ; + RECT 73.730 53.125 75.000 56.105 ; + END + END AMUXBUS_A + PIN VDDIO_Q + PORT + LAYER met4 ; + RECT 0.000 64.085 1.270 68.535 ; + END + PORT + LAYER met4 ; + RECT 73.730 64.085 75.000 68.535 ; + END + PORT + LAYER met5 ; + RECT 73.730 64.185 75.000 68.435 ; + END + PORT + LAYER met5 ; + RECT 0.000 64.185 1.270 68.435 ; + END + END VDDIO_Q + PIN VDDIO + PORT + LAYER met4 ; + RECT 0.000 70.035 1.270 95.000 ; + END + PORT + LAYER met4 ; + RECT 0.000 19.785 1.270 24.435 ; + END + PORT + LAYER met4 ; + RECT 73.730 70.035 75.000 95.000 ; + END + PORT + LAYER met4 ; + RECT 73.730 19.785 75.000 24.435 ; + END + PORT + LAYER met5 ; + RECT 0.000 19.885 1.270 24.335 ; + END + PORT + LAYER met5 ; + RECT 0.000 70.035 1.270 94.985 ; + END + PORT + LAYER met5 ; + RECT 73.730 19.885 75.000 24.335 ; + END + PORT + LAYER met5 ; + RECT 73.730 70.035 75.000 94.985 ; + END + END VDDIO + PIN VSWITCH + PORT + LAYER met4 ; + RECT 0.000 31.885 1.270 35.335 ; + END + PORT + LAYER met4 ; + RECT 73.730 31.885 75.000 35.335 ; + END + PORT + LAYER met5 ; + RECT 73.730 31.985 75.000 35.235 ; + END + PORT + LAYER met5 ; + RECT 0.000 31.985 1.270 35.235 ; + END + END VSWITCH + PIN VSSIO + PORT + LAYER met4 ; + RECT 0.000 25.835 1.270 30.485 ; + END + PORT + LAYER met4 ; + RECT 73.730 25.835 75.000 30.485 ; + END + PORT + LAYER met4 ; + RECT 0.000 175.785 1.270 200.000 ; + END + PORT + LAYER met4 ; + RECT 0.630 191.600 0.640 191.610 ; + END + PORT + LAYER met4 ; + RECT 73.730 175.785 75.000 200.000 ; + END + PORT + LAYER met4 ; + RECT 74.360 191.600 74.370 191.610 ; + END + PORT + LAYER met5 ; + RECT 73.730 25.935 75.000 30.385 ; + END + PORT + LAYER met5 ; + RECT 73.730 175.785 75.000 200.000 ; + END + PORT + LAYER met5 ; + RECT 0.000 175.785 1.270 200.000 ; + END + PORT + LAYER met5 ; + RECT 0.000 25.935 1.270 30.385 ; + END + END VSSIO + PIN VDDA + PORT + LAYER met4 ; + RECT 0.000 14.935 0.965 18.385 ; + END + PORT + LAYER met4 ; + RECT 74.035 14.935 75.000 18.385 ; + END + PORT + LAYER met5 ; + RECT 0.000 15.035 0.965 18.285 ; + END + PORT + LAYER met5 ; + RECT 74.035 15.035 75.000 18.285 ; + END + END VDDA + PIN VCCD + PORT + LAYER met4 ; + RECT 0.000 8.885 1.270 13.535 ; + END + PORT + LAYER met4 ; + RECT 73.730 8.885 75.000 13.535 ; + END + PORT + LAYER met5 ; + RECT 0.000 8.985 1.270 13.435 ; + END + PORT + LAYER met5 ; + RECT 73.730 8.985 75.000 13.435 ; + END + END VCCD + PIN VCCHIB + PORT + LAYER met4 ; + RECT 0.000 2.035 1.270 7.485 ; + END + PORT + LAYER met4 ; + RECT 73.730 2.035 75.000 7.485 ; + END + PORT + LAYER met5 ; + RECT 0.000 2.135 1.270 7.385 ; + END + PORT + LAYER met5 ; + RECT 73.730 2.135 75.000 7.385 ; + END + END VCCHIB + PIN VSSIO_Q + PORT + LAYER met4 ; + RECT 0.000 58.235 1.270 62.685 ; + END + PORT + LAYER met4 ; + RECT 73.730 58.235 75.000 62.685 ; + END + PORT + LAYER met5 ; + RECT 73.730 58.335 75.000 62.585 ; + END + PORT + LAYER met5 ; + RECT 0.000 58.335 1.270 62.585 ; + END + END VSSIO_Q + PIN P_PAD + PORT + LAYER met5 ; + RECT 7.050 105.120 67.890 165.945 ; + END + END P_PAD + OBS + LAYER li1 ; + RECT 2.905 48.265 72.045 181.100 ; + LAYER met1 ; + RECT 4.250 46.255 70.440 48.855 ; + LAYER met2 ; + RECT 4.250 46.255 70.440 48.855 ; + LAYER met3 ; + RECT 0.455 82.750 74.250 173.315 ; + RECT 0.455 14.905 24.320 82.750 ; + RECT 50.120 14.905 74.250 82.750 ; + LAYER met4 ; + RECT 1.670 175.385 73.330 200.000 ; + RECT 0.965 95.400 74.035 175.385 ; + RECT 1.670 69.635 73.330 95.400 ; + RECT 0.965 68.935 74.035 69.635 ; + RECT 1.670 63.685 73.330 68.935 ; + RECT 0.965 63.085 74.035 63.685 ; + RECT 1.670 57.835 73.330 63.085 ; + RECT 0.965 57.135 74.035 57.835 ; + RECT 1.670 51.745 73.330 52.725 ; + RECT 0.965 46.635 74.035 47.335 ; + RECT 1.670 41.185 73.330 46.635 ; + RECT 0.965 40.585 74.035 41.185 ; + RECT 1.670 36.335 73.330 40.585 ; + RECT 0.965 35.735 74.035 36.335 ; + RECT 1.670 31.485 73.330 35.735 ; + RECT 0.965 30.885 74.035 31.485 ; + RECT 1.670 25.435 73.330 30.885 ; + RECT 0.965 24.835 74.035 25.435 ; + RECT 1.670 19.385 73.330 24.835 ; + RECT 0.965 18.785 74.035 19.385 ; + RECT 1.365 14.535 73.635 18.785 ; + RECT 0.965 13.935 74.035 14.535 ; + RECT 1.670 8.485 73.330 13.935 ; + RECT 0.965 7.885 74.035 8.485 ; + RECT 1.670 2.035 73.330 7.885 ; + LAYER met5 ; + RECT 2.870 174.185 72.130 200.000 ; + RECT 0.000 167.545 75.000 174.185 ; + RECT 0.000 103.520 5.450 167.545 ; + RECT 69.490 103.520 75.000 167.545 ; + RECT 0.000 96.585 75.000 103.520 ; + RECT 2.870 36.840 72.130 96.585 ; + RECT 0.000 36.835 75.000 36.840 ; + RECT 2.870 18.285 72.130 36.835 ; + RECT 2.565 15.035 72.435 18.285 ; + RECT 2.870 2.135 72.130 15.035 ; + END +END sky130_ef_io__analog_noesd_pad +END LIBRARY +
diff --git a/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_noesd_pad.spice b/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_noesd_pad.spice new file mode 100644 index 0000000..e235ead --- /dev/null +++ b/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_noesd_pad.spice
@@ -0,0 +1,40 @@ +* NGSPICE file created from sky130_ef_io__analog_noesd_pad.ext - technology: sky130A + +.subckt sky130_fd_io__pad_esd VSUBS m4_960_20297# m5_1354_20528# +R0 m4_960_20297# m5_1354_20528# sky130_fd_pr__res_generic_m5 w=2.5284e+08u l=100000u +.ends + +.subckt sky130_fd_io__com_busses_esd VSUBS sky130_fd_io__com_bus_hookup_0/VCCD sky130_fd_io__com_bus_hookup_0/VSWITCH ++ sky130_fd_io__com_bus_hookup_0/AMUXBUS_A sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_bus_hookup_0/AMUXBUS_B ++ sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_bus_hookup_0/VDDIO sky130_fd_io__com_bus_hookup_0/VSSIO_Q ++ sky130_fd_io__pad_esd_0/m5_1354_20528# sky130_fd_io__pad_esd_0/m4_960_20297# sky130_fd_io__com_bus_hookup_0/VDDIO_Q ++ sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_bus_hookup_0/VSSD sky130_fd_io__com_bus_hookup_0/VCCHIB +Xsky130_fd_io__pad_esd_0 VSUBS sky130_fd_io__pad_esd_0/m4_960_20297# sky130_fd_io__pad_esd_0/m5_1354_20528# ++ sky130_fd_io__pad_esd +.ends + +.subckt sky130_fd_io__simple_pad_and_busses VSUBS sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO ++ m3_99_16575# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20528# ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD ++ w_818_9944# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD +Xsky130_fd_io__com_busses_esd_0 VSUBS sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20528# ++ m3_99_16575# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB sky130_fd_io__com_busses_esd +.ends + +.subckt sky130_ef_io__analog_noesd_pad P_CORE VSSA VSSD AMUXBUS_B AMUXBUS_A VDDIO_Q VDDIO ++ VSWITCH VSSIO VDDA VCCD VCCHIB VSSIO_Q P_PAD +Xsky130_fd_io__simple_pad_and_busses_0 sky130_fd_io__simple_pad_and_busses_0/VSUBS ++ VSWITCH VDDA VSSIO VCCHIB VDDIO P_CORE VSSIO_Q AMUXBUS_A P_PAD AMUXBUS_B VSSA VDDIO_Q ++ VSSD sky130_fd_io__simple_pad_and_busses_0/VSUBS VCCD sky130_fd_io__simple_pad_and_busses +.ends +
diff --git a/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_pad.spice b/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_pad.spice index ee7b06b..9156cf5 100644 --- a/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_pad.spice +++ b/sky130/custom/sky130_fd_io/spice/sky130_ef_io__analog_pad.spice
@@ -1,40 +1,62 @@ * NGSPICE file created from sky130_ef_io__analog_pad.ext - technology: sky130A -.subckt sky130_fd_io__pad_esd VSUBS m4_960_20297# m5_1354_20528# -R0 m4_960_20297# m5_1354_20528# sky130_fd_pr__res_generic_m5 w=2.5284e+08u l=100000u +.subckt sky130_fd_io__pad_esd m4_960_20017# m5_1354_20500# +R0 m4_960_20017# m5_1354_20500# sky130_fd_pr__res_generic_m5 w=253 l=0.1 .ends -.subckt sky130_fd_io__com_busses_esd VSUBS sky130_fd_io__com_bus_hookup_0/VCCD sky130_fd_io__com_bus_hookup_0/VSWITCH -+ sky130_fd_io__com_bus_hookup_0/AMUXBUS_A sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_bus_hookup_0/AMUXBUS_B -+ sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_bus_hookup_0/VDDIO sky130_fd_io__com_bus_hookup_0/VSSIO_Q -+ sky130_fd_io__pad_esd_0/m5_1354_20528# sky130_fd_io__pad_esd_0/m4_960_20297# sky130_fd_io__com_bus_hookup_0/VDDIO_Q -+ sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_bus_hookup_0/VSSD sky130_fd_io__com_bus_hookup_0/VCCHIB -Xsky130_fd_io__pad_esd_0 VSUBS sky130_fd_io__pad_esd_0/m4_960_20297# sky130_fd_io__pad_esd_0/m5_1354_20528# +.subckt sky130_fd_io__com_busses_esd sky130_fd_io__com_bus_hookup_0/VCCHIB sky130_fd_io__com_bus_hookup_0/VSSD ++ sky130_fd_io__pad_esd_0/m5_1354_20500# sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_bus_hookup_0/VDDIO_Q ++ sky130_fd_io__com_bus_hookup_0/VSSIO_Q sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__pad_esd_0/m4_960_20017# ++ sky130_fd_io__com_bus_hookup_0/AMUXBUS_B sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_bus_hookup_0/AMUXBUS_A ++ sky130_fd_io__com_bus_hookup_0/VDDIO sky130_fd_io__com_bus_hookup_0/VSWITCH sky130_fd_io__com_bus_hookup_0/VCCD +Xsky130_fd_io__pad_esd_0 sky130_fd_io__pad_esd_0/m4_960_20017# sky130_fd_io__pad_esd_0/m5_1354_20500# + sky130_fd_io__pad_esd .ends -.subckt sky130_fd_io__simple_pad_and_busses VSUBS sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO -+ m3_99_16575# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20528# -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD -+ w_818_9944# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD -Xsky130_fd_io__com_busses_esd_0 VSUBS sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20528# -+ m3_99_16575# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD -+ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB sky130_fd_io__com_busses_esd +.subckt sky130_ef_io__esd_pdiode_11v0_array a_n1540_n5136# a_1132_n5000# a_516_n5000# ++ a_n1332_n5000# a_n716_n5000# a_n100_n5000# +D0 a_n716_n5000# a_n716_n5000# sky130_fd_pr__diode_pw2nd_11v0 pj=1.02e+08 area=5e+13 +D1 a_n1332_n5000# a_n1332_n5000# sky130_fd_pr__diode_pw2nd_11v0 pj=1.02e+08 area=5e+13 +D2 a_n100_n5000# a_n100_n5000# sky130_fd_pr__diode_pw2nd_11v0 pj=1.02e+08 area=5e+13 +D3 a_1132_n5000# a_1132_n5000# sky130_fd_pr__diode_pw2nd_11v0 pj=1.02e+08 area=5e+13 +D4 a_516_n5000# a_516_n5000# sky130_fd_pr__diode_pw2nd_11v0 pj=1.02e+08 area=5e+13 +.ends + +.subckt sky130_ef_io__esd_ndiode_11v0_array a_964_n5000# a_n1164_n5000# a_432_n5000# ++ a_n632_n5000# a_n100_n5000# w_n1396_n5168# +D0 a_432_n5000# w_n1396_n5168# sky130_fd_pr__diode_pd2nw_11v0 pj=1.02e+08 area=5e+13 +D1 a_n100_n5000# w_n1396_n5168# sky130_fd_pr__diode_pd2nw_11v0 pj=1.02e+08 area=5e+13 +D2 a_n632_n5000# w_n1396_n5168# sky130_fd_pr__diode_pd2nw_11v0 pj=1.02e+08 area=5e+13 +D3 a_964_n5000# w_n1396_n5168# sky130_fd_pr__diode_pd2nw_11v0 pj=1.02e+08 area=5e+13 +D4 a_n1164_n5000# w_n1396_n5168# sky130_fd_pr__diode_pd2nw_11v0 pj=1.02e+08 area=5e+13 +.ends + +.subckt sky130_ef_io__esd_pad_and_busses sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD ++ m1_2509_27880# sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20500# ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH +Xsky130_fd_io__com_busses_esd_0 sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCHIB ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSD sky130_fd_io__com_busses_esd_0/sky130_fd_io__pad_esd_0/m5_1354_20500# ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSA sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO_Q ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO_Q sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDA ++ m1_2509_27880# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_B ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/AMUXBUS_A ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSWITCH ++ sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VCCD sky130_fd_io__com_busses_esd +Xsky130_ef_io__esd_vssio sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VSSIO ++ m1_2509_27880# m1_2509_27880# m1_2509_27880# m1_2509_27880# m1_2509_27880# sky130_ef_io__esd_pdiode_11v0_array +Xsky130_ef_io__esd_vddio m1_2509_27880# m1_2509_27880# m1_2509_27880# m1_2509_27880# ++ m1_2509_27880# sky130_fd_io__com_busses_esd_0/sky130_fd_io__com_bus_hookup_0/VDDIO ++ sky130_ef_io__esd_ndiode_11v0_array .ends .subckt sky130_ef_io__analog_pad P_CORE VSSA VSSD AMUXBUS_B AMUXBUS_A VDDIO_Q VDDIO + VSWITCH VSSIO VDDA VCCD VCCHIB VSSIO_Q P_PAD -Xsky130_fd_io__simple_pad_and_busses_0 sky130_fd_io__simple_pad_and_busses_0/VSUBS -+ VSWITCH VDDA VSSIO VCCHIB VDDIO P_CORE VSSIO_Q AMUXBUS_A P_PAD AMUXBUS_B VSSA VDDIO_Q -+ VSSD sky130_fd_io__simple_pad_and_busses_0/VSUBS VCCD sky130_fd_io__simple_pad_and_busses +Xsky130_ef_io__esd_pad_and_busses_0 VCCD P_CORE P_PAD VSSD VDDIO_Q VSSA AMUXBUS_B ++ AMUXBUS_A VSSIO_Q VDDIO VCCHIB VSSIO VDDA VSWITCH sky130_ef_io__esd_pad_and_busses .ends
diff --git a/sky130/custom/sky130_fd_io/verilog/sky130_ef_io__analog_noesd_pad.v b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io__analog_noesd_pad.v new file mode 100644 index 0000000..540c5e2 --- /dev/null +++ b/sky130/custom/sky130_fd_io/verilog/sky130_ef_io__analog_noesd_pad.v
@@ -0,0 +1,210 @@ +/** + * Copyright 2020 The SkyWater PDK Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ + +`ifndef SKY130_EF_IO__ANALOG_NOESD_PAD_V +`define SKY130_EF_IO__ANALOG_NOESD_PAD_V + +/** + * analog_noesd_pad: Analog PAD, without ESD structures. + * + * Verilog top module. + * + * WARNING: This file is autogenerated, do not modify directly! + */ + +`timescale 1ns / 1ps +`default_nettype none + +`ifdef USE_POWER_PINS + +`ifdef FUNCTIONAL + +/* + * Copyright 2020 The SkyWater PDK Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 +*/ + +module sky130_ef_io__analog_noesd_pad (AMUXBUS_A, AMUXBUS_B, P_PAD, P_CORE + ,VCCD, VCCHIB, VDDA, VDDIO, VDDIO_Q, VSSA, VSSD, VSSIO, VSSIO_Q, VSWITCH + ); +inout AMUXBUS_A; +inout AMUXBUS_B; +inout P_PAD; +inout P_CORE; +inout VCCD; +inout VCCHIB; +inout VDDA; +inout VDDIO; +inout VDDIO_Q; +inout VSSA; +inout VSSD; +inout VSSIO; +inout VSSIO_Q; +inout VSWITCH; +wire pwr_good = VDDIO===1 && VSSIO===0; +wire pad_sw = pwr_good===1 ? 1'b1 : 1'bx; +tranif1 x_pad (P_PAD, P_CORE, pad_sw); +endmodule + +`else // FUNCTIONAL + +/* + * Copyright 2020 The SkyWater PDK Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 +*/ + +module sky130_ef_io__analog_noesd_pad (AMUXBUS_A, AMUXBUS_B, P_PAD, P_CORE + ,VCCD, VCCHIB, VDDA, VDDIO, VDDIO_Q, VSSA, VSSD, VSSIO, VSSIO_Q, VSWITCH + ); +inout AMUXBUS_A; +inout AMUXBUS_B; +inout P_PAD; +inout P_CORE; +inout VCCD; +inout VCCHIB; +inout VDDA; +inout VDDIO; +inout VDDIO_Q; +inout VSSA; +inout VSSD; +inout VSSIO; +inout VSSIO_Q; +inout VSWITCH; +wire pwr_good = VDDIO===1 && VSSIO===0; +wire pad_sw = pwr_good===1 ? 1'b1 : 1'bx; +tranif1 x_pad (P_PAD, P_CORE, pad_sw); +endmodule + +`endif // FUNCTIONAL + +`else // USE_POWER_PINS + +`ifdef FUNCTIONAL + +/* + * Copyright 2020 The SkyWater PDK Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 +*/ + +module sky130_ef_io__analog_noesd_pad (AMUXBUS_A, AMUXBUS_B, P_PAD, P_CORE + ); +inout AMUXBUS_A; +inout AMUXBUS_B; +inout P_PAD; +inout P_CORE; +supply1 VCCD; +supply1 VCCHIB; +supply1 VDDA; +supply1 VDDIO; +supply1 VDDIO_Q; +supply0 VSSA; +supply0 VSSD; +supply0 VSSIO; +supply0 VSSIO_Q; +supply1 VSWITCH; +wire pwr_good = 1; +wire pad_sw = pwr_good===1 ? 1'b1 : 1'bx; +tranif1 x_pad (P_PAD, P_CORE, pad_sw); +endmodule + +`else // FUNCTIONAL + +/* + * Copyright 2020 The SkyWater PDK Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 +*/ + +module sky130_ef_io__analog_noesd_pad (AMUXBUS_A, AMUXBUS_B, P_PAD, P_CORE + ); +inout AMUXBUS_A; +inout AMUXBUS_B; +inout P_PAD; +inout P_CORE; +supply1 VCCD; +supply1 VCCHIB; +supply1 VDDA; +supply1 VDDIO; +supply1 VDDIO_Q; +supply0 VSSA; +supply0 VSSD; +supply0 VSSIO; +supply0 VSSIO_Q; +supply1 VSWITCH; +wire pwr_good = 1; +wire pad_sw = pwr_good===1 ? 1'b1 : 1'bx; +tranif1 x_pad (P_PAD, P_CORE, pad_sw); +endmodule + +`endif // FUNCTIONAL + +`endif // USE_POWER_PINS + +`default_nettype wire +`endif // SKY130_EF_IO__ANALOG_NOESD_PAD_V