Added I/O pad clamp connection overlay cells to the I/O set. Updated a few rules for the GDS input of SRAM core cells, from a patch by Matt Guthaus.
diff --git a/sky130/custom/sky130_fd_io/gds/sky130_ef_io.gds b/sky130/custom/sky130_fd_io/gds/sky130_ef_io.gds index 0203176..7fe9616 100644 --- a/sky130/custom/sky130_fd_io/gds/sky130_ef_io.gds +++ b/sky130/custom/sky130_fd_io/gds/sky130_ef_io.gds Binary files differ
diff --git a/sky130/custom/sky130_fd_io/mag/sky130_ef_io.mag b/sky130/custom/sky130_fd_io/mag/sky130_ef_io.mag index 132da51..5eea3a6 100644 --- a/sky130/custom/sky130_fd_io/mag/sky130_ef_io.mag +++ b/sky130/custom/sky130_fd_io/mag/sky130_ef_io.mag
@@ -1,35 +1,74 @@ magic tech sky130A magscale 1 2 -timestamp 1602609685 -use sky130_ef_io__vssa_hvc_pad sky130_ef_io__vssa_hvc_pad_0 -timestamp 1602597384 -transform 1 0 37912 0 1 46935 -box 0 -407 15000 39593 -use sky130_ef_io__vssd_hvc_pad sky130_ef_io__vssd_hvc_pad_0 -timestamp 1602597384 -transform 1 0 18134 0 1 46741 -box 0 -407 15000 39593 +timestamp 1607721754 +<< checkpaint >> +rect -2128 90625 15392 132784 +rect 18426 90777 35946 133324 +rect 36846 89849 54366 132008 +rect 55266 89641 72786 132188 +rect 75818 90611 93338 133158 +rect 95788 91013 113308 133172 +rect 117892 90921 136689 133577 +rect 138834 91192 156581 133712 +rect 159580 91133 190391 133951 +rect -1740 44867 15780 87026 +rect 16874 45047 34394 87594 +rect 36652 45241 54172 87788 +rect 2728 6434 9759 12144 +rect 2728 4642 9875 6434 +rect 16468 5950 28002 44348 +rect 58756 43121 76276 85280 +rect 77758 42927 95278 85086 +rect 99280 43273 116800 85820 +rect 122264 44956 165055 88480 +rect 2752 3008 9875 4642 +rect 34407 -4225 56350 40065 +rect 58578 -5900 78235 37441 +use sky130_ef_io__hvc_vdda_overlay sky130_ef_io__hvc_vdda_overlay_0 +timestamp 1607721650 +transform 1 0 -1208 0 1 3292 +box 5196 2610 9707 7592 +use sky130_ef_io__lvc_vccd_overlay sky130_ef_io__lvc_vccd_overlay_0 +timestamp 1607710904 +transform 1 0 37862 0 1 -781 +box -2195 -2184 17228 39586 +use sky130_ef_io__hvc_vddio_overlay sky130_ef_io__hvc_vddio_overlay_0 +timestamp 1607711116 +transform 1 0 16992 0 1 3626 +box 736 3584 9750 39462 +use sky130_ef_io__lvc_vccdx_overlay sky130_ef_io__lvc_vccdx_overlay_0 +timestamp 1607710972 +transform 1 0 59736 0 1 -2533 +box 102 -2107 17239 38714 use sky130_ef_io__vssd_lvc_pad sky130_ef_io__vssd_lvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 -480 0 1 46173 -box 0 -7 15000 39593 +box 0 -46 15000 39593 +use sky130_ef_io__vssa_hvc_pad sky130_ef_io__vssa_hvc_pad_0 +timestamp 1607721754 +transform 1 0 37912 0 1 46935 +box 0 -434 15000 39593 +use sky130_ef_io__vssd_hvc_pad sky130_ef_io__vssd_hvc_pad_0 +timestamp 1607721754 +transform 1 0 18134 0 1 46741 +box 0 -434 15000 39593 +use sky130_ef_io__vssa_lvc_pad sky130_ef_io__vssa_lvc_pad_0 +timestamp 1607721754 +transform 1 0 60016 0 1 44427 +box 0 -46 15000 39593 use sky130_ef_io__vssio_lvc_pad sky130_ef_io__vssio_lvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 79018 0 1 44233 box 0 -7 15000 39593 -use sky130_ef_io__vssa_lvc_pad sky130_ef_io__vssa_lvc_pad_0 -timestamp 1602597384 -transform 1 0 60016 0 1 44427 -box 0 -7 15000 39593 use sky130_ef_io__vssio_hvc_pad sky130_ef_io__vssio_hvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 100540 0 1 44967 box 0 -407 15000 39593 use sky130_ef_io__corner_pad sky130_ef_io__corner_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 123795 0 1 46420 -box 0 0 40000 40800 +box -271 -204 40000 40800 use sky130_ef_io__com_bus_slice_20um sky130_ef_io__com_bus_slice_20um_0 timestamp 1602609570 transform 1 0 177444 0 1 45996 @@ -46,40 +85,40 @@ timestamp 1576684134 transform 1 0 167600 0 1 45744 box 0 0 200 39593 -use sky130_ef_io__vccd_lvc_pad sky130_ef_io__vccd_lvc_pad_0 -timestamp 1602597384 -transform 1 0 38106 0 1 91155 -box 0 -7 15000 39593 use sky130_ef_io__vdda_hvc_pad sky130_ef_io__vdda_hvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 19686 0 1 92471 -box 0 -407 15000 39593 +box 0 -434 15000 39593 +use sky130_ef_io__vccd_lvc_pad sky130_ef_io__vccd_lvc_pad_0 +timestamp 1607721754 +transform 1 0 38106 0 1 91155 +box 0 -46 15000 39593 use sky130_ef_io__vdda_lvc_pad sky130_ef_io__vdda_lvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 -868 0 1 91931 -box 0 -7 15000 39593 +box 0 -46 15000 39593 use sky130_ef_io__vddio_hvc_pad sky130_ef_io__vddio_hvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 77078 0 1 92305 -box 0 -407 15000 39593 +box 0 -434 15000 39593 use sky130_ef_io__vccd_hvc_pad sky130_ef_io__vccd_hvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 56526 0 1 91335 box 0 -407 15000 39593 use sky130_ef_io__vddio_lvc_pad sky130_ef_io__vddio_lvc_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 97048 0 1 92319 box 0 -7 15000 39593 use sky130_ef_io__gpiov2_pad sky130_ef_io__gpiov2_pad_0 -timestamp 1602597384 +timestamp 1607721754 transform 1 0 119295 0 1 92724 box -143 -543 16134 39593 -use sky130_fd_io__top_xres4v2 sky130_fd_io__top_xres4v2_0 ~/projects/efabless/tech/SW/sky130A/libs.ref/sky130_fd_io/mag -timestamp 1602555073 +use sky130_fd_io__top_xres4v2 sky130_fd_io__top_xres4v2_0 $PDKPATH/libs.ref/sky130_fd_io/mag +timestamp 1607712189 transform 1 0 140197 0 1 92452 box -103 0 15124 40000 -use sky130_fd_io__top_gpio_ovtv2 sky130_ef_fd__top_gpio_ovtv2_0 ~/projects/efabless/tech/SW/sky130A/libs.ref/sky130_fd_io/mag -timestamp 1602555073 +use sky130_fd_io__top_gpio_ovtv2 sky130_ef_fd__top_gpio_ovtv2_0 $PDKPATH/libs.ref/sky130_fd_io/mag +timestamp 1607712189 transform 1 0 160920 0 1 92540 box -80 -147 28211 40151 << end >>
diff --git a/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vdda_overlay.mag b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vdda_overlay.mag new file mode 100644 index 0000000..b910e9b --- /dev/null +++ b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vdda_overlay.mag
@@ -0,0 +1,28 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1607721650 +<< metal3 >> +rect 7582 7586 9707 7592 +rect 7582 6972 7588 7586 +rect 9701 6972 9707 7586 +rect 7582 6966 9707 6972 +rect 5196 3236 7321 3242 +rect 5196 2616 5202 3236 +rect 7315 2616 7321 3236 +rect 5196 2610 7321 2616 +<< via3 >> +rect 7588 6972 9701 7586 +rect 5202 2616 7315 3236 +<< metal4 >> +rect 7582 7586 9707 7592 +rect 7582 6972 7588 7586 +rect 9701 6972 9707 7586 +rect 7582 6966 9707 6972 +rect 5196 3236 7321 3242 +rect 5196 2616 5202 3236 +rect 7315 2616 7321 3236 +rect 5196 2610 7321 2616 +<< properties >> +string FIXED_BBOX 0 -406 15000 39593 +<< end >>
diff --git a/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vddio_overlay.mag b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vddio_overlay.mag new file mode 100644 index 0000000..6c33ef6 --- /dev/null +++ b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__hvc_vddio_overlay.mag
@@ -0,0 +1,63 @@ +magic +tech sky130A +timestamp 1607711116 +<< metal3 >> +rect 2640 19728 3633 19731 +rect 1454 19723 2447 19726 +rect 368 19720 1364 19723 +rect 368 18362 371 19720 +rect 1361 18362 1364 19720 +rect 368 18359 1364 18362 +rect 1454 17436 1457 19723 +rect 2444 17436 2447 19723 +rect 2640 17441 2643 19728 +rect 3630 17441 3633 19728 +rect 2640 17438 3633 17441 +rect 1454 17433 2447 17436 +rect 3812 9272 4873 9275 +rect 3812 6825 3815 9272 +rect 4870 6825 4873 9272 +rect 3812 6822 4873 6825 +rect 2608 2827 3668 2830 +rect 2608 2399 2611 2827 +rect 3665 2399 3668 2827 +rect 2608 2396 3668 2399 +rect 3802 2222 4875 2225 +rect 3802 1795 3805 2222 +rect 4872 1795 4875 2222 +rect 3802 1792 4875 1795 +<< via3 >> +rect 371 18362 1361 19720 +rect 1457 17436 2444 19723 +rect 2643 17441 3630 19728 +rect 3815 6825 4870 9272 +rect 2611 2399 3665 2827 +rect 3805 1795 4872 2222 +<< metal4 >> +rect 2640 19728 3633 19731 +rect 1454 19723 2447 19726 +rect 368 19720 1364 19723 +rect 368 18362 371 19720 +rect 1361 18362 1364 19720 +rect 368 18359 1364 18362 +rect 1454 17436 1457 19723 +rect 2444 17436 2447 19723 +rect 2640 17441 2643 19728 +rect 3630 17441 3633 19728 +rect 2640 17438 3633 17441 +rect 1454 17433 2447 17436 +rect 3812 9272 4873 9275 +rect 3812 6825 3815 9272 +rect 4870 6825 4873 9272 +rect 3812 6822 4873 6825 +rect 2608 2827 3668 2830 +rect 2608 2399 2611 2827 +rect 3665 2399 3668 2827 +rect 2608 2396 3668 2399 +rect 3802 2222 4875 2225 +rect 3802 1795 3805 2222 +rect 4872 1795 4875 2222 +rect 3802 1792 4875 1795 +<< properties >> +string FIXED_BBOX 0 -203 7500 19796 +<< end >>
diff --git a/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccd_overlay.mag b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccd_overlay.mag new file mode 100644 index 0000000..eea5fe1 --- /dev/null +++ b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccd_overlay.mag
@@ -0,0 +1,114 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1607710904 +<< metal1 >> +rect 15240 14964 17187 15070 +rect 15240 9435 15318 14964 +rect 17081 9435 17187 14964 +rect 15240 7496 17187 9435 +rect 15240 5414 15313 7496 +rect 17115 5414 17187 7496 +rect 4185 -163 10707 -7 +rect 15240 -163 17187 5414 +rect 4185 -1384 17187 -163 +rect 4185 -2184 16387 -1384 +tri 16387 -2184 17187 -1384 nw +<< via1 >> +rect 15318 9435 17081 14964 +rect 15313 5414 17115 7496 +<< metal2 >> +rect 15240 39521 17187 39586 +rect 15240 34813 15294 39521 +rect 17136 34813 17187 39521 +rect 15240 14964 17187 34813 +rect 15240 9435 15318 14964 +rect 17081 9435 17187 14964 +rect 15240 9312 17187 9435 +rect -2195 8808 100 8833 +rect -2195 7925 -2165 8808 +rect -210 7925 100 8808 +rect -2195 7903 100 7925 +rect 14940 8809 17228 8840 +rect 14940 7939 15154 8809 +rect 16192 7939 17228 8809 +rect 14940 7910 17228 7939 +rect 15240 7496 17187 7560 +rect 15240 5644 15313 7496 +rect 17115 5644 17187 7496 +rect 15240 4807 15278 5644 +rect 17134 4807 17187 5644 +rect 15240 4678 17187 4807 +<< via2 >> +rect 15294 34813 17136 39521 +rect -2165 7925 -210 8808 +rect 15154 7939 16192 8809 +rect 15278 5414 15313 5644 +rect 15313 5414 17115 5644 +rect 17115 5414 17134 5644 +rect 15278 4807 17134 5414 +<< metal3 >> +rect 15240 39521 17187 39586 +rect 15240 34813 15294 39521 +rect 17136 34813 17187 39521 +rect 15240 34743 17187 34813 +rect -2195 8808 -179 8833 +rect -2195 8807 -2165 8808 +rect -2195 7924 -2166 8807 +rect -210 7925 -179 8808 +rect -211 7924 -179 7925 +rect -2195 7903 -179 7924 +rect 15121 8809 17228 8840 +rect 15121 7939 15154 8809 +rect 17192 7939 17228 8809 +rect 15121 7910 17228 7939 +rect 15240 5644 17187 5683 +rect 15240 4807 15278 5644 +rect 17134 4807 17187 5644 +rect 15240 4753 17187 4807 +rect 5228 2263 7341 2269 +rect 5228 1400 5234 2263 +rect 7335 1400 7341 2263 +rect 5228 1394 7341 1400 +rect 7705 2261 9818 2267 +rect 7705 1398 7711 2261 +rect 9812 1398 9818 2261 +rect 7705 1392 9818 1398 +<< via3 >> +rect 15294 34813 17136 39521 +rect -2166 7925 -2165 8807 +rect -2165 7925 -211 8807 +rect -2166 7924 -211 7925 +rect 15154 7939 16192 8809 +rect 16192 7939 17192 8809 +rect 15278 4807 17134 5644 +rect 5234 1400 7335 2263 +rect 7711 1398 9812 2261 +<< metal4 >> +rect 14957 39521 17187 39586 +rect 14957 34813 15294 39521 +rect 17136 34813 17187 39521 +rect 14957 34743 17187 34813 +rect -2195 8807 14 8833 +rect -2195 7924 -2166 8807 +rect -211 7924 14 8807 +rect -2195 7903 14 7924 +rect 14940 8809 17228 8840 +rect 14940 7939 15154 8809 +rect 17192 7939 17228 8809 +rect 14940 7910 17228 7939 +rect 14987 5644 17187 5683 +rect 14987 4807 15278 5644 +rect 17134 4807 17187 5644 +rect 14987 4753 17187 4807 +rect 5228 2263 7341 2269 +rect 5228 1400 5234 2263 +rect 7335 1400 7341 2263 +rect 5228 1394 7341 1400 +rect 7705 2261 9818 2267 +rect 7705 1398 7711 2261 +rect 9812 1398 9818 2261 +rect 7705 1392 9818 1398 +<< properties >> +string FIXED_BBOX 0 -7 15000 39593 +<< end >>
diff --git a/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccdx_overlay.mag b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccdx_overlay.mag new file mode 100644 index 0000000..47338fb --- /dev/null +++ b/sky130/custom/sky130_fd_io/mag/sky130_ef_io__lvc_vccdx_overlay.mag
@@ -0,0 +1,88 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1607710972 +<< metal1 >> +rect 15049 7630 17239 7665 +rect 15049 6925 15080 7630 +rect 17210 6925 17239 7630 +rect 15049 6891 17239 6925 +rect 4185 -163 10707 -7 +rect 15240 -163 17187 6891 +rect 4185 -1307 17187 -163 +rect 4185 -2107 16387 -1307 +tri 16387 -2107 17187 -1307 nw +<< via1 >> +rect 15080 6925 17210 7630 +<< metal2 >> +rect 132 38667 2749 38676 +rect 132 34800 141 38667 +rect 2740 34800 2749 38667 +rect 132 34791 2749 34800 +rect 14940 8809 17228 8840 +rect 14940 7939 15154 8809 +rect 16192 7939 17228 8809 +rect 14940 7910 17228 7939 +rect 15049 7630 17239 7665 +rect 15049 6925 15080 7630 +rect 17210 7605 17239 7630 +rect 17213 6966 17239 7605 +rect 17210 6925 17239 6966 +rect 15049 6891 17239 6925 +<< via2 >> +rect 141 34800 2740 38667 +rect 15154 7939 16192 8809 +rect 15116 6966 17210 7605 +rect 17210 6966 17213 7605 +<< metal3 >> +rect 102 38667 2772 38714 +rect 102 34800 141 38667 +rect 2740 34800 2772 38667 +rect 102 34753 2772 34800 +rect 15121 8809 17228 8840 +rect 15121 7939 15154 8809 +rect 17192 7939 17228 8809 +rect 15121 7910 17228 7939 +rect 15088 7605 17228 7632 +rect 15088 6966 15116 7605 +rect 17213 6966 17228 7605 +rect 15088 6939 17228 6966 +rect 5228 2263 7341 2269 +rect 5228 1400 5234 2263 +rect 7335 1400 7341 2263 +rect 5228 1394 7341 1400 +rect 7705 2261 9818 2267 +rect 7705 1398 7711 2261 +rect 9812 1398 9818 2261 +rect 7705 1392 9818 1398 +<< via3 >> +rect 141 34800 2740 38667 +rect 15154 7939 16192 8809 +rect 16192 7939 17192 8809 +rect 15116 6966 17213 7605 +rect 5234 1400 7335 2263 +rect 7711 1398 9812 2261 +<< metal4 >> +rect 132 38667 2749 38676 +rect 132 34800 141 38667 +rect 2740 34800 2749 38667 +rect 132 34791 2749 34800 +rect 14940 8809 17228 8840 +rect 14940 7939 15154 8809 +rect 17192 7939 17228 8809 +rect 14940 7910 17228 7939 +rect 14985 7605 17233 7630 +rect 14985 6966 15116 7605 +rect 17213 6966 17233 7605 +rect 14985 6940 17233 6966 +rect 5228 2263 7341 2269 +rect 5228 1400 5234 2263 +rect 7335 1400 7341 2263 +rect 5228 1394 7341 1400 +rect 7705 2261 9818 2267 +rect 7705 1398 7711 2261 +rect 9812 1398 9818 2261 +rect 7705 1392 9818 1398 +<< properties >> +string FIXED_BBOX 0 -7 15000 39593 +<< end >>
diff --git a/sky130/magic/sky130.tech b/sky130/magic/sky130.tech index 9198664..e26ab4e 100644 --- a/sky130/magic/sky130.tech +++ b/sky130/magic/sky130.tech
@@ -2372,6 +2372,7 @@ and-not LVTN and-not SONOS and-not STDCELL + and-not COREID labels DIFF layer scnfet DIFF @@ -2391,6 +2392,9 @@ and NPLUS and-not NWELL and COREID + # Shrink-grow operation eliminates the smaller npass device + shrink 70 + grow 70 labels DIFF layer npd DIFF @@ -3808,6 +3812,7 @@ and-not LVTN and-not HVTP and STDCELL + and-not COREID labels DIFF layer scpfethvt pfetarea @@ -3820,6 +3825,9 @@ and-not LVTN and HVTP and COREID + # Shrink-grow operation eliminates the smaller ppass device + shrink 70 + grow 70 labels DIFF layer pfetlvt pfetarea @@ -4715,6 +4723,7 @@ and-not PPLUS and-not NPLUS and-not POLY + and-not COREID copyup DIFF # Handle contacts found by copyup