Added all files for TopLevelTestStructure and supporting cells, added verilog module and added an instance into user_analog_project_wrapper
diff --git a/gds/sky130_hilas_TopLevelProtectStructure.gds b/gds/sky130_hilas_TopLevelProtectStructure.gds index 0120b10..c9e479d 100644 --- a/gds/sky130_hilas_TopLevelProtectStructure.gds +++ b/gds/sky130_hilas_TopLevelProtectStructure.gds Binary files differ
diff --git a/mag/resistor01.spice b/mag/resistor01.spice new file mode 100644 index 0000000..635f87d --- /dev/null +++ b/mag/resistor01.spice
@@ -0,0 +1,7 @@ +* SPICE3 file created from resistor01.ext - technology: sky130A + +.option scale=10000u + +.subckt resistor01 Term1 Term2 VGND +R0 Term1 Term2 mrp1 w=42 l=513 +.ends
diff --git a/mag/sky130_hilas_CapModule01.mag b/mag/sky130_hilas_CapModule01.mag new file mode 100644 index 0000000..2ab9f89 --- /dev/null +++ b/mag/sky130_hilas_CapModule01.mag
@@ -0,0 +1,19 @@ +magic +tech sky130A +timestamp 1607800460 +<< metal3 >> +rect -443 -245 -159 41 +<< mimcap >> +rect -401 -105 -201 -2 +rect -401 -118 -316 -105 +rect -302 -118 -201 -105 +rect -401 -202 -201 -118 +<< mimcapcontact >> +rect -316 -118 -302 -105 +<< metal4 >> +rect -331 -93 -286 -92 +rect -333 -105 -281 -93 +rect -333 -118 -316 -105 +rect -302 -118 -281 -105 +rect -333 -142 -281 -118 +<< end >>
diff --git a/mag/sky130_hilas_CapModule01a.mag b/mag/sky130_hilas_CapModule01a.mag new file mode 100644 index 0000000..d37c85b --- /dev/null +++ b/mag/sky130_hilas_CapModule01a.mag
@@ -0,0 +1,19 @@ +magic +tech sky130A +timestamp 1607818356 +<< metal3 >> +rect -416 -216 -186 12 +<< mimcap >> +rect -401 -105 -201 -2 +rect -401 -118 -316 -105 +rect -302 -118 -201 -105 +rect -401 -202 -201 -118 +<< mimcapcontact >> +rect -316 -118 -302 -105 +<< metal4 >> +rect -331 -93 -286 -92 +rect -333 -105 -281 -93 +rect -333 -118 -316 -105 +rect -302 -118 -281 -105 +rect -333 -142 -281 -118 +<< end >>
diff --git a/mag/sky130_hilas_CapModule02.mag b/mag/sky130_hilas_CapModule02.mag new file mode 100644 index 0000000..84e1841 --- /dev/null +++ b/mag/sky130_hilas_CapModule02.mag
@@ -0,0 +1,46 @@ +magic +tech sky130A +timestamp 1607802006 +<< metal3 >> +rect -443 333 -161 336 +rect -443 -245 277 333 +rect -164 -247 277 -245 +<< mimcap >> +rect -404 -104 234 295 +rect -404 -105 -288 -104 +rect -404 -118 -316 -105 +rect -302 -118 -288 -105 +rect -274 -118 -260 -104 +rect -246 -118 -232 -104 +rect -218 -118 -204 -104 +rect -190 -118 -176 -104 +rect -162 -118 -149 -104 +rect -135 -118 -121 -104 +rect -107 -118 -93 -104 +rect -79 -118 234 -104 +rect -404 -205 234 -118 +<< mimcapcontact >> +rect -316 -118 -302 -105 +rect -288 -118 -274 -104 +rect -260 -118 -246 -104 +rect -232 -118 -218 -104 +rect -204 -118 -190 -104 +rect -176 -118 -162 -104 +rect -149 -118 -135 -104 +rect -121 -118 -107 -104 +rect -93 -118 -79 -104 +<< metal4 >> +rect -354 -104 -50 -90 +rect -354 -105 -288 -104 +rect -354 -118 -316 -105 +rect -302 -118 -288 -105 +rect -274 -118 -260 -104 +rect -246 -118 -232 -104 +rect -218 -118 -204 -104 +rect -190 -118 -176 -104 +rect -162 -118 -149 -104 +rect -135 -118 -121 -104 +rect -107 -118 -93 -104 +rect -79 -118 -50 -104 +rect -354 -137 -50 -118 +<< end >>
diff --git a/mag/sky130_hilas_CapModule03.mag b/mag/sky130_hilas_CapModule03.mag new file mode 100644 index 0000000..fea8c7a --- /dev/null +++ b/mag/sky130_hilas_CapModule03.mag
@@ -0,0 +1,41 @@ +magic +tech sky130A +timestamp 1607813757 +<< metal3 >> +rect -392 333 -161 336 +rect -392 -245 31 333 +rect -164 -247 31 -245 +<< mimcap >> +rect -332 -104 -10 295 +rect -332 -118 -288 -104 +rect -274 -118 -260 -104 +rect -246 -118 -232 -104 +rect -218 -118 -204 -104 +rect -190 -118 -176 -104 +rect -162 -118 -149 -104 +rect -135 -118 -121 -104 +rect -107 -118 -93 -104 +rect -79 -118 -10 -104 +rect -332 -205 -10 -118 +<< mimcapcontact >> +rect -288 -118 -274 -104 +rect -260 -118 -246 -104 +rect -232 -118 -218 -104 +rect -204 -118 -190 -104 +rect -176 -118 -162 -104 +rect -149 -118 -135 -104 +rect -121 -118 -107 -104 +rect -93 -118 -79 -104 +<< metal4 >> +rect -354 -104 -53 -90 +rect -354 -118 -288 -104 +rect -274 -118 -260 -104 +rect -246 -118 -232 -104 +rect -218 -118 -204 -104 +rect -190 -118 -176 -104 +rect -162 -118 -149 -104 +rect -135 -118 -121 -104 +rect -107 -118 -93 -104 +rect -79 -118 -53 -104 +rect -354 -137 -53 -118 +<< end >>
diff --git a/mag/sky130_hilas_DAC5bit01.mag b/mag/sky130_hilas_DAC5bit01.mag new file mode 100644 index 0000000..92da476 --- /dev/null +++ b/mag/sky130_hilas_DAC5bit01.mag
@@ -0,0 +1,181 @@ +magic +tech sky130A +timestamp 1625056879 +<< error_s >> +rect 1063 889 1065 890 +<< nwell >> +rect 619 1020 1762 1027 +<< locali >> +rect 780 1027 797 1028 +rect 1677 1027 1698 1105 +rect 1744 1027 1761 1095 +rect 619 1004 1762 1027 +rect 619 648 636 1004 +rect 685 525 702 971 +rect 780 648 797 1004 +rect 848 525 865 967 +rect 939 648 956 1004 +rect 1008 525 1025 975 +rect 1101 648 1118 1004 +rect 1170 525 1187 970 +rect 1263 650 1280 1004 +rect 1330 525 1347 975 +rect 1423 651 1440 1004 +rect 1492 525 1509 975 +rect 1584 650 1601 1004 +rect 1652 525 1669 973 +rect 1745 647 1762 1004 +rect 1813 525 1830 991 +<< metal1 >> +rect 1056 880 1401 897 +rect 1211 627 1229 781 +rect 1381 696 1401 880 +rect 686 525 2040 548 +<< metal2 >> +rect 382 1102 1087 1121 +rect 382 1100 397 1102 +rect 382 1020 588 1026 +rect 730 1020 752 1066 +rect 1222 1021 1247 1097 +rect 1222 1020 1250 1021 +rect 382 1005 1250 1020 +rect 408 981 428 1005 +rect 572 990 1250 1005 +rect 1393 833 1413 1089 +rect 382 812 1413 833 +rect 1553 735 1568 1109 +rect 1653 1093 1769 1121 +rect 1728 1092 1769 1093 +rect 382 715 1569 735 +rect 382 714 396 715 +rect 382 603 1236 623 +use sky130_hilas_DAC6TransistorStack01a sky130_hilas_DAC6TransistorStack01a_0 +timestamp 1607478455 +transform 1 0 391 0 1 701 +box 28 -174 200 391 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_12 +timestamp 1607270276 +transform 1 0 417 0 1 769 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_11 +timestamp 1607270276 +transform 1 0 417 0 1 863 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_10 +timestamp 1607270276 +transform 1 0 411 0 1 958 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_9 +timestamp 1607270276 +transform 1 0 425 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_8 +timestamp 1607270276 +transform 1 0 584 0 1 1090 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_7 +timestamp 1607270276 +transform 0 1 739 -1 0 1073 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_6 +timestamp 1607270276 +transform 1 0 904 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_li2m1 sky130_hilas_li2m1_6 +timestamp 1607179295 +transform 1 0 855 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 693 0 1 532 +box -10 -8 13 21 +use sky130_hilas_DAC6TransistorStack01 sky130_hilas_DAC6TransistorStack01_0 +array 0 2 161 0 0 566 +timestamp 1607480432 +transform 1 0 552 0 1 701 +box 28 -174 200 391 +use sky130_hilas_DAC6TransistorStack01b sky130_hilas_DAC6TransistorStack01b_0 +timestamp 1607480432 +transform 1 0 1035 0 1 701 +box 15 -174 200 391 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_5 +timestamp 1607270276 +transform 1 0 1065 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_li2m1 sky130_hilas_li2m1_7 +timestamp 1607179295 +transform 1 0 1015 0 1 532 +box -10 -8 13 21 +use sky130_hilas_DAC6TransistorStack01c sky130_hilas_DAC6TransistorStack01c_0 +timestamp 1607478930 +transform 1 0 1196 0 1 701 +box 28 -174 215 391 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_3 +timestamp 1607270276 +transform 1 0 1388 0 1 1090 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_4 +timestamp 1607270276 +transform 1 0 1227 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 1177 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 1337 0 1 532 +box -10 -8 13 21 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 1217 0 1 607 +box -9 -10 23 22 +use sky130_hilas_DAC6TransistorStack01 sky130_hilas_DAC6TransistorStack01_2 +array 0 2 161 0 0 566 +timestamp 1607480432 +transform 1 0 1357 0 1 701 +box 28 -174 200 391 +use sky130_hilas_DAC6TransistorStack01a sky130_hilas_DAC6TransistorStack01a_1 +timestamp 1607478455 +transform 1 0 1840 0 1 701 +box 28 -174 200 391 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 1499 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 1820 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 1659 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 1746 0 1 1090 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 1679 0 1 1090 +box -14 -15 20 18 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_2 +timestamp 1607270276 +transform 1 0 1549 0 1 1090 +box -9 -26 24 29 +<< labels >> +rlabel metal2 383 1100 393 1121 0 A4 +port 5 nsew analog default +rlabel metal2 382 1005 392 1026 0 A3 +port 4 nsew analog default +rlabel metal2 383 812 393 833 0 A2 +port 3 nsew analog default +rlabel metal2 383 714 393 735 0 A1 +port 2 nsew analog default +rlabel metal2 382 603 390 623 0 A0 +port 1 nsew analog default +rlabel metal2 1653 1107 1728 1121 0 VPWR +port 6 nsew analog default +rlabel metal1 2028 525 2040 548 0 OUT +port 7 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_DAC6TransistorStack01.mag b/mag/sky130_hilas_DAC6TransistorStack01.mag new file mode 100644 index 0000000..22db13d --- /dev/null +++ b/mag/sky130_hilas_DAC6TransistorStack01.mag
@@ -0,0 +1,28 @@ +magic +tech sky130A +timestamp 1607480432 +use sky130_hilas_pFETdevice01a sky130_hilas_pFETdevice01a_0 +timestamp 1607477942 +transform 1 0 108 0 1 -132 +box -80 -42 81 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_0 +timestamp 1607471549 +transform 1 0 107 0 1 -36 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_4 +timestamp 1607471549 +transform 1 0 107 0 1 60 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_3 +timestamp 1607471549 +transform 1 0 107 0 1 156 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_6 +timestamp 1607471549 +transform 1 0 107 0 1 252 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_0 +timestamp 1607478455 +transform 1 0 108 0 1 348 +box -80 -78 92 43 +<< end >>
diff --git a/mag/sky130_hilas_DAC6TransistorStack01a.mag b/mag/sky130_hilas_DAC6TransistorStack01a.mag new file mode 100644 index 0000000..3df8063 --- /dev/null +++ b/mag/sky130_hilas_DAC6TransistorStack01a.mag
@@ -0,0 +1,28 @@ +magic +tech sky130A +timestamp 1607478455 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_3 +timestamp 1607478455 +transform 1 0 108 0 1 348 +box -80 -78 92 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_2 +timestamp 1607478455 +transform 1 0 108 0 1 252 +box -80 -78 92 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_4 +timestamp 1607478455 +transform 1 0 108 0 1 156 +box -80 -78 92 43 +use sky130_hilas_pFETdevice01a sky130_hilas_pFETdevice01a_0 +timestamp 1607477942 +transform 1 0 108 0 1 -132 +box -80 -42 81 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_1 +timestamp 1607478455 +transform 1 0 108 0 1 60 +box -80 -78 92 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_0 +timestamp 1607478455 +transform 1 0 108 0 1 -36 +box -80 -78 92 43 +<< end >>
diff --git a/mag/sky130_hilas_DAC6TransistorStack01b.mag b/mag/sky130_hilas_DAC6TransistorStack01b.mag new file mode 100644 index 0000000..3b7ae8a --- /dev/null +++ b/mag/sky130_hilas_DAC6TransistorStack01b.mag
@@ -0,0 +1,28 @@ +magic +tech sky130A +timestamp 1607480432 +use sky130_hilas_pFETdevice01d sky130_hilas_pFETdevice01d_0 +timestamp 1607475773 +transform 1 0 107 0 1 156 +box -92 -102 92 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_6 +timestamp 1607471549 +transform 1 0 107 0 1 252 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_4 +timestamp 1607471549 +transform 1 0 107 0 1 60 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_0 +timestamp 1607471549 +transform 1 0 107 0 1 -36 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01a sky130_hilas_pFETdevice01a_0 +timestamp 1607477942 +transform 1 0 108 0 1 -132 +box -80 -42 81 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_0 +timestamp 1607478455 +transform 1 0 108 0 1 348 +box -80 -78 92 43 +<< end >>
diff --git a/mag/sky130_hilas_DAC6TransistorStack01c.mag b/mag/sky130_hilas_DAC6TransistorStack01c.mag new file mode 100644 index 0000000..2554057 --- /dev/null +++ b/mag/sky130_hilas_DAC6TransistorStack01c.mag
@@ -0,0 +1,28 @@ +magic +tech sky130A +timestamp 1607478930 +use sky130_hilas_pFETdevice01b sky130_hilas_pFETdevice01b_1 +timestamp 1607475333 +transform 1 0 107 0 1 60 +box -79 -114 108 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_6 +timestamp 1607471549 +transform 1 0 107 0 1 252 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_3 +timestamp 1607471549 +transform 1 0 107 0 1 156 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_0 +timestamp 1607471549 +transform 1 0 107 0 1 -36 +box -79 -78 82 43 +use sky130_hilas_pFETdevice01a sky130_hilas_pFETdevice01a_0 +timestamp 1607477942 +transform 1 0 108 0 1 -132 +box -80 -42 81 43 +use sky130_hilas_pFETdevice01aa sky130_hilas_pFETdevice01aa_0 +timestamp 1607478455 +transform 1 0 108 0 1 348 +box -80 -78 92 43 +<< end >>
diff --git a/mag/sky130_hilas_DAC6bit01.mag b/mag/sky130_hilas_DAC6bit01.mag new file mode 100644 index 0000000..a9cc377 --- /dev/null +++ b/mag/sky130_hilas_DAC6bit01.mag
@@ -0,0 +1,159 @@ +magic +tech sky130A +timestamp 1607481960 +<< error_s >> +rect 752 1027 1762 1104 +rect 1868 1020 1889 1092 +rect 414 1005 418 1019 +rect 428 987 432 1005 +<< nwell >> +rect 752 1020 1762 1027 +<< locali >> +rect 780 1027 797 1028 +rect 1677 1027 1698 1105 +rect 1744 1027 1761 1095 +rect 619 1004 1762 1027 +rect 619 648 636 1004 +rect 685 525 702 971 +rect 780 648 797 1004 +rect 848 525 865 967 +rect 939 648 956 1004 +rect 1008 525 1025 975 +rect 1101 648 1118 1004 +rect 1170 525 1187 970 +rect 1263 650 1280 1004 +rect 1330 525 1347 975 +rect 1423 651 1440 1004 +rect 1492 525 1509 975 +rect 1584 650 1601 1004 +rect 1652 525 1669 973 +rect 1745 647 1762 1004 +rect 1813 525 1830 991 +<< metal1 >> +rect 1056 880 1401 897 +rect 1211 627 1229 781 +rect 1381 696 1401 880 +rect 686 525 2030 548 +<< metal2 >> +rect 418 1102 1087 1121 +rect 418 1020 588 1026 +rect 730 1020 752 1066 +rect 1222 1021 1247 1097 +rect 1222 1020 1250 1021 +rect 418 1005 1250 1020 +rect 418 981 428 1005 +rect 572 990 1250 1005 +rect 1393 833 1413 1089 +rect 418 812 1413 833 +rect 1553 735 1568 1109 +rect 1653 1093 1769 1121 +rect 1728 1092 1769 1093 +rect 418 715 1569 735 +rect 418 603 1236 623 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_8 +timestamp 1607270276 +transform 1 0 584 0 1 1090 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_9 +timestamp 1607270276 +transform 1 0 425 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_10 +timestamp 1607270276 +transform 1 0 411 0 1 958 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_11 +timestamp 1607270276 +transform 1 0 417 0 1 863 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_12 +timestamp 1607270276 +transform 1 0 417 0 1 769 +box -9 -26 24 29 +use sky130_hilas_DAC6TransistorStack01a sky130_hilas_DAC6TransistorStack01a_0 +timestamp 1607478455 +transform 1 0 391 0 1 701 +box 28 -174 200 391 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 693 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_6 +timestamp 1607179295 +transform 1 0 855 0 1 532 +box -10 -8 13 21 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_6 +timestamp 1607270276 +transform 1 0 904 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_7 +timestamp 1607270276 +transform 0 1 739 -1 0 1073 +box -9 -26 24 29 +use sky130_hilas_li2m1 sky130_hilas_li2m1_7 +timestamp 1607179295 +transform 1 0 1015 0 1 532 +box -10 -8 13 21 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_5 +timestamp 1607270276 +transform 1 0 1065 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607179755 +transform 1 0 1217 0 1 607 +box -9 -10 23 22 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 1337 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 1177 0 1 532 +box -10 -8 13 21 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_4 +timestamp 1607270276 +transform 1 0 1227 0 1 1089 +box -9 -26 24 29 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_3 +timestamp 1607270276 +transform 1 0 1388 0 1 1090 +box -9 -26 24 29 +use sky130_hilas_DAC6TransistorStack01a sky130_hilas_DAC6TransistorStack01a_1 +timestamp 1607478455 +transform 1 0 1840 0 1 701 +box 28 -174 200 391 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 1499 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 1820 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 1659 0 1 532 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 1746 0 1 1090 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 1679 0 1 1090 +box -14 -15 20 18 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_2 +timestamp 1607270276 +transform 1 0 1549 0 1 1090 +box -9 -26 24 29 +use sky130_hilas_DAC6TransistorStack01 sky130_hilas_DAC6TransistorStack01_0 +timestamp 1607480432 +transform 1 0 548 0 1 1501 +box 28 -174 200 391 +use sky130_hilas_DAC6TransistorStack01 sky130_hilas_DAC6TransistorStack01_0 +timestamp 0 +transform 1 0 535 0 1 1475 +box 0 0 1 1 +<< labels >> +rlabel metal2 1653 1107 1728 1121 0 Vdd +<< end >>
diff --git a/mag/sky130_hilas_DecoupVinj00.mag b/mag/sky130_hilas_DecoupVinj00.mag new file mode 100644 index 0000000..eac1cad --- /dev/null +++ b/mag/sky130_hilas_DecoupVinj00.mag
@@ -0,0 +1,236 @@ +magic +tech sky130A +timestamp 1625358249 +<< nwell >> +rect 68 52 472 189 +<< mvnmos >> +rect 130 -56 341 5 +<< mvpmos >> +rect 130 86 340 148 +<< mvndiff >> +rect 101 1 130 5 +rect 101 -16 107 1 +rect 124 -16 130 1 +rect 101 -33 130 -16 +rect 101 -50 107 -33 +rect 124 -50 130 -33 +rect 101 -56 130 -50 +rect 341 1 370 5 +rect 341 -16 347 1 +rect 364 -16 370 1 +rect 341 -33 370 -16 +rect 341 -50 347 -33 +rect 364 -50 370 -33 +rect 341 -56 370 -50 +<< mvpdiff >> +rect 101 143 130 148 +rect 101 126 107 143 +rect 124 126 130 143 +rect 101 109 130 126 +rect 101 92 107 109 +rect 124 92 130 109 +rect 101 86 130 92 +rect 340 143 370 148 +rect 340 126 346 143 +rect 363 126 370 143 +rect 340 109 370 126 +rect 340 92 346 109 +rect 363 92 370 109 +rect 340 86 370 92 +<< mvndiffc >> +rect 107 -16 124 1 +rect 107 -50 124 -33 +rect 347 -16 364 1 +rect 347 -50 364 -33 +<< mvpdiffc >> +rect 107 126 124 143 +rect 107 92 124 109 +rect 346 126 363 143 +rect 346 92 363 109 +<< psubdiff >> +rect 389 -2 458 10 +rect 389 -19 399 -2 +rect 416 -19 433 -2 +rect 450 -19 458 -2 +rect 389 -36 458 -19 +rect 389 -53 399 -36 +rect 416 -53 433 -36 +rect 450 -53 458 -36 +rect 389 -70 458 -53 +rect 382 -87 399 -70 +rect 416 -87 433 -70 +rect 450 -87 458 -70 +rect 389 -99 458 -87 +<< mvnsubdiff >> +rect 397 144 439 156 +rect 397 127 409 144 +rect 426 127 439 144 +rect 397 110 439 127 +rect 397 93 409 110 +rect 426 93 439 110 +rect 397 86 439 93 +<< psubdiffcont >> +rect 399 -19 416 -2 +rect 433 -19 450 -2 +rect 399 -53 416 -36 +rect 433 -53 450 -36 +rect 399 -87 416 -70 +rect 433 -87 450 -70 +<< mvnsubdiffcont >> +rect 409 127 426 144 +rect 409 93 426 110 +<< poly >> +rect 130 148 341 163 +rect 130 85 340 86 +rect 130 68 341 85 +rect 130 67 231 68 +rect 163 40 164 67 +rect 197 40 198 67 +rect 304 20 305 46 +rect 338 20 339 46 +rect 271 19 341 20 +rect 130 5 341 19 +rect 130 -69 341 -56 +<< locali >> +rect 99 183 429 189 +rect 99 182 158 183 +rect 166 182 265 183 +rect 275 182 429 183 +rect 99 179 429 182 +rect 99 162 377 179 +rect 394 162 412 179 +rect 99 144 429 162 +rect 99 143 409 144 +rect 99 126 107 143 +rect 124 126 346 143 +rect 363 127 409 143 +rect 426 127 429 144 +rect 363 126 429 127 +rect 99 110 428 126 +rect 99 109 409 110 +rect 99 92 107 109 +rect 124 92 346 109 +rect 363 93 409 109 +rect 426 93 428 110 +rect 363 92 428 93 +rect 99 85 428 92 +rect 99 1 231 67 +rect 271 24 428 85 +rect 367 4 450 6 +rect 361 1 450 4 +rect 99 -16 107 1 +rect 124 -16 347 1 +rect 364 -2 450 1 +rect 364 -16 399 -2 +rect 99 -19 399 -16 +rect 416 -19 433 -2 +rect 99 -33 450 -19 +rect 99 -50 107 -33 +rect 124 -50 347 -33 +rect 364 -36 450 -33 +rect 364 -50 399 -36 +rect 99 -53 399 -50 +rect 416 -53 433 -36 +rect 99 -70 450 -53 +rect 99 -87 382 -70 +rect 99 -88 450 -87 +rect 375 -95 450 -88 +<< viali >> +rect 377 162 394 179 +rect 412 162 429 179 +rect 382 -87 399 -70 +rect 416 -87 433 -70 +<< metal1 >> +rect 68 179 473 189 +rect 68 162 377 179 +rect 394 162 412 179 +rect 429 162 473 179 +rect 68 142 473 162 +rect 99 141 473 142 +rect 68 -64 373 -50 +rect 68 -70 473 -64 +rect 68 -87 382 -70 +rect 399 -87 416 -70 +rect 433 -87 473 -70 +rect 68 -113 473 -87 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 174 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 138 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 210 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 282 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 246 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_7 +timestamp 1607179295 +transform 1 0 354 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 318 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_poly2li sky130_hilas_poly2li_4 +timestamp 1607178257 +transform 0 1 285 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_3 +timestamp 1607178257 +transform 0 1 353 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_0 +timestamp 1607178257 +transform 0 1 319 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_1 +timestamp 1607178257 +transform 0 1 144 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_2 +timestamp 1607178257 +transform 0 1 178 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_5 +timestamp 1607178257 +transform 0 1 212 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_li2m1 sky130_hilas_li2m1_10 +timestamp 1607179295 +transform 1 0 159 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_9 +timestamp 1607179295 +transform 1 0 123 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_12 +timestamp 1607179295 +transform 1 0 231 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_11 +timestamp 1607179295 +transform 1 0 195 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_13 +timestamp 1607179295 +transform 1 0 267 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_15 +timestamp 1607179295 +transform 1 0 347 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_14 +timestamp 1607179295 +transform 1 0 303 0 1 165 +box -10 -8 13 21 +<< end >>
diff --git a/mag/sky130_hilas_DecoupVinj01.mag b/mag/sky130_hilas_DecoupVinj01.mag new file mode 100644 index 0000000..320a2ad --- /dev/null +++ b/mag/sky130_hilas_DecoupVinj01.mag
@@ -0,0 +1,152 @@ +magic +tech sky130A +timestamp 1625359887 +<< psubdiff >> +rect 671 88 672 171 +<< locali >> +rect 646 547 665 636 +rect 646 82 672 171 +<< metal1 >> +rect 341 598 376 661 +rect 341 582 603 598 +rect 637 607 744 661 +rect 637 598 656 607 +rect 629 582 656 598 +rect 341 581 656 582 +rect 682 581 744 607 +rect 341 567 744 581 +rect 341 566 656 567 +rect 341 540 601 566 +rect 627 541 656 566 +rect 682 541 744 567 +rect 627 540 744 541 +rect 341 530 744 540 +rect 341 476 744 499 +rect 341 449 392 476 +rect 419 449 447 476 +rect 474 449 744 476 +rect 341 419 744 449 +rect 341 418 447 419 +rect 341 391 391 418 +rect 418 392 447 418 +rect 474 392 744 419 +rect 418 391 744 392 +rect 341 335 744 391 +rect 341 334 447 335 +rect 341 307 392 334 +rect 419 308 447 334 +rect 474 308 744 335 +rect 419 307 744 308 +rect 341 284 744 307 +rect 341 257 392 284 +rect 419 282 744 284 +rect 419 257 445 282 +rect 341 255 445 257 +rect 472 255 744 282 +rect 341 220 744 255 +rect 341 157 744 184 +rect 341 131 617 157 +rect 643 131 665 157 +rect 691 131 744 157 +rect 341 116 744 131 +rect 341 90 615 116 +rect 641 90 664 116 +rect 690 90 744 116 +rect 341 60 744 90 +rect 341 57 377 60 +rect 646 58 744 60 +rect 645 57 744 58 +<< via1 >> +rect 603 582 629 608 +rect 656 581 682 607 +rect 601 540 627 566 +rect 656 541 682 567 +rect 392 449 419 476 +rect 447 449 474 476 +rect 391 391 418 418 +rect 447 392 474 419 +rect 392 307 419 334 +rect 447 308 474 335 +rect 392 257 419 284 +rect 445 255 472 282 +rect 617 131 643 157 +rect 665 131 691 157 +rect 615 90 641 116 +rect 664 90 690 116 +<< metal2 >> +rect 377 476 507 661 +rect 377 449 392 476 +rect 419 449 447 476 +rect 474 449 507 476 +rect 377 419 507 449 +rect 377 418 447 419 +rect 377 391 391 418 +rect 418 392 447 418 +rect 474 392 507 419 +rect 418 391 507 392 +rect 377 335 507 391 +rect 377 334 447 335 +rect 377 307 392 334 +rect 419 308 447 334 +rect 474 308 507 335 +rect 419 307 507 308 +rect 377 284 507 307 +rect 377 257 392 284 +rect 419 282 507 284 +rect 419 257 445 282 +rect 377 255 445 257 +rect 472 255 507 282 +rect 377 57 507 255 +rect 585 608 715 661 +rect 585 582 603 608 +rect 629 607 715 608 +rect 629 582 656 607 +rect 585 581 656 582 +rect 682 581 715 607 +rect 585 567 715 581 +rect 585 566 656 567 +rect 585 540 601 566 +rect 627 541 656 566 +rect 682 541 715 567 +rect 627 540 715 541 +rect 585 519 715 540 +rect 585 189 714 519 +rect 585 157 715 189 +rect 585 131 617 157 +rect 643 131 665 157 +rect 691 131 715 157 +rect 585 116 715 131 +rect 585 90 615 116 +rect 641 90 664 116 +rect 690 90 715 116 +rect 585 57 715 90 +use sky130_hilas_DecoupVinj00 CapDeco_1 +timestamp 1625358249 +transform 1 0 273 0 1 170 +box 68 -113 473 189 +use sky130_hilas_DecoupVinj00 CapDeco_0 +timestamp 1625358249 +transform 1 0 273 0 -1 548 +box 68 -113 473 189 +<< labels >> +rlabel metal1 355 57 364 120 0 VGND +port 1 nsew +rlabel metal1 729 57 744 120 0 VGND +port 1 nsew +rlabel metal2 377 651 507 661 0 VINJ +port 1 nsew +rlabel metal2 585 653 715 661 0 VGND +port 2 nsew +rlabel metal2 377 57 507 69 0 VINJ +port 1 nsew +rlabel metal2 585 57 715 69 0 VGND +port 2 nsew +rlabel metal1 727 313 744 407 0 VINJ +port 1 nsew +rlabel metal1 341 311 358 407 0 VINJ +port 1 nsew +rlabel metal1 355 598 363 661 0 VGND +port 3 nsew +rlabel metal1 734 598 744 661 0 VGND +port 2 nsew +<< end >>
diff --git a/mag/sky130_hilas_DoubleTGate01.mag b/mag/sky130_hilas_DoubleTGate01.mag new file mode 100644 index 0000000..ed26cae --- /dev/null +++ b/mag/sky130_hilas_DoubleTGate01.mag
@@ -0,0 +1,34 @@ +magic +tech sky130A +timestamp 1607908253 +<< metal2 >> +rect 1107 559 1180 560 +rect 1107 543 1249 559 +rect 1107 542 1180 543 +rect 1107 372 1174 374 +rect 1107 356 1246 372 +rect 1107 257 1177 258 +rect 1107 241 1250 257 +rect 1107 57 1253 74 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_0 +timestamp 1607907894 +transform 1 0 1282 0 1 338 +box -210 -40 332 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_3 +timestamp 1607907894 +transform 1 0 1282 0 -1 277 +box -210 -40 332 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_1 +timestamp 1607907894 +transform 1 0 1282 0 -1 570 +box -210 -40 332 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_2 +timestamp 1607907894 +transform 1 0 1282 0 1 45 +box -210 -40 332 119 +<< labels >> +rlabel metal2 1107 542 1112 560 0 drain1 +rlabel metal2 1107 356 1112 374 0 drain2 +rlabel metal2 1107 241 1112 258 0 drain3 +rlabel metal2 1107 57 1112 74 0 drain4 +<< end >>
diff --git a/mag/sky130_hilas_DualTACore01.mag b/mag/sky130_hilas_DualTACore01.mag new file mode 100644 index 0000000..f7f3412 --- /dev/null +++ b/mag/sky130_hilas_DualTACore01.mag
@@ -0,0 +1,63 @@ +magic +tech sky130A +timestamp 1608069483 +<< metal1 >> +rect -41 -22 -7 550 +rect 26 -21 53 549 +<< metal2 >> +rect -136 507 118 530 +rect -110 293 155 316 +rect -136 211 155 233 +rect -137 -6 134 17 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 106 0 1 228 +box -14 -15 20 18 +use sky130_hilas_nMirror03 sky130_hilas_nMirror03_1 +timestamp 1607268356 +transform 1 0 -113 0 1 131 +box -59 -5 125 122 +use sky130_hilas_nMirror03 sky130_hilas_nMirror03_0 +timestamp 1607268356 +transform 1 0 -113 0 -1 100 +box -59 -5 125 122 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 41 0 1 126 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 98 0 1 3 +box -14 -15 20 18 +use sky130_hilas_pFETmirror02 sky130_hilas_pFETmirror02_0 +timestamp 1607207238 +transform 1 0 88 0 1 -111 +box -61 89 67 373 +use sky130_hilas_pFETmirror02 sky130_hilas_pFETmirror02_1 +timestamp 1607207238 +transform 1 0 88 0 -1 635 +box -61 89 67 373 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 107 0 1 300 +box -14 -15 20 18 +use sky130_hilas_nMirror03 sky130_hilas_nMirror03_2 +timestamp 1607268356 +transform 1 0 -113 0 1 427 +box -59 -5 125 122 +use sky130_hilas_nMirror03 sky130_hilas_nMirror03_3 +timestamp 1607268356 +transform 1 0 -113 0 -1 396 +box -59 -5 125 122 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 41 0 1 385 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 102 0 1 522 +box -14 -15 20 18 +<< labels >> +rlabel metal2 144 293 155 316 0 output1 +rlabel space 144 211 155 234 0 output2 +<< end >>
diff --git a/mag/sky130_hilas_FGBias2x1cell.mag b/mag/sky130_hilas_FGBias2x1cell.mag new file mode 100644 index 0000000..9d8acdb --- /dev/null +++ b/mag/sky130_hilas_FGBias2x1cell.mag
@@ -0,0 +1,192 @@ +magic +tech sky130A +timestamp 1625491133 +<< error_s >> +rect -338 150 -332 156 +rect -285 150 -279 156 +rect -344 100 -338 106 +rect -279 100 -273 106 +rect 85 91 91 97 +rect 190 91 196 97 +rect 79 41 85 47 +rect 196 41 202 47 +rect 85 -210 91 -204 +rect 190 -210 196 -204 +rect -338 -264 -332 -258 +rect -285 -264 -279 -258 +rect 79 -260 85 -254 +rect 196 -260 202 -254 +rect -344 -314 -338 -308 +rect -279 -314 -273 -308 +<< nwell >> +rect 426 222 757 223 +rect 661 219 680 222 +rect -337 -242 -281 0 +<< psubdiff >> +rect -95 -42 -70 121 +rect -95 -59 -92 -42 +rect -73 -59 -70 -42 +rect -95 -72 -70 -59 +rect -95 -75 267 -72 +rect -95 -76 146 -75 +rect -95 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 267 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 267 -76 +rect -95 -97 267 -93 +rect -95 -110 -70 -97 +rect -95 -127 -92 -110 +rect -73 -127 -70 -110 +rect -95 -281 -70 -127 +<< mvnsubdiff >> +rect -337 -242 -281 0 +<< psubdiffcont >> +rect -92 -59 -73 -42 +rect -71 -93 -52 -76 +rect -28 -93 -9 -76 +rect 16 -93 35 -76 +rect 56 -93 75 -76 +rect 100 -93 119 -76 +rect 146 -92 165 -75 +rect 190 -93 209 -76 +rect 236 -93 255 -76 +rect -92 -127 -73 -110 +<< poly >> +rect -237 134 332 151 +rect -237 126 -185 134 +rect 45 91 64 134 +rect 220 90 237 134 +rect 46 -293 63 -260 +rect 220 -293 237 -260 +rect -280 -310 331 -293 +<< locali >> +rect 467 28 470 45 +rect -92 -42 -73 -34 +rect 467 -51 472 -34 +rect -92 -75 -73 -59 +rect -92 -76 146 -75 +rect -92 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 263 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 263 -76 +rect -92 -110 -73 -93 +rect 474 -108 491 -51 +rect 467 -125 469 -108 +rect -92 -135 -73 -127 +rect 11 -197 34 -193 +rect 467 -204 470 -187 +<< metal1 >> +rect -361 -382 -319 223 +rect -113 -382 -90 223 +rect 9 -382 32 223 +rect 661 219 680 223 +rect 661 -382 680 -377 +rect 705 -382 733 223 +<< metal2 >> +rect -396 155 516 173 +rect 554 49 757 71 +rect 622 -98 740 -63 +rect 553 -226 757 -205 +rect 510 -315 526 -313 +rect -396 -320 526 -315 +rect -396 -330 514 -320 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1608066871 +transform 1 0 1056 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1608066871 +transform 1 0 1056 0 1 19 +box -1451 -400 -1278 -210 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 -103 0 1 -92 +box -10 -8 13 21 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1054 0 1 404 +box -1449 -441 -1275 -255 +use sky130_hilas_wellContact sky130_hilas_wellContact_0 +timestamp 1606753443 +transform 1 0 1054 0 1 231 +box -1449 -441 -1275 -255 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_0 +timestamp 1606868103 +transform 1 0 986 0 1 62 +box -1005 -380 -733 -211 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_2 +timestamp 1606868103 +transform 1 0 986 0 -1 -231 +box -1005 -380 -733 -211 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_1 +timestamp 1625488390 +transform 1 0 790 0 -1 270 +box -476 48 -33 359 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_0 +timestamp 1625488390 +transform 1 0 790 0 1 -429 +box -476 48 -33 359 +use sky130_hilas_m12m2 sky130_hilas_m12m2_2 +timestamp 1607949437 +transform 1 0 721 0 1 -84 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 627 0 1 -56 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 627 0 1 -116 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 538 0 1 -216 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 538 0 1 60 +box -14 -15 20 18 +<< labels >> +rlabel metal1 -361 216 -319 223 0 VTUN +port 1 nsew analog default +rlabel metal1 -113 216 -90 223 0 VGND +port 2 nsew ground default +rlabel metal1 9 215 32 223 0 GATE_CONTROL +port 3 nsew analog default +rlabel metal1 705 216 733 223 0 VINJ +port 7 nsew power default +rlabel metal2 749 49 757 71 0 OUTPUT1 +port 8 nsew analog default +rlabel metal2 750 -226 757 -205 0 OUTPUT2 +port 9 nsew analog default +rlabel metal1 -361 -382 -319 -370 0 VTUN +port 1 nsew analog default +rlabel metal1 9 -382 32 -376 0 GATE_CONTROL +port 4 nsew analog default +rlabel metal1 -113 -382 -90 -376 0 VGND +port 2 nsew ground default +rlabel metal2 -396 155 -389 173 0 DRAIN1 +port 5 nsew analog default +rlabel metal2 -396 -330 -390 -315 0 DRAIN4 +port 6 nsew analog default +rlabel metal1 661 219 680 223 0 GATECOL +port 10 nsew +rlabel metal1 661 -382 680 -377 0 GATECOL +port 10 nsew +rlabel metal1 705 -382 733 -377 0 VINJ +port 11 nsew +<< end >>
diff --git a/mag/sky130_hilas_FGBiasWeakGate2x1cell.mag b/mag/sky130_hilas_FGBiasWeakGate2x1cell.mag new file mode 100644 index 0000000..7b283e8 --- /dev/null +++ b/mag/sky130_hilas_FGBiasWeakGate2x1cell.mag
@@ -0,0 +1,216 @@ +magic +tech sky130A +timestamp 1625491133 +<< error_s >> +rect -338 150 -332 156 +rect -285 150 -279 156 +rect -344 100 -338 106 +rect -279 100 -273 106 +rect 85 91 91 97 +rect 190 91 196 97 +rect 79 41 85 47 +rect 196 41 202 47 +rect 85 -210 91 -204 +rect 190 -210 196 -204 +rect -338 -264 -332 -258 +rect -285 -264 -279 -258 +rect 79 -260 85 -254 +rect 196 -260 202 -254 +rect -344 -314 -338 -308 +rect -279 -314 -273 -308 +<< nwell >> +rect -337 -242 -281 0 +<< psubdiff >> +rect -95 -42 -70 101 +rect -95 -59 -92 -42 +rect -73 -59 -70 -42 +rect -95 -72 -70 -59 +rect -95 -75 267 -72 +rect -95 -76 146 -75 +rect -95 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 267 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 267 -76 +rect -95 -97 267 -93 +rect -95 -110 -70 -97 +rect -95 -127 -92 -110 +rect -73 -127 -70 -110 +rect -95 -281 -70 -127 +<< mvnsubdiff >> +rect -337 -242 -281 0 +<< psubdiffcont >> +rect -92 -59 -73 -42 +rect -71 -93 -52 -76 +rect -28 -93 -9 -76 +rect 16 -93 35 -76 +rect 56 -93 75 -76 +rect 100 -93 119 -76 +rect 146 -92 165 -75 +rect 190 -93 209 -76 +rect 236 -93 255 -76 +rect -92 -127 -73 -110 +<< poly >> +rect -206 151 293 201 +rect -237 134 332 151 +rect -237 126 321 134 +rect 45 91 64 126 +rect 220 90 237 126 +rect 46 -293 63 -260 +rect 220 -293 237 -260 +rect -280 -310 331 -293 +rect -202 -367 298 -310 +<< locali >> +rect -209 122 297 205 +rect -202 114 -154 122 +rect -169 89 -154 114 +rect 467 28 470 45 +rect -92 -42 -73 -34 +rect 467 -51 472 -34 +rect -92 -75 -73 -59 +rect -92 -76 146 -75 +rect -92 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 263 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 263 -76 +rect -92 -110 -73 -93 +rect 474 -108 491 -51 +rect 467 -125 469 -108 +rect -92 -135 -73 -127 +rect 11 -197 34 -193 +rect 467 -204 470 -187 +rect -172 -279 -170 -254 +rect -205 -287 -170 -279 +rect -205 -372 300 -287 +<< metal1 >> +rect -361 -381 -319 223 +rect -113 126 -90 223 +rect -113 101 -89 126 +rect -113 -382 -90 101 +rect 9 -382 32 223 +rect 661 217 680 223 +rect 661 -382 680 -376 +rect 705 -382 733 223 +<< metal2 >> +rect -396 155 516 173 +rect -217 113 -171 114 +rect -396 97 -171 113 +rect -396 95 -202 97 +rect 554 70 757 71 +rect -396 49 757 70 +rect -396 48 626 49 +rect -396 -49 650 -27 +rect 622 -98 648 -63 +rect -396 -226 757 -205 +rect -396 -227 626 -226 +rect -396 -279 -201 -258 +rect 510 -315 526 -313 +rect -396 -320 526 -315 +rect -396 -330 514 -320 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1608066871 +transform 1 0 1056 0 1 19 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1608066871 +transform 1 0 1056 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 -191 0 1 -268 +box -14 -15 20 18 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_0 +timestamp 1606868103 +transform 1 0 986 0 1 62 +box -1005 -380 -733 -211 +use sky130_hilas_wellContact sky130_hilas_wellContact_0 +timestamp 1606753443 +transform 1 0 1054 0 1 231 +box -1449 -441 -1275 -255 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_2 +timestamp 1606868103 +transform 1 0 986 0 -1 -231 +box -1005 -380 -733 -211 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1054 0 1 404 +box -1449 -441 -1275 -255 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 -103 0 1 -92 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 -188 0 1 101 +box -14 -15 20 18 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_1 +timestamp 1625488390 +transform 1 0 790 0 -1 270 +box -476 48 -33 359 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_0 +timestamp 1625488390 +transform 1 0 790 0 1 -429 +box -476 48 -33 359 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 627 0 1 -56 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 627 0 1 -116 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 538 0 1 -216 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 538 0 1 60 +box -14 -15 20 18 +<< labels >> +rlabel metal1 -361 216 -319 223 0 VTUN +port 9 nsew analog default +rlabel metal1 -113 216 -90 223 0 VGND +port 7 nsew ground default +rlabel metal1 9 215 32 223 0 GATE1 +port 8 nsew analog default +rlabel metal1 705 216 733 223 0 VINJ +port 5 nsew power default +rlabel metal2 749 49 757 71 0 ROW1 +port 3 nsew analog default +rlabel metal2 750 -226 757 -205 0 ROW2 +port 4 nsew analog default +rlabel metal2 -396 155 -389 173 0 DRAIN1 +port 1 nsew analog default +rlabel metal2 -396 95 -391 113 0 VIN11 +port 2 nsew +rlabel metal1 661 217 680 222 0 COLSEL1 +port 6 nsew analog default +rlabel metal1 661 -382 680 -376 0 COLSEL1 +port 6 nsew analog default +rlabel metal1 705 -382 733 -375 0 VINJ +port 5 nsew power default +rlabel metal1 -113 -382 -90 -372 0 VGND +port 7 nsew ground default +rlabel metal1 9 -382 32 -374 0 GATE1 +port 10 nsew analog default +rlabel metal2 -396 -330 -391 -315 0 DRAIN2 +port 11 nsew analog default +rlabel metal2 -396 -279 -390 -258 0 VIN12 +port 12 nsew analog default +rlabel metal2 -396 -49 -390 -27 0 COMMONSOURCE +port 13 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_FGHugeVaractorCapacitor01.mag b/mag/sky130_hilas_FGHugeVaractorCapacitor01.mag new file mode 100644 index 0000000..fcc9ad3 --- /dev/null +++ b/mag/sky130_hilas_FGHugeVaractorCapacitor01.mag
@@ -0,0 +1,41 @@ +magic +tech sky130A +timestamp 1608043965 +<< error_p >> +rect -500 -276 -494 -270 +rect 350 -276 357 -270 +rect -506 -742 -500 -736 +rect 356 -742 362 -736 +<< nwell >> +rect -556 -677 413 -217 +rect -556 -816 473 -677 +<< mvvaractor >> +rect -500 -742 356 -276 +<< mvnsubdiff >> +rect -500 -276 357 -250 +rect 404 -727 440 -710 +rect -500 -766 356 -742 +rect 404 -744 410 -727 +rect 427 -744 440 -727 +rect 404 -761 440 -744 +rect 404 -766 410 -761 +rect -500 -778 410 -766 +rect 427 -778 440 -761 +rect -500 -783 440 -778 +<< mvnsubdiffcont >> +rect 410 -744 427 -727 +rect 410 -778 427 -761 +<< poly >> +rect -540 -742 -500 -276 +rect 356 -742 395 -276 +<< locali >> +rect 410 -727 427 -719 +rect 410 -786 427 -778 +<< viali >> +rect 410 -761 427 -744 +<< metal1 >> +rect 407 -744 431 -734 +rect 407 -761 410 -744 +rect 427 -761 431 -744 +rect 407 -770 431 -761 +<< end >>
diff --git a/mag/sky130_hilas_FGVaractorCapacitor.mag b/mag/sky130_hilas_FGVaractorCapacitor.mag new file mode 100644 index 0000000..e1373bc --- /dev/null +++ b/mag/sky130_hilas_FGVaractorCapacitor.mag
@@ -0,0 +1,21 @@ +magic +tech sky130A +timestamp 1606741561 +<< error_p >> +rect -901 -272 -895 -266 +rect -796 -272 -790 -266 +rect -907 -336 -901 -330 +rect -790 -336 -784 -330 +<< nwell >> +rect -957 -395 -734 -210 +<< mvvaractor >> +rect -901 -336 -790 -272 +<< mvnsubdiff >> +rect -901 -272 -790 -244 +rect -901 -361 -790 -336 +<< poly >> +rect -941 -336 -901 -272 +rect -790 -336 -749 -272 +<< metal1 >> +rect -892 -395 -854 -209 +<< end >>
diff --git a/mag/sky130_hilas_FGVaractorCapacitor02.mag b/mag/sky130_hilas_FGVaractorCapacitor02.mag new file mode 100644 index 0000000..4ac6a16 --- /dev/null +++ b/mag/sky130_hilas_FGVaractorCapacitor02.mag
@@ -0,0 +1,48 @@ +magic +tech sky130A +timestamp 1606868103 +<< error_p >> +rect -901 -272 -895 -266 +rect -796 -272 -790 -266 +rect -907 -322 -901 -316 +rect -790 -322 -784 -316 +<< nwell >> +rect -1005 -215 -734 -211 +rect -1005 -380 -733 -215 +<< mvvaractor >> +rect -901 -322 -790 -272 +<< mvnsubdiff >> +rect -972 -265 -790 -246 +rect -972 -287 -950 -265 +rect -901 -272 -790 -265 +rect -954 -304 -950 -287 +rect -972 -337 -950 -304 +rect -901 -347 -790 -322 +<< mvnsubdiffcont >> +rect -972 -304 -954 -287 +<< poly >> +rect -941 -322 -901 -272 +rect -790 -322 -749 -272 +<< locali >> +rect -975 -263 -952 -259 +rect -975 -280 -972 -263 +rect -955 -280 -952 -263 +rect -975 -287 -952 -280 +rect -975 -304 -972 -287 +rect -954 -304 -952 -287 +rect -975 -308 -952 -304 +rect -975 -325 -972 -308 +rect -955 -325 -952 -308 +rect -975 -328 -952 -325 +<< viali >> +rect -972 -280 -955 -263 +rect -972 -325 -955 -308 +<< metal1 >> +rect -977 -263 -951 -254 +rect -977 -280 -972 -263 +rect -955 -280 -951 -263 +rect -977 -308 -951 -280 +rect -977 -325 -972 -308 +rect -955 -325 -951 -308 +rect -977 -333 -951 -325 +<< end >>
diff --git a/mag/sky130_hilas_FGVaractorTunnelCap01.mag b/mag/sky130_hilas_FGVaractorTunnelCap01.mag new file mode 100644 index 0000000..e4555b0 --- /dev/null +++ b/mag/sky130_hilas_FGVaractorTunnelCap01.mag
@@ -0,0 +1,47 @@ +magic +tech sky130A +timestamp 1608049473 +<< error_p >> +rect -901 -272 -895 -266 +rect -846 -272 -840 -266 +rect -907 -322 -901 -316 +rect -840 -322 -834 -316 +<< nwell >> +rect -1005 -380 -783 -211 +<< mvvaractor >> +rect -901 -322 -840 -272 +<< mvnsubdiff >> +rect -972 -265 -840 -246 +rect -972 -287 -950 -265 +rect -901 -272 -840 -265 +rect -954 -304 -950 -287 +rect -972 -337 -950 -304 +rect -901 -347 -840 -322 +<< mvnsubdiffcont >> +rect -972 -304 -954 -287 +<< poly >> +rect -941 -322 -901 -272 +rect -840 -322 -800 -272 +<< locali >> +rect -975 -263 -952 -259 +rect -975 -280 -972 -263 +rect -955 -280 -952 -263 +rect -975 -287 -952 -280 +rect -975 -304 -972 -287 +rect -954 -304 -952 -287 +rect -975 -308 -952 -304 +rect -975 -325 -972 -308 +rect -955 -325 -952 -308 +rect -975 -328 -952 -325 +<< viali >> +rect -972 -280 -955 -263 +rect -972 -325 -955 -308 +<< metal1 >> +rect -977 -263 -951 -254 +rect -977 -280 -972 -263 +rect -955 -280 -951 -263 +rect -977 -308 -951 -280 +rect -977 -325 -972 -308 +rect -955 -325 -951 -308 +rect -977 -333 -951 -325 +<< end >>
diff --git a/mag/sky130_hilas_FGcharacterization01.mag b/mag/sky130_hilas_FGcharacterization01.mag new file mode 100644 index 0000000..660f1a5 --- /dev/null +++ b/mag/sky130_hilas_FGcharacterization01.mag
@@ -0,0 +1,905 @@ +magic +tech sky130A +timestamp 1625074044 +<< error_s >> +rect 52 825 81 841 +rect 131 825 160 841 +rect 210 825 239 841 +rect 289 825 318 841 +rect -808 796 -802 802 +rect -753 796 -747 802 +rect -338 801 -332 807 +rect -233 801 -227 807 +rect 599 801 605 807 +rect 1449 801 1456 807 +rect 52 791 53 792 +rect 80 791 81 792 +rect 131 791 132 792 +rect 159 791 160 792 +rect 210 791 211 792 +rect 238 791 239 792 +rect 289 791 290 792 +rect 317 791 318 792 +rect 2 762 20 791 +rect 51 790 82 791 +rect 130 790 161 791 +rect 209 790 240 791 +rect 288 790 319 791 +rect 52 783 81 790 +rect 131 783 160 790 +rect 210 783 239 790 +rect 289 783 318 790 +rect 52 769 62 783 +rect 309 769 318 783 +rect 52 763 81 769 +rect 131 763 160 769 +rect 210 763 239 769 +rect 289 763 318 769 +rect 51 762 82 763 +rect 130 762 161 763 +rect 209 762 240 763 +rect 288 762 319 763 +rect 351 762 368 791 +rect 52 761 53 762 +rect 80 761 81 762 +rect 131 761 132 762 +rect 159 761 160 762 +rect 210 761 211 762 +rect 238 761 239 762 +rect 289 761 290 762 +rect 317 761 318 762 +rect -814 746 -808 752 +rect -747 746 -741 752 +rect -344 751 -338 757 +rect -227 751 -221 757 +rect 52 712 81 727 +rect 131 712 160 727 +rect 210 712 239 727 +rect 289 712 318 727 +rect 52 545 81 561 +rect 131 545 160 561 +rect 210 545 239 561 +rect 289 545 318 561 +rect 1759 542 1764 543 +rect 52 511 53 512 +rect 80 511 81 512 +rect 131 511 132 512 +rect 159 511 160 512 +rect 210 511 211 512 +rect 238 511 239 512 +rect 289 511 290 512 +rect 317 511 318 512 +rect -338 502 -332 508 +rect -233 502 -227 508 +rect 2 482 20 511 +rect 51 510 82 511 +rect 130 510 161 511 +rect 209 510 240 511 +rect 288 510 319 511 +rect 52 503 81 510 +rect 131 503 160 510 +rect 210 503 239 510 +rect 289 503 318 510 +rect 52 489 62 503 +rect 309 489 318 503 +rect 52 483 81 489 +rect 131 483 160 489 +rect 210 483 239 489 +rect 289 483 318 489 +rect 51 482 82 483 +rect 130 482 161 483 +rect 209 482 240 483 +rect 288 482 319 483 +rect 351 482 368 511 +rect 52 481 53 482 +rect 80 481 81 482 +rect 131 481 132 482 +rect 159 481 160 482 +rect 210 481 211 482 +rect 238 481 239 482 +rect 289 481 290 482 +rect 317 481 318 482 +rect -807 463 -778 481 +rect -344 452 -338 458 +rect -227 452 -221 458 +rect 52 432 81 447 +rect 131 432 160 447 +rect 210 432 239 447 +rect 289 432 318 447 +rect -807 431 -806 432 +rect -779 431 -778 432 +rect -857 402 -839 431 +rect -808 430 -777 431 +rect -807 421 -778 430 +rect -807 412 -797 421 +rect -788 412 -778 421 +rect -807 403 -778 412 +rect -808 402 -777 403 +rect -746 402 -728 431 +rect -807 401 -806 402 +rect -779 401 -778 402 +rect -338 401 -332 407 +rect -233 401 -227 407 +rect 52 390 81 406 +rect 131 390 160 406 +rect 210 390 239 406 +rect 289 390 318 406 +rect 2051 375 2052 430 +rect -807 352 -778 370 +rect -344 351 -338 357 +rect -227 351 -221 357 +rect 52 356 53 357 +rect 80 356 81 357 +rect 131 356 132 357 +rect 159 356 160 357 +rect 210 356 211 357 +rect 238 356 239 357 +rect 289 356 290 357 +rect 317 356 318 357 +rect 2 327 20 356 +rect 51 355 82 356 +rect 130 355 161 356 +rect 209 355 240 356 +rect 288 355 319 356 +rect 52 348 81 355 +rect 131 348 160 355 +rect 210 348 239 355 +rect 289 348 318 355 +rect 52 334 62 348 +rect 309 334 318 348 +rect 52 328 81 334 +rect 131 328 160 334 +rect 210 328 239 334 +rect 289 328 318 334 +rect 51 327 82 328 +rect 130 327 161 328 +rect 209 327 240 328 +rect 288 327 319 328 +rect 351 327 368 356 +rect 593 335 599 341 +rect 1455 335 1461 341 +rect 52 326 53 327 +rect 80 326 81 327 +rect 131 326 132 327 +rect 159 326 160 327 +rect 210 326 211 327 +rect 238 326 239 327 +rect 289 326 290 327 +rect 317 326 318 327 +rect 52 277 81 292 +rect 131 277 160 292 +rect 210 277 239 292 +rect 289 277 318 292 +<< nwell >> +rect 4 697 119 714 +rect 123 697 174 714 +rect -15 579 385 697 +rect -15 578 174 579 +rect 306 578 385 579 +rect 4 559 119 578 +rect 123 558 174 578 +rect 279 559 306 577 +rect 1799 509 2073 859 +rect -409 427 -387 438 +<< mvnmos >> +rect 1688 764 1751 814 +rect 1688 542 1751 592 +rect 1688 375 1750 452 +rect 1833 375 1897 430 +rect 1975 375 2039 430 +<< mvpmos >> +rect 1836 738 1896 793 +rect 1976 738 2036 793 +rect 1836 571 1896 626 +rect 1976 571 2036 626 +<< mvndiff >> +rect 1688 837 1751 841 +rect 1688 820 1694 837 +rect 1711 820 1728 837 +rect 1745 820 1751 837 +rect 1688 814 1751 820 +rect 1688 751 1751 764 +rect 1688 592 1751 597 +rect 1688 536 1751 542 +rect 1688 519 1693 536 +rect 1710 519 1727 536 +rect 1744 519 1751 536 +rect 1688 513 1751 519 +rect 1688 475 1750 483 +rect 1688 458 1693 475 +rect 1710 458 1727 475 +rect 1744 458 1750 475 +rect 1688 452 1750 458 +rect 1833 453 1897 460 +rect 1833 436 1840 453 +rect 1857 436 1874 453 +rect 1891 436 1897 453 +rect 1833 430 1897 436 +rect 1975 453 2039 459 +rect 1975 436 1981 453 +rect 1998 436 2015 453 +rect 2032 436 2039 453 +rect 1975 430 2039 436 +rect 1688 369 1750 375 +rect 1688 352 1692 369 +rect 1709 352 1726 369 +rect 1743 352 1750 369 +rect 1688 345 1750 352 +rect 1833 369 1897 375 +rect 1833 352 1840 369 +rect 1857 352 1874 369 +rect 1891 352 1897 369 +rect 1833 345 1897 352 +rect 1975 369 2039 375 +rect 1975 352 1981 369 +rect 1998 352 2015 369 +rect 2032 352 2039 369 +rect 1975 346 2039 352 +<< mvpdiff >> +rect 1836 816 1896 822 +rect 1836 799 1840 816 +rect 1857 799 1874 816 +rect 1891 799 1896 816 +rect 1976 816 2036 822 +rect 1836 793 1896 799 +rect 1976 799 1981 816 +rect 1998 799 2015 816 +rect 2032 799 2036 816 +rect 1976 793 2036 799 +rect 1836 731 1896 738 +rect 1836 714 1840 731 +rect 1857 714 1874 731 +rect 1891 714 1896 731 +rect 1836 697 1896 714 +rect 1836 649 1896 667 +rect 1836 632 1840 649 +rect 1857 632 1874 649 +rect 1891 632 1896 649 +rect 1836 626 1896 632 +rect 1976 731 2036 738 +rect 1976 714 1981 731 +rect 1998 714 2015 731 +rect 2032 714 2036 731 +rect 1976 697 2036 714 +rect 1976 649 2036 667 +rect 1976 632 1981 649 +rect 1998 632 2015 649 +rect 2032 632 2036 649 +rect 1976 626 2036 632 +rect 1836 565 1896 571 +rect 1836 548 1840 565 +rect 1857 548 1874 565 +rect 1891 548 1896 565 +rect 1836 542 1896 548 +rect 1976 565 2036 571 +rect 1976 548 1981 565 +rect 1998 548 2015 565 +rect 2032 548 2036 565 +rect 1976 542 2036 548 +<< mvndiffc >> +rect 1694 820 1711 837 +rect 1728 820 1745 837 +rect 1693 519 1710 536 +rect 1727 519 1744 536 +rect 1693 458 1710 475 +rect 1727 458 1744 475 +rect 1840 436 1857 453 +rect 1874 436 1891 453 +rect 1981 436 1998 453 +rect 2015 436 2032 453 +rect 1692 352 1709 369 +rect 1726 352 1743 369 +rect 1840 352 1857 369 +rect 1874 352 1891 369 +rect 1981 352 1998 369 +rect 2015 352 2032 369 +<< mvpdiffc >> +rect 1840 799 1857 816 +rect 1874 799 1891 816 +rect 1981 799 1998 816 +rect 2015 799 2032 816 +rect 1840 714 1857 731 +rect 1874 714 1891 731 +rect 1840 632 1857 649 +rect 1874 632 1891 649 +rect 1981 714 1998 731 +rect 2015 714 2032 731 +rect 1981 632 1998 649 +rect 2015 632 2032 649 +rect 1840 548 1857 565 +rect 1874 548 1891 565 +rect 1981 548 1998 565 +rect 2015 548 2032 565 +<< psubdiff >> +rect -533 637 -199 642 +rect -533 620 -493 637 +rect -476 620 -459 637 +rect -442 620 -425 637 +rect -408 620 -391 637 +rect -374 620 -357 637 +rect -340 620 -323 637 +rect -306 620 -289 637 +rect -272 620 -255 637 +rect -238 620 -199 637 +rect -533 616 -199 620 +rect -533 597 -504 616 +rect -533 580 -527 597 +rect -510 580 -504 597 +rect -533 568 -504 580 +rect -649 563 -504 568 +rect -649 555 -527 563 +rect -649 538 -629 555 +rect -612 538 -595 555 +rect -578 538 -561 555 +rect -544 546 -527 555 +rect -510 546 -504 563 +rect -544 538 -504 546 +rect -649 530 -504 538 +rect -533 529 -504 530 +rect -533 512 -527 529 +rect -510 512 -504 529 +rect -533 495 -504 512 +rect -533 478 -527 495 +rect -510 478 -504 495 +rect -533 461 -504 478 +rect -533 444 -527 461 +rect -510 444 -504 461 +rect -533 427 -504 444 +rect 448 603 487 636 +rect 448 586 460 603 +rect 477 586 487 603 +rect 448 557 487 586 +rect 448 540 460 557 +rect 477 540 487 557 +rect 448 519 487 540 +rect 448 502 460 519 +rect 477 502 487 519 +rect 448 476 487 502 +rect 448 459 460 476 +rect 477 459 487 476 +rect -533 410 -527 427 +rect -510 410 -504 427 +rect -533 393 -504 410 +rect -533 376 -527 393 +rect -510 376 -504 393 +rect -533 359 -504 376 +rect -533 342 -527 359 +rect -510 342 -504 359 +rect 448 421 487 459 +rect 448 404 460 421 +rect 477 404 487 421 +rect 448 381 487 404 +rect 448 364 460 381 +rect 477 364 487 381 +rect -533 330 -504 342 +rect 448 345 487 364 +rect 448 328 460 345 +rect 477 328 487 345 +rect 448 307 487 328 +rect 448 290 459 307 +rect 476 290 487 307 +rect 448 274 487 290 +<< mvpsubdiff >> +rect 1689 302 2043 308 +rect 1689 301 1769 302 +rect 1689 284 1701 301 +rect 1718 284 1735 301 +rect 1752 285 1769 301 +rect 1786 285 1805 302 +rect 1822 285 1841 302 +rect 1858 285 1875 302 +rect 1892 285 1909 302 +rect 1926 285 1943 302 +rect 1960 285 1977 302 +rect 1994 285 2011 302 +rect 2028 285 2043 302 +rect 1752 284 2043 285 +rect 1689 278 2043 284 +<< mvnsubdiff >> +rect 311 688 352 696 +rect 311 675 323 688 +rect 297 671 323 675 +rect 340 671 352 688 +rect 297 654 352 671 +rect 297 637 323 654 +rect 340 637 352 654 +rect 297 636 352 637 +rect 311 620 352 636 +rect 311 603 323 620 +rect 340 603 352 620 +rect 311 598 352 603 +rect 312 594 352 598 +rect 1836 690 1896 697 +rect 1836 673 1857 690 +rect 1874 673 1896 690 +rect 1836 667 1896 673 +rect 1976 690 2036 697 +rect 1976 673 1997 690 +rect 2014 673 2036 690 +rect 1976 667 2036 673 +rect -409 427 -387 438 +<< psubdiffcont >> +rect -493 620 -476 637 +rect -459 620 -442 637 +rect -425 620 -408 637 +rect -391 620 -374 637 +rect -357 620 -340 637 +rect -323 620 -306 637 +rect -289 620 -272 637 +rect -255 620 -238 637 +rect -527 580 -510 597 +rect -629 538 -612 555 +rect -595 538 -578 555 +rect -561 538 -544 555 +rect -527 546 -510 563 +rect -527 512 -510 529 +rect -527 478 -510 495 +rect -527 444 -510 461 +rect 460 586 477 603 +rect 460 540 477 557 +rect 460 502 477 519 +rect 460 459 477 476 +rect -527 410 -510 427 +rect -527 376 -510 393 +rect -527 342 -510 359 +rect 460 404 477 421 +rect 460 364 477 381 +rect 460 328 477 345 +rect 459 290 476 307 +<< mvpsubdiffcont >> +rect 1701 284 1718 301 +rect 1735 284 1752 301 +rect 1769 285 1786 302 +rect 1805 285 1822 302 +rect 1841 285 1858 302 +rect 1875 285 1892 302 +rect 1909 285 1926 302 +rect 1943 285 1960 302 +rect 1977 285 1994 302 +rect 2011 285 2028 302 +<< mvnsubdiffcont >> +rect 323 671 340 688 +rect 323 637 340 654 +rect 323 603 340 620 +rect 1857 673 1874 690 +rect 1997 673 2014 690 +<< poly >> +rect -708 746 -680 796 +rect -705 679 -680 746 +rect -186 716 -137 803 +rect -186 714 8 716 +rect 291 714 342 715 +rect 365 714 561 801 +rect 1476 764 1688 814 +rect 1751 764 1764 814 +rect 1912 793 1932 815 +rect 2050 793 2068 814 +rect 1476 750 1528 764 +rect 1822 738 1836 793 +rect 1896 738 1932 793 +rect 1960 738 1976 793 +rect 2036 738 2068 793 +rect -186 679 160 714 +rect -817 655 160 679 +rect -817 476 -779 655 +rect -186 559 160 655 +rect 1734 658 1781 692 +rect 1765 592 1781 658 +rect 1912 626 1932 738 +rect 2051 626 2068 738 +rect 291 577 342 578 +rect 279 559 342 577 +rect -186 558 8 559 +rect 109 558 160 559 +rect -186 433 -137 558 +rect 1673 542 1688 592 +rect 1751 543 1781 592 +rect 1822 571 1836 626 +rect 1896 571 1932 626 +rect 1962 571 1976 626 +rect 2036 571 2068 626 +rect 1751 542 1759 543 +rect 1776 495 1814 496 +rect -186 404 103 433 +rect 1758 457 1814 495 +rect 1758 452 1779 457 +rect -186 349 -137 404 +rect 1673 375 1688 452 +rect 1750 437 1779 452 +rect 1750 375 1764 437 +rect 1817 375 1833 430 +rect 1897 375 1975 430 +rect 2039 375 2051 430 +<< locali >> +rect 1686 820 1694 837 +rect 1745 820 1753 837 +rect 1973 816 2073 817 +rect 1832 799 1840 816 +rect 1891 799 1933 816 +rect 1973 799 1981 816 +rect 2032 799 2073 816 +rect 1832 714 1840 731 +rect 1891 714 1981 731 +rect 2032 714 2040 731 +rect 323 688 340 696 +rect 1840 673 1857 690 +rect 1891 673 1980 690 +rect 2014 673 2022 690 +rect 323 661 340 671 +rect 323 654 383 661 +rect -527 637 -510 639 +rect 340 637 383 654 +rect -527 620 -493 637 +rect -476 620 -459 637 +rect -442 620 -425 637 +rect -408 620 -391 637 +rect -374 620 -357 637 +rect -340 620 -323 637 +rect -306 620 -289 637 +rect -272 620 -255 637 +rect -238 620 -221 637 +rect 323 635 383 637 +rect 323 620 340 635 +rect 1832 632 1840 649 +rect 1891 632 1981 649 +rect 2032 632 2040 649 +rect -527 597 -510 620 +rect 323 595 340 603 +rect 460 603 477 614 +rect -527 563 -510 580 +rect -637 538 -629 555 +rect -612 538 -595 555 +rect -578 538 -561 555 +rect -544 546 -527 555 +rect -544 538 -510 546 +rect -527 529 -510 538 +rect -527 495 -510 512 +rect -527 461 -510 478 +rect -527 427 -510 444 +rect -527 393 -510 410 +rect -527 359 -510 376 +rect 460 557 477 586 +rect 1832 548 1840 565 +rect 1891 548 1900 565 +rect 1973 548 1981 565 +rect 2032 548 2040 565 +rect 460 519 477 540 +rect 1685 519 1693 536 +rect 1710 519 1727 536 +rect 1744 519 1799 536 +rect 460 476 477 502 +rect 460 421 477 459 +rect 1685 458 1693 475 +rect 1744 458 1752 475 +rect 1832 436 1840 453 +rect 1891 436 1920 453 +rect 1973 436 1981 453 +rect 2032 436 2040 453 +rect 460 381 477 404 +rect 460 349 477 364 +rect 1683 352 1692 369 +rect 1709 352 1726 369 +rect 1743 352 1840 369 +rect 1857 352 1874 369 +rect 1891 352 1981 369 +rect 1998 352 2015 369 +rect 2032 352 2041 369 +rect -527 297 -510 342 +rect 459 345 477 349 +rect 459 328 460 345 +rect 459 307 477 328 +rect 476 290 477 307 +rect 1710 302 1778 307 +rect 1710 301 1769 302 +rect 459 276 477 290 +rect 1693 284 1701 301 +rect 1718 284 1735 301 +rect 1752 285 1769 301 +rect 1786 285 1805 302 +rect 1822 285 1841 302 +rect 1858 285 1875 302 +rect 1892 285 1909 302 +rect 1926 285 1943 302 +rect 1960 285 1977 302 +rect 1994 285 2011 302 +rect 2028 285 2036 302 +rect 1752 284 1778 285 +<< viali >> +rect 1711 820 1728 837 +rect 1857 799 1874 816 +rect 1998 799 2015 816 +rect 1857 714 1874 731 +rect 1998 714 2015 731 +rect 1874 673 1891 690 +rect 1980 673 1997 690 +rect 1857 632 1874 649 +rect 1998 632 2015 649 +rect 1857 548 1874 565 +rect 1998 548 2015 565 +rect 1710 458 1727 475 +rect 1857 436 1874 453 +rect 1998 436 2015 453 +<< metal1 >> +rect -884 775 -858 864 +rect -414 739 -387 864 +rect 173 823 197 864 +rect 1705 837 1734 840 +rect 1705 820 1711 837 +rect 1728 820 1734 837 +rect 1705 817 1734 820 +rect 1781 816 1884 824 +rect 1781 799 1857 816 +rect 1874 799 1884 816 +rect 1781 793 1884 799 +rect 1987 816 2025 824 +rect 1987 799 1998 816 +rect 2015 799 2025 816 +rect 1987 793 2025 799 +rect 1706 748 1733 761 +rect 1697 739 1733 748 +rect 1697 719 1739 739 +rect 1697 625 1720 719 +rect 1697 607 1733 625 +rect -805 277 -780 464 +rect -806 259 -780 277 +rect -415 259 -384 518 +rect 1706 478 1733 607 +rect 1781 516 1805 793 +rect 1854 731 1877 737 +rect 1854 714 1857 731 +rect 1874 714 1877 731 +rect 1994 731 2018 737 +rect 1994 714 1998 731 +rect 2015 714 2018 731 +rect 1849 690 2024 714 +rect 1849 673 1874 690 +rect 1891 673 1980 690 +rect 1997 673 2024 690 +rect 1849 649 2024 673 +rect 1849 648 1857 649 +rect 1854 632 1857 648 +rect 1874 648 1998 649 +rect 1874 632 1877 648 +rect 1854 626 1877 632 +rect 1994 632 1998 648 +rect 2015 648 2024 649 +rect 2015 632 2018 648 +rect 1994 626 2018 632 +rect 1854 565 1877 571 +rect 1854 548 1857 565 +rect 1874 548 1877 565 +rect 1700 475 1733 478 +rect 1700 458 1710 475 +rect 1727 458 1733 475 +rect 1700 455 1733 458 +rect 1854 453 1877 548 +rect 174 259 198 447 +rect 1854 436 1857 453 +rect 1874 436 1877 453 +rect 1854 430 1877 436 +rect 1995 565 2018 571 +rect 1995 548 1998 565 +rect 2015 548 2018 565 +rect 1995 453 2018 548 +rect 1995 436 1998 453 +rect 2015 436 2018 453 +rect 1995 430 2018 436 +rect 1505 259 1534 365 +<< metal2 >> +rect 1704 817 1993 841 +rect 351 718 1816 731 +rect 351 710 2083 718 +rect 174 640 204 686 +rect 247 641 277 687 +rect 385 643 409 710 +rect 1802 693 2083 710 +rect 1738 559 1765 687 +rect 1816 642 2083 693 +rect 1738 558 2017 559 +rect 1738 536 2083 558 +rect 1790 535 2083 536 +rect 2021 487 2083 519 +rect 1780 448 2083 471 +rect 1695 321 2083 354 +rect 1694 312 2083 321 +rect 1695 305 2083 312 +rect 1719 287 1763 305 +rect -531 266 1792 287 +use sky130_hilas_li2m2 sky130_hilas_li2m2_14 +timestamp 1607089160 +transform 1 0 -520 0 1 283 +box -14 -15 20 18 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_0 +timestamp 1606868103 +transform 1 0 563 0 1 673 +box -1005 -380 -733 -211 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_2 +timestamp 1606868103 +transform 1 0 563 0 1 774 +box -1005 -380 -733 -211 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_1 +timestamp 1607261501 +transform 1 0 506 0 1 468 +box -521 -54 -121 110 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_2 +timestamp 1607261501 +transform 1 0 506 0 1 313 +box -521 -54 -121 110 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_1 +timestamp 1606868103 +transform 1 0 563 0 1 1073 +box -1005 -380 -733 -211 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_0 +timestamp 1607261501 +transform 1 0 506 0 1 748 +box -521 -54 -121 110 +use sky130_hilas_FGVaractorTunnelCap01 sky130_hilas_FGVaractorTunnelCap01_0 +timestamp 1608049473 +transform 1 0 93 0 1 1068 +box -1005 -380 -783 -211 +use sky130_hilas_nOverlapCap01 sky130_hilas_nOverlapCap01_0 +timestamp 1607262215 +transform 1 0 -795 0 1 395 +box -62 -43 67 86 +use sky130_hilas_pFETdevice01 sky130_hilas_pFETdevice01_0 +timestamp 1607471549 +transform 1 0 224 0 1 655 +box -79 -78 82 43 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 466 0 1 281 +box -14 -15 20 18 +use sky130_hilas_FGHugeVaractorCapacitor01 sky130_hilas_FGHugeVaractorCapacitor01_0 +timestamp 1608043965 +transform 1 0 1099 0 1 1077 +box -556 -816 473 -217 +use sky130_hilas_li2m2 sky130_hilas_li2m2_13 +timestamp 1607089160 +transform 1 0 189 0 1 654 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_12 +timestamp 1607089160 +transform 1 0 258 0 1 655 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_11 +timestamp 1607089160 +transform 1 0 394 0 1 647 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_9 +timestamp 1607089160 +transform 1 0 1706 0 1 298 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_4 +timestamp 1607089160 +transform 1 0 1792 0 1 359 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_5 +timestamp 1607089160 +transform 1 0 1777 0 1 299 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_6 +timestamp 1607089160 +transform 1 0 1851 0 1 299 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 1935 0 1 357 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_7 +timestamp 1607089160 +transform 1 0 1921 0 1 299 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_8 +timestamp 1607089160 +transform 1 0 2014 0 1 299 +box -14 -15 20 18 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 1791 0 1 524 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_10 +timestamp 1607089160 +transform -1 0 1795 0 -1 479 +box -14 -15 20 18 +use sky130_hilas_poly2li sky130_hilas_poly2li_5 +timestamp 1607178257 +transform -1 0 1805 0 -1 480 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_3 +timestamp 1607178257 +transform 1 0 1921 0 1 440 +box -9 -14 18 19 +use sky130_hilas_m12m2 sky130_hilas_m12m2_9 +timestamp 1607949437 +transform 1 0 2000 0 1 497 +box -9 -10 23 22 +use sky130_hilas_nDiffThOxContact sky130_hilas_nDiffThOxContact_3 +timestamp 1608039004 +transform 1 0 1712 0 1 580 +box -26 13 41 42 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_0 +timestamp 1607270276 +transform 1 0 1743 0 1 666 +box -9 -26 24 29 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 1859 0 1 676 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_4 +timestamp 1607949437 +transform 1 0 1857 0 1 634 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_6 +timestamp 1607949437 +transform 1 0 1859 0 1 720 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 1933 0 1 637 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 1933 0 1 721 +box -14 -15 20 18 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 2000 0 1 674 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_2 +timestamp 1607949437 +transform 1 0 2000 0 1 719 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_3 +timestamp 1607949437 +transform 1 0 2000 0 1 632 +box -9 -10 23 22 +use sky130_hilas_nDiffThOxContact sky130_hilas_nDiffThOxContact_0 +timestamp 1608039004 +transform 1 0 1712 0 1 723 +box -26 13 41 42 +use sky130_hilas_m12m2 sky130_hilas_m12m2_10 +timestamp 1607949437 +transform 1 0 1713 0 1 827 +box -9 -10 23 22 +use sky130_hilas_poly2li sky130_hilas_poly2li_1 +timestamp 1607178257 +transform 1 0 1920 0 1 828 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_4 +timestamp 1607178257 +transform 1 0 2060 0 1 828 +box -9 -14 18 19 +use sky130_hilas_m12m2 sky130_hilas_m12m2_7 +timestamp 1607949437 +transform 1 0 1999 0 1 822 +box -9 -10 23 22 +<< labels >> +rlabel metal2 2077 305 2083 354 0 VGND +port 8 nsew ground default +rlabel metal2 2077 487 2083 519 0 OUTPUT +port 10 nsew analog default +rlabel metal2 2076 642 2083 718 0 VINJ +port 9 nsew power default +rlabel metal2 2077 448 2083 471 0 VBIAS +port 12 nsew analog default +rlabel metal2 2077 535 2083 558 0 VREF +port 11 nsew analog default +rlabel metal1 1505 261 1534 266 0 LARGECAPACITOR +port 7 nsew analog default +rlabel metal1 173 858 197 864 0 GATE3 +port 3 nsew analog default +rlabel metal1 174 259 198 266 0 GATE4 +port 6 nsew analog default +rlabel metal1 -415 259 -384 266 0 GATE2 +port 5 nsew analog default +rlabel metal1 -414 855 -387 864 0 GATE1 +port 2 nsew analog default +rlabel metal1 -806 259 -780 269 0 VTUNOVERLAP01 +port 4 nsew analog default +rlabel metal1 -884 857 -858 864 0 VTUN +port 1 nsew analog default +rlabel metal2 174 675 204 686 0 DRAIN1 +port 13 nsew +rlabel metal2 247 676 276 687 0 SOURCE1 +port 14 nsew +<< end >>
diff --git a/mag/sky130_hilas_FGtrans2x1cell.mag b/mag/sky130_hilas_FGtrans2x1cell.mag new file mode 100644 index 0000000..55ebc99 --- /dev/null +++ b/mag/sky130_hilas_FGtrans2x1cell.mag
@@ -0,0 +1,286 @@ +magic +tech sky130A +timestamp 1625491133 +<< error_s >> +rect -338 150 -332 156 +rect -285 150 -279 156 +rect -344 100 -338 106 +rect -279 100 -273 106 +rect 38 91 44 97 +rect 143 91 149 97 +rect 32 41 38 47 +rect 149 41 155 47 +rect 38 -210 44 -204 +rect 143 -210 149 -204 +rect -338 -264 -332 -258 +rect -285 -264 -279 -258 +rect 32 -260 38 -254 +rect 149 -260 155 -254 +rect -344 -314 -338 -308 +rect -279 -314 -273 -308 +<< nwell >> +rect -337 -242 -281 0 +rect -361 -381 -319 -374 +<< psubdiff >> +rect -95 -42 -70 121 +rect -95 -59 -92 -42 +rect -73 -59 -70 -42 +rect -95 -72 -70 -59 +rect -95 -75 268 -72 +rect -95 -76 146 -75 +rect -95 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 268 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 268 -76 +rect -95 -97 268 -93 +rect -95 -110 -70 -97 +rect -95 -127 -92 -110 +rect -73 -127 -70 -110 +rect -95 -281 -70 -127 +<< mvnsubdiff >> +rect -337 -242 -281 0 +<< psubdiffcont >> +rect -92 -59 -73 -42 +rect -71 -93 -52 -76 +rect -28 -93 -9 -76 +rect 16 -93 35 -76 +rect 56 -93 75 -76 +rect 100 -93 119 -76 +rect 146 -92 165 -75 +rect 190 -93 209 -76 +rect 236 -93 255 -76 +rect -92 -127 -73 -110 +<< poly >> +rect -237 134 331 151 +rect -237 126 -185 134 +rect -2 91 20 134 +rect 166 91 188 134 +rect 276 51 314 101 +rect 276 -210 291 51 +rect 384 -28 398 -27 +rect 384 -131 406 -28 +rect 276 -233 316 -210 +rect 272 -238 316 -233 +rect 272 -255 280 -238 +rect 297 -255 316 -238 +rect 272 -260 316 -255 +rect -3 -293 17 -260 +rect 169 -293 189 -260 +rect 272 -263 300 -260 +rect -280 -310 331 -293 +<< polycont >> +rect 280 -255 297 -238 +<< locali >> +rect 386 163 474 180 +rect 386 124 403 163 +rect 364 107 403 124 +rect 444 107 466 124 +rect 221 28 329 45 +rect 362 28 470 45 +rect -92 -42 -73 -34 +rect 464 -51 472 -34 +rect -92 -75 -73 -59 +rect -92 -76 146 -75 +rect -92 -93 -71 -76 +rect -52 -93 -28 -76 +rect -9 -93 16 -76 +rect 35 -93 56 -76 +rect 75 -93 100 -76 +rect 119 -92 146 -76 +rect 165 -76 263 -75 +rect 165 -92 190 -76 +rect 119 -93 190 -92 +rect 209 -93 236 -76 +rect 255 -93 263 -76 +rect -92 -110 -73 -93 +rect 338 -108 355 -51 +rect 356 -111 364 -110 +rect 422 -111 427 -110 +rect 356 -115 427 -111 +rect 354 -119 427 -115 +rect -92 -135 -73 -127 +rect 347 -131 431 -119 +rect 464 -125 469 -108 +rect 206 -204 330 -187 +rect 362 -204 470 -187 +rect 280 -236 297 -230 +rect 280 -264 297 -257 +rect 364 -267 410 -266 +rect 363 -282 410 -267 +rect 364 -283 410 -282 +rect 445 -283 466 -266 +rect 391 -317 410 -283 +rect 391 -335 487 -317 +<< viali >> +rect 278 -238 299 -236 +rect 278 -255 280 -238 +rect 280 -255 297 -238 +rect 297 -255 299 -238 +rect 278 -257 299 -255 +<< metal1 >> +rect -361 -382 -319 223 +rect -113 -382 -90 223 +rect 279 -230 297 223 +rect 274 -236 303 -230 +rect 274 -257 278 -236 +rect 299 -257 303 -236 +rect 274 -264 303 -257 +rect 279 -382 297 -264 +rect 384 -382 405 223 +rect 427 -382 446 223 +rect 472 -56 493 223 +rect 661 217 680 223 +rect 705 218 721 223 +rect 621 -101 645 -59 +rect 472 -332 491 -107 +rect 522 -332 523 -331 +rect 469 -382 492 -332 +rect 661 -382 680 -377 +rect 705 -382 721 -377 +<< metal2 >> +rect 484 173 516 175 +rect -395 155 516 173 +rect 749 155 757 173 +rect -395 0 576 19 +rect -395 -73 621 -69 +rect -395 -92 622 -73 +rect -395 -186 577 -167 +rect 510 -315 526 -313 +rect -395 -320 526 -315 +rect -395 -330 514 -320 +rect 749 -332 757 -314 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_0 +timestamp 1606868103 +transform -1 0 -752 0 1 62 +box -1005 -380 -733 -211 +use sky130_hilas_FGVaractorCapacitor02 sky130_hilas_FGVaractorCapacitor02_2 +timestamp 1606868103 +transform -1 0 -752 0 -1 -231 +box -1005 -380 -733 -211 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 -103 0 1 -92 +box -10 -8 13 21 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1054 0 1 404 +box -1449 -441 -1275 -255 +use sky130_hilas_wellContact sky130_hilas_wellContact_0 +timestamp 1606753443 +transform 1 0 1054 0 1 231 +box -1449 -441 -1275 -255 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1608066871 +transform 1 0 1056 0 1 19 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1608066871 +transform 1 0 1056 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 389 0 1 -74 +box -9 -26 24 25 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 434 0 1 -123 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 480 0 1 -141 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 435 0 1 -281 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 478 0 1 -332 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_6 +timestamp 1607179295 +transform 1 0 481 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 434 0 1 109 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_7 +timestamp 1607179295 +transform 1 0 481 0 1 -34 +box -10 -8 13 21 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_1 +timestamp 1625488390 +transform 1 0 790 0 -1 270 +box -476 48 -33 359 +use sky130_hilas_horizTransCell01 sky130_hilas_horizTransCell01_0 +timestamp 1625488390 +transform 1 0 790 0 1 -429 +box -476 48 -33 359 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 628 0 1 -85 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 563 0 1 -166 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 562 0 1 3 +box -14 -15 20 18 +<< labels >> +rlabel metal1 -361 216 -319 223 0 VTUN +port 11 nsew analog default +rlabel metal1 -113 216 -90 223 0 VGND +port 10 nsew ground default +rlabel space 705 217 721 222 0 VINJ +port 2 nsew analog default +rlabel metal2 -395 -330 -391 -315 3 DRAIN2 +port 12 e analog default +rlabel metal2 -395 155 -389 173 0 DRAIN1 +port 15 nsew analog default +rlabel metal1 427 217 446 223 0 GATE1 +port 9 nsew analog default +rlabel metal1 469 -381 492 -357 0 VIN2 +port 7 nsew analog default +rlabel metal1 279 -382 297 -375 0 RUN +port 6 nsew analog default +rlabel metal1 384 -382 405 -375 0 PROG +port 5 nsew analog default +rlabel metal1 279 216 297 223 0 RUN +port 6 nsew analog default +rlabel metal1 384 217 405 223 0 PROG +port 5 nsew analog default +rlabel metal1 472 191 493 222 0 VIN1 +port 8 nsew analog default +rlabel metal1 661 217 680 223 0 COLSEL1 +port 1 nsew analog default +rlabel metal1 661 -382 680 -377 0 COLSEL1 +port 1 nsew analog default +rlabel metal1 705 -382 721 -377 0 VINJ +port 2 nsew analog default +rlabel metal2 749 155 757 173 0 DRAIN1 +port 3 nsew analog default +rlabel metal2 749 -332 757 -314 0 DRAIN2 +port 4 nsew analog default +rlabel metal1 427 -381 446 -376 0 GATE1 +port 9 nsew analog default +rlabel metal1 -113 -382 -90 -375 0 VGND +port 10 nsew ground default +rlabel metal1 -361 -381 -319 -374 0 VTUN +port 11 nsew analog default +rlabel metal2 -395 -92 -389 -69 0 COL1 +port 16 nsew +rlabel metal2 -395 0 -389 19 0 ROW1 +port 17 nsew +rlabel metal2 -395 -186 -389 -167 0 ROW2 +port 18 nsew +<< end >>
diff --git a/mag/sky130_hilas_LeftProtection.mag b/mag/sky130_hilas_LeftProtection.mag new file mode 100644 index 0000000..e838b1e --- /dev/null +++ b/mag/sky130_hilas_LeftProtection.mag
@@ -0,0 +1,135 @@ +magic +tech sky130A +timestamp 1626559870 +<< metal1 >> +rect -898 27122 -834 27516 +rect -2065 26640 -1984 27030 +rect -898 24264 -834 24658 +rect -2065 23781 -1984 24171 +rect -897 21403 -833 21797 +rect -2065 20922 -1984 21312 +rect -898 18545 -834 18939 +rect -2064 18063 -1983 18453 +rect -897 15687 -833 16081 +rect -2065 15204 -1984 15594 +rect -898 12828 -834 13222 +rect -2065 12345 -1984 12735 +rect -898 9969 -834 10363 +rect -2065 9487 -1984 9877 +rect -898 7109 -834 7503 +rect -2063 6628 -1982 7018 +rect -898 4250 -834 4644 +rect -2064 3768 -1983 4158 +rect -899 1393 -835 1787 +rect -2064 909 -1983 1299 +rect -899 -1467 -835 -1073 +rect -2064 -1950 -1983 -1560 +rect -897 -4327 -833 -3933 +rect -2063 -4809 -1982 -4419 +rect -897 -7184 -833 -6790 +rect -2065 -7668 -1984 -7278 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_0 +timestamp 1626558701 +transform 0 -1 -1126 1 0 -7694 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_1 +timestamp 1626558701 +transform 0 -1 -1126 1 0 -4835 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_2 +timestamp 1626558701 +transform 0 -1 -1126 1 0 -1976 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_3 +timestamp 1626558701 +transform 0 -1 -1126 1 0 883 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_4 +timestamp 1626558701 +transform 0 -1 -1126 1 0 3742 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_6 +timestamp 1626558701 +transform 0 -1 -1126 1 0 6601 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_9 +timestamp 1626558701 +transform 0 -1 -1126 1 0 9460 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_7 +timestamp 1626558701 +transform 0 -1 -1126 1 0 12319 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_8 +timestamp 1626558701 +transform 0 -1 -1126 1 0 15178 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_5 +timestamp 1626558701 +transform 0 -1 -1126 1 0 18037 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_10 +timestamp 1626558701 +transform 0 -1 -1126 1 0 20896 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_11 +timestamp 1626558701 +transform 0 -1 -1126 1 0 23755 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_12 +timestamp 1626558701 +transform 0 -1 -1126 1 0 26614 +box -745 -229 2114 858 +<< labels >> +rlabel metal1 -2065 26640 -1984 27030 0 IO25 +port 1 nsew +rlabel metal1 -2065 23781 -1984 24171 0 IO26 +port 2 nsew +rlabel metal1 -2065 20922 -1984 21312 0 IO27 +port 3 nsew +rlabel metal1 -2064 18063 -1983 18453 0 IO28 +port 4 nsew +rlabel metal1 -2065 15204 -1984 15594 0 IO29 +port 5 nsew +rlabel metal1 -2065 12345 -1984 12735 0 IO30 +port 6 nsew +rlabel metal1 -2065 9487 -1984 9877 0 IO31 +port 7 nsew +rlabel metal1 -2063 6628 -1982 7018 0 IO32 +port 8 nsew +rlabel metal1 -2064 3768 -1983 4158 0 IO33 +port 9 nsew +rlabel metal1 -2064 909 -1983 1299 0 IO34 +port 10 nsew +rlabel metal1 -2064 -1950 -1983 -1560 0 IO35 +port 11 nsew +rlabel metal1 -2063 -4809 -1982 -4419 0 IO36 +port 12 nsew +rlabel metal1 -2065 -7668 -1984 -7278 0 IO37 +port 13 nsew +rlabel metal1 -898 27122 -834 27516 0 PIN1 +port 14 nsew +rlabel metal1 -898 24264 -834 24658 0 PIN2 +port 15 nsew +rlabel metal1 -897 21403 -833 21797 0 PIN3 +rlabel metal1 -898 18545 -834 18939 0 PIN4 +port 16 nsew +rlabel metal1 -897 15687 -833 16081 0 PIN5 +port 17 nsew +rlabel metal1 -898 12828 -834 13222 0 PIN6 +port 18 nsew +rlabel metal1 -898 9969 -834 10363 0 PIN7 +port 19 nsew +rlabel metal1 -898 7109 -834 7503 0 PIN8 +port 20 nsew +rlabel metal1 -898 4250 -834 4644 0 PIN9 +port 21 nsew +rlabel metal1 -899 1393 -835 1787 0 PIN10 +port 22 nsew +rlabel metal1 -899 -1467 -835 -1073 0 PIN11 +port 23 nsew +rlabel metal1 -897 -4327 -833 -3933 0 PIN12 +port 24 nsew +rlabel metal1 -897 -7184 -833 -6790 0 PIN13 +port 25 nsew +<< end >>
diff --git a/mag/sky130_hilas_LevelShift4InputUp.mag b/mag/sky130_hilas_LevelShift4InputUp.mag new file mode 100644 index 0000000..5eada27 --- /dev/null +++ b/mag/sky130_hilas_LevelShift4InputUp.mag
@@ -0,0 +1,65 @@ +magic +tech sky130A +timestamp 1624113741 +<< metal1 >> +rect 4 517 33 522 +rect 445 515 476 522 +rect 746 517 770 522 +rect 4 -102 33 -97 +rect 445 -102 476 -96 +rect 746 -102 770 -97 +<< metal2 >> +rect -30 470 -19 490 +rect 841 372 850 404 +rect -30 315 -19 335 +rect 841 217 850 249 +rect -30 160 -19 180 +rect 841 62 850 94 +rect -30 5 -19 25 +rect 841 -93 850 -61 +use sky130_hilas_StepUpDigital StepUpDigital_2 +timestamp 1624113415 +transform 1 0 -49 0 1 403 +box 19 -40 899 119 +use sky130_hilas_StepUpDigital StepUpDigital_1 +timestamp 1624113415 +transform 1 0 -49 0 1 248 +box 19 -40 899 119 +use sky130_hilas_StepUpDigital StepUpDigital_0 +timestamp 1624113415 +transform 1 0 -49 0 1 93 +box 19 -40 899 119 +use sky130_hilas_StepUpDigital StepUpDigital_3 +timestamp 1624113415 +transform 1 0 -49 0 1 -62 +box 19 -40 899 119 +<< labels >> +rlabel metal2 841 372 850 404 0 INPUT1 +port 1 nsew +rlabel metal2 841 217 850 249 0 INPUT2 +port 2 nsew +rlabel metal2 841 62 850 94 0 INPUT3 +port 3 nsew +rlabel metal2 841 -93 850 -61 0 INPUT4 +port 4 nsew +rlabel metal1 746 517 770 522 0 VPWR +port 5 nsew +rlabel metal1 746 -102 770 -97 0 VPWR +port 5 nsew +rlabel metal1 4 517 33 522 0 VINJ +port 6 nsew +rlabel metal1 4 -102 33 -97 0 VINJ +port 6 nsew +rlabel metal2 -30 470 -19 490 0 OUTPUT1 +port 7 nsew +rlabel metal2 -30 315 -19 335 0 OUTPUT2 +port 8 nsew +rlabel metal2 -30 160 -19 180 0 OUTPUT3 +port 9 nsew +rlabel metal2 -30 5 -19 25 0 OUTPUT4 +port 10 nsew +rlabel metal1 445 515 476 522 0 VGND +port 11 nsew +rlabel metal1 445 -102 476 -96 0 VGND +port 11 nsew +<< end >>
diff --git a/mag/sky130_hilas_RightProtection.mag b/mag/sky130_hilas_RightProtection.mag new file mode 100644 index 0000000..af753b0 --- /dev/null +++ b/mag/sky130_hilas_RightProtection.mag
@@ -0,0 +1,76 @@ +magic +tech sky130A +timestamp 1626559870 +<< metal1 >> +rect -2053 27123 -1982 27519 +rect -898 26641 -826 27030 +rect -2054 24263 -1984 24659 +rect -898 23782 -826 24171 +rect -2052 21404 -1982 21800 +rect -898 20922 -826 21311 +rect -2054 18545 -1984 18941 +rect -898 18065 -826 18454 +rect -2054 15685 -1984 16081 +rect -899 15205 -827 15594 +rect -2053 12827 -1983 13223 +rect -898 12346 -826 12735 +rect -2053 9967 -1983 10363 +rect -898 9486 -826 9875 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_9 +timestamp 1626558701 +transform 0 1 -1755 1 0 9460 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_7 +timestamp 1626558701 +transform 0 1 -1755 1 0 12319 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_8 +timestamp 1626558701 +transform 0 1 -1755 1 0 15178 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_5 +timestamp 1626558701 +transform 0 1 -1755 1 0 18037 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_10 +timestamp 1626558701 +transform 0 1 -1755 1 0 20896 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_11 +timestamp 1626558701 +transform 0 1 -1755 1 0 23755 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_12 +timestamp 1626558701 +transform 0 1 -1755 1 0 26614 +box -745 -229 2114 858 +<< labels >> +rlabel metal1 -898 9486 -826 9875 0 IO7 +port 1 nsew +rlabel metal1 -898 12346 -826 12735 0 IO8 +port 2 nsew +rlabel metal1 -899 15205 -827 15594 0 IO9 +port 3 nsew +rlabel metal1 -898 18065 -826 18454 0 IO10 +port 4 nsew +rlabel metal1 -898 20922 -826 21311 0 IO11 +port 5 nsew +rlabel metal1 -898 23782 -826 24171 0 IO12 +port 7 nsew +rlabel metal1 -898 26641 -826 27030 0 IO13 +port 6 nsew +rlabel metal1 -2053 9967 -1983 10363 0 PIN1 +port 8 nsew +rlabel metal1 -2053 12827 -1983 13223 0 PIN2 +port 9 nsew +rlabel metal1 -2054 15685 -1984 16081 0 PIN3 +port 10 nsew +rlabel metal1 -2054 18545 -1984 18941 0 PIN4 +port 11 nsew +rlabel metal1 -2052 21404 -1982 21800 0 PIN5 +port 12 nsew +rlabel metal1 -2054 24263 -1984 24659 0 PIN6 +port 13 nsew +rlabel metal1 -2053 27123 -1983 27519 0 PIN7 +port 14 nsew +<< end >>
diff --git a/mag/sky130_hilas_StepUpDigital.mag b/mag/sky130_hilas_StepUpDigital.mag new file mode 100644 index 0000000..6b1892b --- /dev/null +++ b/mag/sky130_hilas_StepUpDigital.mag
@@ -0,0 +1,112 @@ +magic +tech sky130A +timestamp 1624113415 +<< nwell >> +rect 19 -40 270 119 +<< mvpmos >> +rect 84 55 134 86 +rect 155 -7 205 24 +<< mvpdiff >> +rect 53 79 84 86 +rect 53 62 61 79 +rect 78 62 84 79 +rect 53 55 84 62 +rect 134 80 168 86 +rect 134 63 140 80 +rect 157 63 168 80 +rect 134 55 168 63 +rect 124 16 155 24 +rect 124 -1 130 16 +rect 148 -1 155 16 +rect 124 -7 155 -1 +rect 205 18 237 24 +rect 205 1 211 18 +rect 229 1 237 18 +rect 205 -7 237 1 +<< mvpdiffc >> +rect 61 62 78 79 +rect 140 63 157 80 +rect 130 -1 148 16 +rect 211 1 229 18 +<< mvnsubdiff >> +rect 54 16 124 24 +rect 54 -1 80 16 +rect 97 -1 124 16 +rect 54 -7 124 -1 +<< mvnsubdiffcont >> +rect 80 -1 97 16 +<< poly >> +rect 84 88 255 104 +rect 84 86 134 88 +rect 228 60 255 88 +rect 84 40 134 55 +rect 228 43 233 60 +rect 250 43 255 60 +rect 155 24 205 39 +rect 228 35 255 43 +rect 155 -10 205 -7 +rect 155 -25 285 -10 +<< polycont >> +rect 233 43 250 60 +<< locali >> +rect 147 87 370 95 +rect 147 80 164 87 +rect 53 62 61 79 +rect 78 62 86 79 +rect 132 63 140 80 +rect 157 70 164 80 +rect 181 78 370 87 +rect 181 70 192 78 +rect 157 63 192 70 +rect 60 52 78 62 +rect 77 35 78 52 +rect 60 17 78 35 +rect 225 43 233 60 +rect 250 43 258 60 +rect 225 18 250 43 +rect 77 16 78 17 +rect 77 0 80 16 +rect 60 -1 80 0 +rect 97 -1 130 16 +rect 148 -1 156 16 +rect 203 1 211 18 +rect 229 8 250 18 +rect 229 7 267 8 +rect 229 1 285 7 +rect 211 -10 285 1 +<< viali >> +rect 164 70 181 87 +rect 60 35 77 52 +rect 60 0 77 17 +<< metal1 >> +rect 53 52 82 119 +rect 157 92 189 95 +rect 157 66 160 92 +rect 186 66 189 92 +rect 157 65 189 66 +rect 53 35 60 52 +rect 77 35 82 52 +rect 53 17 82 35 +rect 53 0 60 17 +rect 77 0 82 17 +rect 53 -40 82 0 +<< via1 >> +rect 160 87 186 92 +rect 160 70 164 87 +rect 164 70 181 87 +rect 181 70 186 87 +rect 160 66 186 70 +<< metal2 >> +rect 157 87 160 92 +rect 26 67 160 87 +rect 157 66 160 67 +rect 186 66 189 92 +use sky130_hilas_StepUpDigitalPart1 StepUpDigitalPart1_0 +timestamp 1624113415 +transform 1 0 7 0 1 0 +box 278 -40 892 119 +<< labels >> +rlabel metal2 26 67 33 87 0 Output +rlabel metal1 53 111 82 119 0 Vinj +rlabel metal1 53 -40 82 -32 0 Vinj +<< end >>
diff --git a/mag/sky130_hilas_StepUpDigitalPart1.mag b/mag/sky130_hilas_StepUpDigitalPart1.mag new file mode 100644 index 0000000..e629345 --- /dev/null +++ b/mag/sky130_hilas_StepUpDigitalPart1.mag
@@ -0,0 +1,251 @@ +magic +tech sky130A +timestamp 1624113415 +<< nwell >> +rect 659 -40 836 119 +<< nmos >> +rect 567 51 595 77 +rect 518 -11 546 14 +<< pmos >> +rect 709 51 737 77 +rect 758 -11 786 14 +<< mvnmos >> +rect 410 50 460 83 +rect 338 -17 389 15 +<< ndiff >> +rect 533 72 567 77 +rect 533 55 544 72 +rect 561 55 567 72 +rect 533 51 567 55 +rect 595 72 624 77 +rect 595 55 601 72 +rect 618 55 624 72 +rect 595 51 624 55 +rect 489 10 518 14 +rect 489 -7 495 10 +rect 512 -7 518 10 +rect 489 -11 518 -7 +rect 546 10 575 14 +rect 546 -7 552 10 +rect 569 -7 575 10 +rect 546 -11 575 -7 +<< pdiff >> +rect 678 72 709 77 +rect 678 55 684 72 +rect 702 55 709 72 +rect 678 51 709 55 +rect 737 72 773 77 +rect 737 55 743 72 +rect 760 55 773 72 +rect 737 51 773 55 +rect 729 10 758 14 +rect 729 -7 735 10 +rect 752 -7 758 10 +rect 729 -11 758 -7 +rect 786 10 817 14 +rect 786 -7 793 10 +rect 810 -7 817 10 +rect 786 -11 817 -7 +<< mvndiff >> +rect 382 75 410 83 +rect 382 58 386 75 +rect 404 58 410 75 +rect 382 50 410 58 +rect 460 75 491 83 +rect 460 58 466 75 +rect 484 58 491 75 +rect 460 50 491 58 +rect 306 7 338 15 +rect 306 -10 313 7 +rect 331 -10 338 7 +rect 306 -17 338 -10 +rect 389 5 420 15 +rect 389 -12 395 5 +rect 413 -12 420 5 +rect 389 -17 420 -12 +<< ndiffc >> +rect 544 55 561 72 +rect 601 55 618 72 +rect 495 -7 512 10 +rect 552 -7 569 10 +<< pdiffc >> +rect 684 55 702 72 +rect 743 55 760 72 +rect 735 -7 752 10 +rect 793 -7 810 10 +<< mvndiffc >> +rect 386 58 404 75 +rect 466 58 484 75 +rect 313 -10 331 7 +rect 395 -12 413 5 +<< psubdiff >> +rect 491 72 533 77 +rect 491 55 503 72 +rect 520 55 533 72 +rect 491 51 533 55 +<< nsubdiff >> +rect 773 72 818 77 +rect 773 55 785 72 +rect 802 55 818 72 +rect 773 51 818 55 +<< psubdiffcont >> +rect 503 55 520 72 +<< nsubdiffcont >> +rect 785 55 802 72 +<< poly >> +rect 410 85 595 100 +rect 340 77 368 85 +rect 410 83 460 85 +rect 340 65 345 77 +rect 302 60 345 65 +rect 363 60 368 77 +rect 302 50 368 60 +rect 567 77 595 85 +rect 709 77 737 93 +rect 302 33 317 50 +rect 410 37 460 50 +rect 567 42 595 51 +rect 709 42 737 51 +rect 287 18 317 33 +rect 287 -10 303 18 +rect 338 15 389 29 +rect 278 -25 303 -10 +rect 518 14 546 33 +rect 567 32 737 42 +rect 567 27 642 32 +rect 634 15 642 27 +rect 659 27 737 32 +rect 659 15 667 27 +rect 434 -1 461 14 +rect 338 -19 389 -17 +rect 434 -18 439 -1 +rect 456 -18 461 -1 +rect 634 9 667 15 +rect 758 14 786 31 +rect 843 -6 881 4 +rect 434 -19 461 -18 +rect 338 -34 461 -19 +rect 518 -19 546 -11 +rect 758 -19 786 -11 +rect 843 -19 853 -6 +rect 518 -23 853 -19 +rect 870 -23 881 -6 +rect 518 -34 881 -23 +<< polycont >> +rect 345 60 363 77 +rect 642 15 659 32 +rect 439 -18 456 -1 +rect 853 -23 870 -6 +<< locali >> +rect 345 77 363 85 +rect 635 80 670 82 +rect 363 75 409 77 +rect 363 60 386 75 +rect 345 58 386 60 +rect 404 58 413 75 +rect 458 58 466 75 +rect 484 72 504 75 +rect 635 72 641 80 +rect 484 58 503 72 +rect 345 52 363 58 +rect 487 55 503 58 +rect 520 55 544 72 +rect 561 55 569 72 +rect 593 55 601 72 +rect 618 59 641 72 +rect 662 72 670 80 +rect 662 59 684 72 +rect 618 55 684 59 +rect 702 55 710 72 +rect 735 55 743 72 +rect 760 55 785 72 +rect 802 55 811 72 +rect 487 41 513 55 +rect 395 24 513 41 +rect 788 54 811 55 +rect 788 39 815 54 +rect 278 -10 313 7 +rect 331 -10 340 7 +rect 395 5 413 24 +rect 487 10 513 24 +rect 634 32 667 36 +rect 634 15 642 32 +rect 659 15 667 32 +rect 634 10 667 15 +rect 788 22 792 39 +rect 809 22 815 39 +rect 788 10 815 22 +rect 395 -20 413 -12 +rect 437 -1 458 7 +rect 437 -18 439 -1 +rect 456 -18 458 -1 +rect 487 -7 495 10 +rect 512 -7 520 10 +rect 544 -7 552 10 +rect 569 -7 735 10 +rect 752 -7 760 10 +rect 785 -7 793 10 +rect 810 -7 818 10 +rect 853 -4 870 2 +rect 487 -12 504 -7 +rect 785 -8 818 -7 +rect 437 -26 458 -18 +rect 853 -31 870 -26 +<< viali >> +rect 641 59 662 80 +rect 792 22 809 39 +rect 851 -6 873 -4 +rect 851 -23 853 -6 +rect 853 -23 870 -6 +rect 870 -23 873 -6 +rect 851 -26 873 -23 +<< metal1 >> +rect 434 10 462 13 +rect 434 -16 435 10 +rect 461 -16 462 10 +rect 434 -20 462 -16 +rect 487 -40 518 119 +rect 635 82 670 84 +rect 635 56 639 82 +rect 665 56 670 82 +rect 635 55 670 56 +rect 650 53 670 55 +rect 788 39 812 119 +rect 788 22 792 39 +rect 809 22 812 39 +rect 788 -40 812 22 +rect 845 -2 886 2 +rect 845 -28 849 -2 +rect 875 -28 886 -2 +rect 845 -31 886 -28 +<< via1 >> +rect 435 -16 461 10 +rect 639 80 665 82 +rect 639 59 641 80 +rect 641 59 662 80 +rect 662 59 665 80 +rect 639 56 665 59 +rect 849 -4 875 -2 +rect 849 -26 851 -4 +rect 851 -26 873 -4 +rect 873 -26 875 -4 +rect 849 -28 875 -26 +<< metal2 >> +rect 639 82 665 85 +rect 431 10 465 11 +rect 431 -16 435 10 +rect 461 5 465 10 +rect 639 5 665 56 +rect 461 -16 675 5 +rect 431 -17 675 -16 +rect 846 -2 892 1 +rect 846 -28 849 -2 +rect 875 -28 892 -2 +rect 846 -31 892 -28 +<< labels >> +rlabel metal2 885 -31 892 1 0 Input +rlabel metal1 788 115 812 119 0 Vdd +rlabel metal1 788 -40 812 -36 0 Vdd +rlabel metal1 487 115 518 119 0 GND +rlabel metal1 487 -40 518 -35 0 GND +<< end >>
diff --git a/mag/sky130_hilas_TA2Cell_1FG.mag b/mag/sky130_hilas_TA2Cell_1FG.mag new file mode 100644 index 0000000..8df5d95 --- /dev/null +++ b/mag/sky130_hilas_TA2Cell_1FG.mag
@@ -0,0 +1,245 @@ +magic +tech sky130A +timestamp 1625491133 +<< error_s >> +rect -1580 672 -1574 678 +rect -1527 672 -1521 678 +rect -1415 672 -1409 678 +rect -1362 672 -1356 678 +rect -1586 622 -1580 628 +rect -1521 622 -1515 628 +rect -1421 622 -1415 628 +rect -1356 622 -1350 628 +rect -2055 613 -2049 619 +rect -1950 613 -1944 619 +rect -992 613 -986 619 +rect -887 613 -881 619 +rect -2061 563 -2055 569 +rect -1944 563 -1938 569 +rect -998 563 -992 569 +rect -881 563 -875 569 +rect -1187 428 -1170 429 +rect -1187 411 -1170 412 +rect -1749 394 -1748 407 +rect -2055 312 -2049 318 +rect -1950 312 -1944 318 +rect -992 312 -986 318 +rect -887 312 -881 318 +rect -2061 262 -2055 268 +rect -1944 262 -1938 268 +rect -1580 258 -1574 264 +rect -1527 258 -1521 264 +rect -1415 258 -1409 264 +rect -1362 258 -1356 264 +rect -998 262 -992 268 +rect -881 262 -875 268 +rect -1586 208 -1580 214 +rect -1521 208 -1515 214 +rect -1421 208 -1415 214 +rect -1356 208 -1350 214 +<< nwell >> +rect -2616 744 -2418 745 +rect -320 744 -173 745 +rect 65 727 193 745 +rect -2616 677 -2609 695 +rect -2616 190 -2608 208 +rect 65 140 193 159 +<< locali >> +rect -1767 480 -1747 488 +rect -1767 463 -1766 480 +rect -1749 463 -1747 480 +rect -1767 411 -1747 463 +rect -1767 394 -1765 411 +rect -1748 394 -1747 411 +rect -1767 387 -1747 394 +rect -1192 480 -1163 488 +rect -1192 463 -1187 480 +rect -1170 463 -1163 480 +rect -1192 412 -1163 463 +rect -1192 395 -1187 412 +rect -1170 395 -1163 412 +rect -1192 387 -1163 395 +<< viali >> +rect -1766 463 -1749 480 +rect -1765 394 -1748 411 +rect -1187 463 -1170 480 +rect -1187 395 -1170 412 +<< metal1 >> +rect -2592 740 -2564 745 +rect -2592 739 -2560 740 +rect -2539 739 -2520 745 +rect -2592 713 -2589 739 +rect -2563 713 -2560 739 +rect -1891 736 -1868 744 +rect -1769 736 -1746 744 +rect -1540 729 -1396 745 +rect -1190 736 -1167 745 +rect -1068 737 -1045 745 +rect -416 737 -397 745 +rect -372 740 -344 745 +rect -372 738 -340 740 +rect -2592 712 -2560 713 +rect -372 712 -369 738 +rect -343 712 -340 738 +rect -3 731 31 745 +rect 63 730 91 745 +rect -372 710 -340 712 +rect -1768 432 -1736 434 +rect -1768 404 -1765 432 +rect -1739 406 -1736 432 +rect -1748 404 -1736 406 +rect -1198 426 -1166 429 +rect -1198 400 -1195 426 +rect -1169 400 -1166 426 +rect -1198 397 -1187 400 +rect -1170 397 -1166 400 +rect -154 187 -121 189 +rect -1198 174 -1166 176 +rect -1198 148 -1195 174 +rect -1169 148 -1166 174 +rect -154 161 -151 187 +rect -124 161 -121 187 +rect -154 160 -121 161 +rect -1198 146 -1166 148 +rect -155 159 -3 160 +rect -155 146 31 159 +rect -416 140 -397 145 +rect -372 140 -344 145 +rect -3 140 31 146 +rect 64 140 91 161 +<< via1 >> +rect -2589 713 -2563 739 +rect -369 712 -343 738 +rect -1765 411 -1739 432 +rect -1765 406 -1748 411 +rect -1748 406 -1739 411 +rect -1195 412 -1169 426 +rect -1195 400 -1187 412 +rect -1187 400 -1170 412 +rect -1170 400 -1169 412 +rect -1195 148 -1169 174 +rect -151 161 -124 187 +<< metal2 >> +rect -2592 739 -2560 740 +rect -2592 713 -2589 739 +rect -2563 728 -2560 739 +rect -372 738 -340 740 +rect -372 728 -369 738 +rect -2563 713 -369 728 +rect -2592 712 -369 713 +rect -343 712 -340 738 +rect -260 718 -229 742 +rect -2592 710 -340 712 +rect -2616 677 -2609 695 +rect -149 655 -127 657 +rect -1726 617 -1642 637 +rect -154 621 -127 655 +rect -1681 570 -667 592 +rect -328 571 -293 593 +rect -1686 473 -785 495 +rect -1768 432 -1736 434 +rect -1768 406 -1765 432 +rect -1739 429 -1736 432 +rect -1739 426 -1166 429 +rect -1739 406 -1195 426 +rect -1768 404 -1195 406 +rect -1198 400 -1195 404 +rect -1169 400 -1166 426 +rect -1198 397 -1166 400 +rect -1681 295 -1115 317 +rect -1731 265 -1683 266 +rect -1731 241 -1642 265 +rect -1137 262 -1115 295 +rect -807 312 -785 473 +rect -689 450 -667 570 +rect -147 564 -127 565 +rect -147 531 -125 564 +rect -145 530 -125 531 +rect -252 451 -220 475 +rect 182 474 193 497 +rect -692 446 -667 450 +rect -692 382 -666 446 +rect 182 392 193 414 +rect -692 361 -279 382 +rect -300 347 -279 361 +rect -300 326 -113 347 +rect -807 290 -522 312 +rect -700 262 -113 267 +rect -1137 246 -113 262 +rect -1137 240 -661 246 +rect -2616 190 -2608 208 +rect -154 187 -121 189 +rect -1198 175 -1166 176 +rect -154 175 -151 187 +rect -1198 174 -151 175 +rect -1198 148 -1195 174 +rect -1169 161 -151 174 +rect -124 161 -121 187 +rect -1169 159 -121 161 +rect -1169 158 -1129 159 +rect -1169 148 -1166 158 +rect -1198 146 -1166 148 +use sky130_hilas_FGBias2x1cell sky130_hilas_FGBias2x1cell_0 +timestamp 1625491133 +transform 1 0 -1077 0 1 522 +box -396 -382 757 223 +use sky130_hilas_FGBiasWeakGate2x1cell sky130_hilas_FGBiasWeakGate2x1cell_0 +timestamp 1625491133 +transform -1 0 -1859 0 1 522 +box -396 -382 757 223 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_1 +timestamp 1608384750 +transform 1 0 -454 0 -1 305 +box 133 -440 320 165 +use sky130_hilas_DualTACore01 sky130_hilas_DualTACore01_0 +timestamp 1608069483 +transform 1 0 38 0 1 181 +box -172 -22 155 550 +<< labels >> +rlabel metal2 -1726 617 -1690 636 0 VIN11 +port 2 nsew analog default +rlabel metal2 -1731 241 -1695 266 0 VIN12 +port 1 nsew analog default +rlabel metal1 -3 739 31 745 0 VGND +port 7 nsew analog default +rlabel metal1 63 739 91 745 0 VPWR +port 6 nsew analog default +rlabel metal1 64 140 91 146 0 VPWR +port 6 nsew power default +rlabel metal1 -3 140 31 146 0 VGND +port 7 nsew ground default +rlabel metal2 -252 451 -220 475 0 VIN21 +port 3 nsew analog default +rlabel metal2 -260 718 -229 742 1 VIN22 +port 4 n analog default +rlabel metal1 -372 737 -344 745 0 VINJ +port 8 nsew power default +rlabel metal1 -372 140 -344 145 0 VINJ +port 8 nsew power default +rlabel metal2 182 474 193 497 0 OUTPUT1 +port 9 nsew analog default +rlabel metal2 182 392 193 414 0 OUTPUT2 +port 10 nsew analog default +rlabel metal2 -2616 677 -2609 695 0 DRAIN1 +port 11 nsew +rlabel metal2 -2616 190 -2608 208 0 DRAIN2 +port 12 nsew +rlabel metal1 -2592 738 -2564 745 0 VINJ +port 8 nsew +rlabel metal1 -2539 739 -2520 745 0 COLSEL2 +port 13 nsew +rlabel metal1 -1891 736 -1868 744 0 GATE2 +port 14 nsew +rlabel metal1 -1769 736 -1746 744 0 VGND +port 7 nsew +rlabel metal1 -1068 737 -1045 745 0 GATE1 +port 15 nsew +rlabel metal1 -1190 737 -1167 745 0 VGND +port 7 nsew +rlabel metal1 -416 737 -397 745 0 COLSEL1 +port 16 nsew +rlabel metal1 -416 140 -397 145 0 COLSEL1 +port 16 nsew +rlabel metal1 -1498 733 -1438 745 0 VTUN +port 17 nsew +<< end >>
diff --git a/mag/sky130_hilas_TA2Cell_1FG_Strong.mag b/mag/sky130_hilas_TA2Cell_1FG_Strong.mag new file mode 100644 index 0000000..dd4b59c --- /dev/null +++ b/mag/sky130_hilas_TA2Cell_1FG_Strong.mag
@@ -0,0 +1,210 @@ +magic +tech sky130A +timestamp 1626460134 +<< error_s >> +rect -1581 672 -1575 678 +rect -1528 672 -1522 678 +rect -1415 672 -1409 678 +rect -1362 672 -1356 678 +rect -1587 622 -1581 628 +rect -1522 622 -1516 628 +rect -1421 622 -1415 628 +rect -1356 622 -1350 628 +rect -2009 613 -2003 619 +rect -1904 613 -1898 619 +rect -992 613 -986 619 +rect -887 613 -881 619 +rect -2015 563 -2009 569 +rect -1898 563 -1892 569 +rect -998 563 -992 569 +rect -881 563 -875 569 +rect -2009 312 -2003 318 +rect -1904 312 -1898 318 +rect -992 312 -986 318 +rect -887 312 -881 318 +rect -2015 262 -2009 268 +rect -1898 262 -1892 268 +rect -1581 258 -1575 264 +rect -1528 258 -1522 264 +rect -1415 258 -1409 264 +rect -1362 258 -1356 264 +rect -998 262 -992 268 +rect -881 262 -875 268 +rect -1587 208 -1581 214 +rect -1522 208 -1516 214 +rect -1421 208 -1415 214 +rect -1356 208 -1350 214 +<< nwell >> +rect -2617 744 -2286 745 +rect -320 744 -186 745 +rect -2597 713 -2565 743 +rect -370 713 -338 743 +rect 65 727 193 745 +rect 65 140 193 159 +<< metal1 >> +rect -2581 743 -2565 745 +rect -2597 741 -2565 743 +rect -2597 715 -2594 741 +rect -2568 715 -2565 741 +rect -2540 739 -2521 745 +rect -2353 734 -2332 745 +rect -2306 737 -2287 745 +rect -2265 739 -2244 745 +rect -2157 738 -2139 745 +rect -1541 730 -1499 745 +rect -1438 730 -1396 745 +rect -1068 737 -1045 745 +rect -416 737 -397 745 +rect -372 743 -344 745 +rect -372 741 -338 743 +rect -372 737 -367 741 +rect -1541 716 -1396 730 +rect -2597 713 -2565 715 +rect -370 715 -367 737 +rect -341 715 -338 741 +rect -3 731 31 745 +rect 63 730 91 745 +rect -370 713 -338 715 +rect -156 188 -124 190 +rect -1775 173 -1743 175 +rect -2352 141 -2329 153 +rect -1775 147 -1772 173 +rect -1746 147 -1743 173 +rect -1775 145 -1743 147 +rect -1195 173 -1163 175 +rect -1195 147 -1192 173 +rect -1166 147 -1163 173 +rect -156 162 -153 188 +rect -127 162 -124 188 +rect -156 160 -124 162 +rect -156 159 -2 160 +rect -156 154 31 159 +rect -1195 145 -1163 147 +rect -151 146 31 154 +rect -416 140 -397 145 +rect -372 140 -344 145 +rect -3 140 31 146 +rect 64 140 91 161 +<< via1 >> +rect -2594 715 -2568 741 +rect -367 715 -341 741 +rect -1772 147 -1746 173 +rect -1192 147 -1166 173 +rect -153 162 -127 188 +<< metal2 >> +rect -2597 741 -2565 743 +rect -2597 715 -2594 741 +rect -2568 731 -2565 741 +rect -370 741 -338 743 +rect -370 731 -367 741 +rect -2568 715 -367 731 +rect -341 715 -338 741 +rect -260 718 -229 742 +rect -2597 713 -338 715 +rect -2617 677 -2609 695 +rect -149 655 -127 657 +rect -154 621 -127 655 +rect -328 571 -293 593 +rect -147 564 -127 565 +rect -1466 522 -667 542 +rect -147 531 -125 564 +rect -145 530 -125 531 +rect -807 454 -785 455 +rect -1465 429 -782 454 +rect -689 450 -667 522 +rect -252 451 -220 475 +rect 182 474 193 497 +rect -1465 337 -1114 356 +rect -1137 277 -1114 337 +rect -811 312 -782 429 +rect -692 446 -667 450 +rect -692 382 -666 446 +rect 182 392 193 414 +rect -692 361 -279 382 +rect -300 347 -279 361 +rect -300 326 -113 347 +rect -811 290 -522 312 +rect -811 289 -782 290 +rect -1137 262 -1115 277 +rect -700 262 -113 267 +rect -1137 246 -113 262 +rect -1137 240 -661 246 +rect -2617 190 -2609 208 +rect -156 188 -124 190 +rect -156 175 -153 188 +rect -1775 173 -153 175 +rect -1775 147 -1772 173 +rect -1746 160 -1192 173 +rect -1746 147 -1743 160 +rect -1775 145 -1743 147 +rect -1195 147 -1192 160 +rect -1166 162 -153 173 +rect -127 162 -124 188 +rect -1166 160 -124 162 +rect -1166 147 -1163 160 +rect -1195 145 -1163 147 +use sky130_hilas_DualTACore01 sky130_hilas_DualTACore01_0 +timestamp 1608069483 +transform 1 0 38 0 1 181 +box -172 -22 155 550 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_1 +timestamp 1608384750 +transform 1 0 -454 0 -1 305 +box 133 -440 320 165 +use sky130_hilas_FGBias2x1cell sky130_hilas_FGBias2x1cell_0 +timestamp 1625491133 +transform 1 0 -1077 0 1 522 +box -396 -382 757 223 +use sky130_hilas_FGtrans2x1cell sky130_hilas_FGtrans2x1cell_0 +timestamp 1625491133 +transform -1 0 -1860 0 1 522 +box -395 -382 757 223 +<< labels >> +rlabel metal1 -3 739 31 745 0 VGND +port 11 nsew +rlabel metal1 63 739 91 745 0 VPWR +port 10 nsew +rlabel metal1 64 140 91 146 0 VPWR +port 10 nsew +rlabel metal1 -3 140 31 146 0 VGND +port 11 nsew +rlabel metal2 -252 451 -220 475 0 VIN21 +port 9 nsew +rlabel metal2 -260 718 -229 742 1 VIN22 +port 8 n +rlabel metal1 -2352 141 -2329 153 0 VIN12 +port 18 nsew +rlabel metal1 -2353 734 -2332 745 0 VIN11 +port 5 nsew +rlabel metal1 -1438 738 -1396 745 0 VTUN +port 1 nsew +rlabel metal1 -1541 738 -1499 745 0 VTUN +rlabel metal1 -2265 739 -2244 745 0 PROG +port 3 nsew +rlabel metal1 -2581 739 -2565 745 0 VINJ +port 6 nsew +rlabel metal1 -372 737 -344 745 0 VINJ +port 6 nsew +rlabel metal2 182 474 193 497 0 OUTPUT1 +port 13 nsew +rlabel metal2 182 392 193 414 0 OUTPUT2 +port 12 nsew +rlabel metal1 -2540 739 -2521 745 0 GATESEL1 +port 14 nsew +rlabel metal1 -416 140 -397 145 0 GATESEL2 +port 15 nsew +rlabel metal1 -372 140 -344 145 0 VINJ +port 6 nsew +rlabel metal1 -416 737 -397 745 0 GATESEL2 +port 15 nsew +rlabel metal2 -2617 677 -2609 695 0 DRAIN1 +port 16 nsew +rlabel metal2 -2617 190 -2609 208 0 DRAIN2 +port 17 nsew +rlabel metal1 -1068 737 -1045 745 0 GATE1 +port 4 nsew +rlabel metal1 -2306 737 -2287 745 0 GATE2 +port 19 nsew +rlabel metal1 -2157 738 -2139 745 0 RUN +port 20 nsew +<< end >>
diff --git a/mag/sky130_hilas_TA2Cell_NoFG.mag b/mag/sky130_hilas_TA2Cell_NoFG.mag new file mode 100644 index 0000000..2d27ac9 --- /dev/null +++ b/mag/sky130_hilas_TA2Cell_NoFG.mag
@@ -0,0 +1,138 @@ +magic +tech sky130A +timestamp 1625491133 +<< error_s >> +rect -1415 672 -1409 678 +rect -1362 672 -1356 678 +rect -1421 622 -1415 628 +rect -1356 622 -1350 628 +rect -992 613 -986 619 +rect -887 613 -881 619 +rect -998 563 -992 569 +rect -881 563 -875 569 +rect -992 312 -986 318 +rect -887 312 -881 318 +rect -1415 258 -1409 264 +rect -1362 258 -1356 264 +rect -998 262 -992 268 +rect -881 262 -875 268 +rect -1421 208 -1415 214 +rect -1356 208 -1350 214 +<< nwell >> +rect 192 727 319 745 +rect -328 571 -162 593 +rect -282 410 -254 434 +rect 191 140 319 159 +<< locali >> +rect -1190 479 -1144 488 +rect -1190 462 -1187 479 +rect -1170 462 -1144 479 +rect -1190 410 -1144 462 +rect -1190 393 -1187 410 +rect -1170 393 -1144 410 +rect -1190 387 -1144 393 +<< viali >> +rect -1187 462 -1170 479 +rect -1187 393 -1170 410 +<< metal1 >> +rect -1438 738 -1396 745 +rect -1068 737 -1045 745 +rect -416 737 -397 745 +rect -372 737 -344 745 +rect 123 731 157 745 +rect 190 730 217 745 +rect -1194 484 -1156 488 +rect -1194 391 -1190 484 +rect -1161 391 -1156 484 +rect -1194 387 -1156 391 +rect 123 140 157 159 +rect 190 140 217 161 +<< via1 >> +rect 127 579 153 605 +rect -1190 479 -1161 484 +rect -1190 462 -1187 479 +rect -1187 462 -1170 479 +rect -1170 462 -1161 479 +rect -1190 410 -1161 462 +rect -1190 393 -1187 410 +rect -1187 393 -1170 410 +rect -1170 393 -1161 410 +rect -1190 391 -1161 393 +<< metal2 >> +rect -130 718 -105 744 +rect -1473 677 -1466 695 +rect -24 620 1 657 +rect 123 605 157 609 +rect 123 600 127 605 +rect -328 571 -162 593 +rect -112 581 127 600 +rect -112 524 -93 581 +rect 123 579 127 581 +rect 153 579 157 605 +rect 123 576 157 579 +rect -21 535 0 564 +rect -1191 505 -93 524 +rect -1191 487 -1172 505 +rect -1193 484 -1158 487 +rect -1193 391 -1190 484 +rect -1161 391 -1158 484 +rect 304 474 319 496 +rect -126 451 -101 474 +rect -282 410 -254 434 +rect 304 392 319 414 +rect -1193 388 -1158 391 +rect -177 327 0 347 +rect -334 278 -318 318 +rect -206 246 0 267 +rect -1473 192 -1465 207 +rect -286 142 -260 167 +use sky130_hilas_FGBias2x1cell sky130_hilas_FGBias2x1cell_0 +timestamp 1625491133 +transform 1 0 -1077 0 1 522 +box -396 -382 757 223 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_0 +timestamp 1608384750 +transform 1 0 -484 0 1 580 +box 133 -440 320 165 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_1 +timestamp 1608384750 +transform 1 0 -328 0 -1 305 +box 133 -440 320 165 +use sky130_hilas_DualTACore01 sky130_hilas_DualTACore01_0 +timestamp 1608069483 +transform 1 0 164 0 1 181 +box -172 -22 155 550 +<< labels >> +rlabel metal1 123 140 157 146 0 VGND +port 7 nsew ground default +rlabel metal1 190 140 217 146 0 VPWR +port 8 nsew power default +rlabel metal1 123 740 157 745 0 VGND +port 7 nsew ground default +rlabel metal1 190 740 217 745 0 VPWR +port 8 nsew power default +rlabel metal2 -126 451 -101 474 0 VIN21 +port 3 nsew +rlabel metal2 -286 142 -263 167 0 VIN12 +port 2 nsew analog default +rlabel metal2 -130 718 -105 744 0 VIN22 +port 4 nsew +rlabel metal2 304 392 319 414 0 OUTPUT1 +port 5 nsew +rlabel metal2 304 474 319 496 0 OUTPUT2 +port 6 nsew +rlabel metal1 -416 737 -397 745 0 COLSEL1 +port 1 nsew +rlabel metal2 -1473 677 -1466 695 0 DRAIN1 +port 9 nsew +rlabel metal2 -1473 192 -1465 207 0 DRAIN2 +port 10 nsew +rlabel metal1 -1438 738 -1396 745 0 VTUN +port 11 nsew +rlabel metal1 -1068 737 -1045 745 0 GATE1 +port 12 nsew +rlabel metal1 -372 737 -344 745 0 VINJ +port 13 nsew +rlabel metal2 -282 410 -259 434 0 VIN11 +port 14 nsew +<< end >>
diff --git a/mag/sky130_hilas_TA2SignalBiasCell.mag b/mag/sky130_hilas_TA2SignalBiasCell.mag new file mode 100644 index 0000000..a9a4008 --- /dev/null +++ b/mag/sky130_hilas_TA2SignalBiasCell.mag
@@ -0,0 +1,249 @@ +magic +tech sky130A +timestamp 1625486632 +<< error_s >> +rect 214 528 215 529 +<< nwell >> +rect -569 744 -378 745 +rect -569 184 -9 744 +rect 191 727 319 745 +rect -569 166 -526 184 +rect -569 143 -498 166 +rect -569 141 -526 143 +rect 191 140 319 159 +<< nsubdiff >> +rect -550 661 -519 698 +rect -550 644 -544 661 +rect -527 644 -519 661 +rect -550 627 -519 644 +rect -550 610 -544 627 +rect -527 610 -519 627 +rect -550 593 -519 610 +rect -550 576 -544 593 +rect -527 576 -519 593 +rect -550 559 -519 576 +rect -550 542 -544 559 +rect -527 542 -519 559 +rect -550 525 -519 542 +rect -550 508 -544 525 +rect -527 508 -519 525 +rect -550 493 -519 508 +rect -551 358 -519 391 +rect -551 341 -543 358 +rect -526 341 -519 358 +rect -551 324 -519 341 +rect -551 307 -543 324 +rect -526 307 -519 324 +rect -551 290 -519 307 +rect -551 273 -543 290 +rect -526 273 -519 290 +rect -551 256 -519 273 +rect -551 239 -543 256 +rect -526 239 -519 256 +rect -551 222 -519 239 +rect -551 205 -543 222 +rect -526 205 -519 222 +rect -551 190 -519 205 +<< nsubdiffcont >> +rect -544 644 -527 661 +rect -544 610 -527 627 +rect -544 576 -527 593 +rect -544 542 -527 559 +rect -544 508 -527 525 +rect -543 341 -526 358 +rect -543 307 -526 324 +rect -543 273 -526 290 +rect -543 239 -526 256 +rect -543 205 -526 222 +<< locali >> +rect -502 697 -468 698 +rect -527 673 -468 697 +rect -527 624 -485 673 +rect 196 598 198 615 +rect 215 598 221 615 +rect 196 561 221 598 +rect 196 545 217 561 +rect 196 528 198 545 +rect 215 528 217 545 +rect 196 526 217 528 +rect -544 491 -527 508 +rect -543 197 -526 205 +<< viali >> +rect -544 661 -527 678 +rect -544 627 -527 644 +rect -485 656 -468 673 +rect -485 622 -468 639 +rect -544 593 -527 610 +rect -544 559 -527 576 +rect -544 525 -527 542 +rect 198 598 215 615 +rect 198 528 215 545 +rect -543 358 -526 375 +rect -543 324 -526 341 +rect -543 290 -526 307 +rect -543 256 -526 273 +rect -543 222 -526 239 +<< metal1 >> +rect 123 731 157 745 +rect 190 730 217 745 +rect -547 698 -494 699 +rect -547 697 -468 698 +rect -547 691 -465 697 +rect -547 678 -535 691 +rect -547 661 -544 678 +rect -476 673 -465 691 +rect -547 644 -535 661 +rect -468 667 -465 673 +rect -468 656 -462 667 +rect -547 627 -544 644 +rect -476 639 -462 656 +rect -547 619 -535 627 +rect -468 638 -462 639 +rect -468 622 -465 638 +rect -476 619 -465 622 +rect -547 613 -465 619 +rect 193 615 225 619 +rect -547 610 -483 613 +rect -547 593 -544 610 +rect -527 593 -483 610 +rect -547 576 -483 593 +rect -547 559 -544 576 +rect -527 559 -483 576 +rect -547 542 -483 559 +rect -547 525 -544 542 +rect -527 525 -483 542 +rect 193 529 194 615 +rect 220 529 225 615 +rect 193 528 198 529 +rect 215 528 225 529 +rect 193 527 225 528 +rect 196 526 225 527 +rect -547 375 -483 525 +rect -547 358 -543 375 +rect -526 358 -483 375 +rect -547 341 -483 358 +rect -547 324 -543 341 +rect -526 324 -483 341 +rect -547 307 -483 324 +rect -547 290 -543 307 +rect -526 290 -483 307 +rect -547 273 -483 290 +rect -547 256 -543 273 +rect -526 256 -483 273 +rect -547 239 -483 256 +rect -547 222 -543 239 +rect -526 222 -483 239 +rect -547 195 -483 222 +rect -525 194 -483 195 +rect 123 140 157 159 +rect 190 140 217 161 +<< via1 >> +rect -535 678 -476 691 +rect -535 661 -527 678 +rect -527 673 -476 678 +rect -527 661 -485 673 +rect -535 656 -485 661 +rect -485 656 -476 673 +rect -535 644 -476 656 +rect -535 627 -527 644 +rect -527 639 -476 644 +rect -527 627 -485 639 +rect -535 622 -485 627 +rect -485 622 -476 639 +rect -535 619 -476 622 +rect 194 598 198 615 +rect 198 598 215 615 +rect 215 598 220 615 +rect 194 545 220 598 +rect 194 529 198 545 +rect 198 529 215 545 +rect 215 529 220 545 +<< metal2 >> +rect -490 698 -466 745 +rect -130 718 -105 744 +rect -542 691 -466 698 +rect -542 619 -535 691 +rect -476 663 -466 691 +rect -476 640 -88 663 +rect -476 619 -466 640 +rect -542 616 -466 619 +rect -542 615 -497 616 +rect -111 604 -88 640 +rect -24 620 1 657 +rect 191 615 224 619 +rect 191 604 194 615 +rect -381 571 -162 593 +rect -111 584 194 604 +rect -85 583 194 584 +rect -21 535 0 564 +rect 191 529 194 583 +rect 220 529 224 615 +rect 191 526 224 529 +rect 304 474 319 496 +rect -126 451 -101 474 +rect -568 410 -422 434 +rect -282 410 -254 434 +rect -568 409 -504 410 +rect 304 392 319 414 +rect -177 327 0 347 +rect -334 292 -318 310 +rect -336 291 -318 292 +rect -358 278 -318 291 +rect -358 229 -322 278 +rect -206 246 0 267 +rect -564 143 -399 166 +rect -286 142 -260 167 +<< rmetal2 >> +rect -497 615 -466 616 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -480 0 1 709 +box -14 -15 20 18 +use sky130_hilas_DualTACore01 sky130_hilas_DualTACore01_0 +timestamp 1608069483 +transform 1 0 164 0 1 181 +box -172 -22 155 550 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -396 0 1 581 +box -14 -15 20 18 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_2 +timestamp 1608384750 +transform 1 0 -659 0 1 580 +box 133 -440 320 165 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_1 +timestamp 1608384750 +transform 1 0 -328 0 -1 305 +box 133 -440 320 165 +use sky130_hilas_pTransistorPair sky130_hilas_pTransistorPair_0 +timestamp 1608384750 +transform 1 0 -484 0 1 580 +box 133 -440 320 165 +<< labels >> +rlabel metal1 123 140 157 146 0 VGND +port 3 nsew ground default +rlabel metal1 190 140 217 146 0 VPWR +port 4 nsew power default +rlabel metal1 123 740 157 745 0 VGND +port 3 nsew ground default +rlabel metal1 190 740 217 745 0 VPWR +port 4 nsew power default +rlabel metal2 -282 410 -259 434 0 VIN11 +port 7 nsew analog default +rlabel metal2 -126 451 -101 474 0 VIN21 +port 6 nsew analog default +rlabel metal2 -286 142 -263 167 0 VIN12 +port 8 nsew analog default +rlabel metal2 -130 718 -105 744 0 VIN22 +port 5 nsew analog default +rlabel metal2 304 392 319 414 0 VOUT_AMP1 +port 2 nsew analog default +rlabel metal2 304 474 319 496 0 VOUT_AMP2 +port 1 nsew analog default +rlabel metal2 -490 737 -466 745 0 VPWR +port 4 nsew power default +rlabel metal2 -526 410 -519 434 0 VBIAS1 +port 10 nsew analog default +rlabel metal2 -526 143 -519 166 0 VBIAS2 +port 9 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_TACoreBlock.mag b/mag/sky130_hilas_TACoreBlock.mag new file mode 100644 index 0000000..5ffc3e5 --- /dev/null +++ b/mag/sky130_hilas_TACoreBlock.mag
@@ -0,0 +1,61 @@ +magic +tech sky130A +timestamp 1607993916 +<< error_s >> +rect -401 342 -395 348 +rect -296 342 -290 348 +rect -407 278 -401 284 +rect -290 278 -284 284 +rect -457 219 -234 220 +rect -31 195 44 213 +rect -31 131 -13 195 +rect 26 131 44 195 +rect -31 113 44 131 +rect -36 64 59 82 +rect -374 20 -368 26 +rect -321 20 -315 26 +rect -8 -18 -7 64 +rect 25 47 59 64 +rect -3 39 25 47 +rect -3 28 38 39 +rect -3 -18 19 28 +rect 25 10 59 28 +rect 68 21 74 27 +rect 173 21 179 27 +rect 20 -18 59 10 +rect -8 -19 59 -18 +rect -380 -30 -374 -24 +rect -315 -30 -309 -24 +rect 62 -29 68 -23 +rect 179 -29 185 -23 +<< nmos >> +rect -8 10 25 39 +<< ndiff >> +rect -8 39 25 64 +rect -8 4 25 10 +rect -8 -13 0 4 +rect 17 -13 25 4 +rect -8 -19 25 -13 +<< pdiff >> +rect -13 131 26 195 +<< ndiffc >> +rect 0 -13 17 4 +<< poly >> +rect -21 10 -8 39 +rect 25 10 38 39 +<< locali >> +rect -8 -13 0 4 +rect 17 -13 25 4 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_0 +timestamp 1607993916 +transform 1 0 1020 0 1 303 +box -1451 -400 -784 -210 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_0 +timestamp 1607386385 +transform 1 0 530 0 1 165 +box -289 47 -33 232 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_0 +timestamp 1606741561 +transform 1 0 500 0 1 614 +box -957 -395 -734 -209 +<< end >>
diff --git a/mag/sky130_hilas_TACoreBlock2.mag b/mag/sky130_hilas_TACoreBlock2.mag new file mode 100644 index 0000000..dce844d --- /dev/null +++ b/mag/sky130_hilas_TACoreBlock2.mag
@@ -0,0 +1,216 @@ +magic +tech sky130A +timestamp 1607028117 +<< error_p >> +rect 85 -19 102 -18 +rect 109 -30 110 11 +rect 73 -42 77 -30 +rect 109 -42 114 -30 +rect 109 -58 110 -42 +rect 109 -90 110 -59 +rect 109 -148 110 -119 +<< nwell >> +rect -61 112 158 285 +<< nmos >> +rect -8 11 25 40 +rect 77 11 110 40 +rect -8 -119 25 -90 +rect 77 -119 110 -90 +<< pmos >> +rect -40 164 28 194 +rect 64 164 132 194 +<< ndiff >> +rect -8 64 25 68 +rect -8 47 0 64 +rect 17 47 25 64 +rect -8 40 25 47 +rect 77 64 110 68 +rect 77 47 85 64 +rect 102 47 110 64 +rect 77 40 110 47 +rect -8 4 25 11 +rect -8 -13 0 4 +rect 17 -13 25 4 +rect -8 -19 25 -13 +rect -8 -67 25 -60 +rect -8 -84 0 -67 +rect 17 -84 25 -67 +rect -8 -90 25 -84 +rect 77 4 110 11 +rect 77 -13 85 4 +rect 102 -13 110 4 +rect 77 -19 110 -13 +rect 77 -66 110 -59 +rect 77 -83 85 -66 +rect 102 -83 110 -66 +rect 77 -90 110 -83 +rect -8 -126 25 -119 +rect -8 -143 -1 -126 +rect 17 -143 25 -126 +rect -8 -147 25 -143 +rect 77 -125 110 -119 +rect 77 -142 84 -125 +rect 103 -142 110 -125 +rect 77 -148 110 -142 +<< pdiff >> +rect -40 218 28 224 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 28 218 +rect -40 194 28 201 +rect 64 218 132 224 +rect 64 201 72 218 +rect 90 201 109 218 +rect 128 201 132 218 +rect 64 194 132 201 +rect -40 157 28 164 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 28 157 +rect -40 131 28 140 +rect 64 157 132 164 +rect 64 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect 64 136 132 140 +rect 71 131 132 136 +<< ndiffc >> +rect 0 47 17 64 +rect 85 47 102 64 +rect 0 -13 17 4 +rect 0 -84 17 -67 +rect 85 -13 102 4 +rect 85 -83 102 -66 +rect -1 -143 17 -126 +rect 84 -142 103 -125 +<< pdiffc >> +rect -32 201 -14 218 +rect 4 201 22 218 +rect 72 201 90 218 +rect 109 201 128 218 +rect -32 140 -14 157 +rect 4 140 22 157 +rect 70 140 88 157 +rect 106 140 124 157 +<< psubdiff >> +rect -8 -31 25 -19 +rect -8 -48 0 -31 +rect 17 -48 25 -31 +rect -8 -60 25 -48 +rect 77 -30 110 -19 +rect 77 -47 85 -30 +rect 102 -47 110 -30 +rect 77 -58 110 -47 +rect 77 -59 109 -58 +<< nsubdiff >> +rect -40 253 28 265 +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 28 253 +rect -40 224 28 236 +rect 64 253 132 265 +rect 64 236 72 253 +rect 90 236 109 253 +rect 128 236 132 253 +rect 64 224 132 236 +<< psubdiffcont >> +rect 0 -48 17 -31 +rect 85 -47 102 -30 +<< nsubdiffcont >> +rect -32 236 -14 253 +rect 4 236 22 253 +rect 72 236 90 253 +rect 109 236 128 253 +<< poly >> +rect -53 164 -40 194 +rect 28 164 64 194 +rect 132 164 145 194 +rect 36 120 53 164 +rect 30 112 57 120 +rect 30 95 35 112 +rect 52 95 57 112 +rect 30 87 57 95 +rect -33 11 -8 40 +rect 25 11 38 40 +rect 63 11 77 40 +rect 110 11 133 40 +rect -33 -90 -17 11 +rect 117 -90 133 11 +rect -33 -119 -8 -90 +rect 25 -119 38 -90 +rect 62 -119 77 -90 +rect 110 -119 133 -90 +rect -33 -158 -17 -119 +rect -33 -166 26 -158 +rect 117 -159 133 -119 +rect -33 -183 -1 -166 +rect 17 -183 26 -166 +rect -33 -189 26 -183 +rect 77 -167 133 -159 +rect 77 -184 86 -167 +rect 103 -184 133 -167 +rect 77 -189 133 -184 +<< polycont >> +rect 35 95 52 112 +rect -1 -183 17 -166 +rect 86 -184 103 -167 +<< locali >> +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 72 253 +rect 90 236 109 253 +rect 128 236 136 253 +rect -40 218 136 236 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 72 218 +rect 90 201 109 218 +rect 128 201 136 218 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 31 157 +rect 62 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect -5 123 31 140 +rect -5 112 60 123 +rect -5 95 35 112 +rect 52 95 60 112 +rect -5 87 60 95 +rect -5 64 22 87 +rect 85 65 110 140 +rect 77 64 110 65 +rect -8 47 0 64 +rect 17 47 25 64 +rect 77 47 85 64 +rect 102 47 110 64 +rect -12 -13 0 4 +rect 17 -13 29 4 +rect -12 -20 29 -13 +rect 73 -13 85 4 +rect 102 -13 114 4 +rect 73 -20 114 -13 +rect -12 -30 114 -20 +rect -12 -31 85 -30 +rect -12 -48 0 -31 +rect 17 -47 85 -31 +rect 102 -47 114 -30 +rect 17 -48 114 -47 +rect -12 -58 114 -48 +rect -12 -67 29 -58 +rect -12 -84 0 -67 +rect 17 -84 29 -67 +rect 73 -66 114 -58 +rect 73 -83 85 -66 +rect 102 -83 114 -66 +rect -9 -143 -1 -126 +rect 17 -143 25 -126 +rect 76 -142 84 -125 +rect 103 -142 112 -125 +rect 76 -143 112 -142 +rect -1 -166 17 -143 +rect -1 -192 17 -183 +rect 84 -167 103 -143 +rect 84 -184 86 -167 +rect 84 -192 103 -184 +<< end >>
diff --git a/mag/sky130_hilas_Tgate4Double01.mag b/mag/sky130_hilas_Tgate4Double01.mag new file mode 100644 index 0000000..f645529 --- /dev/null +++ b/mag/sky130_hilas_Tgate4Double01.mag
@@ -0,0 +1,83 @@ +magic +tech sky130A +timestamp 1624821938 +<< metal1 >> +rect 38 460 58 464 +rect 621 460 640 464 +rect 38 -141 58 -137 +rect 621 -141 640 -137 +<< metal2 >> +rect -36 433 -31 453 +rect -36 385 -31 405 +rect -36 335 -30 355 +rect 665 335 672 355 +rect -36 270 -30 290 +rect 666 270 672 290 +rect -36 220 -31 240 +rect -36 172 -31 192 +rect -36 131 -31 151 +rect -36 83 -31 103 +rect -36 33 -30 53 +rect 666 33 672 53 +rect -36 -32 -30 -12 +rect 666 -32 672 -12 +rect -36 -82 -31 -62 +rect -36 -130 -31 -110 +use sky130_hilas_TgateDouble01 sky130_hilas_TgateDouble01_1 +timestamp 1608225149 +transform 1 0 227 0 1 40 +box -263 -181 445 -29 +use sky130_hilas_TgateDouble01 sky130_hilas_TgateDouble01_0 +timestamp 1608225149 +transform 1 0 227 0 -1 283 +box -263 -181 445 -29 +use sky130_hilas_TgateDouble01 sky130_hilas_TgateDouble01_3 +timestamp 1608225149 +transform 1 0 227 0 1 342 +box -263 -181 445 -29 +use sky130_hilas_TgateDouble01 sky130_hilas_TgateDouble01_2 +timestamp 1608225149 +transform 1 0 227 0 -1 -19 +box -263 -181 445 -29 +<< labels >> +rlabel metal1 621 460 640 464 0 VPWR +port 13 nsew +rlabel metal1 38 460 58 464 0 VGND +port 1 nsew ground default +rlabel metal2 665 335 672 355 0 OUTPUT1 +port 17 nsew +rlabel metal2 666 33 672 53 0 OUTPUT3 +port 15 nsew +rlabel metal2 666 270 672 290 0 OUTPUT2 +port 16 nsew +rlabel metal2 666 -32 672 -12 0 OUTPUT4 +port 14 nsew +rlabel metal2 -36 335 -30 355 0 SELECT1 +port 4 nsew +rlabel metal2 -36 270 -30 290 0 SELECT2 +port 5 nsew +rlabel metal2 -36 33 -30 53 0 SELECT3 +port 8 nsew +rlabel metal2 -36 -32 -30 -12 0 SELECT4 +port 10 nsew +rlabel metal1 621 -141 640 -137 0 VGND +port 1 nsew +rlabel metal1 38 -141 58 -137 0 VPWR +port 13 nsew +rlabel metal2 -36 433 -31 453 0 INPUT1_1 +port 2 nsew +rlabel metal2 -36 172 -31 192 0 INPUT1_2 +port 7 nsew +rlabel metal2 -36 220 -31 240 0 INPUT2_2 +port 6 nsew +rlabel metal2 -36 131 -31 151 0 INPUT1_3 +port 19 nsew +rlabel metal2 -36 83 -31 103 0 INPUT2_3 +port 9 nsew +rlabel metal2 -36 -82 -31 -62 0 INPUT2_4 +port 11 nsew +rlabel metal2 -36 -130 -31 -110 0 INPUT1_4 +port 12 nsew +rlabel metal2 -36 385 -31 405 0 INPUT2_1 +port 18 nsew +<< end >>
diff --git a/mag/sky130_hilas_Tgate4Single01.mag b/mag/sky130_hilas_Tgate4Single01.mag new file mode 100644 index 0000000..943a797 --- /dev/null +++ b/mag/sky130_hilas_Tgate4Single01.mag
@@ -0,0 +1,71 @@ +magic +tech sky130A +timestamp 1608226321 +<< metal1 >> +rect 38 460 58 464 +rect 389 458 408 464 +rect 38 -141 58 -137 +rect 389 -141 408 -135 +<< metal2 >> +rect -36 433 -31 453 +rect -36 335 -30 355 +rect 433 335 440 355 +rect -36 270 -30 290 +rect 433 270 440 290 +rect -36 172 -31 192 +rect -36 131 -31 151 +rect -36 33 -30 53 +rect 433 33 440 53 +rect -36 -32 -30 -12 +rect 433 -32 440 -12 +rect -36 -130 -31 -110 +use sky130_hilas_TgateSingle01 sky130_hilas_TgateSingle01_2 +timestamp 1608225149 +transform 1 0 227 0 -1 -19 +box -263 -181 213 -29 +use sky130_hilas_TgateSingle01 sky130_hilas_TgateSingle01_3 +timestamp 1608225149 +transform 1 0 227 0 1 342 +box -263 -181 213 -29 +use sky130_hilas_TgateSingle01 sky130_hilas_TgateSingle01_0 +timestamp 1608225149 +transform 1 0 227 0 -1 283 +box -263 -181 213 -29 +use sky130_hilas_TgateSingle01 sky130_hilas_TgateSingle01_1 +timestamp 1608225149 +transform 1 0 227 0 1 40 +box -263 -181 213 -29 +<< labels >> +rlabel metal2 -36 335 -30 355 0 SELECT1 +port 8 nsew analog default +rlabel metal2 -36 270 -30 290 0 SELECT2 +port 7 nsew analog default +rlabel metal2 -36 33 -30 53 0 SELECT3 +port 4 nsew analog default +rlabel metal2 -36 -32 -30 -12 0 SELECT4 +port 3 nsew analog default +rlabel metal1 38 -141 58 -137 0 VPWR +port 2 nsew analog default +rlabel metal2 -36 433 -31 453 0 INPUT1_1 +port 9 nsew analog default +rlabel metal2 -36 172 -31 192 0 INPUT1_2 +port 6 nsew analog default +rlabel metal2 -36 131 -31 151 0 INPUT1_3 +port 5 nsew analog default +rlabel metal2 -36 -130 -31 -110 0 INPUT1_4 +port 1 nsew analog default +rlabel metal1 389 458 408 464 0 VGND +port 10 nsew ground default +rlabel metal1 389 -141 408 -135 0 VGND +port 10 nsew ground default +rlabel metal2 433 335 440 355 0 OUTPUT1 +port 11 nsew analog default +rlabel metal2 433 270 440 290 0 OUTPUT2 +port 12 nsew analog default +rlabel metal2 433 33 440 53 0 OUTPUT3 +port 13 nsew analog default +rlabel metal2 433 -32 440 -12 0 OUTPUT4 +port 14 nsew analog default +rlabel metal1 38 460 58 464 0 VPWR +port 2 nsew power default +<< end >>
diff --git a/mag/sky130_hilas_TgateDouble01.mag b/mag/sky130_hilas_TgateDouble01.mag new file mode 100644 index 0000000..14233c7 --- /dev/null +++ b/mag/sky130_hilas_TgateDouble01.mag
@@ -0,0 +1,237 @@ +magic +tech sky130A +timestamp 1608225149 +<< nwell >> +rect -251 -181 96 -29 +<< nmos >> +rect 320 -94 360 -64 +rect 177 -157 217 -126 +rect 320 -157 360 -126 +<< pmos >> +rect -138 -96 -98 -64 +rect -138 -157 -98 -126 +rect 9 -157 49 -126 +<< ndiff >> +rect 291 -70 320 -64 +rect 291 -87 296 -70 +rect 313 -87 320 -70 +rect 291 -94 320 -87 +rect 360 -70 391 -64 +rect 360 -87 367 -70 +rect 384 -87 391 -70 +rect 360 -94 391 -87 +rect 145 -134 177 -126 +rect 145 -151 151 -134 +rect 168 -151 177 -134 +rect 145 -157 177 -151 +rect 217 -134 249 -126 +rect 217 -151 225 -134 +rect 242 -151 249 -134 +rect 217 -157 249 -151 +rect 291 -133 320 -126 +rect 291 -150 297 -133 +rect 314 -150 320 -133 +rect 291 -157 320 -150 +rect 360 -133 390 -126 +rect 360 -150 366 -133 +rect 383 -150 390 -133 +rect 360 -157 390 -150 +<< pdiff >> +rect -167 -71 -138 -64 +rect -167 -88 -161 -71 +rect -144 -88 -138 -71 +rect -167 -96 -138 -88 +rect -98 -71 -70 -64 +rect -98 -88 -92 -71 +rect -75 -88 -70 -71 +rect -98 -96 -70 -88 +rect -168 -134 -138 -126 +rect -168 -151 -161 -134 +rect -144 -151 -138 -134 +rect -168 -157 -138 -151 +rect -98 -134 -71 -126 +rect -98 -151 -92 -134 +rect -75 -151 -71 -134 +rect -98 -157 -71 -151 +rect -20 -133 9 -126 +rect -20 -150 -14 -133 +rect 3 -150 9 -133 +rect -20 -157 9 -150 +rect 49 -133 78 -126 +rect 49 -150 55 -133 +rect 72 -150 78 -133 +rect 49 -157 78 -150 +<< ndiffc >> +rect 296 -87 313 -70 +rect 367 -87 384 -70 +rect 151 -151 168 -134 +rect 225 -151 242 -134 +rect 297 -150 314 -133 +rect 366 -150 383 -133 +<< pdiffc >> +rect -161 -88 -144 -71 +rect -92 -88 -75 -71 +rect -161 -151 -144 -134 +rect -92 -151 -75 -134 +rect -14 -150 3 -133 +rect 55 -150 72 -133 +<< psubdiff >> +rect 417 -134 440 -122 +rect 417 -151 420 -134 +rect 437 -151 440 -134 +rect 417 -163 440 -151 +<< nsubdiff >> +rect -227 -130 -195 -117 +rect -227 -147 -220 -130 +rect -203 -147 -195 -130 +rect -227 -159 -195 -147 +<< psubdiffcont >> +rect 420 -151 437 -134 +<< nsubdiffcont >> +rect -220 -147 -203 -130 +<< poly >> +rect -234 -56 360 -40 +rect -138 -64 -98 -56 +rect 320 -64 360 -56 +rect -52 -83 -19 -77 +rect -138 -126 -98 -96 +rect -52 -100 -44 -83 +rect -27 -100 -19 -83 +rect -52 -103 -19 -100 +rect -52 -118 217 -103 +rect 9 -126 49 -118 +rect 177 -126 217 -118 +rect 320 -126 360 -94 +rect -138 -170 -98 -157 +rect 9 -170 49 -157 +rect 177 -170 217 -157 +rect 320 -170 360 -157 +<< polycont >> +rect -44 -100 -27 -83 +<< locali >> +rect -101 -71 296 -70 +rect -171 -83 -161 -71 +rect -188 -88 -161 -83 +rect -144 -88 -136 -71 +rect -101 -88 -92 -71 +rect -75 -83 296 -71 +rect -75 -88 -44 -83 +rect -188 -96 -169 -88 +rect -190 -99 -169 -96 +rect -191 -100 -169 -99 +rect -52 -100 -44 -88 +rect -27 -87 296 -83 +rect 313 -87 321 -70 +rect 359 -87 367 -70 +rect 384 -87 394 -70 +rect -27 -88 321 -87 +rect -27 -100 -19 -88 +rect 412 -91 437 -71 +rect -203 -105 -169 -100 +rect -216 -108 -169 -105 +rect -220 -111 -169 -108 +rect -220 -117 -171 -111 +rect -220 -122 -186 -117 +rect -220 -124 -194 -122 +rect -92 -124 -76 -110 +rect -220 -126 -197 -124 +rect -220 -130 -199 -126 +rect -152 -134 -134 -130 +rect -220 -158 -203 -147 +rect -169 -151 -161 -134 +rect -144 -151 -134 -134 +rect -92 -134 -75 -124 +rect -92 -159 -75 -151 +rect -14 -133 3 -125 +rect -14 -155 3 -150 +rect 55 -133 72 -124 +rect 55 -159 72 -150 +rect 151 -134 168 -129 +rect 151 -159 168 -151 +rect 225 -134 242 -122 +rect 225 -160 242 -151 +rect 297 -133 314 -125 +rect 363 -150 366 -133 +rect 383 -150 392 -133 +rect 420 -134 437 -91 +rect 297 -155 314 -150 +rect 420 -159 437 -151 +<< metal1 >> +rect -189 -181 -169 -29 +rect -91 -107 -74 -80 +rect 54 -105 71 -78 +rect 226 -108 243 -74 +rect 346 -128 365 -53 +rect 394 -181 413 -29 +<< metal2 >> +rect -263 -72 -202 -52 +rect -93 -72 445 -52 +rect -263 -122 174 -102 +rect -263 -170 314 -150 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 -225 0 1 -62 +box -9 -10 23 22 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 -236 0 1 -65 +box -9 -26 24 25 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 -180 0 1 -86 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -139 0 1 -119 +box -14 -15 20 18 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 -86 0 1 -70 +box -9 -10 23 22 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 -83 0 1 -127 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 -4 0 1 -156 +box -14 -15 20 18 +use sky130_hilas_m12m2 sky130_hilas_m12m2_2 +timestamp 1607949437 +transform 1 0 56 0 1 -69 +box -9 -10 23 22 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 62 0 1 -125 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 153 0 1 -119 +box -14 -15 20 18 +use sky130_hilas_m12m2 sky130_hilas_m12m2_4 +timestamp 1607949437 +transform 1 0 231 0 1 -67 +box -9 -10 23 22 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 233 0 1 -126 +box -10 -8 13 21 +use sky130_hilas_m12m2 sky130_hilas_m12m2_3 +timestamp 1607949437 +transform 1 0 335 0 1 -68 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 304 0 1 -155 +box -14 -15 20 18 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 356 0 1 -148 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 402 0 1 -86 +box -10 -8 13 21 +<< labels >> +rlabel metal2 439 -72 445 -52 0 output +<< end >>
diff --git a/mag/sky130_hilas_TgateSingle01.mag b/mag/sky130_hilas_TgateSingle01.mag new file mode 100644 index 0000000..b8d9802 --- /dev/null +++ b/mag/sky130_hilas_TgateSingle01.mag
@@ -0,0 +1,89 @@ +magic +tech sky130A +timestamp 1608225149 +<< nwell >> +rect -251 -102 25 -29 +rect -251 -119 -52 -102 +rect -251 -181 -53 -119 +<< pmos >> +rect -138 -96 -98 -64 +<< pdiff >> +rect -167 -71 -138 -64 +rect -167 -88 -161 -71 +rect -144 -88 -138 -71 +rect -167 -96 -138 -88 +rect -98 -71 -70 -64 +rect -98 -88 -92 -71 +rect -75 -88 -70 -71 +rect -98 -96 -70 -88 +<< pdiffc >> +rect -161 -88 -144 -71 +rect -92 -88 -75 -71 +<< nsubdiff >> +rect -227 -130 -195 -117 +rect -227 -147 -220 -130 +rect -203 -147 -195 -130 +rect -227 -159 -195 -147 +<< nsubdiffcont >> +rect -220 -147 -203 -130 +<< poly >> +rect -234 -56 25 -40 +rect -138 -64 -98 -56 +rect -52 -83 -19 -77 +rect -138 -118 -98 -96 +rect -52 -100 -44 -83 +rect -27 -100 -19 -83 +rect -52 -112 -19 -100 +<< polycont >> +rect -44 -100 -27 -83 +<< locali >> +rect -101 -71 25 -70 +rect -171 -83 -161 -71 +rect -188 -88 -161 -83 +rect -144 -88 -136 -71 +rect -101 -88 -92 -71 +rect -75 -83 25 -71 +rect -75 -88 -44 -83 +rect -188 -96 -169 -88 +rect -190 -99 -169 -96 +rect -191 -100 -169 -99 +rect -52 -100 -44 -88 +rect -27 -88 25 -83 +rect -27 -100 -19 -88 +rect -203 -105 -169 -100 +rect -216 -108 -169 -105 +rect -220 -111 -169 -108 +rect -220 -117 -171 -111 +rect -220 -122 -186 -117 +rect -220 -124 -194 -122 +rect -220 -126 -197 -124 +rect -220 -130 -199 -126 +rect -220 -158 -203 -147 +<< metal1 >> +rect -189 -181 -169 -29 +<< metal2 >> +rect -263 -72 -202 -52 +rect -176 -150 -64 -149 +rect -263 -170 -64 -150 +rect -176 -171 -64 -170 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 -225 0 1 -62 +box -9 -10 23 22 +use sky130_hilas_TgateSingle01Part2 sky130_hilas_TgateSingle01Part2_0 +timestamp 1608225149 +transform 1 0 -71 0 1 0 +box -67 -181 96 -38 +use sky130_hilas_TgateSingle01Part1 sky130_hilas_TgateSingle01Part1_0 +timestamp 1608225149 +transform 1 0 -232 0 1 0 +box 257 -181 445 -29 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 -180 0 1 -86 +box -10 -8 13 21 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 -236 0 1 -65 +box -9 -26 24 25 +<< end >>
diff --git a/mag/sky130_hilas_TgateSingle01Part1.mag b/mag/sky130_hilas_TgateSingle01Part1.mag new file mode 100644 index 0000000..134c1d0 --- /dev/null +++ b/mag/sky130_hilas_TgateSingle01Part1.mag
@@ -0,0 +1,78 @@ +magic +tech sky130A +timestamp 1608225149 +<< nmos >> +rect 320 -94 360 -64 +rect 320 -157 360 -126 +<< ndiff >> +rect 291 -70 320 -64 +rect 291 -87 296 -70 +rect 313 -87 320 -70 +rect 291 -94 320 -87 +rect 360 -70 391 -64 +rect 360 -87 367 -70 +rect 384 -87 391 -70 +rect 360 -94 391 -87 +rect 291 -133 320 -126 +rect 291 -150 297 -133 +rect 314 -150 320 -133 +rect 291 -157 320 -150 +rect 360 -133 390 -126 +rect 360 -150 366 -133 +rect 383 -150 390 -133 +rect 360 -157 390 -150 +<< ndiffc >> +rect 296 -87 313 -70 +rect 367 -87 384 -70 +rect 297 -150 314 -133 +rect 366 -150 383 -133 +<< psubdiff >> +rect 417 -134 440 -122 +rect 417 -151 420 -134 +rect 437 -151 440 -134 +rect 417 -163 440 -151 +<< psubdiffcont >> +rect 420 -151 437 -134 +<< poly >> +rect 257 -56 360 -40 +rect 320 -64 360 -56 +rect 320 -126 360 -94 +rect 320 -170 360 -157 +<< locali >> +rect 257 -87 296 -70 +rect 313 -87 321 -70 +rect 359 -87 367 -70 +rect 384 -87 394 -70 +rect 257 -88 321 -87 +rect 412 -91 437 -71 +rect 297 -133 314 -125 +rect 363 -150 366 -133 +rect 383 -150 392 -133 +rect 420 -134 437 -91 +rect 297 -155 314 -150 +rect 420 -159 437 -151 +<< metal1 >> +rect 346 -128 365 -53 +rect 394 -181 413 -29 +<< metal2 >> +rect 257 -72 445 -52 +rect 257 -170 314 -150 +use sky130_hilas_m12m2 sky130_hilas_m12m2_3 +timestamp 1607949437 +transform 1 0 335 0 1 -68 +box -9 -10 23 22 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 402 0 1 -86 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 356 0 1 -148 +box -10 -8 13 21 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 304 0 1 -155 +box -14 -15 20 18 +<< labels >> +rlabel metal2 439 -72 445 -52 0 output +<< end >>
diff --git a/mag/sky130_hilas_TgateSingle01Part2.mag b/mag/sky130_hilas_TgateSingle01Part2.mag new file mode 100644 index 0000000..1a0d127 --- /dev/null +++ b/mag/sky130_hilas_TgateSingle01Part2.mag
@@ -0,0 +1,51 @@ +magic +tech sky130A +timestamp 1608225149 +<< nwell >> +rect -18 -97 96 -38 +rect -67 -181 96 -97 +<< pmos >> +rect 9 -157 49 -126 +<< pdiff >> +rect -20 -133 9 -126 +rect -20 -150 -14 -133 +rect 3 -150 9 -133 +rect -20 -157 9 -150 +rect 49 -133 78 -126 +rect 49 -150 55 -133 +rect 72 -150 78 -133 +rect 49 -157 78 -150 +<< pdiffc >> +rect -14 -150 3 -133 +rect 55 -150 72 -133 +<< poly >> +rect -18 -56 96 -40 +rect 9 -126 49 -103 +rect 9 -170 49 -157 +<< locali >> +rect -18 -88 96 -70 +rect -14 -133 3 -125 +rect 47 -150 55 -133 +rect 72 -150 85 -132 +rect -14 -155 3 -150 +<< metal1 >> +rect 74 -126 93 -67 +rect 72 -155 95 -126 +<< metal2 >> +rect 59 -72 96 -52 +rect -67 -150 -45 -149 +rect -67 -170 96 -150 +rect -67 -171 -45 -170 +use sky130_hilas_m12m2 sky130_hilas_m12m2_2 +timestamp 1607949437 +transform 1 0 73 0 1 -69 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 -14 0 1 -155 +box -14 -15 20 18 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 82 0 1 -147 +box -10 -8 13 21 +<< end >>
diff --git a/mag/sky130_hilas_TgateVinj01.mag b/mag/sky130_hilas_TgateVinj01.mag new file mode 100644 index 0000000..8449cdc --- /dev/null +++ b/mag/sky130_hilas_TgateVinj01.mag
@@ -0,0 +1,225 @@ +magic +tech sky130A +timestamp 1625970418 +<< nwell >> +rect -232 -40 110 119 +<< mvnmos >> +rect 173 55 223 86 +rect 173 -7 223 24 +<< mvpmos >> +rect -147 55 -97 86 +rect -147 -7 -97 25 +rect -7 -7 43 24 +<< mvndiff >> +rect 145 79 173 86 +rect 145 62 150 79 +rect 167 62 173 79 +rect 145 55 173 62 +rect 223 79 251 86 +rect 223 62 229 79 +rect 246 62 251 79 +rect 223 55 251 62 +rect 145 17 173 24 +rect 145 0 150 17 +rect 167 0 173 17 +rect 145 -7 173 0 +rect 223 17 251 24 +rect 223 0 229 17 +rect 246 0 251 17 +rect 223 -7 251 0 +<< mvpdiff >> +rect -177 78 -147 86 +rect -177 61 -170 78 +rect -153 61 -147 78 +rect -177 55 -147 61 +rect -97 79 -67 86 +rect -97 62 -91 79 +rect -74 62 -67 79 +rect -97 55 -67 62 +rect -177 18 -147 25 +rect -177 1 -170 18 +rect -153 1 -147 18 +rect -177 -7 -147 1 +rect -97 17 -67 25 +rect -97 0 -91 17 +rect -73 0 -67 17 +rect -97 -7 -67 0 +rect -37 17 -7 24 +rect -37 0 -30 17 +rect -13 0 -7 17 +rect -37 -7 -7 0 +rect 43 17 73 24 +rect 43 0 49 17 +rect 66 0 73 17 +rect 43 -7 73 0 +<< mvndiffc >> +rect 150 62 167 79 +rect 229 62 246 79 +rect 150 0 167 17 +rect 229 0 246 17 +<< mvpdiffc >> +rect -170 61 -153 78 +rect -91 62 -74 79 +rect -170 1 -153 18 +rect -91 0 -73 17 +rect -30 0 -13 17 +rect 49 0 66 17 +<< psubdiff >> +rect 283 22 314 34 +rect 283 5 287 22 +rect 304 5 314 22 +rect 283 -7 314 5 +<< nsubdiff >> +rect -214 56 -189 86 +rect -214 39 -210 56 +rect -193 39 -189 56 +rect -214 22 -189 39 +rect -214 5 -210 22 +rect -193 5 -189 22 +rect -214 -7 -189 5 +<< psubdiffcont >> +rect 287 5 304 22 +<< nsubdiffcont >> +rect -210 39 -193 56 +rect -210 5 -193 22 +<< poly >> +rect -147 96 319 103 +rect -147 88 294 96 +rect -147 86 -97 88 +rect 173 86 223 88 +rect -58 61 43 67 +rect -147 25 -97 55 +rect -58 44 -48 61 +rect -31 44 43 61 +rect 283 79 294 88 +rect 311 79 319 96 +rect 283 74 319 79 +rect -58 38 43 44 +rect -7 24 43 38 +rect 173 24 223 55 +rect -147 -20 -97 -7 +rect -7 -20 43 -7 +rect 173 -20 223 -7 +<< polycont >> +rect -48 44 -31 61 +rect 294 79 311 96 +<< locali >> +rect 294 96 311 104 +rect -170 78 -153 86 +rect -100 62 -91 79 +rect -74 62 150 79 +rect 167 62 175 79 +rect 221 62 229 79 +rect 246 62 258 79 +rect 294 69 311 79 +rect -170 50 -153 61 +rect -56 61 -23 62 +rect -56 44 -48 61 +rect -31 44 -23 61 +rect 294 52 300 69 +rect 294 48 311 52 +rect -170 18 -153 33 +rect 287 22 304 30 +rect -170 -7 -153 1 +rect -100 0 -91 17 +rect -73 1 -72 17 +rect 199 17 223 21 +rect -55 1 -30 17 +rect -73 0 -30 1 +rect -13 0 -4 17 +rect 41 0 49 17 +rect 66 0 128 17 +rect 145 0 150 17 +rect 167 0 175 17 +rect 199 0 203 17 +rect 220 0 229 17 +rect 246 0 256 17 +rect 199 -3 223 0 +<< viali >> +rect -210 56 -193 73 +rect -210 22 -193 39 +rect -210 -12 -193 5 +rect -170 33 -153 50 +rect 300 52 317 69 +rect -72 1 -55 18 +rect 128 0 145 17 +rect 203 0 220 17 +rect 287 -12 304 5 +<< metal1 >> +rect -174 89 -149 119 +rect -213 73 -149 89 +rect -213 56 -210 73 +rect -193 56 -149 73 +rect -213 50 -149 56 +rect -213 39 -170 50 +rect -213 22 -210 39 +rect -193 33 -170 39 +rect -153 33 -149 50 +rect -193 22 -149 33 +rect -213 5 -149 22 +rect -59 22 -25 25 +rect -59 21 -54 22 +rect -213 -12 -210 5 +rect -193 -12 -149 5 +rect -81 18 -54 21 +rect -81 1 -72 18 +rect -55 1 -54 18 +rect -81 -2 -54 1 +rect -59 -4 -54 -2 +rect -28 17 -25 22 +rect 125 17 148 119 +rect 260 31 279 119 +rect 293 74 325 75 +rect 293 48 296 74 +rect 322 48 325 74 +rect 293 47 325 48 +rect -28 0 -13 17 +rect 125 0 128 17 +rect 145 0 148 17 +rect -28 -4 -25 0 +rect -59 -7 -25 -4 +rect -213 -18 -149 -12 +rect -174 -40 -149 -18 +rect 125 -40 148 0 +rect 184 22 221 23 +rect 184 -4 187 22 +rect 213 17 226 22 +rect 220 0 226 17 +rect 213 -4 226 0 +rect 260 5 307 31 +rect 184 -6 221 -4 +rect 260 -12 287 5 +rect 304 -12 307 5 +rect 260 -18 307 -12 +rect 260 -40 279 -18 +<< via1 >> +rect -54 -4 -28 22 +rect 296 69 322 74 +rect 296 52 300 69 +rect 300 52 317 69 +rect 317 52 322 69 +rect 296 48 322 52 +rect 187 17 213 22 +rect 187 0 203 17 +rect 203 0 213 17 +rect 187 -4 213 0 +<< metal2 >> +rect 292 74 326 76 +rect 292 48 296 74 +rect 322 69 326 74 +rect 322 48 336 69 +rect 292 46 336 48 +rect 184 22 216 25 +rect -57 -4 -54 22 +rect -28 17 -25 22 +rect 184 17 187 22 +rect -28 -2 187 17 +rect -28 -4 -25 -2 +rect 184 -4 187 -2 +rect 213 -4 216 22 +rect 184 -7 216 -4 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 266 0 1 65 +box -10 -8 13 21 +<< end >>
diff --git a/mag/sky130_hilas_TopLevelProtectStructure.mag b/mag/sky130_hilas_TopLevelProtectStructure.mag index e0cf01b..b859aa7 100644 --- a/mag/sky130_hilas_TopLevelProtectStructure.mag +++ b/mag/sky130_hilas_TopLevelProtectStructure.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1626388145 +timestamp 1626702094 << error_s >> rect -626 12757 -597 12773 rect -547 12757 -518 12773 @@ -170,6 +170,7 @@ rect -547 12209 -518 12224 rect -468 12209 -439 12224 rect -389 12209 -360 12224 +rect 4046 11453 4059 11454 rect 3665 11232 3671 11238 rect 3718 11232 3724 11238 rect 3831 11232 3837 11238 @@ -208,8 +209,6 @@ rect 3499 10705 3503 10716 rect 3499 10691 3500 10702 rect 3608 10701 3609 10754 -rect 5090 10706 5095 10714 -rect 5076 10692 5081 10700 rect 3666 10629 3672 10635 rect 3719 10629 3725 10635 rect 3831 10629 3837 10635 @@ -342,27 +341,17 @@ rect 3724 8451 3730 8457 rect 3233 8444 3239 8450 rect 3350 8444 3356 8450 -rect 2897 8302 2929 8307 -rect 2899 8301 2927 8302 -rect 2883 8288 2943 8293 -rect 2885 8287 2941 8288 rect 8801 7705 8802 7718 rect 8801 7704 8815 7705 rect -1497 7546 -1490 7584 rect -1483 7552 -1476 7598 -rect -817 7316 -816 7351 -rect -803 7302 -802 7365 rect -931 7162 -919 7165 rect -943 7141 -938 7153 -rect 8040 7134 8041 7166 -rect 8054 7120 8055 7180 -rect 8040 6973 8041 7005 -rect 8054 6959 8055 7019 +rect 3392 7113 3393 7131 +rect 3406 7113 3407 7117 rect -950 6801 -938 6809 rect -719 6801 -717 6809 rect 7811 6656 7812 6658 -rect 8040 6169 8041 6201 -rect 8054 6155 8055 6215 rect 744 5906 911 5919 rect 1337 5909 1339 5922 rect 741 5892 911 5905 @@ -499,6 +488,17 @@ rect -12487 5802 -12484 6125 rect -12707 5787 -12484 5802 rect -15468 5250 -15343 5639 +rect 2210 5084 2304 5845 +rect 3402 5084 3496 5839 +rect 10956 5084 11398 8300 +rect 21691 8038 21816 8427 +rect 18866 6053 19102 6066 +rect 18866 5730 18874 6053 +rect 19083 5730 20789 6053 +rect 18866 5720 19102 5730 +rect 21691 5178 21816 5567 +rect 2210 4648 11398 5084 +rect 2235 4642 11398 4648 rect -12256 3266 -12015 3276 rect -14435 2943 -12232 3266 rect -12024 2943 -12015 3266 @@ -518,13 +518,7 @@ rect -14435 -5634 -10692 -5311 rect -10932 -5645 -10707 -5634 rect -15467 -6185 -15342 -5796 -rect 10956 -7830 11398 8300 -rect 21691 8038 21816 8427 -rect 18866 6053 19102 6066 -rect 18866 5730 18874 6053 -rect 19083 5730 20789 6053 -rect 18866 5720 19102 5730 -rect 21691 5178 21816 5567 +rect 10956 -7830 11398 4642 rect 18465 3194 18693 3210 rect 18465 2871 18476 3194 rect 18685 2871 20787 3194 @@ -599,10 +593,10 @@ rect 10964 8311 11392 8420 rect -5278 8080 -5237 8124 rect -12695 5802 -12487 6125 +rect 18874 5730 19083 6053 rect -12232 2943 -12024 3266 rect -11791 84 -11583 407 rect -11357 -2775 -11149 -2452 -rect 18874 5730 19083 6053 rect 18476 2871 18685 3194 rect 18051 12 18260 335 rect 17657 -2847 17866 -2524 @@ -853,8 +847,9 @@ rect 7215 -23648 7417 5843 rect 7215 -23814 7419 -23648 rect 7624 -23650 7826 5843 +rect 8041 -23643 8243 5843 rect 7624 -23816 7827 -23650 -rect 8041 -23816 8243 5843 +rect 8034 -23816 8243 -23643 rect 8441 -23650 8643 5843 rect 8842 -23650 9044 5843 rect 9238 -23650 9440 5843 @@ -914,24 +909,25 @@ rect 10871 -8293 11331 -8283 rect 9643 -23816 9847 -23650 rect 10049 -23816 10253 -23650 +rect 8034 -23817 8242 -23816 rect -15053 -24304 -14913 -24107 rect -14423 -24337 -14283 -23971 -use sky130_hilas_TopLevelTextStructure sky130_hilas_TopLevelTextStructure_0 -timestamp 1626388145 -transform 1 0 -2990 0 1 6624 -box 218 -793 13243 6785 use sky130_hilas_RightProtection sky130_hilas_RightProtection_0 -timestamp 1626060794 +timestamp 1626559870 transform 1 0 22518 0 1 -15744 box -2054 8715 -826 28728 use sky130_hilas_LeftProtection sky130_hilas_LeftProtection_0 -timestamp 1626060794 +timestamp 1626559870 transform 1 0 -13278 0 1 -15672 box -2065 -8439 -833 28728 use sky130_hilas_TopProtection sky130_hilas_TopProtection_0 -timestamp 1626100607 +timestamp 1626559870 transform 1 0 -13875 0 1 13286 box -2 -76 34131 1170 +use sky130_hilas_TopLevelTextStructure sky130_hilas_TopLevelTextStructure_0 +timestamp 1626570174 +transform 1 0 -2990 0 1 6624 +box 218 -793 13243 6785 << labels >> rlabel metal1 21692 -6258 21817 -5869 0 IO07 port 1 nsew @@ -1053,7 +1049,7 @@ port 56 nsew rlabel metal2 7624 -23816 7827 -23650 0 LADATAOUT22 port 57 nsew -rlabel space 8039 -23816 8242 -23650 0 LADATAOUT23 +rlabel metal2 8039 -23816 8242 -23650 0 LADATAOUT23 port 58 nsew rlabel metal2 8441 -23816 8644 -23650 0 LADATAOUT24 port 59 nsew
diff --git a/mag/sky130_hilas_TopLevelTestStructure.mag b/mag/sky130_hilas_TopLevelTestStructure.mag new file mode 100644 index 0000000..8e51db8 --- /dev/null +++ b/mag/sky130_hilas_TopLevelTestStructure.mag
@@ -0,0 +1,2952 @@ +magic +tech sky130A +timestamp 1626369836 +<< error_s >> +rect 2364 6133 2393 6149 +rect 2443 6133 2472 6149 +rect 2522 6133 2551 6149 +rect 2601 6133 2630 6149 +rect 1226 6109 1233 6115 +rect 2077 6109 2083 6115 +rect 2909 6109 2915 6115 +rect 3014 6109 3020 6115 +rect 3429 6104 3435 6110 +rect 3484 6104 3490 6110 +rect 2364 6099 2365 6100 +rect 2392 6099 2393 6100 +rect 2443 6099 2444 6100 +rect 2471 6099 2472 6100 +rect 2522 6099 2523 6100 +rect 2550 6099 2551 6100 +rect 2601 6099 2602 6100 +rect 2629 6099 2630 6100 +rect 2314 6070 2331 6099 +rect 2363 6098 2394 6099 +rect 2442 6098 2473 6099 +rect 2521 6098 2552 6099 +rect 2600 6098 2631 6099 +rect 2364 6091 2393 6098 +rect 2443 6091 2472 6098 +rect 2522 6091 2551 6098 +rect 2601 6091 2630 6098 +rect 2364 6077 2373 6091 +rect 2620 6077 2630 6091 +rect 2364 6071 2393 6077 +rect 2443 6071 2472 6077 +rect 2522 6071 2551 6077 +rect 2601 6071 2630 6077 +rect 2363 6070 2394 6071 +rect 2442 6070 2473 6071 +rect 2521 6070 2552 6071 +rect 2600 6070 2631 6071 +rect 2662 6070 2680 6099 +rect 2364 6069 2365 6070 +rect 2392 6069 2393 6070 +rect 2443 6069 2444 6070 +rect 2471 6069 2472 6070 +rect 2522 6069 2523 6070 +rect 2550 6069 2551 6070 +rect 2601 6069 2602 6070 +rect 2629 6069 2630 6070 +rect 2903 6059 2909 6065 +rect 3020 6059 3026 6065 +rect 3423 6054 3429 6060 +rect 3490 6054 3496 6060 +rect 2364 6020 2393 6035 +rect 2443 6020 2472 6035 +rect 2522 6020 2551 6035 +rect 2601 6020 2630 6035 +rect 2364 5853 2393 5869 +rect 2443 5853 2472 5869 +rect 2522 5853 2551 5869 +rect 2601 5853 2630 5869 +rect 918 5850 923 5851 +rect 2364 5819 2365 5820 +rect 2392 5819 2393 5820 +rect 2443 5819 2444 5820 +rect 2471 5819 2472 5820 +rect 2522 5819 2523 5820 +rect 2550 5819 2551 5820 +rect 2601 5819 2602 5820 +rect 2629 5819 2630 5820 +rect 2314 5790 2331 5819 +rect 2363 5818 2394 5819 +rect 2442 5818 2473 5819 +rect 2521 5818 2552 5819 +rect 2600 5818 2631 5819 +rect 2364 5811 2393 5818 +rect 2443 5811 2472 5818 +rect 2522 5811 2551 5818 +rect 2601 5811 2630 5818 +rect 2364 5797 2373 5811 +rect 2620 5797 2630 5811 +rect 2364 5791 2393 5797 +rect 2443 5791 2472 5797 +rect 2522 5791 2551 5797 +rect 2601 5791 2630 5797 +rect 2363 5790 2394 5791 +rect 2442 5790 2473 5791 +rect 2521 5790 2552 5791 +rect 2600 5790 2631 5791 +rect 2662 5790 2680 5819 +rect 2909 5810 2915 5816 +rect 3014 5810 3020 5816 +rect 2364 5789 2365 5790 +rect 2392 5789 2393 5790 +rect 2443 5789 2444 5790 +rect 2471 5789 2472 5790 +rect 2522 5789 2523 5790 +rect 2550 5789 2551 5790 +rect 2601 5789 2602 5790 +rect 2629 5789 2630 5790 +rect 3460 5771 3489 5789 +rect 2903 5760 2909 5766 +rect 3020 5760 3026 5766 +rect 2364 5740 2393 5755 +rect 2443 5740 2472 5755 +rect 2522 5740 2551 5755 +rect 2601 5740 2630 5755 +rect 3460 5739 3461 5740 +rect 3488 5739 3489 5740 +rect 630 5683 631 5738 +rect 2364 5698 2393 5714 +rect 2443 5698 2472 5714 +rect 2522 5698 2551 5714 +rect 2601 5698 2630 5714 +rect 2909 5709 2915 5715 +rect 3014 5709 3020 5715 +rect 3410 5710 3428 5739 +rect 3459 5738 3490 5739 +rect 3460 5729 3489 5738 +rect 3460 5720 3470 5729 +rect 3479 5720 3489 5729 +rect 3460 5711 3489 5720 +rect 3459 5710 3490 5711 +rect 3521 5710 3539 5739 +rect 3460 5709 3461 5710 +rect 3488 5709 3489 5710 +rect 2364 5664 2365 5665 +rect 2392 5664 2393 5665 +rect 2443 5664 2444 5665 +rect 2471 5664 2472 5665 +rect 2522 5664 2523 5665 +rect 2550 5664 2551 5665 +rect 2601 5664 2602 5665 +rect 2629 5664 2630 5665 +rect 1221 5643 1227 5649 +rect 2083 5643 2089 5649 +rect 2314 5635 2331 5664 +rect 2363 5663 2394 5664 +rect 2442 5663 2473 5664 +rect 2521 5663 2552 5664 +rect 2600 5663 2631 5664 +rect 2364 5656 2393 5663 +rect 2443 5656 2472 5663 +rect 2522 5656 2551 5663 +rect 2601 5656 2630 5663 +rect 2364 5642 2373 5656 +rect 2620 5642 2630 5656 +rect 2364 5636 2393 5642 +rect 2443 5636 2472 5642 +rect 2522 5636 2551 5642 +rect 2601 5636 2630 5642 +rect 2363 5635 2394 5636 +rect 2442 5635 2473 5636 +rect 2521 5635 2552 5636 +rect 2600 5635 2631 5636 +rect 2662 5635 2680 5664 +rect 2903 5659 2909 5665 +rect 3020 5659 3026 5665 +rect 3460 5660 3489 5678 +rect 2364 5634 2365 5635 +rect 2392 5634 2393 5635 +rect 2443 5634 2444 5635 +rect 2471 5634 2472 5635 +rect 2522 5634 2523 5635 +rect 2550 5634 2551 5635 +rect 2601 5634 2602 5635 +rect 2629 5634 2630 5635 +rect 2364 5585 2393 5600 +rect 2443 5585 2472 5600 +rect 2522 5585 2551 5600 +rect 2601 5585 2630 5600 +rect 6655 4608 6661 4614 +rect 6708 4608 6714 4614 +rect 6821 4608 6827 4614 +rect 6874 4608 6880 4614 +rect 6649 4558 6655 4564 +rect 6714 4558 6720 4564 +rect 6815 4558 6821 4564 +rect 6880 4558 6886 4564 +rect 6227 4549 6233 4555 +rect 6332 4549 6338 4555 +rect 7244 4549 7250 4555 +rect 7349 4549 7355 4555 +rect 6221 4499 6227 4505 +rect 6338 4499 6344 4505 +rect 7238 4499 7244 4505 +rect 7355 4499 7361 4505 +rect 4088 4369 4451 4370 +rect 4508 4369 4631 4370 +rect 4706 4363 4736 4482 +rect 6227 4248 6233 4254 +rect 6332 4248 6338 4254 +rect 7244 4248 7250 4254 +rect 7349 4248 7355 4254 +rect 6221 4198 6227 4204 +rect 6338 4198 6344 4204 +rect 6655 4194 6661 4200 +rect 6708 4194 6714 4200 +rect 6821 4194 6827 4200 +rect 6874 4194 6880 4200 +rect 7238 4198 7244 4204 +rect 7355 4198 7361 4204 +rect 6649 4144 6655 4150 +rect 6714 4144 6720 4150 +rect 6815 4144 6821 4150 +rect 6880 4144 6886 4150 +rect 6489 4081 6493 4092 +rect 6489 4067 6490 4078 +rect 6598 4077 6599 4130 +rect 8080 4082 8085 4090 +rect 8066 4068 8071 4076 +rect 6656 4005 6662 4011 +rect 6709 4005 6715 4011 +rect 6821 4005 6827 4011 +rect 6874 4005 6880 4011 +rect 6650 3955 6656 3961 +rect 6715 3955 6721 3961 +rect 6815 3955 6821 3961 +rect 6880 3955 6886 3961 +rect 6181 3946 6187 3952 +rect 6286 3946 6292 3952 +rect 7244 3946 7250 3952 +rect 7349 3946 7355 3952 +rect 6175 3896 6181 3902 +rect 6292 3896 6298 3902 +rect 7238 3896 7244 3902 +rect 7355 3896 7361 3902 +rect 7049 3761 7066 3762 +rect 7049 3744 7066 3745 +rect 6487 3727 6488 3740 +rect 6181 3645 6187 3651 +rect 6286 3645 6292 3651 +rect 7244 3645 7250 3651 +rect 7349 3645 7355 3651 +rect 6175 3595 6181 3601 +rect 6292 3595 6298 3601 +rect 6656 3591 6662 3597 +rect 6709 3591 6715 3597 +rect 6821 3591 6827 3597 +rect 6874 3591 6880 3597 +rect 7238 3595 7244 3601 +rect 7355 3595 7361 3601 +rect 6650 3541 6656 3547 +rect 6715 3541 6721 3547 +rect 6815 3541 6821 3547 +rect 6880 3541 6886 3547 +rect 6229 3280 6235 3286 +rect 6334 3280 6340 3286 +rect 7200 3280 7206 3286 +rect 7305 3280 7311 3286 +rect 6655 3270 6661 3276 +rect 6708 3270 6714 3276 +rect 6826 3270 6832 3276 +rect 6879 3270 6885 3276 +rect 6223 3216 6229 3222 +rect 6340 3216 6346 3222 +rect 6649 3220 6655 3226 +rect 6714 3220 6720 3226 +rect 6820 3220 6826 3226 +rect 6885 3220 6891 3226 +rect 7194 3216 7200 3222 +rect 7311 3216 7317 3222 +rect 6229 3163 6235 3169 +rect 6334 3163 6340 3169 +rect 6655 3161 6661 3167 +rect 6708 3161 6714 3167 +rect 6826 3161 6832 3167 +rect 6879 3161 6885 3167 +rect 7200 3163 7206 3169 +rect 7305 3163 7311 3169 +rect 6649 3111 6655 3117 +rect 6714 3111 6720 3117 +rect 6820 3111 6826 3117 +rect 6885 3111 6891 3117 +rect 6223 3099 6229 3105 +rect 6340 3099 6346 3105 +rect 7194 3099 7200 3105 +rect 7311 3099 7317 3105 +rect 6229 2978 6235 2984 +rect 6334 2978 6340 2984 +rect 7200 2978 7206 2984 +rect 7305 2978 7311 2984 +rect 6655 2972 6661 2978 +rect 6708 2972 6714 2978 +rect 6826 2972 6832 2978 +rect 6879 2972 6885 2978 +rect 6649 2922 6655 2928 +rect 6714 2922 6720 2928 +rect 6820 2922 6826 2928 +rect 6885 2922 6891 2928 +rect 6223 2914 6229 2920 +rect 6340 2914 6346 2920 +rect 7194 2914 7200 2920 +rect 7311 2914 7317 2920 +rect 6229 2862 6235 2868 +rect 6334 2862 6340 2868 +rect 7200 2862 7206 2868 +rect 7305 2862 7311 2868 +rect 6655 2855 6661 2861 +rect 6708 2855 6714 2861 +rect 6826 2855 6832 2861 +rect 6879 2855 6885 2861 +rect 6649 2805 6655 2811 +rect 6714 2805 6720 2811 +rect 6820 2805 6826 2811 +rect 6885 2805 6891 2811 +rect 6223 2798 6229 2804 +rect 6340 2798 6346 2804 +rect 7194 2798 7200 2804 +rect 7311 2798 7317 2804 +rect 6229 2302 6235 2308 +rect 6334 2302 6340 2308 +rect 6655 2292 6661 2298 +rect 6708 2292 6714 2298 +rect 6223 2238 6229 2244 +rect 6340 2238 6346 2244 +rect 6649 2242 6655 2248 +rect 6714 2242 6720 2248 +rect 6229 2185 6235 2191 +rect 6334 2185 6340 2191 +rect 6655 2183 6661 2189 +rect 6708 2183 6714 2189 +rect 6649 2133 6655 2139 +rect 6714 2133 6720 2139 +rect 6223 2121 6229 2127 +rect 6340 2121 6346 2127 +rect 6229 2000 6235 2006 +rect 6334 2000 6340 2006 +rect 6492 1995 6509 1999 +rect 6655 1994 6661 2000 +rect 6708 1994 6714 2000 +rect 6649 1944 6655 1950 +rect 6714 1944 6720 1950 +rect 6223 1936 6229 1942 +rect 6340 1936 6346 1942 +rect 6229 1884 6235 1890 +rect 6334 1884 6340 1890 +rect 6655 1877 6661 1883 +rect 6708 1877 6714 1883 +rect 6649 1827 6655 1833 +rect 6714 1827 6720 1833 +rect 6223 1820 6229 1826 +rect 6340 1820 6346 1826 +rect 5887 1678 5919 1683 +rect 5889 1677 5917 1678 +rect 5873 1664 5933 1669 +rect 5875 1663 5931 1664 +rect 11791 1081 11792 1094 +rect 11791 1080 11805 1081 +rect 1493 922 1500 960 +rect 1507 928 1514 974 +rect 2173 692 2174 727 +rect 2187 678 2188 741 +rect 2059 538 2071 541 +rect 2047 517 2052 529 +rect 2040 177 2052 185 +rect 2271 177 2273 185 +rect 10801 32 10802 34 +rect 3734 -718 3901 -705 +rect 4327 -715 4329 -702 +rect 3731 -732 3901 -719 +rect 4327 -729 4330 -716 +rect 4737 -717 4738 -704 +rect 4737 -731 4739 -718 +<< nwell >> +rect 4187 4364 4211 4369 +rect 4163 4363 4310 4364 +rect 4133 4355 4310 4363 +rect 4736 4355 4957 4364 +rect 5551 4339 5619 4340 +rect 5550 3734 5620 4339 +<< psubdiff >> +rect 2052 529 2270 538 +rect 2052 177 2059 529 +rect 2076 177 2095 529 +rect 2112 177 2130 529 +rect 2147 177 2165 529 +rect 2182 177 2201 529 +rect 2218 177 2236 529 +rect 2253 177 2271 529 +rect 2040 170 2273 177 +rect 2052 164 2270 170 +<< psubdiffcont >> +rect 2059 177 2076 529 +rect 2095 177 2112 529 +rect 2130 177 2147 529 +rect 2165 177 2182 529 +rect 2201 177 2218 529 +rect 2236 177 2253 529 +<< locali >> +rect 2035 529 2274 534 +rect 2035 497 2041 529 +rect 2040 177 2041 497 +rect 2058 177 2059 529 +rect 2076 177 2078 529 +rect 2112 177 2113 529 +rect 2164 177 2165 529 +rect 2199 177 2201 529 +rect 2235 177 2236 529 +rect 2253 177 2254 529 +rect 2271 177 2274 529 +rect 2040 171 2274 177 +rect 2040 170 2273 171 +<< viali >> +rect 2041 177 2058 529 +rect 2078 177 2095 529 +rect 2113 177 2130 529 +rect 2147 177 2164 529 +rect 2182 177 2199 529 +rect 2218 177 2235 529 +rect 2254 177 2271 529 +<< metal1 >> +rect 8233 6611 8267 6625 +rect 9021 6611 9093 6785 +rect 8233 6539 9093 6611 +rect 3026 6294 3160 6339 +rect 416 6254 466 6258 +rect 416 6215 421 6254 +rect 460 6215 466 6254 +rect 3026 6252 4378 6294 +rect 4557 6285 4876 6397 +rect 3026 6238 3160 6252 +rect 416 6210 466 6215 +rect 426 5914 465 6210 +rect 2485 6178 2762 6202 +rect 2485 6137 2509 6178 +rect 426 5909 473 5914 +rect 426 5870 429 5909 +rect 468 5870 473 5909 +rect 426 5865 473 5870 +rect 426 5864 471 5865 +rect 426 53 465 5864 +rect 567 5779 593 5782 +rect 567 5750 593 5753 +rect 568 5528 592 5750 +rect 559 5525 601 5528 +rect 559 5480 601 5483 +rect 1148 5404 1177 5596 +rect 1146 5401 1187 5404 +rect 1146 5343 1154 5401 +rect 1183 5343 1187 5401 +rect 1146 5337 1187 5343 +rect 2484 5268 2508 5591 +rect 2479 5263 2513 5268 +rect 2479 5237 2483 5263 +rect 2509 5237 2513 5263 +rect 2479 5234 2513 5237 +rect 2143 5189 2173 5192 +rect 2143 5156 2173 5159 +rect 1811 4355 1834 4703 +rect 1878 4641 1900 4703 +rect 2147 4675 2169 5156 +rect 2738 5131 2762 6178 +rect 3069 6145 3372 6172 +rect 3540 6146 3566 6252 +rect 3066 5228 3097 5598 +rect 3058 5225 3097 5228 +rect 3058 5194 3062 5225 +rect 3093 5194 3097 5225 +rect 3058 5191 3097 5194 +rect 3345 5177 3372 6145 +rect 4336 5927 4378 6252 +rect 4717 6003 4759 6285 +rect 4717 6000 4764 6003 +rect 4717 5958 4720 6000 +rect 4762 5958 4764 6000 +rect 4717 5955 4764 5958 +rect 4332 5924 4380 5927 +rect 4332 5882 4335 5924 +rect 4377 5882 4380 5924 +rect 4332 5879 4380 5882 +rect 4887 5765 4931 5768 +rect 4887 5718 4931 5721 +rect 5459 5765 5503 5768 +rect 5459 5718 5503 5721 +rect 5638 5762 5711 6401 +rect 6153 6386 6251 6401 +rect 5638 5718 5641 5762 +rect 5685 5718 5711 5762 +rect 4445 5663 4489 5666 +rect 4445 5616 4489 5619 +rect 3462 5277 3487 5592 +rect 4166 5343 4198 5347 +rect 4166 5342 4169 5343 +rect 4157 5317 4169 5342 +rect 4195 5317 4198 5343 +rect 4157 5313 4198 5317 +rect 3458 5274 3491 5277 +rect 3458 5248 3462 5274 +rect 3488 5248 3491 5274 +rect 3458 5241 3491 5248 +rect 3341 5175 3375 5177 +rect 3341 5149 3345 5175 +rect 3372 5149 3375 5175 +rect 3341 5146 3375 5149 +rect 2733 5128 2767 5131 +rect 2198 5106 2253 5109 +rect 2198 5099 2212 5106 +rect 2187 5071 2212 5099 +rect 2247 5071 2253 5106 +rect 2733 5102 2737 5128 +rect 2763 5102 2767 5128 +rect 2733 5099 2767 5102 +rect 2187 5056 2253 5071 +rect 2187 4675 2209 5056 +rect 4157 4963 4181 5313 +rect 4451 4956 4482 5616 +rect 4894 4958 4923 5718 +rect 5013 5619 5016 5663 +rect 5060 5619 5063 5663 +rect 2309 4886 2344 4890 +rect 2309 4847 2314 4886 +rect 2340 4847 2344 4886 +rect 2309 4844 2344 4847 +rect 3952 4874 3989 4877 +rect 3952 4848 3954 4874 +rect 3987 4848 3989 4874 +rect 3952 4846 3989 4848 +rect 2249 4808 2274 4820 +rect 2246 4805 2278 4808 +rect 2246 4765 2250 4805 +rect 2276 4765 2278 4805 +rect 2246 4762 2278 4765 +rect 2249 4683 2274 4762 +rect 2249 4680 2278 4683 +rect 2249 4654 2252 4680 +rect 2249 4651 2278 4654 +rect 1875 4638 1901 4641 +rect 1875 4609 1901 4612 +rect 1878 4549 1900 4609 +rect 1872 4546 1900 4549 +rect 1898 4520 1900 4546 +rect 1872 4517 1900 4520 +rect 1878 4457 1900 4517 +rect 1873 4454 1900 4457 +rect 1899 4428 1900 4454 +rect 1873 4425 1900 4428 +rect 1808 4352 1834 4355 +rect 1808 4323 1834 4326 +rect 1811 4259 1834 4323 +rect 1804 4256 1834 4259 +rect 1830 4230 1834 4256 +rect 1804 4227 1834 4230 +rect 1811 4163 1834 4227 +rect 1808 4160 1834 4163 +rect 1808 4131 1834 4134 +rect 1811 2656 1834 4131 +rect 1878 2656 1900 4425 +rect 2249 4591 2274 4651 +rect 2249 4588 2278 4591 +rect 2249 4562 2252 4588 +rect 2249 4559 2278 4562 +rect 2249 4499 2274 4559 +rect 2249 4496 2275 4499 +rect 2249 4467 2275 4470 +rect 1800 2653 1834 2656 +rect 1800 2606 1804 2653 +rect 1830 2606 1834 2653 +rect 1800 2603 1834 2606 +rect 1866 2653 1900 2656 +rect 1866 2606 1868 2653 +rect 1894 2606 1900 2653 +rect 1866 2603 1900 2606 +rect 1669 2529 1692 2536 +rect 1665 2503 1668 2529 +rect 1694 2503 1697 2529 +rect 1620 2492 1643 2496 +rect 1616 2489 1643 2492 +rect 1642 2463 1643 2489 +rect 1616 2460 1643 2463 +rect 685 2404 757 2406 +rect 685 2338 688 2404 +rect 754 2338 757 2404 +rect 685 2336 757 2338 +rect 686 1821 752 2336 +rect 1620 2108 1643 2460 +rect 1669 2256 1692 2503 +rect 1811 2494 1834 2603 +rect 1878 2530 1900 2603 +rect 2054 2532 2081 2536 +rect 1876 2527 1902 2530 +rect 1876 2498 1902 2501 +rect 2052 2529 2081 2532 +rect 2079 2502 2081 2529 +rect 2052 2499 2081 2502 +rect 1810 2491 1836 2494 +rect 1810 2462 1836 2465 +rect 1999 2345 2028 2348 +rect 1669 2219 1742 2256 +rect 1620 2101 1646 2108 +rect 1618 2100 1646 2101 +rect 1615 2098 1647 2100 +rect 1615 2072 1618 2098 +rect 1644 2072 1647 2098 +rect 1615 2069 1647 2072 +rect 1205 1923 1248 1926 +rect 1205 1886 1209 1923 +rect 1246 1886 1248 1923 +rect 1205 1883 1248 1886 +rect 686 1818 760 1821 +rect 686 1752 692 1818 +rect 758 1752 760 1818 +rect 686 1749 760 1752 +rect 1210 1302 1247 1883 +rect 1669 1469 1692 2219 +rect 2054 2202 2081 2499 +rect 2042 2177 2081 2202 +rect 2102 2492 2126 2496 +rect 2102 2489 2128 2492 +rect 2102 2460 2128 2463 +rect 2102 2146 2126 2460 +rect 2042 2123 2126 2146 +rect 1669 1446 1914 1469 +rect 1882 1413 1914 1446 +rect 1206 1299 1249 1302 +rect 1206 1262 1208 1299 +rect 1245 1262 1249 1299 +rect 1206 1259 1249 1262 +rect 1958 1256 1991 1259 +rect 1944 1248 1962 1256 +rect 1920 1224 1962 1248 +rect 1958 1220 1962 1224 +rect 1988 1220 1991 1256 +rect 1958 1217 1991 1220 +rect 1507 725 1536 728 +rect 1507 693 1536 696 +rect 1508 636 1534 693 +rect 2102 657 2126 2123 +rect 2147 2056 2169 4131 +rect 2187 2317 2209 4131 +rect 2249 2432 2274 4467 +rect 2311 4390 2337 4844 +rect 3888 4709 3927 4711 +rect 3888 4676 3891 4709 +rect 3924 4676 3927 4709 +rect 3888 4674 3927 4676 +rect 3830 4561 3869 4564 +rect 3830 4528 3834 4561 +rect 3867 4528 3869 4561 +rect 3830 4525 3869 4528 +rect 3766 4401 3805 4404 +rect 2311 4387 2339 4390 +rect 2311 4361 2313 4387 +rect 3766 4368 3770 4401 +rect 3803 4368 3805 4401 +rect 3766 4366 3805 4368 +rect 2311 4358 2339 4361 +rect 3769 4365 3803 4366 +rect 2311 4294 2337 4358 +rect 3705 4346 3739 4347 +rect 3704 4344 3740 4346 +rect 3704 4311 3706 4344 +rect 3739 4311 3740 4344 +rect 3704 4307 3740 4311 +rect 2311 4291 2340 4294 +rect 2311 4265 2314 4291 +rect 2311 4262 2340 4265 +rect 2311 4198 2337 4262 +rect 2311 4195 2339 4198 +rect 2311 4169 2313 4195 +rect 2311 4166 2339 4169 +rect 3643 4187 3679 4190 +rect 2249 2430 2275 2432 +rect 2248 2429 2276 2430 +rect 2248 2403 2249 2429 +rect 2275 2403 2276 2429 +rect 2248 2402 2276 2403 +rect 2249 2400 2275 2402 +rect 2183 2314 2215 2317 +rect 2183 2288 2187 2314 +rect 2213 2288 2215 2314 +rect 2183 2285 2215 2288 +rect 2143 2053 2171 2056 +rect 2143 2027 2145 2053 +rect 2143 2024 2171 2027 +rect 2147 727 2169 2024 +rect 2187 1259 2209 2285 +rect 2185 1256 2211 1259 +rect 2185 1217 2211 1220 +rect 2143 724 2174 727 +rect 2143 695 2144 724 +rect 2173 695 2174 724 +rect 2143 692 2174 695 +rect 2023 654 2126 657 +rect 2023 594 2028 654 +rect 2088 601 2126 654 +rect 2088 594 2102 601 +rect 2023 590 2102 594 +rect 2187 536 2209 1217 +rect 2249 893 2274 2400 +rect 2311 1999 2337 4166 +rect 3643 4154 3645 4187 +rect 3678 4154 3679 4187 +rect 3643 4151 3679 4154 +rect 3578 4034 3619 4037 +rect 3578 4001 3582 4034 +rect 3615 4001 3619 4034 +rect 3578 3997 3619 4001 +rect 3525 3877 3561 3880 +rect 3525 3844 3526 3877 +rect 3559 3844 3561 3877 +rect 3525 3841 3561 3844 +rect 3467 3335 3500 3337 +rect 3461 3330 3500 3335 +rect 3461 3297 3464 3330 +rect 3497 3297 3500 3330 +rect 3461 3293 3500 3297 +rect 3404 3174 3437 3176 +rect 3399 3171 3438 3174 +rect 3399 3138 3401 3171 +rect 3434 3138 3438 3171 +rect 3399 3135 3438 3138 +rect 3342 3019 3375 3020 +rect 3339 3016 3375 3019 +rect 3372 2983 3375 3016 +rect 3339 2980 3375 2983 +rect 3277 2868 3316 2872 +rect 3277 2835 3279 2868 +rect 3312 2835 3316 2868 +rect 3277 2832 3316 2835 +rect 3210 2351 3253 2355 +rect 3210 2318 3215 2351 +rect 3248 2318 3253 2351 +rect 3210 2315 3253 2318 +rect 3144 2194 3185 2198 +rect 3144 2161 3148 2194 +rect 3181 2161 3185 2194 +rect 3144 2158 3185 2161 +rect 3083 2030 3122 2034 +rect 2310 1996 2341 1999 +rect 2310 1970 2313 1996 +rect 2339 1970 2341 1996 +rect 3083 1997 3086 2030 +rect 3119 1997 3122 2030 +rect 3083 1994 3122 1997 +rect 2310 1967 2341 1970 +rect 2245 890 2275 893 +rect 2245 857 2247 890 +rect 2273 857 2275 890 +rect 2245 853 2275 857 +rect 2034 529 2276 536 +rect 2034 177 2041 529 +rect 2058 177 2078 529 +rect 2095 177 2113 529 +rect 2130 177 2147 529 +rect 2164 177 2182 529 +rect 2199 177 2218 529 +rect 2235 177 2254 529 +rect 2271 177 2276 529 +rect 2034 168 2276 177 +rect 2311 139 2337 1967 +rect 3014 1886 3055 1889 +rect 3014 1853 3018 1886 +rect 3051 1853 3055 1886 +rect 3014 1850 3055 1853 +rect 2302 135 2337 139 +rect 2302 101 2306 135 +rect 2332 101 2337 135 +rect 2302 98 2337 101 +rect 409 46 465 53 +rect 409 7 415 46 +rect 454 7 465 46 +rect 409 1 465 7 +rect 3020 -484 3053 1850 +rect 3015 -485 3058 -484 +rect 3012 -487 3061 -485 +rect 3012 -530 3015 -487 +rect 3058 -530 3061 -487 +rect 3012 -531 3061 -530 +rect 3015 -533 3058 -531 +rect 3085 -563 3118 1994 +rect 3076 -566 3125 -563 +rect 3076 -609 3080 -566 +rect 3123 -609 3125 -566 +rect 3076 -612 3125 -609 +rect 3150 -634 3183 2158 +rect 3147 -637 3187 -634 +rect 3147 -680 3187 -677 +rect 3126 -720 3184 -718 +rect 3126 -771 3130 -720 +rect 3181 -729 3184 -720 +rect 3217 -729 3250 2315 +rect 3281 -271 3314 2832 +rect 3281 -717 3313 -271 +rect 3342 -656 3375 2980 +rect 3404 -595 3437 3135 +rect 3467 -528 3500 3293 +rect 3527 -462 3560 3841 +rect 3585 -405 3618 3997 +rect 3646 -338 3679 4151 +rect 3705 -277 3738 4307 +rect 3769 -210 3802 4365 +rect 3831 -145 3864 4525 +rect 3891 -82 3924 4674 +rect 3954 -21 3987 4846 +rect 4481 4363 4482 4364 +rect 4157 4355 4181 4363 +rect 4451 4355 4482 4363 +rect 4894 4355 4923 4363 +rect 5040 4319 5059 5619 +rect 5468 4315 5493 5718 +rect 5638 5714 5711 5718 +rect 5654 4675 5671 5714 +rect 6154 5661 6251 6386 +rect 7416 6284 7735 6396 +rect 6693 5924 6840 5930 +rect 6693 5882 6697 5924 +rect 6832 5882 6840 5924 +rect 6693 5877 6840 5882 +rect 6456 5663 6500 5666 +rect 6152 5659 6253 5661 +rect 6152 5618 6155 5659 +rect 6250 5618 6253 5659 +rect 6152 5614 6253 5618 +rect 6456 5616 6500 5619 +rect 5923 5074 5957 5077 +rect 5923 5048 5927 5074 +rect 5953 5048 5957 5074 +rect 5923 5045 5957 5048 +rect 5693 4914 5719 4917 +rect 5693 4885 5719 4888 +rect 5696 4662 5715 4885 +rect 5883 4660 5904 4706 +rect 5930 4662 5949 5045 +rect 5967 4865 5996 4868 +rect 5967 4839 5969 4865 +rect 5995 4839 5996 4865 +rect 5967 4836 5996 4839 +rect 5971 4660 5992 4836 +rect 6071 4817 6105 4820 +rect 6071 4791 6075 4817 +rect 6101 4791 6105 4817 +rect 6071 4788 6105 4791 +rect 6079 4663 6097 4788 +rect 6466 4658 6489 5616 +rect 6556 5268 6584 5271 +rect 6556 5242 6557 5268 +rect 6583 5242 6584 5268 +rect 6556 5239 6584 5242 +rect 6512 5177 6540 5180 +rect 6512 5151 6513 5177 +rect 6539 5151 6540 5177 +rect 6512 5148 6540 5151 +rect 6515 4714 6537 5148 +rect 6558 4707 6581 5239 +rect 6695 4639 6737 5877 +rect 6798 4639 6840 5877 +rect 7036 5659 7080 5662 +rect 7036 5612 7080 5615 +rect 7046 4658 7069 5612 +rect 7488 5087 7616 6284 +rect 7864 5765 7892 5777 +rect 7864 5762 7897 5765 +rect 7864 5718 7869 5762 +rect 7864 5715 7897 5718 +rect 7488 5079 7618 5087 +rect 7487 5078 7618 5079 +rect 7487 5052 7491 5078 +rect 7613 5052 7618 5078 +rect 7487 5049 7618 5052 +rect 7165 5013 7195 5016 +rect 7165 4987 7167 5013 +rect 7193 4987 7195 5013 +rect 7165 4984 7195 4987 +rect 7168 4658 7191 4984 +rect 7796 4959 7839 4963 +rect 7796 4933 7800 4959 +rect 7826 4933 7839 4959 +rect 7796 4929 7839 4933 +rect 7820 4662 7839 4929 +rect 7864 4653 7892 5715 +rect 8034 5268 8060 5271 +rect 8034 5239 8060 5242 +rect 7945 5181 7971 5184 +rect 7945 5152 7971 5155 +rect 7948 4714 7967 5152 +rect 8036 4711 8058 5239 +rect 8233 4647 8267 6539 +rect 10273 6287 10592 6399 +rect 8683 6193 8720 6194 +rect 8678 6189 8728 6193 +rect 8678 6152 8686 6189 +rect 8723 6152 8728 6189 +rect 8678 6148 8728 6152 +rect 8298 5340 8330 5344 +rect 8298 5313 8301 5340 +rect 8327 5313 8330 5340 +rect 8298 5307 8330 5313 +rect 8300 4769 8327 5307 +rect 8300 4766 8368 4769 +rect 8300 4723 8322 4766 +rect 8365 4723 8368 4766 +rect 8300 4719 8368 4723 +rect 8300 4654 8327 4719 +rect 4157 3318 4181 3755 +rect 4451 3311 4482 3762 +rect 4894 3313 4923 3760 +rect 5040 3314 5059 3754 +rect 5171 3333 5194 3758 +rect 5468 3333 5493 3760 +rect 5644 3390 5672 3501 +rect 5697 3432 5716 3492 +rect 5897 3448 5936 3450 +rect 5896 3445 5936 3448 +rect 5896 3439 5903 3445 +rect 5697 3413 5860 3432 +rect 5644 3362 5816 3390 +rect 5788 3339 5816 3362 +rect 5841 3335 5860 3413 +rect 5881 3417 5903 3439 +rect 5931 3417 5936 3445 +rect 5881 3414 5936 3417 +rect 5881 3412 5935 3414 +rect 5881 3327 5897 3412 +rect 6293 3405 6331 3407 +rect 6345 3405 6368 3496 +rect 6293 3382 6368 3405 +rect 6467 3396 6490 3496 +rect 6798 3397 6840 3515 +rect 7046 3398 7069 3496 +rect 7168 3407 7191 3496 +rect 6293 3305 6331 3382 +rect 6467 3366 6492 3396 +rect 6468 3319 6492 3366 +rect 6798 3358 6844 3397 +rect 7046 3363 7072 3398 +rect 7166 3369 7247 3407 +rect 7820 3394 7839 3492 +rect 6804 3303 6844 3358 +rect 7048 3319 7072 3363 +rect 7209 3305 7247 3369 +rect 7637 3386 7665 3389 +rect 7637 3360 7638 3386 +rect 7664 3360 7665 3386 +rect 7637 3357 7665 3360 +rect 7680 3375 7839 3394 +rect 7643 3327 7659 3357 +rect 7680 3340 7699 3375 +rect 7864 3356 7892 3501 +rect 8683 3457 8720 6148 +rect 8762 5843 8808 5846 +rect 8762 5806 8768 5843 +rect 8805 5806 8808 5843 +rect 8762 5803 8808 5806 +rect 8680 3452 8725 3457 +rect 8680 3415 8687 3452 +rect 8724 3415 8725 3452 +rect 8680 3411 8725 3415 +rect 8683 3407 8720 3411 +rect 8764 3398 8801 5803 +rect 8839 5372 8884 5375 +rect 8839 5335 8845 5372 +rect 8882 5335 8884 5372 +rect 8839 5332 8884 5335 +rect 7725 3328 7892 3356 +rect 8761 3393 8805 3398 +rect 8761 3356 8764 3393 +rect 8801 3356 8805 3393 +rect 8761 3352 8805 3356 +rect 8764 3347 8801 3352 +rect 8841 3163 8878 5332 +rect 9496 5280 9554 5283 +rect 9496 5230 9500 5280 +rect 9550 5230 9554 5280 +rect 9496 5227 9554 5230 +rect 9378 5220 9434 5224 +rect 9270 5173 9326 5177 +rect 9175 5124 9231 5135 +rect 9175 5074 9178 5124 +rect 9228 5074 9231 5124 +rect 9175 5070 9231 5074 +rect 9270 5123 9273 5173 +rect 9323 5123 9326 5173 +rect 9378 5170 9381 5220 +rect 9431 5170 9434 5220 +rect 9378 5165 9434 5170 +rect 9270 5119 9326 5123 +rect 8928 4865 8971 4868 +rect 8928 4828 8933 4865 +rect 8970 4828 8971 4865 +rect 8928 4824 8971 4828 +rect 8838 3162 8878 3163 +rect 8837 3160 8879 3162 +rect 8837 3123 8838 3160 +rect 8875 3123 8879 3160 +rect 8837 3120 8879 3123 +rect 8841 3119 8878 3120 +rect 4157 2365 4181 2742 +rect 4451 2365 4482 2749 +rect 4894 2365 4923 2747 +rect 5040 2338 5059 2747 +rect 5171 2643 5194 2751 +rect 5162 2639 5195 2643 +rect 5162 2598 5166 2639 +rect 5192 2598 5195 2639 +rect 5162 2595 5195 2598 +rect 5171 2334 5194 2595 +rect 5468 2355 5493 2753 +rect 5800 2349 5816 2754 +rect 6075 2390 6099 2762 +rect 6073 2365 6112 2390 +rect 6087 2340 6112 2365 +rect 6293 2327 6331 2776 +rect 6468 2388 6492 2762 +rect 6468 2361 6515 2388 +rect 6488 2338 6515 2361 +rect 6696 2325 6736 2778 +rect 7048 2511 7072 2762 +rect 8929 2645 8966 4824 +rect 8925 2639 8974 2645 +rect 8925 2598 8931 2639 +rect 8968 2598 8974 2639 +rect 8925 2594 8974 2598 +rect 8929 2591 8966 2594 +rect 7048 2487 7106 2511 +rect 7082 2353 7106 2487 +rect 5603 2252 5635 2256 +rect 5603 2226 5606 2252 +rect 5632 2226 5635 2252 +rect 7594 2250 7620 2253 +rect 5603 2222 5635 2226 +rect 7593 2224 7594 2247 +rect 4157 1704 4181 1765 +rect 4451 1657 4482 1772 +rect 4894 1708 4923 1770 +rect 4944 1739 4978 1742 +rect 4944 1713 4948 1739 +rect 4974 1713 4978 1739 +rect 4944 1710 4978 1713 +rect 4891 1705 4926 1708 +rect 4891 1676 4894 1705 +rect 4923 1676 4926 1705 +rect 4891 1673 4926 1676 +rect 4447 1656 4484 1657 +rect 4447 1625 4450 1656 +rect 4481 1625 4484 1656 +rect 4894 1627 4923 1673 +rect 4944 1649 4969 1710 +rect 5040 1651 5059 1771 +rect 5611 1746 5632 2222 +rect 7593 2221 7620 2224 +rect 7542 2157 7568 2160 +rect 7542 2128 7568 2131 +rect 5737 2053 5776 2078 +rect 5665 1974 5699 1977 +rect 5665 1948 5669 1974 +rect 5695 1948 5699 1974 +rect 5665 1943 5699 1948 +rect 5669 1941 5691 1943 +rect 5608 1743 5636 1746 +rect 5608 1717 5609 1743 +rect 5635 1717 5636 1743 +rect 5608 1714 5636 1717 +rect 5669 1713 5689 1941 +rect 5715 1745 5734 1795 +rect 5711 1742 5739 1745 +rect 5711 1716 5712 1742 +rect 5738 1716 5739 1742 +rect 5665 1710 5693 1713 +rect 5711 1712 5739 1716 +rect 5303 1702 5329 1705 +rect 5302 1676 5303 1696 +rect 5665 1684 5666 1710 +rect 5692 1684 5693 1710 +rect 5665 1681 5693 1684 +rect 5302 1673 5329 1676 +rect 4447 1624 4484 1625 +rect 4451 1503 4482 1624 +rect 4837 1599 4923 1627 +rect 4829 1598 4923 1599 +rect 4939 1638 4969 1649 +rect 5034 1648 5066 1651 +rect 4829 1596 4875 1598 +rect 4829 1554 4831 1596 +rect 4873 1554 4875 1596 +rect 4829 1551 4875 1554 +rect 4446 1500 4488 1503 +rect 4939 1487 4958 1638 +rect 5034 1622 5037 1648 +rect 5063 1622 5066 1648 +rect 5034 1619 5066 1622 +rect 5302 1617 5328 1673 +rect 5302 1598 5377 1617 +rect 5327 1514 5377 1598 +rect 5758 1590 5776 2053 +rect 7495 1973 7521 1976 +rect 7495 1944 7521 1947 +rect 7445 1880 7471 1883 +rect 7445 1851 7471 1854 +rect 5890 1706 5916 1709 +rect 5888 1704 5918 1706 +rect 5888 1678 5890 1704 +rect 5916 1678 5918 1704 +rect 5888 1676 5918 1678 +rect 5890 1675 5916 1676 +rect 5758 1586 5806 1590 +rect 5758 1560 5770 1586 +rect 5766 1553 5770 1560 +rect 5803 1553 5806 1586 +rect 5891 1583 5913 1675 +rect 6956 1651 6978 1783 +rect 7082 1711 7105 1783 +rect 7082 1688 7403 1711 +rect 7082 1687 7105 1688 +rect 6927 1627 6978 1651 +rect 5766 1549 5806 1553 +rect 5885 1580 5919 1583 +rect 5885 1543 5919 1546 +rect 5891 1535 5913 1543 +rect 6927 1502 6950 1627 +rect 7380 1591 7403 1688 +rect 7375 1588 7406 1591 +rect 7375 1554 7377 1588 +rect 7403 1554 7406 1588 +rect 7375 1551 7406 1554 +rect 4446 1455 4488 1458 +rect 4895 1481 4958 1487 +rect 4895 1449 4899 1481 +rect 4931 1455 4958 1481 +rect 6916 1499 6962 1502 +rect 6916 1461 6920 1499 +rect 6958 1461 6962 1499 +rect 6916 1458 6962 1461 +rect 4931 1449 4939 1455 +rect 4895 1445 4939 1449 +rect 7380 1234 7403 1551 +rect 7367 1212 7403 1234 +rect 7347 1189 7403 1212 +rect 7347 1188 7401 1189 +rect 4916 927 4948 1102 +rect 5302 1005 5328 1051 +rect 5376 1007 5402 1051 +rect 5301 1002 5329 1005 +rect 5301 971 5329 974 +rect 5375 1004 5403 1007 +rect 5375 973 5403 976 +rect 4904 917 4958 927 +rect 4904 871 4909 917 +rect 4955 871 4958 917 +rect 4904 867 4958 871 +rect 5753 825 5787 1104 +rect 5747 822 5793 825 +rect 5747 773 5793 776 +rect 5896 736 5930 1103 +rect 6283 1005 6309 1054 +rect 6282 1002 6310 1005 +rect 6357 975 6383 1054 +rect 6282 971 6310 974 +rect 5887 733 5939 736 +rect 5887 687 5890 733 +rect 5936 687 5939 733 +rect 5887 684 5939 687 +rect 6738 648 6765 1107 +rect 7445 1067 7470 1851 +rect 7495 1157 7520 1944 +rect 7543 1248 7568 2128 +rect 7593 1337 7618 2221 +rect 9177 1487 9227 5070 +rect 9270 2015 9320 5119 +rect 9383 2538 9433 5165 +rect 9496 3055 9546 5227 +rect 10382 5067 10510 6287 +rect 10381 5064 10510 5067 +rect 10509 4936 10510 5064 +rect 10381 4933 10510 4936 +rect 10382 4884 10510 4933 +rect 10818 4766 10838 4769 +rect 10809 4763 10840 4766 +rect 10809 4720 10813 4763 +rect 10839 4720 10840 4763 +rect 10809 4716 10840 4720 +rect 10427 4634 10462 4637 +rect 10427 4592 10430 4634 +rect 10456 4592 10462 4634 +rect 10427 4589 10462 4592 +rect 10028 4312 10075 4318 +rect 10028 4272 10030 4312 +rect 10070 4272 10075 4312 +rect 10028 4269 10075 4272 +rect 9491 3052 9546 3055 +rect 9541 3002 9546 3052 +rect 9491 2999 9546 3002 +rect 9382 2530 9434 2538 +rect 9382 2483 9383 2530 +rect 9433 2483 9434 2530 +rect 9382 2482 9434 2483 +rect 9269 2014 9321 2015 +rect 9269 1964 9270 2014 +rect 9320 1964 9321 2014 +rect 9269 1963 9321 1964 +rect 9161 1484 9227 1487 +rect 9161 1434 9165 1484 +rect 9215 1434 9227 1484 +rect 9161 1430 9227 1434 +rect 7588 1333 7625 1337 +rect 7588 1283 7592 1333 +rect 7618 1283 7625 1333 +rect 7588 1279 7625 1283 +rect 7535 1243 7572 1248 +rect 7535 1193 7538 1243 +rect 7564 1193 7572 1243 +rect 7535 1190 7572 1193 +rect 7486 1153 7523 1157 +rect 7486 1103 7491 1153 +rect 7517 1103 7523 1153 +rect 7486 1099 7523 1103 +rect 7439 1063 7474 1067 +rect 6727 642 6776 648 +rect 6727 596 6729 642 +rect 6775 596 6776 642 +rect 6727 592 6776 596 +rect 7312 46 7345 1045 +rect 7439 1013 7443 1063 +rect 7469 1013 7474 1063 +rect 7439 1010 7474 1013 +rect 9177 648 9227 1430 +rect 9270 739 9320 1963 +rect 9383 826 9433 2482 +rect 9496 928 9546 2999 +rect 9496 925 9552 928 +rect 9496 875 9502 925 +rect 9496 872 9552 875 +rect 9496 859 9546 872 +rect 9383 777 9433 780 +rect 9270 690 9320 693 +rect 9177 599 9227 602 +rect 7306 43 7349 46 +rect 7306 10 7310 43 +rect 7343 10 7349 43 +rect 7306 7 7349 10 +rect 3952 -23 3989 -21 +rect 3952 -56 3954 -23 +rect 3987 -56 3989 -23 +rect 3952 -59 3989 -56 +rect 10033 -66 10073 4269 +rect 10125 4208 10128 4244 +rect 10164 4208 10167 4244 +rect 10032 -69 10079 -66 +rect 3887 -85 3926 -82 +rect 3887 -118 3892 -85 +rect 3925 -118 3926 -85 +rect 10032 -109 10036 -69 +rect 10076 -109 10079 -69 +rect 10032 -112 10079 -109 +rect 3887 -121 3926 -118 +rect 3827 -148 3865 -145 +rect 10126 -146 10165 4208 +rect 10217 4010 10262 4012 +rect 10217 3971 10220 4010 +rect 10259 3971 10262 4010 +rect 10217 3969 10262 3971 +rect 3827 -181 3829 -148 +rect 3862 -181 3865 -148 +rect 3827 -184 3865 -181 +rect 10123 -150 10169 -146 +rect 10123 -189 10127 -150 +rect 10166 -189 10169 -150 +rect 10123 -193 10169 -189 +rect 3768 -211 3803 -210 +rect 3768 -244 3769 -211 +rect 3802 -244 3803 -211 +rect 10219 -228 10258 3969 +rect 10303 3943 10341 3944 +rect 10301 3941 10343 3943 +rect 10301 3915 10303 3941 +rect 10341 3915 10343 3941 +rect 10301 3913 10343 3915 +rect 3768 -247 3803 -244 +rect 10217 -232 10264 -228 +rect 10217 -271 10220 -232 +rect 10259 -271 10264 -232 +rect 10217 -274 10264 -271 +rect 3704 -279 3740 -277 +rect 3704 -312 3705 -279 +rect 3738 -312 3740 -279 +rect 10303 -308 10341 3913 +rect 10437 1590 10460 4589 +rect 10818 4391 10838 4716 +rect 11169 4392 11188 6419 +rect 11503 5540 11585 5543 +rect 11503 5534 11508 5540 +rect 11497 5469 11508 5534 +rect 11579 5469 11585 5540 +rect 11497 5465 11585 5469 +rect 11497 3565 11568 5465 +rect 11484 3561 11568 3565 +rect 11484 3490 11489 3561 +rect 11560 3490 11568 3561 +rect 11484 3486 11568 3490 +rect 11056 1736 11128 1739 +rect 11056 1685 11069 1736 +rect 11120 1685 11128 1736 +rect 11056 1682 11128 1685 +rect 10437 1567 10461 1590 +rect 10437 986 10460 1567 +rect 11062 787 11113 1682 +rect 3704 -315 3740 -312 +rect 10300 -312 10344 -308 +rect 3645 -339 3679 -338 +rect 3643 -341 3681 -339 +rect 3643 -374 3645 -341 +rect 3678 -374 3681 -341 +rect 10300 -350 10302 -312 +rect 10340 -350 10344 -312 +rect 10300 -354 10344 -350 +rect 3643 -376 3681 -374 +rect 3645 -377 3678 -376 +rect 3585 -441 3618 -438 +rect 3527 -498 3560 -495 +rect 3467 -531 3502 -528 +rect 3467 -561 3469 -531 +rect 3469 -567 3502 -564 +rect 3404 -631 3437 -628 +rect 3340 -659 3375 -656 +rect 3373 -689 3375 -659 +rect 3340 -696 3373 -693 +rect 3181 -762 3250 -729 +rect 3279 -720 3323 -717 +rect 3279 -757 3282 -720 +rect 3319 -757 3323 -720 +rect 3279 -759 3323 -757 +rect 3181 -771 3184 -762 +rect 3126 -773 3184 -771 +<< via1 >> +rect 421 6215 460 6254 +rect 429 5870 468 5909 +rect 567 5753 593 5779 +rect 559 5483 601 5525 +rect 1154 5343 1183 5401 +rect 2483 5237 2509 5263 +rect 2143 5159 2173 5189 +rect 3062 5194 3093 5225 +rect 4720 5958 4762 6000 +rect 4335 5882 4377 5924 +rect 4887 5721 4931 5765 +rect 5459 5721 5503 5765 +rect 5641 5718 5685 5762 +rect 4445 5619 4489 5663 +rect 4169 5317 4195 5343 +rect 3462 5248 3488 5274 +rect 3345 5149 3372 5175 +rect 2212 5071 2247 5106 +rect 2737 5102 2763 5128 +rect 5016 5619 5060 5663 +rect 2314 4847 2340 4886 +rect 3954 4848 3987 4874 +rect 2250 4765 2276 4805 +rect 2252 4654 2278 4680 +rect 1875 4612 1901 4638 +rect 1872 4520 1898 4546 +rect 1873 4428 1899 4454 +rect 1808 4326 1834 4352 +rect 1804 4230 1830 4256 +rect 1808 4134 1834 4160 +rect 2252 4562 2278 4588 +rect 2249 4470 2275 4496 +rect 1804 2606 1830 2653 +rect 1868 2606 1894 2653 +rect 1668 2503 1694 2529 +rect 1616 2463 1642 2489 +rect 688 2338 754 2404 +rect 1876 2501 1902 2527 +rect 2052 2502 2079 2529 +rect 1810 2465 1836 2491 +rect 1618 2072 1644 2098 +rect 1209 1886 1246 1923 +rect 692 1752 758 1818 +rect 2102 2463 2128 2489 +rect 1208 1262 1245 1299 +rect 1962 1220 1988 1256 +rect 1507 696 1536 725 +rect 3891 4676 3924 4709 +rect 3834 4528 3867 4561 +rect 2313 4361 2339 4387 +rect 3770 4368 3803 4401 +rect 3706 4311 3739 4344 +rect 2314 4265 2340 4291 +rect 2313 4169 2339 4195 +rect 2249 2403 2275 2429 +rect 2187 2288 2213 2314 +rect 2145 2027 2171 2053 +rect 2185 1220 2211 1256 +rect 2144 695 2173 724 +rect 2028 594 2088 654 +rect 3645 4154 3678 4187 +rect 3582 4001 3615 4034 +rect 3526 3844 3559 3877 +rect 3464 3297 3497 3330 +rect 3401 3138 3434 3171 +rect 3339 2983 3372 3016 +rect 3279 2835 3312 2868 +rect 3215 2318 3248 2351 +rect 3148 2161 3181 2194 +rect 2313 1970 2339 1996 +rect 3086 1997 3119 2030 +rect 2247 857 2273 890 +rect 3018 1853 3051 1886 +rect 2306 101 2332 135 +rect 415 7 454 46 +rect 3015 -530 3058 -487 +rect 3080 -609 3123 -566 +rect 3147 -677 3187 -637 +rect 3130 -771 3181 -720 +rect 6697 5882 6832 5924 +rect 6155 5618 6250 5659 +rect 6456 5619 6500 5663 +rect 5927 5048 5953 5074 +rect 5693 4888 5719 4914 +rect 5969 4839 5995 4865 +rect 6075 4791 6101 4817 +rect 6557 5242 6583 5268 +rect 6513 5151 6539 5177 +rect 7036 5615 7080 5659 +rect 7869 5718 7897 5762 +rect 7491 5052 7613 5078 +rect 7167 4987 7193 5013 +rect 7800 4933 7826 4959 +rect 8034 5242 8060 5268 +rect 7945 5155 7971 5181 +rect 8686 6152 8723 6189 +rect 8301 5313 8327 5340 +rect 8322 4723 8365 4766 +rect 5903 3417 5931 3445 +rect 7638 3360 7664 3386 +rect 8768 5806 8805 5843 +rect 8687 3415 8724 3452 +rect 8845 5335 8882 5372 +rect 8764 3356 8801 3393 +rect 9500 5230 9550 5280 +rect 9178 5074 9228 5124 +rect 9273 5123 9323 5173 +rect 9381 5170 9431 5220 +rect 8933 4828 8970 4865 +rect 8838 3123 8875 3160 +rect 5166 2598 5192 2639 +rect 8931 2598 8968 2639 +rect 5606 2226 5632 2252 +rect 7594 2224 7620 2250 +rect 4948 1713 4974 1739 +rect 4894 1676 4923 1705 +rect 4450 1625 4481 1656 +rect 7542 2131 7568 2157 +rect 5669 1948 5695 1974 +rect 5609 1717 5635 1743 +rect 5712 1716 5738 1742 +rect 5303 1676 5329 1702 +rect 5666 1684 5692 1710 +rect 4831 1554 4873 1596 +rect 4446 1458 4488 1500 +rect 5037 1622 5063 1648 +rect 7495 1947 7521 1973 +rect 7445 1854 7471 1880 +rect 5890 1678 5916 1704 +rect 5770 1553 5803 1586 +rect 5885 1546 5919 1580 +rect 7377 1554 7403 1588 +rect 4899 1449 4931 1481 +rect 6920 1461 6958 1499 +rect 5301 974 5329 1002 +rect 5375 976 5403 1004 +rect 4909 871 4955 917 +rect 5747 776 5793 822 +rect 6282 974 6310 1002 +rect 5890 687 5936 733 +rect 10381 4936 10509 5064 +rect 10813 4720 10839 4763 +rect 10430 4592 10456 4634 +rect 10030 4272 10070 4312 +rect 9491 3002 9541 3052 +rect 9383 2483 9433 2530 +rect 9270 1964 9320 2014 +rect 9165 1434 9215 1484 +rect 7592 1283 7618 1333 +rect 7538 1193 7564 1243 +rect 7491 1103 7517 1153 +rect 6729 596 6775 642 +rect 7443 1013 7469 1063 +rect 9502 875 9552 925 +rect 9383 780 9433 826 +rect 9270 693 9320 739 +rect 9177 602 9227 648 +rect 7310 10 7343 43 +rect 3954 -56 3987 -23 +rect 10128 4208 10164 4244 +rect 3892 -118 3925 -85 +rect 10036 -109 10076 -69 +rect 10220 3971 10259 4010 +rect 3829 -181 3862 -148 +rect 10127 -189 10166 -150 +rect 3769 -244 3802 -211 +rect 10303 3915 10341 3941 +rect 10220 -271 10259 -232 +rect 3705 -312 3738 -279 +rect 11508 5469 11579 5540 +rect 11489 3490 11560 3561 +rect 11069 1685 11120 1736 +rect 3645 -374 3678 -341 +rect 10302 -350 10340 -312 +rect 3585 -438 3618 -405 +rect 3527 -495 3560 -462 +rect 3469 -564 3502 -531 +rect 3404 -628 3437 -595 +rect 3340 -693 3373 -659 +rect 3282 -757 3319 -720 +<< metal2 >> +rect 295 6246 363 6368 +rect 418 6254 463 6256 +rect 418 6246 421 6254 +rect 295 6223 421 6246 +rect 295 6136 363 6223 +rect 418 6215 421 6223 +rect 460 6215 463 6254 +rect 418 6213 463 6215 +rect 8680 6189 8726 6191 +rect 11767 6189 11853 6324 +rect 8680 6152 8686 6189 +rect 8723 6152 11853 6189 +rect 8680 6150 8726 6152 +rect 11767 6114 11853 6152 +rect 280 6026 528 6027 +rect 280 5987 675 6026 +rect 507 5950 675 5987 +rect 2273 6017 2348 6018 +rect 2273 5987 2435 6017 +rect 4718 6000 4763 6002 +rect 4717 5994 4720 6000 +rect 2273 5970 2297 5987 +rect 2405 5965 2435 5987 +rect 2478 5964 4720 5994 +rect 4717 5958 4720 5964 +rect 4762 5958 4765 6000 +rect 4718 5956 4763 5958 +rect 4333 5924 4378 5926 +rect 6694 5924 6836 5927 +rect 295 5827 363 5915 +rect 428 5909 471 5913 +rect 428 5870 429 5909 +rect 468 5870 471 5909 +rect 4332 5882 4335 5924 +rect 4377 5923 4380 5924 +rect 6694 5923 6697 5924 +rect 4377 5883 6697 5923 +rect 4377 5882 4380 5883 +rect 6694 5882 6697 5883 +rect 6832 5923 6836 5924 +rect 6832 5883 6841 5923 +rect 6832 5882 6836 5883 +rect 4333 5880 4378 5882 +rect 6694 5879 6836 5882 +rect 428 5866 471 5870 +rect 428 5865 622 5866 +rect 437 5843 622 5865 +rect 8763 5843 8807 5845 +rect 11767 5843 11853 5911 +rect 295 5795 631 5827 +rect 8763 5806 8768 5843 +rect 8805 5806 11853 5843 +rect 8763 5804 8807 5806 +rect 295 5683 363 5795 +rect 564 5753 567 5779 +rect 593 5756 622 5779 +rect 593 5753 596 5756 +rect 4884 5721 4887 5765 +rect 4931 5762 4934 5765 +rect 5456 5762 5459 5765 +rect 4931 5721 5459 5762 +rect 5503 5762 5506 5765 +rect 5503 5721 5641 5762 +rect 4899 5718 5641 5721 +rect 5685 5718 7869 5762 +rect 7897 5718 7900 5762 +rect 11767 5701 11853 5806 +rect 5016 5663 5060 5666 +rect 495 5646 648 5662 +rect 314 5613 648 5646 +rect 4442 5619 4445 5663 +rect 4489 5661 4492 5663 +rect 4489 5619 5016 5661 +rect 6453 5661 6456 5663 +rect 5060 5659 6456 5661 +rect 5060 5619 6155 5659 +rect 4457 5618 6155 5619 +rect 6250 5619 6456 5659 +rect 6500 5661 6503 5663 +rect 6500 5659 7093 5661 +rect 6500 5619 7036 5659 +rect 6250 5618 7036 5619 +rect 4457 5617 7036 5618 +rect 5016 5616 5060 5617 +rect 7033 5615 7036 5617 +rect 7080 5617 7093 5659 +rect 7080 5615 7083 5617 +rect 314 5606 541 5613 +rect 314 5586 354 5606 +rect 279 5546 354 5586 +rect 11505 5525 11508 5540 +rect 556 5483 559 5525 +rect 601 5483 11508 5525 +rect 11505 5469 11508 5483 +rect 11579 5469 11582 5540 +rect 250 5401 318 5468 +rect 1142 5401 1189 5403 +rect 250 5343 1154 5401 +rect 1183 5343 1189 5401 +rect 8841 5372 8883 5374 +rect 11764 5372 11850 5502 +rect 250 5319 322 5343 +rect 1142 5341 1189 5343 +rect 4167 5343 4197 5346 +rect 250 5236 318 5319 +rect 4167 5317 4169 5343 +rect 4195 5340 4197 5343 +rect 8299 5340 8329 5343 +rect 4195 5317 8301 5340 +rect 4167 5314 4197 5317 +rect 8299 5313 8301 5317 +rect 8327 5317 8336 5340 +rect 8841 5335 8845 5372 +rect 8882 5335 11850 5372 +rect 8841 5333 8883 5335 +rect 8327 5313 8329 5317 +rect 8299 5309 8329 5313 +rect 11764 5292 11850 5335 +rect 3459 5274 3490 5276 +rect 2480 5266 2512 5267 +rect 3459 5266 3462 5274 +rect 2480 5263 3462 5266 +rect 2480 5237 2483 5263 +rect 2509 5248 3462 5263 +rect 3488 5266 3491 5274 +rect 6554 5268 6586 5269 +rect 6554 5266 6557 5268 +rect 3488 5248 6557 5266 +rect 2509 5243 6557 5248 +rect 2509 5237 2512 5243 +rect 3459 5242 3490 5243 +rect 6554 5242 6557 5243 +rect 6583 5266 6586 5268 +rect 8031 5266 8034 5268 +rect 6583 5243 8034 5266 +rect 6583 5242 6586 5243 +rect 8031 5242 8034 5243 +rect 8060 5266 8063 5268 +rect 9497 5266 9500 5280 +rect 8060 5243 9500 5266 +rect 8060 5242 8063 5243 +rect 6554 5241 6586 5242 +rect 2480 5235 2512 5237 +rect 9497 5230 9500 5243 +rect 9550 5230 9553 5280 +rect 9497 5229 9553 5230 +rect 3059 5225 3096 5227 +rect 250 5186 301 5198 +rect 3059 5194 3062 5225 +rect 3093 5221 3096 5225 +rect 9379 5221 9433 5223 +rect 3093 5220 9433 5221 +rect 3093 5198 9381 5220 +rect 3093 5194 3096 5198 +rect 3059 5192 3096 5194 +rect 2140 5186 2143 5189 +rect 250 5159 2143 5186 +rect 2173 5186 2176 5189 +rect 2173 5159 2274 5186 +rect 6510 5177 6542 5178 +rect 250 5157 2274 5159 +rect 301 5156 2274 5157 +rect 3342 5175 3373 5176 +rect 6510 5175 6513 5177 +rect 3342 5149 3345 5175 +rect 3372 5152 6513 5175 +rect 3372 5149 3375 5152 +rect 6510 5151 6513 5152 +rect 6539 5175 6542 5177 +rect 7942 5175 7945 5181 +rect 6539 5155 7945 5175 +rect 7971 5175 7974 5181 +rect 9271 5175 9325 5176 +rect 7971 5173 9325 5175 +rect 7971 5155 9273 5173 +rect 6539 5152 9273 5155 +rect 6539 5151 6542 5152 +rect 6510 5150 6542 5151 +rect 3342 5147 3373 5149 +rect 2734 5129 2766 5130 +rect 9177 5129 9230 5132 +rect 2734 5128 9230 5129 +rect 246 5106 297 5108 +rect 2210 5106 2250 5107 +rect 246 5071 2212 5106 +rect 2247 5071 2250 5106 +rect 2734 5102 2737 5128 +rect 2763 5124 9230 5128 +rect 2763 5106 9178 5124 +rect 2763 5102 2766 5106 +rect 2734 5100 2766 5102 +rect 7489 5078 7617 5081 +rect 246 5067 297 5071 +rect 2210 5068 2250 5071 +rect 5924 5074 5956 5075 +rect 5924 5048 5927 5074 +rect 5953 5071 5956 5074 +rect 7489 5071 7491 5078 +rect 5953 5052 7491 5071 +rect 7613 5052 7617 5078 +rect 9177 5074 9178 5106 +rect 9228 5074 9230 5124 +rect 9271 5123 9273 5152 +rect 9323 5123 9325 5173 +rect 9379 5170 9381 5198 +rect 9431 5170 9433 5220 +rect 9379 5167 9433 5170 +rect 9271 5120 9325 5123 +rect 9177 5071 9230 5074 +rect 5953 5050 7617 5052 +rect 5953 5048 5956 5050 +rect 5924 5047 5956 5048 +rect 218 4886 345 5032 +rect 7166 5013 7194 5015 +rect 7164 4987 7167 5013 +rect 7193 5010 7196 5013 +rect 10378 5010 10381 5064 +rect 7193 4989 10381 5010 +rect 7193 4987 7196 4989 +rect 7166 4985 7194 4987 +rect 7797 4959 7828 4962 +rect 7797 4956 7800 4959 +rect 4967 4955 7800 4956 +rect 4934 4936 7800 4955 +rect 4934 4935 4992 4936 +rect 7797 4933 7800 4936 +rect 7826 4933 7828 4959 +rect 10378 4936 10381 4989 +rect 10509 4936 10512 5064 +rect 7797 4930 7828 4933 +rect 5690 4909 5693 4914 +rect 5190 4889 5693 4909 +rect 1353 4886 1383 4887 +rect 2312 4886 2341 4888 +rect 218 4847 2314 4886 +rect 2340 4847 2344 4886 +rect 3951 4848 3954 4874 +rect 3987 4865 3990 4874 +rect 3987 4848 4124 4865 +rect 218 4844 345 4847 +rect 2312 4845 2341 4847 +rect 2248 4805 2277 4807 +rect 1003 4765 2250 4805 +rect 2276 4765 2279 4805 +rect 5190 4801 5210 4889 +rect 5690 4888 5693 4889 +rect 5719 4909 5722 4914 +rect 5719 4889 5727 4909 +rect 5719 4888 5722 4889 +rect 5966 4865 5997 4866 +rect 8929 4865 8972 4867 +rect 11764 4865 11850 5063 +rect 5966 4862 5969 4865 +rect 4966 4800 5210 4801 +rect 4937 4781 5210 4800 +rect 5241 4842 5969 4862 +rect 4937 4780 4986 4781 +rect 247 4496 374 4583 +rect 1003 4496 1043 4765 +rect 2248 4764 2277 4765 +rect 3891 4711 3924 4712 +rect 3889 4709 3926 4711 +rect 1383 4697 1420 4698 +rect 1204 4674 1420 4697 +rect 2249 4675 2252 4680 +rect 1204 4661 1946 4674 +rect 1204 4591 1266 4661 +rect 1383 4657 1946 4661 +rect 2192 4658 2252 4675 +rect 2249 4654 2252 4658 +rect 2278 4675 2281 4680 +rect 3889 4676 3891 4709 +rect 3924 4701 3926 4709 +rect 3924 4684 4124 4701 +rect 3924 4676 3926 4684 +rect 2278 4658 2287 4675 +rect 3889 4673 3926 4676 +rect 2278 4654 2281 4658 +rect 5241 4646 5261 4842 +rect 5966 4839 5969 4842 +rect 5995 4839 5998 4865 +rect 5966 4838 5997 4839 +rect 8929 4828 8933 4865 +rect 8970 4853 11850 4865 +rect 8970 4828 11839 4853 +rect 8929 4825 8970 4828 +rect 6072 4817 6104 4818 +rect 6072 4814 6075 4817 +rect 4966 4645 5261 4646 +rect 1872 4612 1875 4638 +rect 1901 4633 1904 4638 +rect 1901 4616 1946 4633 +rect 4937 4626 5261 4645 +rect 5296 4794 6075 4814 +rect 4937 4625 4987 4626 +rect 1901 4612 1904 4616 +rect 1383 4591 1420 4595 +rect 247 4456 1043 4496 +rect 1151 4582 1420 4591 +rect 2249 4583 2252 4588 +rect 1151 4565 1946 4582 +rect 2192 4566 2252 4583 +rect 1151 4554 1420 4565 +rect 2249 4562 2252 4566 +rect 2278 4583 2281 4588 +rect 2278 4566 2287 4583 +rect 2278 4562 2281 4566 +rect 3831 4561 3870 4563 +rect 1151 4543 1266 4554 +rect 1151 4498 1262 4543 +rect 1869 4520 1872 4546 +rect 1898 4541 1901 4546 +rect 1898 4524 1946 4541 +rect 3831 4528 3834 4561 +rect 3867 4553 3870 4561 +rect 3867 4536 4124 4553 +rect 3867 4528 3870 4536 +rect 3831 4526 3870 4528 +rect 1898 4520 1901 4524 +rect 1383 4498 1420 4502 +rect 1151 4490 1420 4498 +rect 2246 4491 2249 4496 +rect 1151 4473 1946 4490 +rect 2192 4474 2249 4491 +rect 1151 4461 1420 4473 +rect 2246 4470 2249 4474 +rect 2275 4491 2278 4496 +rect 5296 4491 5316 4794 +rect 6072 4791 6075 4794 +rect 6101 4814 6104 4817 +rect 6101 4794 6112 4814 +rect 6101 4791 6104 4794 +rect 6072 4790 6104 4791 +rect 8320 4766 8367 4769 +rect 8320 4723 8322 4766 +rect 8365 4763 8367 4766 +rect 10810 4764 10839 4765 +rect 10810 4763 10840 4764 +rect 11863 4763 11908 4765 +rect 8365 4723 10813 4763 +rect 8320 4720 10813 4723 +rect 10839 4720 11909 4763 +rect 10810 4719 10840 4720 +rect 10810 4717 10839 4719 +rect 11813 4652 11849 4653 +rect 10428 4634 10458 4636 +rect 11757 4634 11849 4652 +rect 2275 4474 2287 4491 +rect 4967 4490 5316 4491 +rect 2275 4470 2278 4474 +rect 4937 4471 5316 4490 +rect 5611 4614 5640 4632 +rect 4937 4470 4983 4471 +rect 1151 4457 1241 4461 +rect 247 4395 374 4456 +rect 290 4002 417 4090 +rect 1151 4002 1188 4457 +rect 1870 4428 1873 4454 +rect 1899 4449 1902 4454 +rect 1899 4432 1946 4449 +rect 1899 4428 1902 4432 +rect 3767 4401 3806 4402 +rect 1299 4388 1948 4390 +rect 290 3965 1188 4002 +rect 1270 4371 1948 4388 +rect 2310 4384 2313 4387 +rect 1270 4353 1420 4371 +rect 2189 4364 2313 4384 +rect 2310 4361 2313 4364 +rect 2339 4384 2342 4387 +rect 2339 4364 2352 4384 +rect 3767 4368 3770 4401 +rect 3803 4393 3806 4401 +rect 3803 4376 4124 4393 +rect 3803 4368 3806 4376 +rect 3767 4367 3806 4368 +rect 2339 4361 2342 4364 +rect 1270 4294 1336 4353 +rect 1383 4349 1420 4353 +rect 1805 4326 1808 4352 +rect 1834 4348 1837 4352 +rect 1834 4329 1948 4348 +rect 3703 4344 3742 4347 +rect 1834 4326 1837 4329 +rect 3703 4311 3706 4344 +rect 3739 4336 3742 4344 +rect 3739 4319 4124 4336 +rect 3739 4311 3742 4319 +rect 3703 4309 3742 4311 +rect 1270 4275 1948 4294 +rect 2311 4288 2314 4291 +rect 1270 4257 1420 4275 +rect 2189 4268 2314 4288 +rect 2311 4265 2314 4268 +rect 2340 4288 2343 4291 +rect 5611 4288 5629 4614 +rect 10427 4592 10430 4634 +rect 10456 4624 11849 4634 +rect 10456 4592 11853 4624 +rect 10428 4590 10458 4592 +rect 11757 4558 11853 4592 +rect 8406 4410 8929 4433 +rect 8966 4410 9881 4433 +rect 11763 4415 11853 4558 +rect 9852 4400 9881 4410 +rect 9852 4380 10764 4400 +rect 9852 4379 9881 4380 +rect 8407 4328 8929 4350 +rect 8966 4328 9787 4350 +rect 2340 4268 2352 4288 +rect 5528 4270 5629 4288 +rect 2340 4265 2343 4268 +rect 1270 4256 1337 4257 +rect 1270 4252 1336 4256 +rect 1383 4253 1420 4257 +rect 290 3902 417 3965 +rect 284 3526 411 3615 +rect 1270 3526 1307 4252 +rect 1801 4230 1804 4256 +rect 1830 4252 1833 4256 +rect 1830 4233 1948 4252 +rect 4967 4249 4997 4252 +rect 4967 4248 5006 4249 +rect 1830 4230 1833 4233 +rect 4937 4228 5006 4248 +rect 284 3489 1307 3526 +rect 1383 4179 1948 4198 +rect 2310 4192 2313 4195 +rect 284 3427 411 3489 +rect 290 3042 417 3133 +rect 1383 3042 1420 4179 +rect 2189 4172 2313 4192 +rect 2310 4169 2313 4172 +rect 2339 4192 2342 4195 +rect 2339 4172 2352 4192 +rect 3642 4187 3681 4189 +rect 2339 4169 2342 4172 +rect 1805 4134 1808 4160 +rect 1834 4156 1837 4160 +rect 1834 4137 1948 4156 +rect 3642 4154 3645 4187 +rect 3678 4179 3681 4187 +rect 3678 4162 4124 4179 +rect 3678 4154 3681 4162 +rect 3642 4152 3681 4154 +rect 1834 4134 1837 4137 +rect 4964 4117 4997 4137 +rect 5567 4125 5640 4143 +rect 9765 4140 9787 4328 +rect 10027 4312 10073 4315 +rect 10027 4272 10030 4312 +rect 10070 4302 10073 4312 +rect 10070 4282 10764 4302 +rect 11200 4282 11371 4302 +rect 10070 4272 10073 4282 +rect 10027 4270 10073 4272 +rect 10128 4244 10164 4247 +rect 11351 4237 11371 4282 +rect 10164 4217 10764 4237 +rect 11200 4217 11371 4237 +rect 10128 4205 10164 4208 +rect 9765 4139 9925 4140 +rect 4964 4095 4982 4117 +rect 5567 4104 5585 4125 +rect 9765 4119 10764 4139 +rect 9765 4118 9925 4119 +rect 4962 4093 4982 4095 +rect 4937 4073 4982 4093 +rect 5528 4086 5585 4104 +rect 11351 4112 11371 4217 +rect 11760 4112 11850 4179 +rect 8484 4082 8929 4098 +rect 8481 4078 8929 4082 +rect 8966 4078 10764 4098 +rect 3579 4034 3621 4035 +rect 3579 4001 3582 4034 +rect 3615 4026 3621 4034 +rect 3615 4009 4124 4026 +rect 5577 4010 5632 4028 +rect 3615 4001 3621 4009 +rect 3579 4000 3621 4001 +rect 5577 3989 5595 4010 +rect 5528 3971 5595 3989 +rect 4962 3954 4997 3961 +rect 4962 3938 5001 3954 +rect 4943 3931 5001 3938 +rect 4943 3918 4982 3931 +rect 3523 3877 3562 3878 +rect 3523 3844 3526 3877 +rect 3559 3869 3562 3877 +rect 3559 3852 4124 3869 +rect 3559 3844 3562 3852 +rect 3523 3843 3562 3844 +rect 4971 3823 4997 3844 +rect 8481 3830 8504 4078 +rect 11351 4069 11850 4112 +rect 10220 4011 10259 4013 +rect 10219 4010 10260 4011 +rect 10219 3971 10220 4010 +rect 10259 4000 10260 4010 +rect 11351 4000 11371 4069 +rect 10259 3980 10764 4000 +rect 11200 3980 11371 4000 +rect 10259 3971 10260 3980 +rect 10219 3970 10260 3971 +rect 10220 3968 10259 3970 +rect 10302 3941 10342 3942 +rect 10300 3915 10303 3941 +rect 10341 3935 10344 3941 +rect 11351 3935 11371 3980 +rect 11760 3970 11850 4069 +rect 10341 3915 10764 3935 +rect 11200 3923 11371 3935 +rect 11200 3915 11368 3923 +rect 10302 3914 10342 3915 +rect 4971 3783 4991 3823 +rect 8406 3807 8504 3830 +rect 8565 3817 8929 3837 +rect 8966 3817 10764 3837 +rect 5528 3785 5605 3803 +rect 4957 3763 4991 3783 +rect 4971 3762 4991 3763 +rect 5587 3541 5605 3785 +rect 8565 3747 8585 3817 +rect 8407 3732 8585 3747 +rect 8407 3725 8582 3732 +rect 11486 3561 11564 3564 +rect 5587 3523 5641 3541 +rect 11486 3490 11489 3561 +rect 11560 3549 11564 3561 +rect 11760 3549 11850 3641 +rect 11560 3502 11850 3549 +rect 11560 3490 11564 3502 +rect 11486 3487 11564 3490 +rect 8682 3452 8728 3454 +rect 5901 3447 5933 3448 +rect 8682 3447 8687 3452 +rect 5901 3445 8687 3447 +rect 5901 3417 5903 3445 +rect 5931 3419 8687 3445 +rect 5931 3417 5933 3419 +rect 5901 3414 5933 3417 +rect 8682 3415 8687 3419 +rect 8724 3415 8728 3452 +rect 11760 3432 11850 3502 +rect 8682 3413 8728 3415 +rect 8761 3393 8804 3395 +rect 8761 3387 8764 3393 +rect 7635 3386 8764 3387 +rect 7635 3360 7638 3386 +rect 7664 3361 8764 3386 +rect 7664 3360 7667 3361 +rect 8761 3356 8764 3361 +rect 8801 3356 8804 3393 +rect 8761 3354 8804 3356 +rect 3462 3330 3499 3334 +rect 3462 3297 3464 3330 +rect 3497 3322 3499 3330 +rect 3497 3305 4094 3322 +rect 3497 3297 3499 3305 +rect 3462 3294 3499 3297 +rect 5604 3281 5782 3293 +rect 5545 3275 5782 3281 +rect 5545 3263 5629 3275 +rect 4971 3245 4996 3247 +rect 4971 3235 4997 3245 +rect 4937 3215 4997 3235 +rect 7758 3232 7814 3250 +rect 3398 3171 3437 3172 +rect 3398 3138 3401 3171 +rect 3434 3163 3437 3171 +rect 3434 3146 4094 3163 +rect 8835 3160 8879 3162 +rect 8835 3150 8838 3160 +rect 3434 3138 3437 3146 +rect 3398 3137 3437 3138 +rect 7759 3132 8838 3150 +rect 4956 3110 4994 3130 +rect 8835 3123 8838 3132 +rect 8875 3123 8879 3160 +rect 8835 3122 8879 3123 +rect 4956 3107 4993 3110 +rect 4956 3080 4976 3107 +rect 5606 3097 5782 3107 +rect 4937 3060 4976 3080 +rect 5546 3089 5782 3097 +rect 5546 3079 5634 3089 +rect 290 3005 1420 3042 +rect 9488 3052 9548 3056 +rect 290 2945 417 3005 +rect 3336 2983 3339 3016 +rect 3372 3008 3375 3016 +rect 3372 2991 4094 3008 +rect 9488 3002 9491 3052 +rect 9541 3050 9548 3052 +rect 11760 3050 11850 3153 +rect 9541 3003 11850 3050 +rect 9541 3002 9548 3003 +rect 9488 2998 9548 3002 +rect 3372 2983 3375 2991 +rect 5607 2982 5782 2992 +rect 5546 2974 5782 2982 +rect 5546 2964 5634 2974 +rect 4977 2925 4997 2953 +rect 11760 2944 11850 3003 +rect 4937 2905 4997 2925 +rect 3275 2868 3317 2869 +rect 3275 2835 3279 2868 +rect 3312 2860 3317 2868 +rect 3312 2843 4094 2860 +rect 3312 2835 3317 2843 +rect 3275 2833 3317 2835 +rect 4977 2770 4997 2837 +rect 5604 2796 5782 2807 +rect 5546 2789 5782 2796 +rect 5546 2778 5634 2789 +rect 4937 2750 4997 2770 +rect 284 2627 411 2711 +rect 1801 2653 1832 2655 +rect 1867 2653 1898 2655 +rect 284 2590 1254 2627 +rect 1801 2606 1804 2653 +rect 1830 2606 1868 2653 +rect 1894 2606 2533 2653 +rect 1801 2604 1832 2606 +rect 1867 2604 1898 2606 +rect 284 2523 411 2590 +rect 1217 2455 1254 2590 +rect 2486 2538 2533 2606 +rect 5163 2639 5194 2641 +rect 8927 2639 8972 2642 +rect 5163 2598 5166 2639 +rect 5192 2598 8931 2639 +rect 8968 2598 8972 2639 +rect 5163 2596 5194 2598 +rect 8927 2596 8972 2598 +rect 11763 2538 11853 2635 +rect 1668 2529 1694 2532 +rect 2486 2530 11853 2538 +rect 1873 2525 1876 2527 +rect 1694 2506 1876 2525 +rect 1668 2500 1694 2503 +rect 1873 2501 1876 2506 +rect 1902 2525 1905 2527 +rect 2049 2525 2052 2529 +rect 1902 2506 2052 2525 +rect 1902 2501 1905 2506 +rect 2049 2502 2052 2506 +rect 2079 2502 2082 2529 +rect 2486 2491 9383 2530 +rect 1613 2463 1616 2489 +rect 1642 2485 1645 2489 +rect 1807 2485 1810 2491 +rect 1642 2466 1810 2485 +rect 1642 2463 1645 2466 +rect 1807 2465 1810 2466 +rect 1836 2485 1839 2491 +rect 2099 2485 2102 2489 +rect 1836 2466 2102 2485 +rect 1836 2465 1839 2466 +rect 2099 2463 2102 2466 +rect 2128 2463 2131 2489 +rect 9379 2483 9383 2491 +rect 9433 2491 11853 2530 +rect 9433 2483 9436 2491 +rect 9379 2479 9436 2483 +rect 1217 2454 1420 2455 +rect 1217 2436 1442 2454 +rect 1217 2430 1582 2436 +rect 1217 2418 1715 2430 +rect 2247 2429 2277 2431 +rect 2246 2427 2249 2429 +rect 1383 2414 1715 2418 +rect 1420 2408 1715 2414 +rect 683 2404 760 2408 +rect 683 2338 688 2404 +rect 754 2389 760 2404 +rect 2024 2405 2249 2427 +rect 1383 2389 1422 2391 +rect 754 2385 1422 2389 +rect 754 2364 1714 2385 +rect 754 2352 1421 2364 +rect 2024 2361 2046 2405 +rect 2246 2403 2249 2405 +rect 2275 2403 2278 2429 +rect 11763 2426 11853 2491 +rect 2247 2401 2277 2403 +rect 754 2338 760 2352 +rect 1383 2350 1420 2352 +rect 3211 2351 3252 2353 +rect 683 2334 760 2338 +rect 3211 2318 3215 2351 +rect 3248 2343 3252 2351 +rect 3248 2326 4094 2343 +rect 3248 2318 3252 2326 +rect 3211 2317 3252 2318 +rect 2185 2314 2214 2316 +rect 2184 2310 2187 2314 +rect 290 2224 417 2301 +rect 2027 2291 2187 2310 +rect 2184 2288 2187 2291 +rect 2213 2288 2216 2314 +rect 5531 2297 5727 2315 +rect 2185 2286 2214 2288 +rect 4935 2238 5000 2258 +rect 5611 2256 5728 2271 +rect 5605 2252 5633 2256 +rect 5605 2226 5606 2252 +rect 5632 2226 5633 2252 +rect 7591 2245 7594 2250 +rect 6984 2229 7594 2245 +rect 290 2187 889 2224 +rect 5605 2223 5633 2226 +rect 7591 2224 7594 2229 +rect 7620 2224 7623 2250 +rect 290 2113 417 2187 +rect 852 2021 889 2187 +rect 3145 2194 3184 2197 +rect 3145 2161 3148 2194 +rect 3181 2186 3184 2194 +rect 3181 2169 4094 2186 +rect 3181 2161 3184 2169 +rect 3145 2159 3184 2161 +rect 4973 2133 4998 2156 +rect 7539 2152 7542 2157 +rect 6985 2136 7542 2152 +rect 4973 2103 4993 2133 +rect 7539 2131 7542 2136 +rect 7568 2131 7571 2157 +rect 1616 2098 1645 2099 +rect 1615 2072 1618 2098 +rect 1644 2096 1647 2098 +rect 1644 2074 1715 2096 +rect 4937 2083 4993 2103 +rect 5531 2111 5765 2129 +rect 5531 2101 5549 2111 +rect 1644 2072 1647 2074 +rect 1616 2070 1645 2072 +rect 2142 2053 2174 2055 +rect 2142 2050 2145 2053 +rect 2025 2029 2145 2050 +rect 2142 2027 2145 2029 +rect 2171 2027 2174 2053 +rect 2142 2025 2174 2027 +rect 3084 2032 3121 2033 +rect 3084 2030 4094 2032 +rect 852 2003 1447 2021 +rect 852 1996 1454 2003 +rect 1593 1996 1715 1997 +rect 2311 1996 2340 1998 +rect 3084 1997 3086 2030 +rect 3119 2015 4094 2030 +rect 3119 1997 3121 2015 +rect 9267 2014 9322 2015 +rect 852 1984 1715 1996 +rect 2310 1993 2313 1996 +rect 1383 1980 1715 1984 +rect 1419 1975 1715 1980 +rect 2025 1972 2313 1993 +rect 1206 1923 1247 1925 +rect 1383 1923 1582 1925 +rect 290 1810 417 1892 +rect 1206 1886 1209 1923 +rect 1246 1919 1582 1923 +rect 1246 1897 1715 1919 +rect 1246 1886 1421 1897 +rect 2025 1890 2046 1972 +rect 2310 1970 2313 1972 +rect 2339 1970 2342 1996 +rect 3084 1994 3121 1997 +rect 5532 1996 5728 2014 +rect 4974 1977 4994 1978 +rect 2311 1968 2340 1970 +rect 4974 1950 5003 1977 +rect 5666 1974 5698 1976 +rect 4974 1948 4994 1950 +rect 4933 1928 4994 1948 +rect 5666 1948 5669 1974 +rect 5695 1971 5698 1974 +rect 5695 1951 5727 1971 +rect 7492 1968 7495 1973 +rect 6984 1952 7495 1968 +rect 5695 1948 5712 1951 +rect 5666 1944 5712 1948 +rect 7492 1947 7495 1952 +rect 7521 1947 7524 1973 +rect 9267 1964 9270 2014 +rect 9320 2012 9323 2014 +rect 11760 2012 11850 2127 +rect 9320 1965 11850 2012 +rect 9320 1964 9323 1965 +rect 9267 1962 9322 1964 +rect 11760 1918 11850 1965 +rect 3015 1886 3054 1888 +rect 1206 1884 1247 1886 +rect 1383 1884 1420 1886 +rect 3015 1853 3018 1886 +rect 3051 1878 3054 1886 +rect 3051 1861 4094 1878 +rect 7442 1875 7445 1880 +rect 4972 1862 5002 1866 +rect 3051 1853 3054 1861 +rect 3015 1851 3054 1853 +rect 4971 1838 5002 1862 +rect 6990 1859 7445 1875 +rect 7442 1854 7445 1859 +rect 7471 1854 7474 1880 +rect 683 1818 763 1824 +rect 683 1810 692 1818 +rect 290 1760 692 1810 +rect 290 1704 417 1760 +rect 683 1752 692 1760 +rect 758 1752 763 1818 +rect 4971 1793 4991 1838 +rect 5532 1811 5761 1829 +rect 4936 1773 4991 1793 +rect 683 1747 763 1752 +rect 5606 1743 5638 1744 +rect 4945 1713 4948 1739 +rect 4974 1734 4977 1739 +rect 5606 1734 5609 1743 +rect 4974 1718 5609 1734 +rect 4974 1713 4977 1718 +rect 5606 1717 5609 1718 +rect 5635 1717 5638 1743 +rect 5606 1716 5638 1717 +rect 5709 1742 5741 1743 +rect 5709 1716 5712 1742 +rect 5738 1734 5741 1742 +rect 11058 1736 11126 1737 +rect 5738 1718 6833 1734 +rect 11058 1731 11069 1736 +rect 5738 1716 5741 1718 +rect 5709 1715 5741 1716 +rect 5665 1710 5693 1711 +rect 4892 1705 4925 1707 +rect 4891 1676 4894 1705 +rect 4923 1697 4926 1705 +rect 5300 1697 5303 1702 +rect 4923 1681 5303 1697 +rect 4923 1676 4926 1681 +rect 5300 1676 5303 1681 +rect 5329 1676 5332 1702 +rect 5663 1701 5666 1710 +rect 5660 1685 5666 1701 +rect 5663 1684 5666 1685 +rect 5692 1701 5695 1710 +rect 5887 1701 5890 1704 +rect 5692 1685 5890 1701 +rect 5692 1684 5695 1685 +rect 5665 1683 5693 1684 +rect 5887 1678 5890 1685 +rect 5916 1678 5919 1704 +rect 9796 1690 11069 1731 +rect 11058 1685 11069 1690 +rect 11120 1731 11126 1736 +rect 11811 1731 11877 1795 +rect 11120 1690 11877 1731 +rect 11120 1685 11126 1690 +rect 11058 1684 11126 1685 +rect 11811 1680 11877 1690 +rect 5889 1677 5917 1678 +rect 4891 1674 4926 1676 +rect 4449 1656 4482 1659 +rect 4449 1625 4450 1656 +rect 4481 1635 4482 1656 +rect 5618 1653 5945 1669 +rect 5035 1648 5065 1649 +rect 5034 1635 5037 1648 +rect 4481 1625 5037 1635 +rect 4449 1622 5037 1625 +rect 5063 1635 5066 1648 +rect 5063 1622 5997 1635 +rect 4449 1619 5997 1622 +rect 4830 1597 4874 1598 +rect 298 1596 4874 1597 +rect 298 1555 4831 1596 +rect 4145 1554 4193 1555 +rect 4828 1554 4831 1555 +rect 4873 1554 4876 1596 +rect 5767 1586 5805 1589 +rect 7375 1588 7405 1590 +rect 4830 1553 4874 1554 +rect 5767 1553 5770 1586 +rect 5803 1553 5805 1586 +rect 5767 1550 5805 1553 +rect 5882 1546 5885 1580 +rect 5919 1546 5922 1580 +rect 7304 1554 7377 1588 +rect 7403 1554 7406 1588 +rect 7375 1552 7406 1554 +rect 296 1458 4446 1500 +rect 4488 1458 4494 1500 +rect 6916 1499 6961 1501 +rect 4897 1481 4935 1484 +rect 4897 1449 4899 1481 +rect 4931 1449 4935 1481 +rect 6916 1461 6920 1499 +rect 6958 1461 6961 1499 +rect 6916 1458 6961 1461 +rect 9162 1484 9222 1487 +rect 4897 1446 4935 1449 +rect 9162 1434 9165 1484 +rect 9215 1482 9222 1484 +rect 11803 1482 12013 1576 +rect 9215 1435 12013 1482 +rect 9215 1434 9222 1435 +rect 9162 1431 9222 1434 +rect 284 1299 411 1377 +rect 11803 1368 12013 1435 +rect 11805 1367 11882 1368 +rect 1207 1299 1248 1301 +rect 284 1262 1208 1299 +rect 1245 1262 1248 1299 +rect 7589 1283 7592 1333 +rect 7618 1329 13172 1333 +rect 7618 1283 13243 1329 +rect 284 1189 411 1262 +rect 1207 1260 1248 1262 +rect 1960 1256 1989 1258 +rect 2183 1256 2214 1258 +rect 1959 1220 1962 1256 +rect 1988 1220 2185 1256 +rect 2211 1220 2214 1256 +rect 12633 1243 12834 1245 +rect 1960 1218 1989 1220 +rect 2183 1218 2214 1220 +rect 7535 1193 7538 1243 +rect 7564 1193 12834 1243 +rect 7488 1103 7491 1153 +rect 7517 1151 12415 1153 +rect 7517 1103 12426 1151 +rect 11791 1080 11792 1081 +rect 7440 1013 7443 1063 +rect 7469 1062 12019 1063 +rect 7469 1013 12040 1062 +rect 5299 1004 6389 1005 +rect 5299 1002 5375 1004 +rect 5298 974 5301 1002 +rect 5329 977 5375 1002 +rect 5329 974 5332 977 +rect 5372 976 5375 977 +rect 5403 1002 6389 1004 +rect 5403 977 6282 1002 +rect 5403 976 5406 977 +rect 6279 974 6282 977 +rect 6310 977 6389 1002 +rect 6310 974 6313 977 +rect 1379 960 1416 961 +rect 290 878 417 948 +rect 1247 922 1500 960 +rect 4906 923 4956 924 +rect 9499 923 9502 925 +rect 1247 878 1285 922 +rect 1379 920 1416 922 +rect 4906 917 9502 923 +rect 2246 890 2274 891 +rect 290 840 1285 878 +rect 1887 857 2247 890 +rect 2273 857 2276 890 +rect 4906 871 4909 917 +rect 4955 877 9502 917 +rect 4955 871 4958 877 +rect 9499 875 9502 877 +rect 9552 875 9555 925 +rect 4906 869 4956 871 +rect 2246 855 2274 857 +rect 290 760 417 840 +rect 5737 826 9445 832 +rect 5737 822 9383 826 +rect 5737 786 5747 822 +rect 5744 776 5747 786 +rect 5793 786 9383 822 +rect 5793 776 5796 786 +rect 9380 780 9383 786 +rect 9433 786 9445 826 +rect 9433 780 9436 786 +rect 5881 739 9336 741 +rect 5881 734 9270 739 +rect 5880 733 9270 734 +rect 1504 696 1507 725 +rect 1536 722 1539 725 +rect 2142 724 2175 728 +rect 2141 722 2144 724 +rect 1536 696 2144 722 +rect 1508 695 2144 696 +rect 2173 695 2176 724 +rect 1508 693 2175 695 +rect 2142 691 2175 693 +rect 5880 687 5890 733 +rect 5936 695 9270 733 +rect 5936 687 5945 695 +rect 9267 693 9270 695 +rect 9320 695 9336 739 +rect 9320 693 9323 695 +rect 5880 682 5945 687 +rect 1888 654 2122 659 +rect 1888 599 2028 654 +rect 2025 594 2028 599 +rect 2088 625 2122 654 +rect 6725 647 6777 649 +rect 9174 647 9177 648 +rect 6725 642 9177 647 +rect 2088 601 2126 625 +rect 2088 599 2122 601 +rect 2088 594 2091 599 +rect 2025 592 2091 594 +rect 6725 596 6729 642 +rect 6775 602 9177 642 +rect 9227 647 9230 648 +rect 9227 602 9239 647 +rect 6775 601 9239 602 +rect 6775 596 6778 601 +rect 2028 591 2088 592 +rect 6725 591 6777 596 +rect 290 355 417 446 +rect 290 317 1287 355 +rect 290 258 417 317 +rect 1249 232 1287 317 +rect 1379 232 1416 233 +rect 1249 194 1521 232 +rect 1379 192 1416 194 +rect 2304 135 2335 137 +rect 1881 101 2306 135 +rect 2332 101 2335 135 +rect 2304 99 2335 101 +rect 411 46 461 51 +rect 411 7 415 46 +rect 454 40 461 46 +rect 7308 43 7347 44 +rect 7307 40 7310 43 +rect 454 12 7310 40 +rect 454 7 461 12 +rect 7307 10 7310 12 +rect 7343 10 7347 43 +rect 7308 9 7347 10 +rect 411 4 461 7 +rect 3949 -23 3991 -22 +rect 3949 -56 3954 -23 +rect 3987 -48 7976 -23 +rect 3987 -56 7977 -48 +rect 3949 -57 3991 -56 +rect 7373 -58 7977 -56 +rect 3889 -85 3927 -84 +rect 277 -296 404 -108 +rect 3889 -118 3892 -85 +rect 3925 -118 7569 -85 +rect 3889 -119 3927 -118 +rect 6962 -119 7569 -118 +rect 3825 -148 3867 -147 +rect 3825 -181 3829 -148 +rect 3862 -181 7161 -148 +rect 3825 -182 3867 -181 +rect 3766 -211 3806 -210 +rect 3766 -244 3769 -211 +rect 3802 -212 3806 -211 +rect 3802 -244 6760 -212 +rect 3766 -245 6760 -244 +rect 3766 -246 3806 -245 +rect 3700 -279 3741 -278 +rect 3699 -312 3705 -279 +rect 3738 -312 6351 -279 +rect 3700 -314 3741 -312 +rect 3642 -341 3683 -340 +rect 3642 -374 3645 -341 +rect 3678 -343 5949 -341 +rect 3678 -374 5950 -343 +rect 3642 -375 3683 -374 +rect 3582 -438 3585 -405 +rect 3618 -406 3621 -405 +rect 3618 -438 5551 -406 +rect 3592 -439 5551 -438 +rect 3010 -487 3064 -484 +rect 3010 -488 3015 -487 +rect 1727 -492 3015 -488 +rect 1722 -530 3015 -492 +rect 3058 -530 3064 -487 +rect 3524 -495 3527 -462 +rect 3560 -467 3563 -462 +rect 3560 -495 5160 -467 +rect 3550 -500 5160 -495 +rect 1722 -531 3064 -530 +rect 284 -771 411 -583 +rect 1722 -719 1923 -531 +rect 3010 -534 3064 -531 +rect 3466 -564 3469 -531 +rect 3502 -564 4740 -531 +rect 3075 -566 3129 -565 +rect 3075 -572 3080 -566 +rect 2132 -609 3080 -572 +rect 3123 -609 3129 -566 +rect 4127 -594 4329 -592 +rect 3411 -595 4329 -594 +rect 2132 -615 3129 -609 +rect 2132 -716 2330 -615 +rect 3401 -628 3404 -595 +rect 3437 -627 4329 -595 +rect 3437 -628 3440 -627 +rect 3143 -637 3192 -633 +rect 3143 -653 3147 -637 +rect 2582 -655 3147 -653 +rect 2525 -677 3147 -655 +rect 3187 -677 3192 -637 +rect 2525 -683 3192 -677 +rect 2525 -693 3183 -683 +rect 3337 -693 3340 -659 +rect 3373 -693 3935 -659 +rect 2525 -716 2723 -693 +rect 3126 -716 3191 -715 +rect 1720 -785 1923 -719 +rect 2127 -782 2330 -716 +rect 2523 -782 2726 -716 +rect 2923 -720 3191 -716 +rect 2923 -771 3130 -720 +rect 3181 -771 3191 -720 +rect 3276 -718 3331 -716 +rect 3734 -718 3935 -693 +rect 3276 -720 3531 -718 +rect 3901 -719 3935 -718 +rect 3276 -757 3282 -720 +rect 3319 -757 3531 -720 +rect 3276 -761 3531 -757 +rect 2923 -779 3191 -771 +rect 2923 -782 3126 -779 +rect 3328 -784 3531 -761 +rect 3731 -737 3935 -719 +rect 4125 -715 4329 -627 +rect 4125 -716 4327 -715 +rect 4125 -723 4330 -716 +rect 4535 -717 4738 -564 +rect 4535 -718 4737 -717 +rect 4535 -723 4739 -718 +rect 3731 -785 3934 -737 +rect 4127 -782 4330 -723 +rect 4536 -784 4739 -723 +rect 4953 -782 5156 -500 +rect 5352 -710 5551 -439 +rect 5351 -785 5554 -710 +rect 5750 -712 5950 -374 +rect 5747 -782 5950 -712 +rect 6160 -719 6351 -312 +rect 6564 -717 6759 -245 +rect 6962 -717 7161 -181 +rect 7373 -151 7569 -119 +rect 7783 -108 7977 -58 +rect 10035 -69 10078 -67 +rect 8185 -72 8381 -69 +rect 10033 -72 10036 -69 +rect 8185 -107 10036 -72 +rect 7373 -717 7568 -151 +rect 7783 -715 7976 -108 +rect 6152 -784 6355 -719 +rect 6559 -782 6762 -717 +rect 6962 -782 7165 -717 +rect 7367 -782 7570 -717 +rect 7774 -793 7977 -715 +rect 8185 -717 8381 -107 +rect 10033 -109 10036 -107 +rect 10076 -109 10079 -69 +rect 10035 -110 10078 -109 +rect 10125 -150 10168 -148 +rect 10124 -151 10127 -150 +rect 8578 -189 10127 -151 +rect 10166 -189 10169 -150 +rect 8182 -782 8385 -717 +rect 8578 -719 8774 -189 +rect 10125 -191 10168 -189 +rect 10217 -233 10220 -232 +rect 8993 -271 10220 -233 +rect 10259 -271 10262 -232 +rect 8993 -717 9191 -271 +rect 10301 -312 10343 -309 +rect 9404 -350 10302 -312 +rect 10340 -350 10343 -312 +rect 8577 -784 8780 -719 +rect 8989 -782 9192 -717 +rect 9404 -720 9602 -350 +rect 10301 -353 10343 -350 +rect 9911 -649 10535 -629 +rect 9911 -717 9931 -649 +rect 10627 -670 10647 -629 +rect 10404 -690 10647 -670 +rect 10404 -717 10424 -690 +rect 10724 -717 10745 -628 +rect 9403 -785 9606 -720 +rect 9802 -782 10005 -717 +rect 10204 -747 10424 -717 +rect 10204 -782 10407 -747 +rect 10612 -782 10815 -717 +rect 10917 -726 10938 -628 +rect 11014 -647 11033 -630 +rect 11014 -666 11514 -647 +rect 11030 -726 11233 -717 +rect 11495 -719 11514 -666 +rect 11579 -719 11598 -712 +rect 11839 -717 12040 1013 +rect 10917 -747 11233 -726 +rect 11030 -782 11233 -747 +rect 11428 -784 11631 -719 +rect 11833 -769 12040 -717 +rect 12225 -717 12426 1103 +rect 11833 -782 12036 -769 +rect 12225 -782 12432 -717 +rect 12633 -719 12834 1193 +rect 13042 -717 13243 1283 +rect 12225 -786 12426 -782 +rect 12633 -784 12837 -719 +rect 13039 -775 13243 -717 +rect 13039 -782 13242 -775 +rect 12633 -792 12834 -784 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_0 +timestamp 1608245216 +transform -1 0 2012 0 -1 1081 +box 64 419 528 1018 +use sky130_hilas_nFETLarge sky130_hilas_nFETLarge_0 +timestamp 1625426387 +transform -1 0 2008 0 -1 1836 +box 64 420 501 1003 +use sky130_hilas_DAC5bit01 sky130_hilas_DAC5bit01_0 +timestamp 1625056879 +transform 0 1 9912 1 0 -1031 +box 382 524 2040 1121 +use sky130_hilas_Trans2med sky130_hilas_Trans2med_0 +timestamp 1626027626 +transform 1 0 2073 0 -1 2311 +box -380 -143 -27 452 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_3 +timestamp 1624113741 +transform -1 0 4927 0 -1 2263 +box -30 -102 850 522 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_3 +timestamp 1625970648 +transform -1 0 6601 0 -1 2362 +box 1050 5 1622 610 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_1 +timestamp 1608245216 +transform 1 0 4824 0 1 606 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_2 +timestamp 1608245216 +transform -1 0 5880 0 1 606 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_3 +timestamp 1608245216 +transform 1 0 5805 0 1 609 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_4 +timestamp 1608245216 +transform -1 0 6861 0 1 609 +box 64 419 528 1018 +use sky130_hilas_WTA4Stage01 sky130_hilas_WTA4Stage01_0 +timestamp 1625404155 +transform 1 0 6825 0 1 1803 +box -1121 -43 296 562 +use sky130_hilas_nFETLarge sky130_hilas_nFETLarge_1 +timestamp 1625426387 +transform -1 0 7435 0 1 608 +box 64 420 501 1003 +use sky130_hilas_Trans4small sky130_hilas_Trans4small_0 +timestamp 1608234847 +transform 1 0 1738 0 1 4259 +box 191 -150 471 438 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_2 +timestamp 1624113741 +transform -1 0 4927 0 -1 3240 +box -30 -102 850 522 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_1 +timestamp 1624113741 +transform -1 0 4927 0 -1 4253 +box -30 -102 850 522 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_2 +timestamp 1625970648 +transform -1 0 6601 0 -1 3338 +box 1050 5 1622 610 +use sky130_hilas_swc4x2cell sky130_hilas_swc4x2cell_0 +timestamp 1625491916 +transform 1 0 6768 0 1 2742 +box -1004 -4 1009 601 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_1 +timestamp 1625970648 +transform -1 0 6601 0 -1 4345 +box 1050 5 1622 610 +use sky130_hilas_TA2Cell_1FG_Strong sky130_hilas_TA2Cell_1FG_Strong_0 +timestamp 1625491312 +transform 1 0 8236 0 1 3936 +box -2617 140 193 745 +use sky130_hilas_TA2Cell_1FG sky130_hilas_TA2Cell_1FG_0 +timestamp 1625491133 +transform 1 0 8236 0 1 3333 +box -2616 140 193 745 +use sky130_hilas_Tgate4Single01 sky130_hilas_Tgate4Single01_0 +timestamp 1608226321 +transform 1 0 10780 0 1 3947 +box -36 -141 440 464 +use sky130_hilas_FGcharacterization01 sky130_hilas_FGcharacterization01_0 +timestamp 1625074044 +transform -1 0 2682 0 1 5308 +box -912 259 2083 864 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_0 +timestamp 1624113741 +transform -1 0 4927 0 1 4465 +box -30 -102 850 522 +<< labels >> +rlabel metal2 13039 -782 13242 -717 1 DIG24 +port 1 n +rlabel metal2 12634 -784 12837 -719 0 DIG23 +port 2 nsew +rlabel metal2 12229 -782 12432 -717 0 DIG22 +port 3 nsew +rlabel metal2 11833 -782 12036 -717 0 DIG21 +port 4 nsew +rlabel metal2 11428 -784 11631 -719 0 DIG29 +port 5 nsew +rlabel metal2 11030 -782 11233 -717 0 DIG28 +port 6 nsew +rlabel metal2 10612 -782 10815 -717 0 DIG27 +port 7 nsew +rlabel metal2 10204 -782 10407 -717 0 DIG26 +port 8 nsew +rlabel metal2 9802 -782 10005 -717 0 DIG25 +port 9 nsew +rlabel metal2 9403 -785 9606 -720 0 DIG20 +port 10 nsew +rlabel metal2 8989 -782 9192 -717 0 DIG19 +port 11 nsew +rlabel metal2 8577 -784 8780 -719 0 DIG18 +port 12 nsew +rlabel metal2 8182 -782 8385 -717 0 DIG17 +port 13 nsew +rlabel metal2 7774 -780 7977 -715 0 DIG16 +port 14 nsew +rlabel metal2 7367 -782 7570 -717 0 DIG15 +port 15 nsew +rlabel metal2 6962 -782 7165 -717 0 DIG14 +port 16 nsew +rlabel metal2 6559 -782 6762 -717 0 DIG13 +port 17 nsew +rlabel metal2 6152 -784 6355 -719 0 DIG12 +port 18 nsew +rlabel metal2 5747 -778 5950 -712 0 DIG11 +port 19 nsew +rlabel metal2 5351 -776 5554 -710 0 DIG10 +port 20 nsew +rlabel metal2 4953 -782 5156 -716 0 DIG09 +port 21 nsew +rlabel metal2 4536 -784 4739 -718 0 DIG08 +port 22 nsew +rlabel metal2 4127 -782 4330 -716 0 DIG07 +port 23 nsew +rlabel metal2 3731 -785 3934 -719 0 DIG06 +port 24 nsew +rlabel metal2 3328 -784 3531 -718 0 DIG05 +port 25 nsew +rlabel metal2 2923 -782 3126 -716 0 DIG04 +port 26 nsew +rlabel metal2 2523 -782 2726 -716 0 DIG03 +port 27 nsew +rlabel metal2 2127 -782 2330 -716 0 DIG02 +port 28 nsew +rlabel metal2 1720 -785 1923 -719 0 DIG01 +port 29 nsew +rlabel metal2 11805 1367 11882 1576 0 CAP2 +port 30 nsew +rlabel metal2 11760 1918 11850 2127 0 GENERALGATE01 +port 31 nsew +rlabel metal2 11763 2426 11853 2635 0 GATEANDCAP1 +port 32 nsew +rlabel metal2 11760 2944 11850 3153 0 GENERALGATE02 +port 33 nsew +rlabel metal2 11760 3432 11850 3641 0 OUTPUTTA1 +port 34 nsew +rlabel metal2 11760 3970 11850 4179 0 GATENFET1 +port 35 nsew +rlabel metal2 11763 4415 11853 4624 0 DACOUTPUT +port 36 nsew +rlabel metal2 11764 4853 11850 5063 0 DRAINOUT +port 37 nsew +rlabel metal2 11764 5292 11850 5502 0 ROWTERM2 +port 38 nsew +rlabel metal2 11767 5701 11853 5911 0 COLUMN2 +port 39 nsew +rlabel metal2 11767 6114 11853 6324 0 COLUMN1 +port 40 nsew +rlabel metal1 10273 6287 10592 6399 0 GATE2 +port 41 nsew +rlabel metal1 7416 6284 7735 6396 0 GATE1 +port 61 nsew +rlabel metal1 4557 6285 4876 6397 0 DRAININJECT +port 42 nsew +rlabel metal1 3026 6238 3160 6339 0 VTUN +port 43 nsew +rlabel metal2 295 6136 363 6368 0 VREFCHAR +port 44 nsew +rlabel metal2 295 5683 363 5915 0 CHAROUTPUT +port 45 nsew +rlabel metal2 250 5236 318 5468 0 LARGECAPACITOR +port 46 nsew +rlabel metal2 1379 920 1416 961 0 DRAIN6N +port 47 nsew +rlabel metal2 1379 192 1416 233 0 DRAIN6P +port 48 nsew +rlabel metal2 1383 1884 1420 1925 0 DRAIN5P +port 49 nsew +rlabel metal2 1383 1980 1420 2021 0 DRAIN4P +port 50 nsew +rlabel metal2 1383 2350 1420 2391 0 DRAIN5N +port 51 nsew +rlabel metal2 1383 2414 1420 2455 0 DRAIN4N +port 52 nsew +rlabel metal2 1383 4157 1420 4198 0 DRAIN3P +port 53 nsew +rlabel metal2 1383 4253 1420 4294 0 DRAIN2P +port 54 nsew +rlabel metal2 1383 4349 1420 4390 0 DRAIN1P +port 55 nsew +rlabel metal2 1383 4461 1420 4502 0 DRAIN3N +port 56 nsew +rlabel metal2 1383 4554 1420 4595 0 DRAIN2N +port 57 nsew +rlabel metal2 1383 4657 1420 4698 0 DRAIN1N +port 58 nsew +rlabel metal2 1353 4765 1383 4805 0 SOURCEN +port 59 nsew +rlabel metal2 1353 4847 1383 4887 0 SOURCEP +port 60 nsew +rlabel metal2 279 5546 324 5586 0 VGND +port 63 nsew +rlabel metal2 283 5987 328 6027 0 VINJ +port 62 nsew +rlabel metal2 250 5157 301 5198 0 VINJ +port 62 nsew +rlabel metal2 246 5067 297 5108 0 VGND +port 63 nsew +rlabel metal2 298 1555 361 1597 0 VINJ +port 62 nsew +rlabel metal2 296 1458 359 1500 0 VGND +port 63 nsew +rlabel metal2 11863 4720 11908 4765 0 VPWR +port 64 nsew +rlabel metal1 5638 6371 5711 6401 0 VINJ +port 62 nsew +rlabel metal1 6154 6380 6251 6401 0 VGND +port 63 nsew +rlabel metal2 11811 1680 11877 1795 0 VPWR +port 64 nsew +<< end >>
diff --git a/mag/sky130_hilas_TopLevelTextStructure.mag b/mag/sky130_hilas_TopLevelTextStructure.mag new file mode 100644 index 0000000..6cde771 --- /dev/null +++ b/mag/sky130_hilas_TopLevelTextStructure.mag
@@ -0,0 +1,3325 @@ +magic +tech sky130A +timestamp 1626570174 +<< error_s >> +rect 2364 6133 2393 6149 +rect 2443 6133 2472 6149 +rect 2522 6133 2551 6149 +rect 2601 6133 2630 6149 +rect 1226 6109 1233 6115 +rect 2077 6109 2083 6115 +rect 2909 6109 2915 6115 +rect 3014 6109 3020 6115 +rect 3429 6104 3435 6110 +rect 3484 6104 3490 6110 +rect 2364 6099 2365 6100 +rect 2392 6099 2393 6100 +rect 2443 6099 2444 6100 +rect 2471 6099 2472 6100 +rect 2522 6099 2523 6100 +rect 2550 6099 2551 6100 +rect 2601 6099 2602 6100 +rect 2629 6099 2630 6100 +rect 2314 6070 2331 6099 +rect 2363 6098 2394 6099 +rect 2442 6098 2473 6099 +rect 2521 6098 2552 6099 +rect 2600 6098 2631 6099 +rect 2364 6091 2393 6098 +rect 2443 6091 2472 6098 +rect 2522 6091 2551 6098 +rect 2601 6091 2630 6098 +rect 2364 6077 2373 6091 +rect 2620 6077 2630 6091 +rect 2364 6071 2393 6077 +rect 2443 6071 2472 6077 +rect 2522 6071 2551 6077 +rect 2601 6071 2630 6077 +rect 2363 6070 2394 6071 +rect 2442 6070 2473 6071 +rect 2521 6070 2552 6071 +rect 2600 6070 2631 6071 +rect 2662 6070 2680 6099 +rect 2364 6069 2365 6070 +rect 2392 6069 2393 6070 +rect 2443 6069 2444 6070 +rect 2471 6069 2472 6070 +rect 2522 6069 2523 6070 +rect 2550 6069 2551 6070 +rect 2601 6069 2602 6070 +rect 2629 6069 2630 6070 +rect 2903 6059 2909 6065 +rect 3020 6059 3026 6065 +rect 3423 6054 3429 6060 +rect 3490 6054 3496 6060 +rect 2364 6020 2393 6035 +rect 2443 6020 2472 6035 +rect 2522 6020 2551 6035 +rect 2601 6020 2630 6035 +rect 2364 5853 2393 5869 +rect 2443 5853 2472 5869 +rect 2522 5853 2551 5869 +rect 2601 5853 2630 5869 +rect 918 5850 923 5851 +rect 2364 5819 2365 5820 +rect 2392 5819 2393 5820 +rect 2443 5819 2444 5820 +rect 2471 5819 2472 5820 +rect 2522 5819 2523 5820 +rect 2550 5819 2551 5820 +rect 2601 5819 2602 5820 +rect 2629 5819 2630 5820 +rect 2314 5790 2331 5819 +rect 2363 5818 2394 5819 +rect 2442 5818 2473 5819 +rect 2521 5818 2552 5819 +rect 2600 5818 2631 5819 +rect 2364 5811 2393 5818 +rect 2443 5811 2472 5818 +rect 2522 5811 2551 5818 +rect 2601 5811 2630 5818 +rect 2364 5797 2373 5811 +rect 2620 5797 2630 5811 +rect 2364 5791 2393 5797 +rect 2443 5791 2472 5797 +rect 2522 5791 2551 5797 +rect 2601 5791 2630 5797 +rect 2363 5790 2394 5791 +rect 2442 5790 2473 5791 +rect 2521 5790 2552 5791 +rect 2600 5790 2631 5791 +rect 2662 5790 2680 5819 +rect 2909 5810 2915 5816 +rect 3014 5810 3020 5816 +rect 2364 5789 2365 5790 +rect 2392 5789 2393 5790 +rect 2443 5789 2444 5790 +rect 2471 5789 2472 5790 +rect 2522 5789 2523 5790 +rect 2550 5789 2551 5790 +rect 2601 5789 2602 5790 +rect 2629 5789 2630 5790 +rect 3460 5771 3489 5789 +rect 2903 5760 2909 5766 +rect 3020 5760 3026 5766 +rect 2364 5740 2393 5755 +rect 2443 5740 2472 5755 +rect 2522 5740 2551 5755 +rect 2601 5740 2630 5755 +rect 3460 5739 3461 5740 +rect 3488 5739 3489 5740 +rect 630 5683 631 5738 +rect 2364 5698 2393 5714 +rect 2443 5698 2472 5714 +rect 2522 5698 2551 5714 +rect 2601 5698 2630 5714 +rect 2909 5709 2915 5715 +rect 3014 5709 3020 5715 +rect 3410 5710 3428 5739 +rect 3459 5738 3490 5739 +rect 3460 5729 3489 5738 +rect 3460 5720 3470 5729 +rect 3479 5720 3489 5729 +rect 3460 5711 3489 5720 +rect 3459 5710 3490 5711 +rect 3521 5710 3539 5739 +rect 3460 5709 3461 5710 +rect 3488 5709 3489 5710 +rect 2364 5664 2365 5665 +rect 2392 5664 2393 5665 +rect 2443 5664 2444 5665 +rect 2471 5664 2472 5665 +rect 2522 5664 2523 5665 +rect 2550 5664 2551 5665 +rect 2601 5664 2602 5665 +rect 2629 5664 2630 5665 +rect 1221 5643 1227 5649 +rect 2083 5643 2089 5649 +rect 2314 5635 2331 5664 +rect 2363 5663 2394 5664 +rect 2442 5663 2473 5664 +rect 2521 5663 2552 5664 +rect 2600 5663 2631 5664 +rect 2364 5656 2393 5663 +rect 2443 5656 2472 5663 +rect 2522 5656 2551 5663 +rect 2601 5656 2630 5663 +rect 2364 5642 2373 5656 +rect 2620 5642 2630 5656 +rect 2364 5636 2393 5642 +rect 2443 5636 2472 5642 +rect 2522 5636 2551 5642 +rect 2601 5636 2630 5642 +rect 2363 5635 2394 5636 +rect 2442 5635 2473 5636 +rect 2521 5635 2552 5636 +rect 2600 5635 2631 5636 +rect 2662 5635 2680 5664 +rect 2903 5659 2909 5665 +rect 3020 5659 3026 5665 +rect 3460 5660 3489 5678 +rect 2364 5634 2365 5635 +rect 2392 5634 2393 5635 +rect 2443 5634 2444 5635 +rect 2471 5634 2472 5635 +rect 2522 5634 2523 5635 +rect 2550 5634 2551 5635 +rect 2601 5634 2602 5635 +rect 2629 5634 2630 5635 +rect 2364 5585 2393 5600 +rect 2443 5585 2472 5600 +rect 2522 5585 2551 5600 +rect 2601 5585 2630 5600 +rect 7036 4829 7049 4830 +rect 6655 4608 6661 4614 +rect 6708 4608 6714 4614 +rect 6821 4608 6827 4614 +rect 6874 4608 6880 4614 +rect 6649 4558 6655 4564 +rect 6714 4558 6720 4564 +rect 6815 4558 6821 4564 +rect 6880 4558 6886 4564 +rect 6227 4549 6233 4555 +rect 6332 4549 6338 4555 +rect 7244 4549 7250 4555 +rect 7349 4549 7355 4555 +rect 6221 4499 6227 4505 +rect 6338 4499 6344 4505 +rect 7238 4499 7244 4505 +rect 7355 4499 7361 4505 +rect 4088 4369 4451 4370 +rect 4508 4369 4631 4370 +rect 4706 4363 4736 4482 +rect 6227 4248 6233 4254 +rect 6332 4248 6338 4254 +rect 7244 4248 7250 4254 +rect 7349 4248 7355 4254 +rect 6221 4198 6227 4204 +rect 6338 4198 6344 4204 +rect 6655 4194 6661 4200 +rect 6708 4194 6714 4200 +rect 6821 4194 6827 4200 +rect 6874 4194 6880 4200 +rect 7238 4198 7244 4204 +rect 7355 4198 7361 4204 +rect 6649 4144 6655 4150 +rect 6714 4144 6720 4150 +rect 6815 4144 6821 4150 +rect 6880 4144 6886 4150 +rect 6489 4081 6493 4092 +rect 6489 4067 6490 4078 +rect 6598 4077 6599 4130 +rect 6656 4005 6662 4011 +rect 6709 4005 6715 4011 +rect 6821 4005 6827 4011 +rect 6874 4005 6880 4011 +rect 6650 3955 6656 3961 +rect 6715 3955 6721 3961 +rect 6815 3955 6821 3961 +rect 6880 3955 6886 3961 +rect 6181 3946 6187 3952 +rect 6286 3946 6292 3952 +rect 7244 3946 7250 3952 +rect 7349 3946 7355 3952 +rect 6175 3896 6181 3902 +rect 6292 3896 6298 3902 +rect 7238 3896 7244 3902 +rect 7355 3896 7361 3902 +rect 7049 3761 7066 3762 +rect 7049 3744 7066 3745 +rect 6487 3727 6488 3740 +rect 6181 3645 6187 3651 +rect 6286 3645 6292 3651 +rect 7244 3645 7250 3651 +rect 7349 3645 7355 3651 +rect 6175 3595 6181 3601 +rect 6292 3595 6298 3601 +rect 6656 3591 6662 3597 +rect 6709 3591 6715 3597 +rect 6821 3591 6827 3597 +rect 6874 3591 6880 3597 +rect 7238 3595 7244 3601 +rect 7355 3595 7361 3601 +rect 6650 3541 6656 3547 +rect 6715 3541 6721 3547 +rect 6815 3541 6821 3547 +rect 6880 3541 6886 3547 +rect 6229 3280 6235 3286 +rect 6334 3280 6340 3286 +rect 7200 3280 7206 3286 +rect 7305 3280 7311 3286 +rect 6655 3270 6661 3276 +rect 6708 3270 6714 3276 +rect 6826 3270 6832 3276 +rect 6879 3270 6885 3276 +rect 6223 3216 6229 3222 +rect 6340 3216 6346 3222 +rect 6649 3220 6655 3226 +rect 6714 3220 6720 3226 +rect 6820 3220 6826 3226 +rect 6885 3220 6891 3226 +rect 7194 3216 7200 3222 +rect 7311 3216 7317 3222 +rect 6229 3163 6235 3169 +rect 6334 3163 6340 3169 +rect 6655 3161 6661 3167 +rect 6708 3161 6714 3167 +rect 6826 3161 6832 3167 +rect 6879 3161 6885 3167 +rect 7200 3163 7206 3169 +rect 7305 3163 7311 3169 +rect 6649 3111 6655 3117 +rect 6714 3111 6720 3117 +rect 6820 3111 6826 3117 +rect 6885 3111 6891 3117 +rect 6223 3099 6229 3105 +rect 6340 3099 6346 3105 +rect 7194 3099 7200 3105 +rect 7311 3099 7317 3105 +rect 6229 2978 6235 2984 +rect 6334 2978 6340 2984 +rect 7200 2978 7206 2984 +rect 7305 2978 7311 2984 +rect 6655 2972 6661 2978 +rect 6708 2972 6714 2978 +rect 6826 2972 6832 2978 +rect 6879 2972 6885 2978 +rect 6649 2922 6655 2928 +rect 6714 2922 6720 2928 +rect 6820 2922 6826 2928 +rect 6885 2922 6891 2928 +rect 6223 2914 6229 2920 +rect 6340 2914 6346 2920 +rect 7194 2914 7200 2920 +rect 7311 2914 7317 2920 +rect 6229 2862 6235 2868 +rect 6334 2862 6340 2868 +rect 7200 2862 7206 2868 +rect 7305 2862 7311 2868 +rect 6655 2855 6661 2861 +rect 6708 2855 6714 2861 +rect 6826 2855 6832 2861 +rect 6879 2855 6885 2861 +rect 6649 2805 6655 2811 +rect 6714 2805 6720 2811 +rect 6820 2805 6826 2811 +rect 6885 2805 6891 2811 +rect 6223 2798 6229 2804 +rect 6340 2798 6346 2804 +rect 7194 2798 7200 2804 +rect 7311 2798 7317 2804 +rect 6229 2302 6235 2308 +rect 6334 2302 6340 2308 +rect 6655 2292 6661 2298 +rect 6708 2292 6714 2298 +rect 6223 2238 6229 2244 +rect 6340 2238 6346 2244 +rect 6649 2242 6655 2248 +rect 6714 2242 6720 2248 +rect 6229 2185 6235 2191 +rect 6334 2185 6340 2191 +rect 6655 2183 6661 2189 +rect 6708 2183 6714 2189 +rect 6649 2133 6655 2139 +rect 6714 2133 6720 2139 +rect 6223 2121 6229 2127 +rect 6340 2121 6346 2127 +rect 6229 2000 6235 2006 +rect 6334 2000 6340 2006 +rect 6492 1995 6509 1999 +rect 6655 1994 6661 2000 +rect 6708 1994 6714 2000 +rect 6649 1944 6655 1950 +rect 6714 1944 6720 1950 +rect 6223 1936 6229 1942 +rect 6340 1936 6346 1942 +rect 6229 1884 6235 1890 +rect 6334 1884 6340 1890 +rect 6655 1877 6661 1883 +rect 6708 1877 6714 1883 +rect 6649 1827 6655 1833 +rect 6714 1827 6720 1833 +rect 6223 1820 6229 1826 +rect 6340 1820 6346 1826 +rect 11791 1081 11792 1094 +rect 11791 1080 11805 1081 +rect 1493 922 1500 960 +rect 1507 928 1514 974 +rect 2059 538 2071 541 +rect 2047 517 2052 529 +rect 6382 489 6383 507 +rect 6396 489 6397 493 +rect 2040 177 2052 185 +rect 2271 177 2273 185 +rect 10801 32 10802 34 +rect 3734 -718 3901 -705 +rect 4327 -715 4329 -702 +rect 3731 -732 3901 -719 +rect 4327 -729 4330 -716 +rect 4737 -717 4738 -704 +rect 4737 -731 4739 -718 +<< nwell >> +rect 4187 4364 4211 4369 +rect 4163 4363 4310 4364 +rect 4133 4355 4310 4363 +rect 4736 4355 4957 4364 +rect 5551 4339 5619 4340 +rect 5550 3734 5620 4339 +rect 7940 4024 7996 4078 +rect 5550 1759 5725 2359 +rect 5740 1046 5942 1615 +rect 11004 -566 11139 981 +rect 11003 -613 11139 -566 +<< psubdiff >> +rect 886 5216 2688 5229 +rect 886 5145 2258 5216 +rect 2347 5145 2688 5216 +rect 886 5138 2688 5145 +rect 2597 1408 2688 5138 +rect 6992 4911 8603 4916 +rect 6992 4829 7005 4911 +rect 7031 4910 8603 4911 +rect 7031 4832 8338 4910 +rect 8427 4832 8603 4910 +rect 7031 4829 8603 4832 +rect 6992 4825 8603 4829 +rect 8512 3006 8603 4825 +rect 2597 1374 2608 1408 +rect 2625 1391 2642 1408 +rect 2659 1391 2688 1408 +rect 2676 1374 2688 1391 +rect 2597 1356 2688 1374 +rect 2597 1295 2611 1356 +rect 2664 1295 2688 1356 +rect 2052 529 2270 538 +rect 2052 177 2059 529 +rect 2076 177 2095 529 +rect 2112 177 2130 529 +rect 2147 177 2165 529 +rect 2182 177 2201 529 +rect 2218 177 2236 529 +rect 2253 177 2271 529 +rect 2597 245 2688 1295 +rect 8263 2915 8603 3006 +rect 8263 245 8354 2915 +rect 2040 170 2273 177 +rect 2052 164 2270 170 +rect 2597 154 9755 245 +rect 2597 -243 2688 154 +<< nsubdiff >> +rect 11045 950 11102 958 +rect 11045 -545 11058 950 +rect 11075 -545 11102 950 +rect 11045 -551 11102 -545 +<< psubdiffcont >> +rect 2258 5145 2347 5216 +rect 7005 4829 7031 4911 +rect 8338 4832 8427 4910 +rect 2608 1391 2625 1408 +rect 2642 1391 2659 1408 +rect 2608 1374 2676 1391 +rect 2611 1295 2664 1356 +rect 2059 177 2076 529 +rect 2095 177 2112 529 +rect 2130 177 2147 529 +rect 2165 177 2182 529 +rect 2201 177 2218 529 +rect 2236 177 2253 529 +<< nsubdiffcont >> +rect 11058 -545 11075 950 +<< locali >> +rect 2200 5221 2352 5222 +rect 2200 5219 2355 5221 +rect 2200 5145 2207 5219 +rect 2250 5216 2355 5219 +rect 2250 5145 2258 5216 +rect 2347 5145 2355 5216 +rect 2200 5142 2355 5145 +rect 6997 4911 7064 4913 +rect 6997 4829 7005 4911 +rect 7031 4829 7036 4911 +rect 7062 4829 7064 4911 +rect 6997 4826 7064 4829 +rect 8225 4911 8435 4913 +rect 8225 4832 8231 4911 +rect 8263 4910 8435 4911 +rect 8263 4832 8338 4910 +rect 8427 4832 8435 4910 +rect 8225 4828 8435 4832 +rect 2600 1374 2608 1408 +rect 2600 1366 2676 1374 +rect 2602 1356 2676 1366 +rect 2602 1295 2611 1356 +rect 2664 1295 2676 1356 +rect 2602 1287 2676 1295 +rect 11058 951 11095 958 +rect 11058 950 11078 951 +rect 2035 529 2274 534 +rect 2035 497 2041 529 +rect 2040 177 2041 497 +rect 2058 177 2059 529 +rect 2076 177 2078 529 +rect 2112 177 2113 529 +rect 2164 177 2165 529 +rect 2199 177 2201 529 +rect 2235 177 2236 529 +rect 2253 177 2254 529 +rect 2271 177 2274 529 +rect 2040 171 2274 177 +rect 2040 170 2273 171 +rect 11075 -544 11078 950 +rect 11095 -544 11096 -529 +rect 11075 -545 11096 -544 +rect 11058 -554 11096 -545 +<< viali >> +rect 2207 5145 2250 5219 +rect 7036 4829 7062 4911 +rect 8231 4832 8263 4911 +rect 2625 1391 2642 1408 +rect 2625 1374 2642 1391 +rect 2659 1391 2676 1408 +rect 2659 1374 2676 1391 +rect 2041 177 2058 529 +rect 2078 177 2095 529 +rect 2113 177 2130 529 +rect 2147 177 2164 529 +rect 2182 177 2199 529 +rect 2218 177 2235 529 +rect 2254 177 2271 529 +rect 11078 -544 11095 951 +<< metal1 >> +rect 8233 6611 8267 6625 +rect 9021 6611 9093 6785 +rect 8233 6539 9093 6611 +rect 3026 6294 3160 6339 +rect 416 6254 466 6258 +rect 416 6215 421 6254 +rect 460 6215 466 6254 +rect 3026 6252 4378 6294 +rect 4557 6285 4876 6397 +rect 3026 6238 3160 6252 +rect 416 6210 466 6215 +rect 426 5914 465 6210 +rect 2485 6178 2762 6202 +rect 2485 6137 2509 6178 +rect 426 5909 473 5914 +rect 426 5870 429 5909 +rect 468 5870 473 5909 +rect 426 5865 473 5870 +rect 426 5864 471 5865 +rect 426 53 465 5864 +rect 567 5779 593 5782 +rect 567 5750 593 5753 +rect 568 5528 592 5750 +rect 559 5525 601 5528 +rect 559 5480 601 5483 +rect 1148 5404 1177 5596 +rect 1146 5401 1187 5404 +rect 1146 5343 1154 5401 +rect 1183 5343 1187 5401 +rect 1146 5337 1187 5343 +rect 2484 5268 2508 5591 +rect 2479 5263 2513 5268 +rect 2479 5237 2483 5263 +rect 2509 5237 2513 5263 +rect 2479 5234 2513 5237 +rect 2204 5224 2253 5225 +rect 2203 5219 2254 5224 +rect 2203 5145 2207 5219 +rect 2250 5145 2254 5219 +rect 1811 4355 1834 4703 +rect 1878 4641 1900 4703 +rect 2147 4675 2169 5130 +rect 2203 5109 2254 5145 +rect 2738 5131 2762 6178 +rect 3069 6145 3372 6172 +rect 3540 6146 3566 6252 +rect 3066 5228 3097 5598 +rect 3058 5225 3097 5228 +rect 3058 5194 3062 5225 +rect 3093 5194 3097 5225 +rect 3058 5191 3097 5194 +rect 3345 5177 3372 6145 +rect 4336 5927 4378 6252 +rect 4717 6003 4759 6285 +rect 4717 6000 4764 6003 +rect 4717 5958 4720 6000 +rect 4762 5958 4764 6000 +rect 4717 5955 4764 5958 +rect 4332 5924 4380 5927 +rect 4332 5882 4335 5924 +rect 4377 5882 4380 5924 +rect 4332 5879 4380 5882 +rect 4887 5765 4931 5768 +rect 4887 5718 4931 5721 +rect 5459 5765 5503 5768 +rect 5459 5718 5503 5721 +rect 5638 5762 5711 6401 +rect 6153 6386 6251 6401 +rect 5638 5718 5641 5762 +rect 5685 5718 5711 5762 +rect 4445 5663 4489 5666 +rect 4445 5616 4489 5619 +rect 3462 5277 3487 5592 +rect 4166 5343 4198 5347 +rect 4166 5342 4169 5343 +rect 4157 5317 4169 5342 +rect 4195 5317 4198 5343 +rect 4157 5313 4198 5317 +rect 3458 5274 3491 5277 +rect 3458 5248 3462 5274 +rect 3488 5248 3491 5274 +rect 3458 5241 3491 5248 +rect 3341 5175 3375 5177 +rect 3341 5149 3345 5175 +rect 3372 5149 3375 5175 +rect 3341 5146 3375 5149 +rect 2198 5106 2254 5109 +rect 2198 5099 2212 5106 +rect 2187 5071 2212 5099 +rect 2247 5071 2254 5106 +rect 2733 5128 2767 5131 +rect 2733 5102 2737 5128 +rect 2763 5102 2767 5128 +rect 2733 5099 2767 5102 +rect 2187 5059 2254 5071 +rect 2187 5056 2253 5059 +rect 2187 4675 2209 5056 +rect 4157 4963 4181 5313 +rect 4451 4956 4482 5616 +rect 4894 4958 4923 5718 +rect 5013 5619 5016 5663 +rect 5060 5619 5063 5663 +rect 2309 4886 2344 4890 +rect 2309 4847 2314 4886 +rect 2340 4847 2344 4886 +rect 2309 4844 2344 4847 +rect 3952 4874 3989 4877 +rect 3952 4848 3954 4874 +rect 3987 4848 3989 4874 +rect 3952 4846 3989 4848 +rect 2249 4808 2274 4820 +rect 2246 4805 2278 4808 +rect 2246 4765 2250 4805 +rect 2276 4765 2278 4805 +rect 2246 4762 2278 4765 +rect 2249 4683 2274 4762 +rect 2249 4680 2278 4683 +rect 2249 4654 2252 4680 +rect 2249 4651 2278 4654 +rect 1875 4638 1901 4641 +rect 1875 4609 1901 4612 +rect 1878 4549 1900 4609 +rect 1872 4546 1900 4549 +rect 1898 4520 1900 4546 +rect 1872 4517 1900 4520 +rect 1878 4457 1900 4517 +rect 1873 4454 1900 4457 +rect 1899 4428 1900 4454 +rect 1873 4425 1900 4428 +rect 1808 4352 1834 4355 +rect 1808 4323 1834 4326 +rect 1811 4259 1834 4323 +rect 1804 4256 1834 4259 +rect 1830 4230 1834 4256 +rect 1804 4227 1834 4230 +rect 1811 4163 1834 4227 +rect 1808 4160 1834 4163 +rect 1808 4131 1834 4134 +rect 1811 2656 1834 4131 +rect 1878 2656 1900 4425 +rect 2249 4591 2274 4651 +rect 2249 4588 2278 4591 +rect 2249 4562 2252 4588 +rect 2249 4559 2278 4562 +rect 2249 4499 2274 4559 +rect 2249 4496 2275 4499 +rect 2249 4467 2275 4470 +rect 1800 2653 1834 2656 +rect 1800 2606 1804 2653 +rect 1830 2606 1834 2653 +rect 1800 2603 1834 2606 +rect 1866 2653 1900 2656 +rect 1866 2606 1868 2653 +rect 1894 2606 1900 2653 +rect 1866 2603 1900 2606 +rect 1669 2529 1692 2536 +rect 1665 2503 1668 2529 +rect 1694 2503 1697 2529 +rect 1620 2492 1643 2496 +rect 1616 2489 1643 2492 +rect 1642 2463 1643 2489 +rect 1616 2460 1643 2463 +rect 685 2404 757 2406 +rect 685 2338 688 2404 +rect 754 2338 757 2404 +rect 685 2336 757 2338 +rect 686 1821 752 2336 +rect 1620 2108 1643 2460 +rect 1669 2256 1692 2503 +rect 1811 2494 1834 2603 +rect 1878 2530 1900 2603 +rect 2054 2532 2081 2536 +rect 1876 2527 1902 2530 +rect 1876 2498 1902 2501 +rect 2052 2529 2081 2532 +rect 2079 2502 2081 2529 +rect 2052 2499 2081 2502 +rect 1810 2491 1836 2494 +rect 1810 2462 1836 2465 +rect 1999 2345 2028 2348 +rect 1669 2219 1742 2256 +rect 1620 2101 1646 2108 +rect 1618 2100 1646 2101 +rect 1615 2098 1647 2100 +rect 1615 2072 1618 2098 +rect 1644 2072 1647 2098 +rect 1615 2069 1647 2072 +rect 1205 1923 1248 1926 +rect 1205 1886 1209 1923 +rect 1246 1886 1248 1923 +rect 1205 1883 1248 1886 +rect 686 1818 760 1821 +rect 686 1752 692 1818 +rect 758 1752 760 1818 +rect 686 1749 760 1752 +rect 1210 1302 1247 1883 +rect 1669 1469 1692 2219 +rect 2054 2202 2081 2499 +rect 2042 2177 2081 2202 +rect 2102 2492 2126 2496 +rect 2102 2489 2128 2492 +rect 2102 2460 2128 2463 +rect 2102 2146 2126 2460 +rect 2042 2123 2126 2146 +rect 1669 1446 1914 1469 +rect 1882 1413 1914 1446 +rect 1206 1299 1249 1302 +rect 1206 1262 1208 1299 +rect 1245 1262 1249 1299 +rect 1206 1259 1249 1262 +rect 1958 1256 1991 1259 +rect 1944 1248 1962 1256 +rect 1920 1224 1962 1248 +rect 1958 1220 1962 1224 +rect 1988 1220 1991 1256 +rect 1958 1217 1991 1220 +rect 1507 725 1536 728 +rect 1507 693 1536 696 +rect 1508 636 1534 693 +rect 2102 657 2126 2123 +rect 2147 2056 2169 4131 +rect 2187 2317 2209 4131 +rect 2249 2432 2274 4467 +rect 2311 4390 2337 4844 +rect 3888 4709 3927 4711 +rect 3888 4676 3891 4709 +rect 3924 4676 3927 4709 +rect 3888 4674 3927 4676 +rect 3830 4561 3869 4564 +rect 3830 4528 3834 4561 +rect 3867 4528 3869 4561 +rect 3830 4525 3869 4528 +rect 3766 4401 3805 4404 +rect 2311 4387 2339 4390 +rect 2311 4361 2313 4387 +rect 3766 4368 3770 4401 +rect 3803 4368 3805 4401 +rect 3766 4366 3805 4368 +rect 2311 4358 2339 4361 +rect 3769 4365 3803 4366 +rect 2311 4294 2337 4358 +rect 3705 4346 3739 4347 +rect 3704 4344 3740 4346 +rect 3704 4311 3706 4344 +rect 3739 4311 3740 4344 +rect 3704 4307 3740 4311 +rect 2311 4291 2340 4294 +rect 2311 4265 2314 4291 +rect 2311 4262 2340 4265 +rect 2311 4198 2337 4262 +rect 2311 4195 2339 4198 +rect 2311 4169 2313 4195 +rect 2311 4166 2339 4169 +rect 3643 4187 3679 4190 +rect 2249 2430 2275 2432 +rect 2248 2429 2276 2430 +rect 2248 2403 2249 2429 +rect 2275 2403 2276 2429 +rect 2248 2402 2276 2403 +rect 2249 2400 2275 2402 +rect 2183 2314 2215 2317 +rect 2183 2288 2187 2314 +rect 2213 2288 2215 2314 +rect 2183 2285 2215 2288 +rect 2143 2053 2171 2056 +rect 2143 2027 2145 2053 +rect 2143 2024 2171 2027 +rect 2147 727 2169 2024 +rect 2187 1503 2209 2285 +rect 2187 1500 2216 1503 +rect 2187 1458 2189 1500 +rect 2215 1458 2216 1500 +rect 2187 1455 2216 1458 +rect 2187 1259 2209 1455 +rect 2185 1256 2211 1259 +rect 2185 1217 2211 1220 +rect 2187 755 2209 1217 +rect 2249 893 2274 2400 +rect 2311 1999 2337 4166 +rect 3643 4154 3645 4187 +rect 3678 4154 3679 4187 +rect 3643 4151 3679 4154 +rect 3578 4034 3619 4037 +rect 3578 4001 3582 4034 +rect 3615 4001 3619 4034 +rect 3578 3997 3619 4001 +rect 3525 3877 3561 3880 +rect 3525 3844 3526 3877 +rect 3559 3844 3561 3877 +rect 3525 3841 3561 3844 +rect 3467 3335 3500 3337 +rect 3461 3330 3500 3335 +rect 3461 3297 3464 3330 +rect 3497 3297 3500 3330 +rect 3461 3293 3500 3297 +rect 3404 3174 3437 3176 +rect 3399 3171 3438 3174 +rect 3399 3138 3401 3171 +rect 3434 3138 3438 3171 +rect 3399 3135 3438 3138 +rect 3342 3019 3375 3020 +rect 3339 3016 3375 3019 +rect 3372 2983 3375 3016 +rect 3339 2980 3375 2983 +rect 3277 2868 3316 2872 +rect 3277 2835 3279 2868 +rect 3312 2835 3316 2868 +rect 3277 2832 3316 2835 +rect 3210 2351 3253 2355 +rect 3210 2318 3215 2351 +rect 3248 2318 3253 2351 +rect 3210 2315 3253 2318 +rect 3144 2194 3185 2198 +rect 3144 2161 3148 2194 +rect 3181 2161 3185 2194 +rect 3144 2158 3185 2161 +rect 3083 2030 3122 2034 +rect 2310 1996 2341 1999 +rect 2310 1970 2313 1996 +rect 2339 1970 2341 1996 +rect 3083 1997 3086 2030 +rect 3119 1997 3122 2030 +rect 3083 1994 3122 1997 +rect 2310 1967 2341 1970 +rect 2245 890 2275 893 +rect 2245 857 2247 890 +rect 2273 857 2275 890 +rect 2245 853 2275 857 +rect 2187 741 2211 755 +rect 2143 724 2174 727 +rect 2143 695 2144 724 +rect 2173 695 2174 724 +rect 2143 692 2174 695 +rect 2188 678 2211 741 +rect 2023 654 2126 657 +rect 2023 594 2028 654 +rect 2088 601 2126 654 +rect 2187 675 2211 678 +rect 2088 594 2102 601 +rect 2023 590 2102 594 +rect 2187 536 2209 675 +rect 2034 529 2276 536 +rect 2034 177 2041 529 +rect 2058 177 2078 529 +rect 2095 177 2113 529 +rect 2130 177 2147 529 +rect 2164 177 2182 529 +rect 2199 177 2218 529 +rect 2235 177 2254 529 +rect 2271 177 2276 529 +rect 2034 168 2276 177 +rect 2311 139 2337 1967 +rect 3014 1886 3055 1889 +rect 3014 1853 3018 1886 +rect 3051 1853 3055 1886 +rect 3014 1850 3055 1853 +rect 2593 1488 2686 1500 +rect 2593 1417 2614 1488 +rect 2672 1417 2686 1488 +rect 2593 1408 2686 1417 +rect 2593 1374 2625 1408 +rect 2642 1374 2659 1408 +rect 2676 1374 2686 1408 +rect 2593 1335 2686 1374 +rect 2602 1287 2676 1335 +rect 2302 135 2337 139 +rect 2302 101 2306 135 +rect 2332 101 2337 135 +rect 2302 98 2337 101 +rect 409 46 465 53 +rect 409 7 415 46 +rect 454 7 465 46 +rect 409 1 465 7 +rect 3020 -484 3053 1850 +rect 3015 -485 3058 -484 +rect 3012 -487 3061 -485 +rect 3012 -530 3015 -487 +rect 3058 -530 3061 -487 +rect 3012 -531 3061 -530 +rect 3015 -533 3058 -531 +rect 3085 -563 3118 1994 +rect 3076 -566 3125 -563 +rect 3076 -609 3080 -566 +rect 3123 -609 3125 -566 +rect 3076 -612 3125 -609 +rect 3150 -634 3183 2158 +rect 3147 -637 3187 -634 +rect 3147 -680 3187 -677 +rect 3126 -720 3184 -718 +rect 3126 -771 3130 -720 +rect 3181 -729 3184 -720 +rect 3217 -729 3250 2315 +rect 3281 -271 3314 2832 +rect 3281 -717 3313 -271 +rect 3342 -656 3375 2980 +rect 3404 -595 3437 3135 +rect 3467 -528 3500 3293 +rect 3527 -462 3560 3841 +rect 3585 -405 3618 3997 +rect 3646 -338 3679 4151 +rect 3705 -277 3738 4307 +rect 3769 -210 3802 4365 +rect 3831 -145 3864 4525 +rect 3891 -82 3924 4674 +rect 3954 -21 3987 4846 +rect 4481 4363 4482 4364 +rect 4157 4355 4181 4363 +rect 4451 4355 4482 4363 +rect 4894 4355 4923 4363 +rect 5040 4319 5059 5619 +rect 5468 4315 5493 5718 +rect 5638 5714 5711 5718 +rect 5654 4675 5671 5714 +rect 6154 5661 6251 6386 +rect 7416 6284 7735 6396 +rect 6693 5924 6840 5930 +rect 6693 5882 6697 5924 +rect 6832 5882 6840 5924 +rect 6693 5877 6840 5882 +rect 6456 5663 6500 5666 +rect 6152 5659 6253 5661 +rect 6152 5618 6155 5659 +rect 6250 5618 6253 5659 +rect 6152 5614 6253 5618 +rect 6456 5616 6500 5619 +rect 5876 5267 5910 5270 +rect 5876 5241 5881 5267 +rect 5907 5241 5910 5267 +rect 5881 5238 5907 5241 +rect 5693 4914 5719 4917 +rect 5693 4885 5719 4888 +rect 5696 4662 5715 4885 +rect 5883 4660 5904 5238 +rect 6240 5178 6266 5179 +rect 6238 5176 6268 5178 +rect 6238 5150 6240 5176 +rect 6266 5150 6268 5176 +rect 6238 5148 6268 5150 +rect 6240 5147 6266 5148 +rect 5923 5074 5957 5077 +rect 5923 5048 5927 5074 +rect 5953 5048 5957 5074 +rect 5923 5045 5957 5048 +rect 5930 4662 5949 5045 +rect 5967 4865 5996 4868 +rect 5967 4839 5969 4865 +rect 5995 4839 5996 4865 +rect 5967 4836 5996 4839 +rect 5971 4660 5992 4836 +rect 6071 4817 6105 4820 +rect 6071 4791 6075 4817 +rect 6101 4791 6105 4817 +rect 6071 4788 6105 4791 +rect 6079 4663 6097 4788 +rect 6243 4124 6263 5147 +rect 6466 4658 6489 5616 +rect 6556 5268 6584 5271 +rect 6556 5242 6557 5268 +rect 6583 5242 6584 5268 +rect 6556 5239 6584 5242 +rect 6512 5177 6540 5180 +rect 6512 5151 6513 5177 +rect 6539 5151 6540 5177 +rect 6512 5148 6540 5151 +rect 6241 4111 6263 4124 +rect 6236 4108 6269 4111 +rect 6236 4081 6239 4108 +rect 6266 4081 6269 4108 +rect 6236 4078 6269 4081 +rect 6515 3994 6537 5148 +rect 6514 3987 6537 3994 +rect 6513 3927 6533 3987 +rect 6558 3942 6581 5239 +rect 6695 4639 6737 5877 +rect 6798 4639 6840 5877 +rect 7036 5659 7080 5662 +rect 7036 5612 7080 5615 +rect 7046 4914 7069 5612 +rect 7488 5087 7616 6284 +rect 7864 5765 7892 5777 +rect 7864 5762 7897 5765 +rect 7864 5718 7869 5762 +rect 7864 5715 7897 5718 +rect 7488 5079 7618 5087 +rect 7487 5078 7618 5079 +rect 7487 5052 7491 5078 +rect 7613 5052 7618 5078 +rect 7487 5049 7618 5052 +rect 7165 5013 7195 5016 +rect 7165 4987 7167 5013 +rect 7193 4987 7195 5013 +rect 7165 4984 7195 4987 +rect 7033 4913 7069 4914 +rect 7030 4911 7069 4913 +rect 7030 4829 7036 4911 +rect 7062 4829 7069 4911 +rect 7030 4828 7069 4829 +rect 7033 4827 7069 4828 +rect 7046 4658 7069 4827 +rect 7168 4658 7191 4984 +rect 7796 4959 7839 4963 +rect 7796 4933 7800 4959 +rect 7826 4933 7839 4959 +rect 7796 4929 7839 4933 +rect 7820 4662 7839 4929 +rect 7864 4653 7892 5715 +rect 8034 5268 8060 5271 +rect 8034 5239 8060 5242 +rect 7945 5181 7971 5184 +rect 7945 5152 7971 5155 +rect 7948 4780 7967 5152 +rect 8036 4780 8058 5239 +rect 8233 4917 8267 6539 +rect 10273 6287 10592 6399 +rect 8683 6193 8720 6194 +rect 8678 6189 8728 6193 +rect 8678 6152 8686 6189 +rect 8723 6152 8728 6189 +rect 8678 6148 8728 6152 +rect 8298 5340 8330 5344 +rect 8298 5313 8301 5340 +rect 8327 5313 8330 5340 +rect 8298 5307 8330 5313 +rect 8228 4911 8267 4917 +rect 8228 4909 8231 4911 +rect 8227 4832 8231 4909 +rect 8263 4832 8267 4911 +rect 8228 4825 8267 4832 +rect 7931 4760 7999 4780 +rect 7931 4734 7945 4760 +rect 7971 4734 7999 4760 +rect 7931 4711 7999 4734 +rect 8035 4761 8103 4780 +rect 8035 4735 8047 4761 +rect 8073 4735 8103 4761 +rect 8035 4711 8103 4735 +rect 8233 4647 8267 4825 +rect 8300 4769 8327 5307 +rect 8300 4766 8368 4769 +rect 8300 4723 8322 4766 +rect 8365 4723 8368 4766 +rect 8300 4719 8368 4723 +rect 8300 4654 8327 4719 +rect 6514 3924 6537 3927 +rect 4157 3318 4181 3755 +rect 4451 3311 4482 3762 +rect 4894 3313 4923 3760 +rect 5040 3314 5059 3754 +rect 5171 3333 5194 3758 +rect 5468 3333 5493 3760 +rect 6515 3604 6537 3924 +rect 6515 3595 6550 3604 +rect 6515 3573 6566 3595 +rect 5644 3390 5672 3501 +rect 5697 3432 5716 3492 +rect 5897 3448 5936 3450 +rect 5896 3445 5936 3448 +rect 5896 3439 5903 3445 +rect 5697 3413 5860 3432 +rect 5644 3362 5816 3390 +rect 5788 3339 5816 3362 +rect 5841 3335 5860 3413 +rect 5881 3417 5903 3439 +rect 5931 3417 5936 3445 +rect 5881 3414 5936 3417 +rect 5881 3412 5935 3414 +rect 5881 3327 5897 3412 +rect 6293 3405 6331 3407 +rect 6345 3405 6368 3496 +rect 6293 3382 6368 3405 +rect 6467 3396 6490 3496 +rect 6798 3397 6840 3515 +rect 7046 3398 7069 3496 +rect 7168 3407 7191 3496 +rect 6293 3305 6331 3382 +rect 6467 3366 6492 3396 +rect 6468 3319 6492 3366 +rect 6798 3358 6844 3397 +rect 7046 3363 7072 3398 +rect 7166 3369 7247 3407 +rect 7820 3394 7839 3492 +rect 6804 3303 6844 3358 +rect 7048 3319 7072 3363 +rect 7209 3305 7247 3369 +rect 7637 3386 7665 3389 +rect 7637 3360 7638 3386 +rect 7664 3360 7665 3386 +rect 7637 3357 7665 3360 +rect 7680 3375 7839 3394 +rect 7643 3327 7659 3357 +rect 7680 3340 7699 3375 +rect 7864 3356 7892 3501 +rect 8683 3457 8720 6148 +rect 8762 5843 8808 5846 +rect 8762 5806 8768 5843 +rect 8805 5806 8808 5843 +rect 8762 5803 8808 5806 +rect 8680 3452 8725 3457 +rect 8680 3415 8687 3452 +rect 8724 3415 8725 3452 +rect 8680 3411 8725 3415 +rect 8683 3407 8720 3411 +rect 8764 3398 8801 5803 +rect 8839 5372 8884 5375 +rect 8839 5335 8845 5372 +rect 8882 5335 8884 5372 +rect 8839 5332 8884 5335 +rect 7725 3328 7892 3356 +rect 8761 3393 8805 3398 +rect 8761 3356 8764 3393 +rect 8801 3356 8805 3393 +rect 8761 3352 8805 3356 +rect 8764 3347 8801 3352 +rect 8841 3163 8878 5332 +rect 9496 5280 9554 5283 +rect 9496 5230 9500 5280 +rect 9550 5230 9554 5280 +rect 9496 5227 9554 5230 +rect 9378 5220 9434 5224 +rect 9270 5173 9326 5177 +rect 9175 5124 9231 5135 +rect 9175 5074 9178 5124 +rect 9228 5074 9231 5124 +rect 9175 5070 9231 5074 +rect 9270 5123 9273 5173 +rect 9323 5123 9326 5173 +rect 9378 5170 9381 5220 +rect 9431 5170 9434 5220 +rect 9378 5165 9434 5170 +rect 9270 5119 9326 5123 +rect 8928 4865 8971 4868 +rect 8928 4828 8933 4865 +rect 8970 4828 8971 4865 +rect 8928 4824 8971 4828 +rect 8838 3162 8878 3163 +rect 8837 3160 8879 3162 +rect 8837 3123 8838 3160 +rect 8875 3123 8879 3160 +rect 8837 3120 8879 3123 +rect 8841 3119 8878 3120 +rect 4157 2365 4181 2742 +rect 4451 2365 4482 2749 +rect 4894 2365 4923 2747 +rect 5040 2338 5059 2747 +rect 5171 2643 5194 2751 +rect 5162 2639 5195 2643 +rect 5162 2598 5166 2639 +rect 5192 2598 5195 2639 +rect 5162 2595 5195 2598 +rect 5171 2334 5194 2595 +rect 5468 2355 5493 2753 +rect 5800 2349 5816 2754 +rect 6075 2390 6099 2762 +rect 6073 2365 6112 2390 +rect 6087 2340 6112 2365 +rect 6293 2327 6331 2776 +rect 6468 2388 6492 2762 +rect 6468 2361 6515 2388 +rect 6488 2338 6515 2361 +rect 6696 2325 6736 2778 +rect 7048 2511 7072 2762 +rect 8929 2645 8966 4824 +rect 8925 2639 8974 2645 +rect 8925 2598 8931 2639 +rect 8968 2598 8974 2639 +rect 8925 2594 8974 2598 +rect 8929 2591 8966 2594 +rect 7048 2487 7106 2511 +rect 7082 2353 7106 2487 +rect 5603 2252 5635 2256 +rect 5603 2226 5606 2252 +rect 5632 2226 5635 2252 +rect 7594 2250 7620 2253 +rect 5603 2222 5635 2226 +rect 7593 2224 7594 2247 +rect 4157 502 4181 1765 +rect 4451 1657 4482 1772 +rect 4894 1708 4923 1770 +rect 4944 1739 4978 1742 +rect 4944 1713 4948 1739 +rect 4974 1713 4978 1739 +rect 4944 1710 4978 1713 +rect 4891 1705 4926 1708 +rect 4891 1676 4894 1705 +rect 4923 1676 4926 1705 +rect 4891 1673 4926 1676 +rect 4447 1656 4484 1657 +rect 4447 1625 4450 1656 +rect 4481 1625 4484 1656 +rect 4894 1627 4923 1673 +rect 4944 1649 4969 1710 +rect 5040 1651 5059 1771 +rect 5468 1704 5493 1777 +rect 5611 1746 5632 2222 +rect 7593 2221 7620 2224 +rect 7542 2157 7568 2160 +rect 7542 2128 7568 2131 +rect 5737 2053 5776 2078 +rect 5665 1974 5699 1977 +rect 5665 1948 5669 1974 +rect 5695 1948 5699 1974 +rect 5665 1943 5699 1948 +rect 5669 1941 5691 1943 +rect 5608 1743 5636 1746 +rect 5608 1717 5609 1743 +rect 5635 1717 5636 1743 +rect 5608 1714 5636 1717 +rect 5669 1713 5689 1941 +rect 5715 1745 5734 1795 +rect 5711 1742 5739 1745 +rect 5711 1716 5712 1742 +rect 5738 1716 5739 1742 +rect 5665 1710 5693 1713 +rect 5711 1712 5739 1716 +rect 5465 1702 5499 1704 +rect 5465 1676 5469 1702 +rect 5495 1676 5499 1702 +rect 5665 1684 5666 1710 +rect 5692 1684 5693 1710 +rect 5665 1681 5693 1684 +rect 5465 1675 5499 1676 +rect 4447 1624 4484 1625 +rect 4451 1503 4482 1624 +rect 4837 1599 4923 1627 +rect 4829 1598 4923 1599 +rect 4939 1638 4969 1649 +rect 5034 1648 5066 1651 +rect 4829 1596 4875 1598 +rect 4829 1554 4831 1596 +rect 4873 1554 4875 1596 +rect 4829 1551 4875 1554 +rect 4446 1500 4488 1503 +rect 4939 1487 4958 1638 +rect 5034 1622 5037 1648 +rect 5063 1622 5066 1648 +rect 5034 1619 5066 1622 +rect 5302 1598 5377 1617 +rect 5327 1514 5377 1598 +rect 5758 1590 5776 2053 +rect 7495 1973 7521 1976 +rect 7495 1944 7521 1947 +rect 7445 1880 7471 1883 +rect 7445 1851 7471 1854 +rect 5890 1706 5916 1709 +rect 5888 1704 5918 1706 +rect 5888 1678 5890 1704 +rect 5916 1678 5918 1704 +rect 5888 1676 5918 1678 +rect 5890 1675 5916 1676 +rect 5758 1586 5806 1590 +rect 5758 1560 5770 1586 +rect 5766 1553 5770 1560 +rect 5803 1553 5806 1586 +rect 5891 1583 5913 1675 +rect 6087 1662 6112 1785 +rect 6488 1664 6515 1787 +rect 6770 1744 6813 1747 +rect 6770 1709 6774 1744 +rect 6809 1709 6813 1744 +rect 6770 1707 6813 1709 +rect 6086 1636 6089 1662 +rect 6115 1636 6118 1662 +rect 6488 1660 6523 1664 +rect 6488 1633 6493 1660 +rect 6520 1633 6523 1660 +rect 5766 1549 5806 1553 +rect 5885 1580 5919 1583 +rect 5885 1543 5919 1546 +rect 5891 1535 5913 1543 +rect 6286 1516 6380 1609 +rect 6774 1564 6809 1707 +rect 6956 1651 6978 1783 +rect 7082 1711 7105 1783 +rect 7082 1688 7403 1711 +rect 7082 1687 7105 1688 +rect 6774 1532 6778 1564 +rect 6804 1532 6809 1564 +rect 6774 1528 6809 1532 +rect 6927 1627 6978 1651 +rect 4446 1455 4488 1458 +rect 4895 1481 4958 1487 +rect 5278 1482 5302 1514 +rect 5402 1482 5426 1514 +rect 6259 1484 6283 1516 +rect 6383 1484 6407 1516 +rect 6927 1502 6950 1627 +rect 7380 1591 7403 1688 +rect 7375 1588 7406 1591 +rect 7375 1554 7377 1588 +rect 7403 1554 7406 1588 +rect 7375 1551 7406 1554 +rect 6916 1499 6962 1502 +rect 4895 1449 4899 1481 +rect 4931 1455 4958 1481 +rect 6916 1461 6920 1499 +rect 6958 1461 6962 1499 +rect 6916 1458 6962 1461 +rect 4931 1449 4939 1455 +rect 4895 1445 4939 1449 +rect 5278 1348 5302 1380 +rect 5402 1347 5426 1379 +rect 6259 1350 6283 1382 +rect 6383 1349 6407 1381 +rect 7380 1234 7403 1551 +rect 7367 1212 7403 1234 +rect 7347 1189 7403 1212 +rect 7347 1188 7401 1189 +rect 4916 927 4948 1102 +rect 5278 1071 5302 1103 +rect 5402 1070 5426 1102 +rect 5302 1005 5328 1051 +rect 5376 1007 5402 1051 +rect 5301 1002 5329 1005 +rect 5301 971 5329 974 +rect 5375 1004 5403 1007 +rect 5375 973 5403 976 +rect 4904 917 4958 927 +rect 4904 871 4909 917 +rect 4955 871 4958 917 +rect 4904 867 4958 871 +rect 5302 830 5328 971 +rect 5376 830 5402 973 +rect 4117 485 4182 502 +rect 5302 487 5402 830 +rect 5753 825 5787 1104 +rect 5747 822 5793 825 +rect 5747 773 5793 776 +rect 5896 736 5930 1103 +rect 6259 1073 6283 1105 +rect 6383 1073 6407 1105 +rect 6283 1005 6309 1054 +rect 6282 1002 6310 1005 +rect 6282 971 6310 974 +rect 6283 853 6309 971 +rect 6357 853 6383 1054 +rect 5887 733 5939 736 +rect 5887 687 5890 733 +rect 5936 687 5939 733 +rect 5887 684 5939 687 +rect 6283 489 6383 853 +rect 6738 648 6765 1107 +rect 7445 1067 7470 1851 +rect 7495 1157 7520 1944 +rect 7543 1248 7568 2128 +rect 7593 1337 7618 2221 +rect 9177 1487 9227 5070 +rect 9270 2015 9320 5119 +rect 9383 2538 9433 5165 +rect 9496 3055 9546 5227 +rect 10382 5067 10510 6287 +rect 10381 5064 10510 5067 +rect 10509 4936 10510 5064 +rect 10381 4933 10510 4936 +rect 10382 4884 10510 4933 +rect 10818 4766 10838 4769 +rect 10809 4763 10840 4766 +rect 10809 4720 10813 4763 +rect 10839 4720 10840 4763 +rect 10809 4716 10840 4720 +rect 10427 4634 10462 4637 +rect 10427 4592 10430 4634 +rect 10456 4592 10462 4634 +rect 10427 4589 10462 4592 +rect 10028 4312 10075 4318 +rect 10028 4272 10030 4312 +rect 10070 4272 10075 4312 +rect 10028 4269 10075 4272 +rect 9491 3052 9546 3055 +rect 9541 3002 9546 3052 +rect 9491 2999 9546 3002 +rect 9382 2530 9434 2538 +rect 9382 2483 9383 2530 +rect 9433 2483 9434 2530 +rect 9382 2482 9434 2483 +rect 9269 2014 9321 2015 +rect 9269 1964 9270 2014 +rect 9320 1964 9321 2014 +rect 9269 1963 9321 1964 +rect 9161 1484 9227 1487 +rect 9161 1434 9165 1484 +rect 9215 1434 9227 1484 +rect 9161 1430 9227 1434 +rect 7588 1333 7625 1337 +rect 7588 1283 7592 1333 +rect 7618 1283 7625 1333 +rect 7588 1279 7625 1283 +rect 7535 1243 7572 1248 +rect 7535 1193 7538 1243 +rect 7564 1193 7572 1243 +rect 7535 1190 7572 1193 +rect 7486 1153 7523 1157 +rect 7486 1103 7491 1153 +rect 7517 1103 7523 1153 +rect 7486 1099 7523 1103 +rect 7439 1063 7474 1067 +rect 6727 642 6776 648 +rect 6727 596 6729 642 +rect 6775 596 6776 642 +rect 6727 592 6776 596 +rect 6396 489 6485 493 +rect 4117 373 4122 485 +rect 4148 373 4182 485 +rect 5254 483 5447 487 +rect 4117 370 4182 373 +rect 5200 481 5447 483 +rect 5200 479 5333 481 +rect 5200 367 5259 479 +rect 5445 369 5447 481 +rect 5371 367 5447 369 +rect 5200 364 5447 367 +rect 6235 483 6485 489 +rect 6235 364 6240 483 +rect 6426 364 6485 483 +rect 3952 -23 3989 -21 +rect 3952 -56 3954 -23 +rect 3987 -56 3989 -23 +rect 3952 -59 3989 -56 +rect 3887 -85 3926 -82 +rect 3887 -118 3892 -85 +rect 3925 -118 3926 -85 +rect 3887 -121 3926 -118 +rect 3827 -148 3865 -145 +rect 3827 -181 3829 -148 +rect 3862 -181 3865 -148 +rect 3827 -184 3865 -181 +rect 3768 -211 3803 -210 +rect 3768 -244 3769 -211 +rect 3802 -244 3803 -211 +rect 3768 -247 3803 -244 +rect 3704 -279 3740 -277 +rect 3704 -312 3705 -279 +rect 3738 -312 3740 -279 +rect 3704 -315 3740 -312 +rect 3645 -339 3679 -338 +rect 3643 -341 3681 -339 +rect 3643 -374 3645 -341 +rect 3678 -374 3681 -341 +rect 3643 -376 3681 -374 +rect 3645 -377 3678 -376 +rect 3585 -441 3618 -438 +rect 3527 -498 3560 -495 +rect 3467 -531 3502 -528 +rect 3467 -561 3469 -531 +rect 3469 -567 3502 -564 +rect 3404 -631 3437 -628 +rect 3340 -659 3375 -656 +rect 3373 -689 3375 -659 +rect 3340 -696 3373 -693 +rect 3181 -762 3250 -729 +rect 3279 -720 3323 -717 +rect 3279 -757 3282 -720 +rect 3319 -757 3323 -720 +rect 3279 -759 3323 -757 +rect 3181 -771 3184 -762 +rect 3126 -773 3184 -771 +rect 5200 -785 5294 364 +rect 6235 361 6485 364 +rect 6396 -639 6485 361 +rect 7312 46 7345 1045 +rect 7439 1013 7443 1063 +rect 7469 1013 7474 1063 +rect 7439 1010 7474 1013 +rect 9177 648 9227 1430 +rect 9270 739 9320 1963 +rect 9383 826 9433 2482 +rect 9496 928 9546 2999 +rect 9785 1736 9843 1740 +rect 9785 1686 9789 1736 +rect 9839 1686 9843 1736 +rect 9785 1684 9843 1686 +rect 9788 1683 9839 1684 +rect 9496 925 9552 928 +rect 9496 875 9502 925 +rect 9496 872 9552 875 +rect 9496 859 9546 872 +rect 9383 777 9433 780 +rect 9270 690 9320 693 +rect 9177 599 9227 602 +rect 9788 496 9838 1683 +rect 9725 485 9838 496 +rect 9725 373 9731 485 +rect 9825 373 9838 485 +rect 9725 368 9838 373 +rect 7306 43 7349 46 +rect 7306 10 7310 43 +rect 7343 10 7349 43 +rect 7306 7 7349 10 +rect 10033 -66 10073 4269 +rect 10125 4208 10128 4244 +rect 10164 4208 10167 4244 +rect 10032 -69 10079 -66 +rect 10032 -109 10036 -69 +rect 10076 -109 10079 -69 +rect 10032 -112 10079 -109 +rect 10126 -146 10165 4208 +rect 10217 4010 10262 4012 +rect 10217 3971 10220 4010 +rect 10259 3971 10262 4010 +rect 10217 3969 10262 3971 +rect 10123 -150 10169 -146 +rect 10123 -189 10127 -150 +rect 10166 -189 10169 -150 +rect 10123 -193 10169 -189 +rect 10219 -228 10258 3969 +rect 10303 3943 10341 3944 +rect 10301 3941 10343 3943 +rect 10301 3915 10303 3941 +rect 10341 3915 10343 3941 +rect 10301 3913 10343 3915 +rect 10217 -232 10264 -228 +rect 10217 -271 10220 -232 +rect 10259 -271 10264 -232 +rect 10217 -274 10264 -271 +rect 10303 -308 10341 3913 +rect 10437 1590 10460 4589 +rect 10818 4391 10838 4716 +rect 11169 4392 11188 6419 +rect 11503 5540 11585 5543 +rect 11503 5534 11508 5540 +rect 11497 5469 11508 5534 +rect 11579 5469 11585 5540 +rect 11497 5465 11585 5469 +rect 11497 3565 11568 5465 +rect 11484 3561 11568 3565 +rect 11484 3490 11489 3561 +rect 11560 3490 11568 3561 +rect 11484 3486 11568 3490 +rect 11056 1736 11128 1739 +rect 11056 1685 11069 1736 +rect 11120 1685 11128 1736 +rect 11056 1682 11128 1685 +rect 10437 1567 10461 1590 +rect 10437 986 10460 1567 +rect 11062 981 11113 1682 +rect 11048 976 11113 981 +rect 11047 958 11113 976 +rect 11044 957 11113 958 +rect 11044 951 11104 957 +rect 11044 733 11078 951 +rect 11009 634 11078 733 +rect 11044 556 11078 634 +rect 11045 495 11078 556 +rect 11044 395 11078 495 +rect 11045 335 11078 395 +rect 10300 -312 10344 -308 +rect 10300 -350 10302 -312 +rect 10340 -350 10344 -312 +rect 10300 -354 10344 -350 +rect 11044 -409 11078 335 +rect 11045 -469 11078 -409 +rect 11044 -544 11078 -469 +rect 11095 920 11104 951 +rect 11095 -544 11102 920 +rect 11044 -551 11102 -544 +rect 11044 -552 11098 -551 +rect 6396 -712 6488 -639 +rect 6393 -785 6485 -712 +<< via1 >> +rect 421 6215 460 6254 +rect 429 5870 468 5909 +rect 567 5753 593 5779 +rect 559 5483 601 5525 +rect 1154 5343 1183 5401 +rect 2483 5237 2509 5263 +rect 3062 5194 3093 5225 +rect 4720 5958 4762 6000 +rect 4335 5882 4377 5924 +rect 4887 5721 4931 5765 +rect 5459 5721 5503 5765 +rect 5641 5718 5685 5762 +rect 4445 5619 4489 5663 +rect 4169 5317 4195 5343 +rect 3462 5248 3488 5274 +rect 3345 5149 3372 5175 +rect 2212 5071 2247 5106 +rect 2737 5102 2763 5128 +rect 5016 5619 5060 5663 +rect 2314 4847 2340 4886 +rect 3954 4848 3987 4874 +rect 2250 4765 2276 4805 +rect 2252 4654 2278 4680 +rect 1875 4612 1901 4638 +rect 1872 4520 1898 4546 +rect 1873 4428 1899 4454 +rect 1808 4326 1834 4352 +rect 1804 4230 1830 4256 +rect 1808 4134 1834 4160 +rect 2252 4562 2278 4588 +rect 2249 4470 2275 4496 +rect 1804 2606 1830 2653 +rect 1868 2606 1894 2653 +rect 1668 2503 1694 2529 +rect 1616 2463 1642 2489 +rect 688 2338 754 2404 +rect 1876 2501 1902 2527 +rect 2052 2502 2079 2529 +rect 1810 2465 1836 2491 +rect 1618 2072 1644 2098 +rect 1209 1886 1246 1923 +rect 692 1752 758 1818 +rect 2102 2463 2128 2489 +rect 1208 1262 1245 1299 +rect 1962 1220 1988 1256 +rect 1507 696 1536 725 +rect 3891 4676 3924 4709 +rect 3834 4528 3867 4561 +rect 2313 4361 2339 4387 +rect 3770 4368 3803 4401 +rect 3706 4311 3739 4344 +rect 2314 4265 2340 4291 +rect 2313 4169 2339 4195 +rect 2249 2403 2275 2429 +rect 2187 2288 2213 2314 +rect 2145 2027 2171 2053 +rect 2189 1458 2215 1500 +rect 2185 1220 2211 1256 +rect 3645 4154 3678 4187 +rect 3582 4001 3615 4034 +rect 3526 3844 3559 3877 +rect 3464 3297 3497 3330 +rect 3401 3138 3434 3171 +rect 3339 2983 3372 3016 +rect 3279 2835 3312 2868 +rect 3215 2318 3248 2351 +rect 3148 2161 3181 2194 +rect 2313 1970 2339 1996 +rect 3086 1997 3119 2030 +rect 2247 857 2273 890 +rect 2144 695 2173 724 +rect 2028 594 2088 654 +rect 3018 1853 3051 1886 +rect 2614 1417 2672 1488 +rect 2306 101 2332 135 +rect 415 7 454 46 +rect 3015 -530 3058 -487 +rect 3080 -609 3123 -566 +rect 3147 -677 3187 -637 +rect 3130 -771 3181 -720 +rect 6697 5882 6832 5924 +rect 6155 5618 6250 5659 +rect 6456 5619 6500 5663 +rect 5881 5241 5907 5267 +rect 5693 4888 5719 4914 +rect 6240 5150 6266 5176 +rect 5927 5048 5953 5074 +rect 5969 4839 5995 4865 +rect 6075 4791 6101 4817 +rect 6557 5242 6583 5268 +rect 6513 5151 6539 5177 +rect 6239 4081 6266 4108 +rect 7036 5615 7080 5659 +rect 7869 5718 7897 5762 +rect 7491 5052 7613 5078 +rect 7167 4987 7193 5013 +rect 7800 4933 7826 4959 +rect 8034 5242 8060 5268 +rect 7945 5155 7971 5181 +rect 8686 6152 8723 6189 +rect 8301 5313 8327 5340 +rect 7945 4734 7971 4760 +rect 8047 4735 8073 4761 +rect 8322 4723 8365 4766 +rect 5903 3417 5931 3445 +rect 7638 3360 7664 3386 +rect 8768 5806 8805 5843 +rect 8687 3415 8724 3452 +rect 8845 5335 8882 5372 +rect 8764 3356 8801 3393 +rect 9500 5230 9550 5280 +rect 9178 5074 9228 5124 +rect 9273 5123 9323 5173 +rect 9381 5170 9431 5220 +rect 8933 4828 8970 4865 +rect 8838 3123 8875 3160 +rect 5166 2598 5192 2639 +rect 8931 2598 8968 2639 +rect 5606 2226 5632 2252 +rect 7594 2224 7620 2250 +rect 4948 1713 4974 1739 +rect 4894 1676 4923 1705 +rect 4450 1625 4481 1656 +rect 7542 2131 7568 2157 +rect 5669 1948 5695 1974 +rect 5609 1717 5635 1743 +rect 5712 1716 5738 1742 +rect 5469 1676 5495 1702 +rect 5666 1684 5692 1710 +rect 4831 1554 4873 1596 +rect 4446 1458 4488 1500 +rect 5037 1622 5063 1648 +rect 7495 1947 7521 1973 +rect 7445 1854 7471 1880 +rect 5890 1678 5916 1704 +rect 5770 1553 5803 1586 +rect 6774 1709 6809 1744 +rect 6089 1636 6115 1662 +rect 6493 1633 6520 1660 +rect 5885 1546 5919 1580 +rect 6778 1532 6804 1564 +rect 7377 1554 7403 1588 +rect 4899 1449 4931 1481 +rect 6920 1461 6958 1499 +rect 5301 974 5329 1002 +rect 5375 976 5403 1004 +rect 4909 871 4955 917 +rect 5747 776 5793 822 +rect 6282 974 6310 1002 +rect 5890 687 5936 733 +rect 10381 4936 10509 5064 +rect 10813 4720 10839 4763 +rect 10430 4592 10456 4634 +rect 10030 4272 10070 4312 +rect 9491 3002 9541 3052 +rect 9383 2483 9433 2530 +rect 9270 1964 9320 2014 +rect 9165 1434 9215 1484 +rect 7592 1283 7618 1333 +rect 7538 1193 7564 1243 +rect 7491 1103 7517 1153 +rect 6729 596 6775 642 +rect 4122 373 4148 485 +rect 5333 479 5445 481 +rect 5259 369 5445 479 +rect 5259 367 5371 369 +rect 6240 364 6426 483 +rect 3954 -56 3987 -23 +rect 3892 -118 3925 -85 +rect 3829 -181 3862 -148 +rect 3769 -244 3802 -211 +rect 3705 -312 3738 -279 +rect 3645 -374 3678 -341 +rect 3585 -438 3618 -405 +rect 3527 -495 3560 -462 +rect 3469 -564 3502 -531 +rect 3404 -628 3437 -595 +rect 3340 -693 3373 -659 +rect 3282 -757 3319 -720 +rect 7443 1013 7469 1063 +rect 9789 1686 9839 1736 +rect 9502 875 9552 925 +rect 9383 780 9433 826 +rect 9270 693 9320 739 +rect 9177 602 9227 648 +rect 9731 373 9825 485 +rect 7310 10 7343 43 +rect 10128 4208 10164 4244 +rect 10036 -109 10076 -69 +rect 10220 3971 10259 4010 +rect 10127 -189 10166 -150 +rect 10303 3915 10341 3941 +rect 10220 -271 10259 -232 +rect 11508 5469 11579 5540 +rect 11489 3490 11560 3561 +rect 11069 1685 11120 1736 +rect 10302 -350 10340 -312 +<< metal2 >> +rect 295 6246 363 6368 +rect 418 6254 463 6256 +rect 418 6246 421 6254 +rect 295 6223 421 6246 +rect 295 6136 363 6223 +rect 418 6215 421 6223 +rect 460 6215 463 6254 +rect 418 6213 463 6215 +rect 8680 6189 8726 6191 +rect 11767 6189 11853 6324 +rect 8680 6152 8686 6189 +rect 8723 6152 11853 6189 +rect 8680 6150 8726 6152 +rect 11767 6114 11853 6152 +rect 280 6026 528 6027 +rect 280 5987 675 6026 +rect 507 5950 675 5987 +rect 2273 6017 2348 6018 +rect 2273 5987 2435 6017 +rect 4718 6000 4763 6002 +rect 4717 5994 4720 6000 +rect 2273 5970 2297 5987 +rect 2405 5965 2435 5987 +rect 2478 5964 4720 5994 +rect 4717 5958 4720 5964 +rect 4762 5958 4765 6000 +rect 4718 5956 4763 5958 +rect 4333 5924 4378 5926 +rect 6694 5924 6836 5927 +rect 295 5827 363 5915 +rect 428 5909 471 5913 +rect 428 5870 429 5909 +rect 468 5870 471 5909 +rect 4332 5882 4335 5924 +rect 4377 5923 4380 5924 +rect 6694 5923 6697 5924 +rect 4377 5883 6697 5923 +rect 4377 5882 4380 5883 +rect 6694 5882 6697 5883 +rect 6832 5923 6836 5924 +rect 6832 5883 6841 5923 +rect 6832 5882 6836 5883 +rect 4333 5880 4378 5882 +rect 6694 5879 6836 5882 +rect 428 5866 471 5870 +rect 428 5865 622 5866 +rect 437 5843 622 5865 +rect 8763 5843 8807 5845 +rect 11767 5843 11853 5911 +rect 295 5795 631 5827 +rect 8763 5806 8768 5843 +rect 8805 5806 11853 5843 +rect 8763 5804 8807 5806 +rect 295 5683 363 5795 +rect 564 5753 567 5779 +rect 593 5756 622 5779 +rect 593 5753 596 5756 +rect 4884 5721 4887 5765 +rect 4931 5762 4934 5765 +rect 5456 5762 5459 5765 +rect 4931 5721 5459 5762 +rect 5503 5762 5506 5765 +rect 5503 5721 5641 5762 +rect 4899 5718 5641 5721 +rect 5685 5718 7869 5762 +rect 7897 5718 7900 5762 +rect 11767 5701 11853 5806 +rect 5016 5663 5060 5666 +rect 495 5646 648 5662 +rect 314 5613 648 5646 +rect 4442 5619 4445 5663 +rect 4489 5661 4492 5663 +rect 4489 5619 5016 5661 +rect 6453 5661 6456 5663 +rect 5060 5659 6456 5661 +rect 5060 5619 6155 5659 +rect 4457 5618 6155 5619 +rect 6250 5619 6456 5659 +rect 6500 5661 6503 5663 +rect 6500 5659 7093 5661 +rect 6500 5619 7036 5659 +rect 6250 5618 7036 5619 +rect 4457 5617 7036 5618 +rect 5016 5616 5060 5617 +rect 7033 5615 7036 5617 +rect 7080 5617 7093 5659 +rect 7080 5615 7083 5617 +rect 314 5606 541 5613 +rect 314 5586 354 5606 +rect 279 5546 354 5586 +rect 11505 5525 11508 5540 +rect 556 5483 559 5525 +rect 601 5483 11508 5525 +rect 11505 5469 11508 5483 +rect 11579 5469 11582 5540 +rect 250 5401 318 5468 +rect 1142 5401 1189 5403 +rect 250 5343 1154 5401 +rect 1183 5343 1189 5401 +rect 8841 5372 8883 5374 +rect 11764 5372 11850 5502 +rect 250 5319 322 5343 +rect 1142 5341 1189 5343 +rect 4167 5343 4197 5346 +rect 250 5236 318 5319 +rect 4167 5317 4169 5343 +rect 4195 5340 4197 5343 +rect 8299 5340 8329 5343 +rect 4195 5317 8301 5340 +rect 4167 5314 4197 5317 +rect 8299 5313 8301 5317 +rect 8327 5317 8336 5340 +rect 8841 5335 8845 5372 +rect 8882 5335 11850 5372 +rect 8841 5333 8883 5335 +rect 8327 5313 8329 5317 +rect 8299 5309 8329 5313 +rect 11764 5292 11850 5335 +rect 3459 5274 3490 5276 +rect 2480 5266 2512 5267 +rect 3459 5266 3462 5274 +rect 2480 5263 3462 5266 +rect 2480 5237 2483 5263 +rect 2509 5248 3462 5263 +rect 3488 5266 3491 5274 +rect 5877 5267 5909 5269 +rect 6554 5268 6586 5269 +rect 5877 5266 5881 5267 +rect 3488 5248 5881 5266 +rect 2509 5243 5881 5248 +rect 2509 5237 2512 5243 +rect 3459 5242 3490 5243 +rect 5877 5241 5881 5243 +rect 5907 5266 5910 5267 +rect 6554 5266 6557 5268 +rect 5907 5243 6557 5266 +rect 5907 5241 5910 5243 +rect 6554 5242 6557 5243 +rect 6583 5266 6586 5268 +rect 8031 5266 8034 5268 +rect 6583 5243 8034 5266 +rect 6583 5242 6586 5243 +rect 8031 5242 8034 5243 +rect 8060 5266 8063 5268 +rect 9497 5266 9500 5280 +rect 8060 5243 9500 5266 +rect 8060 5242 8063 5243 +rect 6554 5241 6586 5242 +rect 2480 5235 2512 5237 +rect 9497 5230 9500 5243 +rect 9550 5230 9553 5280 +rect 9497 5229 9553 5230 +rect 3059 5225 3096 5227 +rect 250 5186 301 5198 +rect 3059 5194 3062 5225 +rect 3093 5221 3096 5225 +rect 9379 5221 9433 5223 +rect 3093 5220 9433 5221 +rect 3093 5198 9381 5220 +rect 3093 5194 3096 5198 +rect 3059 5192 3096 5194 +rect 250 5157 560 5186 +rect 6510 5177 6542 5178 +rect 6239 5176 6267 5177 +rect 301 5156 560 5157 +rect 3342 5175 3373 5176 +rect 6237 5175 6240 5176 +rect 3342 5149 3345 5175 +rect 3372 5152 6240 5175 +rect 3372 5149 3375 5152 +rect 6237 5150 6240 5152 +rect 6266 5175 6269 5176 +rect 6510 5175 6513 5177 +rect 6266 5152 6513 5175 +rect 6266 5150 6269 5152 +rect 6510 5151 6513 5152 +rect 6539 5175 6542 5177 +rect 7942 5175 7945 5181 +rect 6539 5155 7945 5175 +rect 7971 5175 7974 5181 +rect 9271 5175 9325 5176 +rect 7971 5173 9325 5175 +rect 7971 5155 9273 5173 +rect 6539 5152 9273 5155 +rect 6539 5151 6542 5152 +rect 6510 5150 6542 5151 +rect 6239 5149 6267 5150 +rect 3342 5147 3373 5149 +rect 2734 5129 2766 5130 +rect 9177 5129 9230 5132 +rect 2734 5128 9230 5129 +rect 246 5106 297 5108 +rect 2210 5106 2250 5107 +rect 246 5071 2212 5106 +rect 2247 5071 2250 5106 +rect 2734 5102 2737 5128 +rect 2763 5124 9230 5128 +rect 2763 5106 9178 5124 +rect 2763 5102 2766 5106 +rect 2734 5100 2766 5102 +rect 7489 5078 7617 5081 +rect 246 5067 297 5071 +rect 2210 5068 2250 5071 +rect 5924 5074 5956 5075 +rect 5924 5048 5927 5074 +rect 5953 5071 5956 5074 +rect 7489 5071 7491 5078 +rect 5953 5052 7491 5071 +rect 7613 5052 7617 5078 +rect 9177 5074 9178 5106 +rect 9228 5074 9230 5124 +rect 9271 5123 9273 5152 +rect 9323 5123 9325 5173 +rect 9379 5170 9381 5198 +rect 9431 5170 9433 5220 +rect 9379 5167 9433 5170 +rect 9271 5120 9325 5123 +rect 9177 5071 9230 5074 +rect 5953 5050 7617 5052 +rect 5953 5048 5956 5050 +rect 5924 5047 5956 5048 +rect 218 4886 345 5032 +rect 7166 5013 7194 5015 +rect 7164 4987 7167 5013 +rect 7193 5010 7196 5013 +rect 10378 5010 10381 5064 +rect 7193 4989 10381 5010 +rect 7193 4987 7196 4989 +rect 7166 4985 7194 4987 +rect 7797 4959 7828 4962 +rect 7797 4956 7800 4959 +rect 4967 4955 7800 4956 +rect 4934 4936 7800 4955 +rect 4934 4935 4992 4936 +rect 7797 4933 7800 4936 +rect 7826 4933 7828 4959 +rect 10378 4936 10381 4989 +rect 10509 4936 10512 5064 +rect 7797 4930 7828 4933 +rect 5690 4909 5693 4914 +rect 5190 4889 5693 4909 +rect 1353 4886 1383 4887 +rect 2312 4886 2341 4888 +rect 218 4847 2314 4886 +rect 2340 4847 2344 4886 +rect 3951 4848 3954 4874 +rect 3987 4865 3990 4874 +rect 3987 4848 4124 4865 +rect 218 4844 345 4847 +rect 2312 4845 2341 4847 +rect 2248 4805 2277 4807 +rect 1003 4765 2250 4805 +rect 2276 4765 2279 4805 +rect 5190 4801 5210 4889 +rect 5690 4888 5693 4889 +rect 5719 4909 5722 4914 +rect 5719 4889 5727 4909 +rect 5719 4888 5722 4889 +rect 5966 4865 5997 4866 +rect 8929 4865 8972 4867 +rect 11764 4865 11850 5063 +rect 5966 4862 5969 4865 +rect 4966 4800 5210 4801 +rect 4937 4781 5210 4800 +rect 5241 4842 5969 4862 +rect 4937 4780 4986 4781 +rect 247 4496 374 4583 +rect 1003 4496 1043 4765 +rect 2248 4764 2277 4765 +rect 3891 4711 3924 4712 +rect 3889 4709 3926 4711 +rect 1383 4697 1420 4698 +rect 1204 4674 1420 4697 +rect 2249 4675 2252 4680 +rect 1204 4661 1946 4674 +rect 1204 4591 1266 4661 +rect 1383 4657 1946 4661 +rect 2192 4658 2252 4675 +rect 2249 4654 2252 4658 +rect 2278 4675 2281 4680 +rect 3889 4676 3891 4709 +rect 3924 4701 3926 4709 +rect 3924 4684 4124 4701 +rect 3924 4676 3926 4684 +rect 2278 4658 2287 4675 +rect 3889 4673 3926 4676 +rect 2278 4654 2281 4658 +rect 5241 4646 5261 4842 +rect 5966 4839 5969 4842 +rect 5995 4839 5998 4865 +rect 5966 4838 5997 4839 +rect 8929 4828 8933 4865 +rect 8970 4853 11850 4865 +rect 8970 4828 11839 4853 +rect 8929 4825 8970 4828 +rect 6072 4817 6104 4818 +rect 6072 4814 6075 4817 +rect 4966 4645 5261 4646 +rect 1872 4612 1875 4638 +rect 1901 4633 1904 4638 +rect 1901 4616 1946 4633 +rect 4937 4626 5261 4645 +rect 5296 4794 6075 4814 +rect 4937 4625 4987 4626 +rect 1901 4612 1904 4616 +rect 1383 4591 1420 4595 +rect 247 4456 1043 4496 +rect 1151 4582 1420 4591 +rect 2249 4583 2252 4588 +rect 1151 4565 1946 4582 +rect 2192 4566 2252 4583 +rect 1151 4554 1420 4565 +rect 2249 4562 2252 4566 +rect 2278 4583 2281 4588 +rect 2278 4566 2287 4583 +rect 2278 4562 2281 4566 +rect 3831 4561 3870 4563 +rect 1151 4543 1266 4554 +rect 1151 4498 1262 4543 +rect 1869 4520 1872 4546 +rect 1898 4541 1901 4546 +rect 1898 4524 1946 4541 +rect 3831 4528 3834 4561 +rect 3867 4553 3870 4561 +rect 3867 4536 4124 4553 +rect 3867 4528 3870 4536 +rect 3831 4526 3870 4528 +rect 1898 4520 1901 4524 +rect 1383 4498 1420 4502 +rect 1151 4490 1420 4498 +rect 2246 4491 2249 4496 +rect 1151 4473 1946 4490 +rect 2192 4474 2249 4491 +rect 1151 4461 1420 4473 +rect 2246 4470 2249 4474 +rect 2275 4491 2278 4496 +rect 5296 4491 5316 4794 +rect 6072 4791 6075 4794 +rect 6101 4814 6104 4817 +rect 6101 4794 6112 4814 +rect 6101 4791 6104 4794 +rect 6072 4790 6104 4791 +rect 7936 4763 7994 4778 +rect 7936 4760 7948 4763 +rect 7936 4734 7945 4760 +rect 7980 4734 7994 4763 +rect 8038 4762 8096 4777 +rect 8038 4761 8051 4762 +rect 8038 4735 8047 4761 +rect 7936 4731 7948 4734 +rect 7980 4731 8000 4734 +rect 7936 4715 8000 4731 +rect 7976 4654 8000 4715 +rect 8038 4730 8051 4735 +rect 8083 4730 8096 4762 +rect 8038 4714 8096 4730 +rect 8320 4766 8367 4769 +rect 8320 4723 8322 4766 +rect 8365 4763 8367 4766 +rect 10810 4764 10839 4765 +rect 10810 4763 10840 4764 +rect 11863 4763 11908 4765 +rect 8365 4723 10813 4763 +rect 8320 4720 10813 4723 +rect 10839 4720 11909 4763 +rect 10810 4719 10840 4720 +rect 10810 4717 10839 4719 +rect 11813 4652 11849 4653 +rect 10428 4634 10458 4636 +rect 11757 4634 11849 4652 +rect 2275 4474 2287 4491 +rect 4967 4490 5316 4491 +rect 2275 4470 2278 4474 +rect 4937 4471 5316 4490 +rect 5611 4614 5640 4632 +rect 4937 4470 4983 4471 +rect 1151 4457 1241 4461 +rect 247 4395 374 4456 +rect 290 4002 417 4090 +rect 1151 4002 1188 4457 +rect 1870 4428 1873 4454 +rect 1899 4449 1902 4454 +rect 1899 4432 1946 4449 +rect 1899 4428 1902 4432 +rect 3767 4401 3806 4402 +rect 1299 4388 1948 4390 +rect 290 3965 1188 4002 +rect 1270 4371 1948 4388 +rect 2310 4384 2313 4387 +rect 1270 4353 1420 4371 +rect 2189 4364 2313 4384 +rect 2310 4361 2313 4364 +rect 2339 4384 2342 4387 +rect 2339 4364 2352 4384 +rect 3767 4368 3770 4401 +rect 3803 4393 3806 4401 +rect 3803 4376 4124 4393 +rect 3803 4368 3806 4376 +rect 3767 4367 3806 4368 +rect 2339 4361 2342 4364 +rect 1270 4294 1336 4353 +rect 1383 4349 1420 4353 +rect 1805 4326 1808 4352 +rect 1834 4348 1837 4352 +rect 1834 4329 1948 4348 +rect 3703 4344 3742 4347 +rect 1834 4326 1837 4329 +rect 3703 4311 3706 4344 +rect 3739 4336 3742 4344 +rect 3739 4319 4124 4336 +rect 3739 4311 3742 4319 +rect 3703 4309 3742 4311 +rect 1270 4275 1948 4294 +rect 2311 4288 2314 4291 +rect 1270 4257 1420 4275 +rect 2189 4268 2314 4288 +rect 2311 4265 2314 4268 +rect 2340 4288 2343 4291 +rect 5611 4288 5629 4614 +rect 10427 4592 10430 4634 +rect 10456 4624 11849 4634 +rect 10456 4592 11853 4624 +rect 10428 4590 10458 4592 +rect 11757 4558 11853 4592 +rect 8046 4416 8106 4427 +rect 8046 4382 8059 4416 +rect 8093 4382 8106 4416 +rect 8406 4410 8929 4433 +rect 8966 4410 9881 4433 +rect 11763 4415 11853 4558 +rect 8046 4371 8106 4382 +rect 9852 4400 9881 4410 +rect 9852 4380 10764 4400 +rect 9852 4379 9881 4380 +rect 8407 4328 8929 4350 +rect 8966 4328 9787 4350 +rect 2340 4268 2352 4288 +rect 5528 4270 5629 4288 +rect 2340 4265 2343 4268 +rect 1270 4256 1337 4257 +rect 1270 4252 1336 4256 +rect 1383 4253 1420 4257 +rect 290 3902 417 3965 +rect 284 3526 411 3615 +rect 1270 3526 1307 4252 +rect 1801 4230 1804 4256 +rect 1830 4252 1833 4256 +rect 1830 4233 1948 4252 +rect 4967 4249 4997 4252 +rect 4967 4248 5006 4249 +rect 1830 4230 1833 4233 +rect 4937 4228 5006 4248 +rect 284 3489 1307 3526 +rect 1383 4179 1948 4198 +rect 2310 4192 2313 4195 +rect 284 3427 411 3489 +rect 290 3042 417 3133 +rect 1383 3042 1420 4179 +rect 2189 4172 2313 4192 +rect 2310 4169 2313 4172 +rect 2339 4192 2342 4195 +rect 2339 4172 2352 4192 +rect 3642 4187 3681 4189 +rect 2339 4169 2342 4172 +rect 1805 4134 1808 4160 +rect 1834 4156 1837 4160 +rect 1834 4137 1948 4156 +rect 3642 4154 3645 4187 +rect 3678 4179 3681 4187 +rect 3678 4162 4124 4179 +rect 3678 4154 3681 4162 +rect 3642 4152 3681 4154 +rect 1834 4134 1837 4137 +rect 4964 4117 4997 4137 +rect 5567 4125 5640 4143 +rect 9765 4140 9787 4328 +rect 10027 4312 10073 4315 +rect 10027 4272 10030 4312 +rect 10070 4302 10073 4312 +rect 10070 4282 10764 4302 +rect 11200 4282 11371 4302 +rect 10070 4272 10073 4282 +rect 10027 4270 10073 4272 +rect 10128 4244 10164 4247 +rect 11351 4237 11371 4282 +rect 10164 4217 10764 4237 +rect 11200 4217 11371 4237 +rect 10128 4205 10164 4208 +rect 9765 4139 9925 4140 +rect 4964 4095 4982 4117 +rect 5567 4104 5585 4125 +rect 9765 4119 10764 4139 +rect 9765 4118 9925 4119 +rect 11351 4112 11371 4217 +rect 11760 4112 11850 4179 +rect 6237 4109 6268 4110 +rect 4962 4093 4982 4095 +rect 4937 4073 4982 4093 +rect 5528 4086 5585 4104 +rect 6236 4108 6269 4109 +rect 6236 4103 6239 4108 +rect 6201 4098 6239 4103 +rect 5878 4081 6239 4098 +rect 6266 4081 6269 4108 +rect 8484 4082 8929 4098 +rect 5878 4076 6268 4081 +rect 8481 4078 8929 4082 +rect 8966 4078 10764 4098 +rect 7940 4069 7996 4078 +rect 3579 4034 3621 4035 +rect 3579 4001 3582 4034 +rect 3615 4026 3621 4034 +rect 7940 4034 7952 4069 +rect 7985 4034 7996 4069 +rect 3615 4009 4124 4026 +rect 5577 4010 5632 4028 +rect 7940 4024 7996 4034 +rect 3615 4001 3621 4009 +rect 3579 4000 3621 4001 +rect 5577 3989 5595 4010 +rect 5528 3971 5595 3989 +rect 4962 3954 4997 3961 +rect 4962 3938 5001 3954 +rect 4943 3931 5001 3938 +rect 4943 3918 4982 3931 +rect 3523 3877 3562 3878 +rect 3523 3844 3526 3877 +rect 3559 3869 3562 3877 +rect 3559 3852 4124 3869 +rect 3559 3844 3562 3852 +rect 3523 3843 3562 3844 +rect 4971 3823 4997 3844 +rect 8481 3830 8504 4078 +rect 11351 4069 11850 4112 +rect 10220 4011 10259 4013 +rect 10219 4010 10260 4011 +rect 10219 3971 10220 4010 +rect 10259 4000 10260 4010 +rect 11351 4000 11371 4069 +rect 10259 3980 10764 4000 +rect 11200 3980 11371 4000 +rect 10259 3971 10260 3980 +rect 10219 3970 10260 3971 +rect 10220 3968 10259 3970 +rect 10302 3941 10342 3942 +rect 10300 3915 10303 3941 +rect 10341 3935 10344 3941 +rect 11351 3935 11371 3980 +rect 11760 3970 11850 4069 +rect 10341 3915 10764 3935 +rect 11200 3923 11371 3935 +rect 11200 3915 11368 3923 +rect 10302 3914 10342 3915 +rect 4971 3783 4991 3823 +rect 8044 3813 8106 3822 +rect 5528 3785 5605 3803 +rect 4957 3763 4991 3783 +rect 4971 3762 4991 3763 +rect 5587 3541 5605 3785 +rect 8044 3777 8061 3813 +rect 8095 3777 8106 3813 +rect 8406 3807 8504 3830 +rect 8565 3817 8929 3837 +rect 8966 3817 10764 3837 +rect 8044 3769 8106 3777 +rect 8565 3747 8585 3817 +rect 8407 3732 8585 3747 +rect 8407 3725 8582 3732 +rect 11486 3561 11564 3564 +rect 5587 3523 5641 3541 +rect 11486 3490 11489 3561 +rect 11560 3549 11564 3561 +rect 11760 3549 11850 3641 +rect 11560 3502 11850 3549 +rect 11560 3490 11564 3502 +rect 11486 3487 11564 3490 +rect 8682 3452 8728 3454 +rect 5901 3447 5933 3448 +rect 8682 3447 8687 3452 +rect 5901 3445 8687 3447 +rect 5901 3417 5903 3445 +rect 5931 3419 8687 3445 +rect 5931 3417 5933 3419 +rect 5901 3414 5933 3417 +rect 8682 3415 8687 3419 +rect 8724 3415 8728 3452 +rect 11760 3432 11850 3502 +rect 8682 3413 8728 3415 +rect 8761 3393 8804 3395 +rect 8761 3387 8764 3393 +rect 7635 3386 8764 3387 +rect 7635 3360 7638 3386 +rect 7664 3361 8764 3386 +rect 7664 3360 7667 3361 +rect 8761 3356 8764 3361 +rect 8801 3356 8804 3393 +rect 8761 3354 8804 3356 +rect 3462 3330 3499 3334 +rect 3462 3297 3464 3330 +rect 3497 3322 3499 3330 +rect 3497 3305 4094 3322 +rect 3497 3297 3499 3305 +rect 3462 3294 3499 3297 +rect 5604 3281 5782 3293 +rect 5545 3275 5782 3281 +rect 5545 3263 5629 3275 +rect 4971 3245 4996 3247 +rect 4971 3235 4997 3245 +rect 4937 3215 4997 3235 +rect 7758 3232 7814 3250 +rect 3398 3171 3437 3172 +rect 3398 3138 3401 3171 +rect 3434 3163 3437 3171 +rect 3434 3146 4094 3163 +rect 8835 3160 8879 3162 +rect 8835 3150 8838 3160 +rect 3434 3138 3437 3146 +rect 3398 3137 3437 3138 +rect 7759 3132 8838 3150 +rect 4956 3110 4994 3130 +rect 8835 3123 8838 3132 +rect 8875 3123 8879 3160 +rect 8835 3122 8879 3123 +rect 4956 3107 4993 3110 +rect 4956 3080 4976 3107 +rect 5606 3097 5782 3107 +rect 4937 3060 4976 3080 +rect 5546 3089 5782 3097 +rect 5546 3079 5634 3089 +rect 290 3005 1420 3042 +rect 9488 3052 9548 3056 +rect 290 2945 417 3005 +rect 3336 2983 3339 3016 +rect 3372 3008 3375 3016 +rect 3372 2991 4094 3008 +rect 9488 3002 9491 3052 +rect 9541 3050 9548 3052 +rect 11760 3050 11850 3153 +rect 9541 3003 11850 3050 +rect 9541 3002 9548 3003 +rect 9488 2998 9548 3002 +rect 3372 2983 3375 2991 +rect 5607 2982 5782 2992 +rect 5546 2974 5782 2982 +rect 5546 2964 5634 2974 +rect 4977 2925 4997 2953 +rect 11760 2944 11850 3003 +rect 4937 2905 4997 2925 +rect 3275 2868 3317 2869 +rect 3275 2835 3279 2868 +rect 3312 2860 3317 2868 +rect 3312 2843 4094 2860 +rect 3312 2835 3317 2843 +rect 3275 2833 3317 2835 +rect 4977 2770 4997 2837 +rect 5604 2796 5782 2807 +rect 5546 2789 5782 2796 +rect 5546 2778 5634 2789 +rect 4937 2750 4997 2770 +rect 284 2627 411 2711 +rect 1801 2653 1832 2655 +rect 1867 2653 1898 2655 +rect 284 2590 1254 2627 +rect 1801 2606 1804 2653 +rect 1830 2606 1868 2653 +rect 1894 2606 2533 2653 +rect 1801 2604 1832 2606 +rect 1867 2604 1898 2606 +rect 284 2523 411 2590 +rect 1217 2455 1254 2590 +rect 2486 2538 2533 2606 +rect 5163 2639 5194 2641 +rect 8927 2639 8972 2642 +rect 5163 2598 5166 2639 +rect 5192 2598 8931 2639 +rect 8968 2598 8972 2639 +rect 5163 2596 5194 2598 +rect 8927 2596 8972 2598 +rect 11763 2538 11853 2635 +rect 1668 2529 1694 2532 +rect 2486 2530 11853 2538 +rect 1873 2525 1876 2527 +rect 1694 2506 1876 2525 +rect 1668 2500 1694 2503 +rect 1873 2501 1876 2506 +rect 1902 2525 1905 2527 +rect 2049 2525 2052 2529 +rect 1902 2506 2052 2525 +rect 1902 2501 1905 2506 +rect 2049 2502 2052 2506 +rect 2079 2502 2082 2529 +rect 2486 2491 9383 2530 +rect 1613 2463 1616 2489 +rect 1642 2485 1645 2489 +rect 1807 2485 1810 2491 +rect 1642 2466 1810 2485 +rect 1642 2463 1645 2466 +rect 1807 2465 1810 2466 +rect 1836 2485 1839 2491 +rect 2099 2485 2102 2489 +rect 1836 2466 2102 2485 +rect 1836 2465 1839 2466 +rect 2099 2463 2102 2466 +rect 2128 2463 2131 2489 +rect 9379 2483 9383 2491 +rect 9433 2491 11853 2530 +rect 9433 2483 9436 2491 +rect 9379 2479 9436 2483 +rect 1217 2454 1420 2455 +rect 1217 2436 1442 2454 +rect 1217 2430 1582 2436 +rect 1217 2418 1715 2430 +rect 2247 2429 2277 2431 +rect 2246 2427 2249 2429 +rect 1383 2414 1715 2418 +rect 1420 2408 1715 2414 +rect 683 2404 760 2408 +rect 683 2338 688 2404 +rect 754 2389 760 2404 +rect 2024 2405 2249 2427 +rect 1383 2389 1422 2391 +rect 754 2385 1422 2389 +rect 754 2364 1714 2385 +rect 754 2352 1421 2364 +rect 2024 2361 2046 2405 +rect 2246 2403 2249 2405 +rect 2275 2403 2278 2429 +rect 11763 2426 11853 2491 +rect 2247 2401 2277 2403 +rect 754 2338 760 2352 +rect 1383 2350 1420 2352 +rect 3211 2351 3252 2353 +rect 683 2334 760 2338 +rect 3211 2318 3215 2351 +rect 3248 2343 3252 2351 +rect 3248 2326 4094 2343 +rect 3248 2318 3252 2326 +rect 3211 2317 3252 2318 +rect 2185 2314 2214 2316 +rect 2184 2310 2187 2314 +rect 290 2224 417 2301 +rect 2027 2291 2187 2310 +rect 2184 2288 2187 2291 +rect 2213 2288 2216 2314 +rect 5531 2297 5727 2315 +rect 2185 2286 2214 2288 +rect 4935 2238 5000 2258 +rect 5611 2256 5728 2271 +rect 5605 2252 5633 2256 +rect 5605 2226 5606 2252 +rect 5632 2226 5633 2252 +rect 7591 2245 7594 2250 +rect 6984 2229 7594 2245 +rect 290 2187 889 2224 +rect 5605 2223 5633 2226 +rect 7591 2224 7594 2229 +rect 7620 2224 7623 2250 +rect 290 2113 417 2187 +rect 852 2021 889 2187 +rect 3145 2194 3184 2197 +rect 3145 2161 3148 2194 +rect 3181 2186 3184 2194 +rect 3181 2169 4094 2186 +rect 3181 2161 3184 2169 +rect 3145 2159 3184 2161 +rect 4973 2133 4998 2156 +rect 7539 2152 7542 2157 +rect 6985 2136 7542 2152 +rect 4973 2103 4993 2133 +rect 7539 2131 7542 2136 +rect 7568 2131 7571 2157 +rect 1616 2098 1645 2099 +rect 1615 2072 1618 2098 +rect 1644 2096 1647 2098 +rect 1644 2074 1715 2096 +rect 4937 2083 4993 2103 +rect 5531 2111 5765 2129 +rect 5531 2101 5549 2111 +rect 1644 2072 1647 2074 +rect 1616 2070 1645 2072 +rect 2142 2053 2174 2055 +rect 2142 2050 2145 2053 +rect 2025 2029 2145 2050 +rect 2142 2027 2145 2029 +rect 2171 2027 2174 2053 +rect 2142 2025 2174 2027 +rect 3084 2032 3121 2033 +rect 3084 2030 4094 2032 +rect 852 2003 1447 2021 +rect 852 1996 1454 2003 +rect 1593 1996 1715 1997 +rect 2311 1996 2340 1998 +rect 3084 1997 3086 2030 +rect 3119 2015 4094 2030 +rect 3119 1997 3121 2015 +rect 9267 2014 9322 2015 +rect 852 1984 1715 1996 +rect 2310 1993 2313 1996 +rect 1383 1980 1715 1984 +rect 1419 1975 1715 1980 +rect 2025 1972 2313 1993 +rect 1206 1923 1247 1925 +rect 1383 1923 1582 1925 +rect 290 1810 417 1892 +rect 1206 1886 1209 1923 +rect 1246 1919 1582 1923 +rect 1246 1897 1715 1919 +rect 1246 1886 1421 1897 +rect 2025 1890 2046 1972 +rect 2310 1970 2313 1972 +rect 2339 1970 2342 1996 +rect 3084 1994 3121 1997 +rect 5532 1996 5728 2014 +rect 4974 1977 4994 1978 +rect 2311 1968 2340 1970 +rect 4974 1950 5003 1977 +rect 5666 1974 5698 1976 +rect 4974 1948 4994 1950 +rect 4933 1928 4994 1948 +rect 5666 1948 5669 1974 +rect 5695 1971 5698 1974 +rect 5695 1951 5727 1971 +rect 7492 1968 7495 1973 +rect 6984 1952 7495 1968 +rect 5695 1948 5712 1951 +rect 5666 1944 5712 1948 +rect 7492 1947 7495 1952 +rect 7521 1947 7524 1973 +rect 9267 1964 9270 2014 +rect 9320 2012 9323 2014 +rect 11760 2012 11850 2127 +rect 9320 1965 11850 2012 +rect 9320 1964 9323 1965 +rect 9267 1962 9322 1964 +rect 11760 1918 11850 1965 +rect 3015 1886 3054 1888 +rect 1206 1884 1247 1886 +rect 1383 1884 1420 1886 +rect 3015 1853 3018 1886 +rect 3051 1878 3054 1886 +rect 3051 1861 4094 1878 +rect 7442 1875 7445 1880 +rect 4972 1862 5002 1866 +rect 3051 1853 3054 1861 +rect 3015 1851 3054 1853 +rect 4971 1838 5002 1862 +rect 6990 1859 7445 1875 +rect 7442 1854 7445 1859 +rect 7471 1854 7474 1880 +rect 683 1818 763 1824 +rect 683 1810 692 1818 +rect 290 1760 692 1810 +rect 290 1704 417 1760 +rect 683 1752 692 1760 +rect 758 1752 763 1818 +rect 4971 1793 4991 1838 +rect 5532 1811 5761 1829 +rect 4936 1773 4991 1793 +rect 683 1747 763 1752 +rect 6771 1744 6812 1745 +rect 5606 1743 5638 1744 +rect 4945 1713 4948 1739 +rect 4974 1734 4977 1739 +rect 5606 1734 5609 1743 +rect 4974 1718 5609 1734 +rect 4974 1713 4977 1718 +rect 5606 1717 5609 1718 +rect 5635 1717 5638 1743 +rect 5606 1716 5638 1717 +rect 5709 1742 5741 1743 +rect 5709 1716 5712 1742 +rect 5738 1734 5741 1742 +rect 6771 1734 6774 1744 +rect 5738 1718 6774 1734 +rect 5738 1716 5741 1718 +rect 5709 1715 5741 1716 +rect 5665 1710 5693 1711 +rect 4892 1705 4925 1707 +rect 4891 1676 4894 1705 +rect 4923 1697 4926 1705 +rect 5466 1702 5498 1703 +rect 5466 1697 5469 1702 +rect 4923 1681 5469 1697 +rect 4923 1676 4926 1681 +rect 5466 1676 5469 1681 +rect 5495 1676 5498 1702 +rect 5663 1701 5666 1710 +rect 5660 1685 5666 1701 +rect 5663 1684 5666 1685 +rect 5692 1701 5695 1710 +rect 6771 1709 6774 1718 +rect 6809 1709 6812 1744 +rect 6771 1708 6812 1709 +rect 9786 1736 9842 1738 +rect 5887 1701 5890 1704 +rect 5692 1685 5890 1701 +rect 5692 1684 5695 1685 +rect 5665 1683 5693 1684 +rect 5887 1678 5890 1685 +rect 5916 1678 5919 1704 +rect 9786 1686 9789 1736 +rect 9839 1731 9842 1736 +rect 11058 1736 11126 1737 +rect 11058 1731 11069 1736 +rect 9839 1690 11069 1731 +rect 9839 1686 9842 1690 +rect 9786 1685 9842 1686 +rect 11058 1685 11069 1690 +rect 11120 1731 11126 1736 +rect 11811 1731 11877 1795 +rect 11120 1690 11877 1731 +rect 11120 1685 11126 1690 +rect 11058 1684 11126 1685 +rect 11811 1680 11877 1690 +rect 5889 1677 5917 1678 +rect 4891 1674 4926 1676 +rect 6088 1662 6116 1665 +rect 4449 1656 4482 1659 +rect 4449 1625 4450 1656 +rect 4481 1635 4482 1656 +rect 5035 1648 5065 1649 +rect 5034 1635 5037 1648 +rect 4481 1625 5037 1635 +rect 4449 1622 5037 1625 +rect 5063 1635 5066 1648 +rect 6088 1636 6089 1662 +rect 6115 1636 6116 1662 +rect 6088 1635 6116 1636 +rect 6491 1660 6521 1663 +rect 6491 1635 6493 1660 +rect 5063 1633 6493 1635 +rect 6520 1633 6521 1660 +rect 5063 1630 6520 1633 +rect 5063 1622 6514 1630 +rect 4449 1619 6514 1622 +rect 4830 1597 4874 1598 +rect 298 1596 4874 1597 +rect 298 1555 4831 1596 +rect 4145 1554 4193 1555 +rect 4828 1554 4831 1555 +rect 4873 1554 4876 1596 +rect 5767 1586 5805 1589 +rect 7375 1588 7405 1590 +rect 4830 1553 4874 1554 +rect 5767 1553 5770 1586 +rect 5803 1553 5805 1586 +rect 5767 1550 5805 1553 +rect 5882 1546 5885 1580 +rect 5919 1546 5922 1580 +rect 6741 1564 6807 1566 +rect 6741 1532 6778 1564 +rect 6804 1532 6807 1564 +rect 7304 1554 7377 1588 +rect 7403 1554 7406 1588 +rect 7375 1552 7406 1554 +rect 6741 1530 6807 1532 +rect 296 1458 2189 1500 +rect 2215 1488 4446 1500 +rect 2215 1458 2614 1488 +rect 2601 1417 2614 1458 +rect 2672 1458 4446 1488 +rect 4488 1458 4494 1500 +rect 6916 1499 6961 1501 +rect 4897 1481 4935 1484 +rect 2672 1417 2684 1458 +rect 4897 1449 4899 1481 +rect 4931 1449 4935 1481 +rect 6916 1461 6920 1499 +rect 6958 1461 6961 1499 +rect 6916 1458 6961 1461 +rect 9162 1484 9222 1487 +rect 4897 1446 4935 1449 +rect 9162 1434 9165 1484 +rect 9215 1482 9222 1484 +rect 11803 1482 12013 1576 +rect 9215 1435 12013 1482 +rect 9215 1434 9222 1435 +rect 9162 1431 9222 1434 +rect 2601 1408 2684 1417 +rect 284 1299 411 1377 +rect 11803 1368 12013 1435 +rect 11805 1367 11882 1368 +rect 1207 1299 1248 1301 +rect 284 1262 1208 1299 +rect 1245 1262 1248 1299 +rect 7589 1283 7592 1333 +rect 7618 1329 13172 1333 +rect 7618 1283 13243 1329 +rect 284 1189 411 1262 +rect 1207 1260 1248 1262 +rect 1960 1256 1989 1258 +rect 2183 1256 2214 1258 +rect 1959 1220 1962 1256 +rect 1988 1220 2185 1256 +rect 2211 1220 2214 1256 +rect 12633 1243 12834 1245 +rect 1960 1218 1989 1220 +rect 2183 1218 2214 1220 +rect 7535 1193 7538 1243 +rect 7564 1193 12834 1243 +rect 7488 1103 7491 1153 +rect 7517 1151 12415 1153 +rect 7517 1103 12426 1151 +rect 11791 1080 11792 1081 +rect 7440 1013 7443 1063 +rect 7469 1062 12019 1063 +rect 7469 1013 12040 1062 +rect 5299 1004 6389 1005 +rect 5299 1002 5375 1004 +rect 5298 974 5301 1002 +rect 5329 977 5375 1002 +rect 5329 974 5332 977 +rect 5372 976 5375 977 +rect 5403 1002 6389 1004 +rect 5403 977 6282 1002 +rect 5403 976 5406 977 +rect 6279 974 6282 977 +rect 6310 977 6389 1002 +rect 6310 974 6313 977 +rect 1379 960 1416 961 +rect 290 878 417 948 +rect 1247 922 1500 960 +rect 4906 923 4956 924 +rect 9499 923 9502 925 +rect 1247 878 1285 922 +rect 1379 920 1416 922 +rect 4906 917 9502 923 +rect 2246 890 2274 891 +rect 290 840 1285 878 +rect 1887 857 2247 890 +rect 2273 857 2276 890 +rect 4906 871 4909 917 +rect 4955 877 9502 917 +rect 4955 871 4958 877 +rect 9499 875 9502 877 +rect 9552 875 9555 925 +rect 4906 869 4956 871 +rect 2246 855 2274 857 +rect 290 760 417 840 +rect 5737 826 9445 832 +rect 5737 822 9383 826 +rect 5737 786 5747 822 +rect 5744 776 5747 786 +rect 5793 786 9383 822 +rect 5793 776 5796 786 +rect 9380 780 9383 786 +rect 9433 786 9445 826 +rect 9433 780 9436 786 +rect 5881 739 9336 741 +rect 5881 734 9270 739 +rect 5880 733 9270 734 +rect 1504 696 1507 725 +rect 1536 722 1539 725 +rect 2142 724 2175 728 +rect 2141 722 2144 724 +rect 1536 696 2144 722 +rect 1508 695 2144 696 +rect 2173 722 2176 724 +rect 2173 695 2507 722 +rect 1508 693 2507 695 +rect 2142 691 2175 693 +rect 1888 654 2122 659 +rect 1888 599 2028 654 +rect 2025 594 2028 599 +rect 2088 625 2122 654 +rect 2088 601 2126 625 +rect 2088 599 2122 601 +rect 2088 594 2091 599 +rect 2025 592 2091 594 +rect 2028 591 2088 592 +rect 2477 485 2506 693 +rect 5880 687 5890 733 +rect 5936 695 9270 733 +rect 5936 687 5945 695 +rect 9267 693 9270 695 +rect 9320 695 9336 739 +rect 9320 693 9323 695 +rect 5880 682 5945 687 +rect 6725 647 6777 649 +rect 9174 647 9177 648 +rect 6725 642 9177 647 +rect 6725 596 6729 642 +rect 6775 602 9177 642 +rect 9227 647 9230 648 +rect 9227 602 9239 647 +rect 6775 601 9239 602 +rect 6775 596 6778 601 +rect 6725 591 6777 596 +rect 4119 485 4151 487 +rect 9719 485 9835 488 +rect 290 355 417 446 +rect 2458 373 4122 485 +rect 4148 483 9731 485 +rect 4148 481 6240 483 +rect 4148 479 5333 481 +rect 4148 373 5259 479 +rect 4119 371 4151 373 +rect 5256 367 5259 373 +rect 5445 373 6240 481 +rect 5445 369 5448 373 +rect 5371 367 5448 369 +rect 5256 365 5448 367 +rect 6237 364 6240 373 +rect 6426 373 9731 483 +rect 9825 373 9835 485 +rect 6426 364 6430 373 +rect 9719 370 9835 373 +rect 6237 362 6430 364 +rect 290 317 1287 355 +rect 290 258 417 317 +rect 1249 232 1287 317 +rect 1379 232 1416 233 +rect 1249 194 1521 232 +rect 1379 192 1416 194 +rect 2304 135 2335 137 +rect 1881 101 2306 135 +rect 2332 101 2335 135 +rect 2304 99 2335 101 +rect 411 46 461 51 +rect 411 7 415 46 +rect 454 40 461 46 +rect 7308 43 7347 44 +rect 7307 40 7310 43 +rect 454 12 7310 40 +rect 454 7 461 12 +rect 7307 10 7310 12 +rect 7343 10 7347 43 +rect 7308 9 7347 10 +rect 411 4 461 7 +rect 3949 -23 3991 -22 +rect 3949 -56 3954 -23 +rect 3987 -48 7976 -23 +rect 3987 -56 7977 -48 +rect 3949 -57 3991 -56 +rect 7373 -58 7977 -56 +rect 3889 -85 3927 -84 +rect 277 -296 404 -108 +rect 3889 -118 3892 -85 +rect 3925 -118 7569 -85 +rect 3889 -119 3927 -118 +rect 6962 -119 7569 -118 +rect 3825 -148 3867 -147 +rect 3825 -181 3829 -148 +rect 3862 -181 7161 -148 +rect 3825 -182 3867 -181 +rect 3766 -211 3806 -210 +rect 3766 -244 3769 -211 +rect 3802 -212 3806 -211 +rect 3802 -244 6760 -212 +rect 3766 -245 6760 -244 +rect 3766 -246 3806 -245 +rect 3700 -279 3741 -278 +rect 3699 -312 3705 -279 +rect 3738 -312 6351 -279 +rect 3700 -314 3741 -312 +rect 3642 -341 3683 -340 +rect 3642 -374 3645 -341 +rect 3678 -343 5949 -341 +rect 3678 -374 5950 -343 +rect 3642 -375 3683 -374 +rect 3582 -438 3585 -405 +rect 3618 -406 3621 -405 +rect 3618 -438 5551 -406 +rect 3592 -439 5551 -438 +rect 3010 -487 3064 -484 +rect 3010 -488 3015 -487 +rect 1727 -492 3015 -488 +rect 1722 -530 3015 -492 +rect 3058 -530 3064 -487 +rect 3524 -495 3527 -462 +rect 3560 -467 3563 -462 +rect 3560 -495 5160 -467 +rect 3550 -500 5160 -495 +rect 1722 -531 3064 -530 +rect 284 -771 411 -583 +rect 1722 -719 1923 -531 +rect 3010 -534 3064 -531 +rect 3466 -564 3469 -531 +rect 3502 -564 4740 -531 +rect 3075 -566 3129 -565 +rect 3075 -572 3080 -566 +rect 2132 -609 3080 -572 +rect 3123 -609 3129 -566 +rect 4127 -594 4329 -592 +rect 3411 -595 4329 -594 +rect 2132 -615 3129 -609 +rect 2132 -716 2330 -615 +rect 3401 -628 3404 -595 +rect 3437 -627 4329 -595 +rect 3437 -628 3440 -627 +rect 3143 -637 3192 -633 +rect 3143 -653 3147 -637 +rect 2582 -655 3147 -653 +rect 2525 -677 3147 -655 +rect 3187 -677 3192 -637 +rect 2525 -683 3192 -677 +rect 2525 -693 3183 -683 +rect 3337 -693 3340 -659 +rect 3373 -693 3935 -659 +rect 2525 -716 2723 -693 +rect 3126 -716 3191 -715 +rect 1720 -785 1923 -719 +rect 2127 -782 2330 -716 +rect 2523 -782 2726 -716 +rect 2923 -720 3191 -716 +rect 2923 -771 3130 -720 +rect 3181 -771 3191 -720 +rect 3276 -718 3331 -716 +rect 3734 -718 3935 -693 +rect 3276 -720 3531 -718 +rect 3901 -719 3935 -718 +rect 3276 -757 3282 -720 +rect 3319 -757 3531 -720 +rect 3276 -761 3531 -757 +rect 2923 -779 3191 -771 +rect 2923 -782 3126 -779 +rect 3328 -784 3531 -761 +rect 3731 -737 3935 -719 +rect 4125 -715 4329 -627 +rect 4125 -716 4327 -715 +rect 4125 -723 4330 -716 +rect 4535 -717 4738 -564 +rect 4535 -718 4737 -717 +rect 4535 -723 4739 -718 +rect 3731 -785 3934 -737 +rect 4127 -782 4330 -723 +rect 4536 -784 4739 -723 +rect 4953 -782 5156 -500 +rect 5352 -710 5551 -439 +rect 5351 -785 5554 -710 +rect 5750 -712 5950 -374 +rect 5747 -782 5950 -712 +rect 6160 -719 6351 -312 +rect 6564 -717 6759 -245 +rect 6962 -717 7161 -181 +rect 7373 -151 7569 -119 +rect 7783 -108 7977 -58 +rect 10035 -69 10078 -67 +rect 8185 -72 8381 -69 +rect 10033 -72 10036 -69 +rect 8185 -107 10036 -72 +rect 7373 -717 7568 -151 +rect 7783 -715 7976 -108 +rect 6152 -784 6355 -719 +rect 6559 -782 6762 -717 +rect 6962 -782 7165 -717 +rect 7367 -782 7570 -717 +rect 7774 -793 7977 -715 +rect 8185 -717 8381 -107 +rect 10033 -109 10036 -107 +rect 10076 -109 10079 -69 +rect 10035 -110 10078 -109 +rect 10125 -150 10168 -148 +rect 10124 -151 10127 -150 +rect 8578 -189 10127 -151 +rect 10166 -189 10169 -150 +rect 8182 -782 8385 -717 +rect 8578 -719 8774 -189 +rect 10125 -191 10168 -189 +rect 10217 -233 10220 -232 +rect 8993 -271 10220 -233 +rect 10259 -271 10262 -232 +rect 8993 -717 9191 -271 +rect 10301 -312 10343 -309 +rect 9404 -350 10302 -312 +rect 10340 -350 10343 -312 +rect 8577 -784 8780 -719 +rect 8989 -782 9192 -717 +rect 9404 -720 9602 -350 +rect 10301 -353 10343 -350 +rect 9911 -649 10535 -629 +rect 9911 -717 9931 -649 +rect 10627 -670 10647 -629 +rect 10404 -690 10647 -670 +rect 10404 -717 10424 -690 +rect 10724 -717 10745 -628 +rect 9403 -785 9606 -720 +rect 9802 -782 10005 -717 +rect 10204 -747 10424 -717 +rect 10204 -782 10407 -747 +rect 10612 -782 10815 -717 +rect 10917 -726 10938 -628 +rect 11014 -647 11033 -630 +rect 11014 -666 11514 -647 +rect 11030 -726 11233 -717 +rect 11495 -719 11514 -666 +rect 11579 -719 11598 -712 +rect 11839 -717 12040 1013 +rect 10917 -747 11233 -726 +rect 11030 -782 11233 -747 +rect 11428 -784 11631 -719 +rect 11833 -769 12040 -717 +rect 12225 -717 12426 1103 +rect 11833 -782 12036 -769 +rect 12225 -782 12432 -717 +rect 12633 -719 12834 1193 +rect 13042 -717 13243 1283 +rect 12225 -786 12426 -782 +rect 12633 -784 12837 -719 +rect 13039 -775 13243 -717 +rect 13039 -782 13242 -775 +rect 12633 -792 12834 -784 +<< via2 >> +rect 7948 4760 7980 4763 +rect 7948 4734 7971 4760 +rect 7971 4734 7980 4760 +rect 8051 4761 8083 4762 +rect 8051 4735 8073 4761 +rect 8073 4735 8083 4761 +rect 7948 4731 7980 4734 +rect 8051 4730 8083 4735 +rect 8059 4382 8093 4416 +rect 7952 4034 7985 4069 +rect 8061 3777 8095 3813 +<< metal3 >> +rect 7941 4763 7986 4769 +rect 7941 4731 7948 4763 +rect 7980 4731 7986 4763 +rect 7941 4694 7986 4731 +rect 8045 4762 8090 4768 +rect 8045 4730 8051 4762 +rect 8083 4730 8090 4762 +rect 7941 4078 7978 4694 +rect 8045 4693 8090 4730 +rect 8053 4429 8090 4693 +rect 8053 4416 8097 4429 +rect 8053 4382 8059 4416 +rect 8093 4382 8097 4416 +rect 8053 4369 8097 4382 +rect 7941 4069 7990 4078 +rect 7941 4045 7952 4069 +rect 7946 4034 7952 4045 +rect 7985 4034 7990 4069 +rect 7946 4029 7990 4034 +rect 8053 3858 8090 4369 +rect 8052 3813 8099 3858 +rect 8052 3777 8061 3813 +rect 8095 3777 8099 3813 +rect 8052 3771 8099 3777 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_0 +timestamp 1608245216 +transform -1 0 2012 0 -1 1081 +box 64 419 528 1018 +use sky130_hilas_nFETLarge sky130_hilas_nFETLarge_0 +timestamp 1625426387 +transform -1 0 2008 0 -1 1836 +box 64 420 501 1003 +use sky130_hilas_DAC5bit01 sky130_hilas_DAC5bit01_0 +timestamp 1625056879 +transform 0 1 9912 1 0 -1031 +box 382 524 2040 1121 +use sky130_hilas_Trans2med sky130_hilas_Trans2med_0 +timestamp 1626027626 +transform 1 0 2073 0 -1 2311 +box -380 -143 -27 452 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_3 +timestamp 1624113741 +transform -1 0 4927 0 -1 2263 +box -30 -102 850 522 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_3 +timestamp 1625970648 +transform -1 0 6601 0 -1 2362 +box 1050 5 1622 610 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_1 +timestamp 1608245216 +transform 1 0 4824 0 1 606 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_2 +timestamp 1608245216 +transform -1 0 5880 0 1 606 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_3 +timestamp 1608245216 +transform 1 0 5805 0 1 609 +box 64 419 528 1018 +use sky130_hilas_pFETLarge sky130_hilas_pFETLarge_4 +timestamp 1608245216 +transform -1 0 6861 0 1 609 +box 64 419 528 1018 +use sky130_hilas_WTA4Stage01 sky130_hilas_WTA4Stage01_0 +timestamp 1625404155 +transform 1 0 6825 0 1 1803 +box -1121 -43 296 562 +use sky130_hilas_nFETLarge sky130_hilas_nFETLarge_1 +timestamp 1625426387 +transform -1 0 7435 0 1 608 +box 64 420 501 1003 +use sky130_hilas_Trans4small sky130_hilas_Trans4small_0 +timestamp 1608234847 +transform 1 0 1738 0 1 4259 +box 191 -150 471 438 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_2 +timestamp 1624113741 +transform -1 0 4927 0 -1 3240 +box -30 -102 850 522 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_1 +timestamp 1624113741 +transform -1 0 4927 0 -1 4253 +box -30 -102 850 522 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_2 +timestamp 1625970648 +transform -1 0 6601 0 -1 3338 +box 1050 5 1622 610 +use sky130_hilas_swc4x2cell sky130_hilas_swc4x2cell_0 +timestamp 1625491916 +transform 1 0 6768 0 1 2742 +box -1004 -4 1009 601 +use sky130_hilas_drainSelect01 sky130_hilas_drainSelect01_1 +timestamp 1625970648 +transform -1 0 6601 0 -1 4345 +box 1050 5 1622 610 +use sky130_hilas_TA2Cell_1FG_Strong sky130_hilas_TA2Cell_1FG_Strong_0 +timestamp 1626460134 +transform 1 0 8236 0 1 3936 +box -2617 140 193 745 +use sky130_hilas_TA2Cell_1FG sky130_hilas_TA2Cell_1FG_0 +timestamp 1625491133 +transform 1 0 8236 0 1 3333 +box -2616 140 193 745 +use sky130_hilas_Tgate4Single01 sky130_hilas_Tgate4Single01_0 +timestamp 1608226321 +transform 1 0 10780 0 1 3947 +box -36 -141 440 464 +use sky130_hilas_FGcharacterization01 sky130_hilas_FGcharacterization01_0 +timestamp 1625074044 +transform -1 0 2682 0 1 5308 +box -912 259 2083 864 +use sky130_hilas_LevelShift4InputUp sky130_hilas_LevelShift4InputUp_0 +timestamp 1624113741 +transform -1 0 4927 0 1 4465 +box -30 -102 850 522 +<< labels >> +rlabel metal2 13039 -782 13242 -717 1 DIG24 +port 1 n +rlabel metal2 12634 -784 12837 -719 0 DIG23 +port 2 nsew +rlabel metal2 12229 -782 12432 -717 0 DIG22 +port 3 nsew +rlabel metal2 11833 -782 12036 -717 0 DIG21 +port 4 nsew +rlabel metal2 11428 -784 11631 -719 0 DIG29 +port 5 nsew +rlabel metal2 11030 -782 11233 -717 0 DIG28 +port 6 nsew +rlabel metal2 10612 -782 10815 -717 0 DIG27 +port 7 nsew +rlabel metal2 10204 -782 10407 -717 0 DIG26 +port 8 nsew +rlabel metal2 9802 -782 10005 -717 0 DIG25 +port 9 nsew +rlabel metal2 9403 -785 9606 -720 0 DIG20 +port 10 nsew +rlabel metal2 8989 -782 9192 -717 0 DIG19 +port 11 nsew +rlabel metal2 8577 -784 8780 -719 0 DIG18 +port 12 nsew +rlabel metal2 8182 -782 8385 -717 0 DIG17 +port 13 nsew +rlabel metal2 7774 -780 7977 -715 0 DIG16 +port 14 nsew +rlabel metal2 7367 -782 7570 -717 0 DIG15 +port 15 nsew +rlabel metal2 6962 -782 7165 -717 0 DIG14 +port 16 nsew +rlabel metal2 6559 -782 6762 -717 0 DIG13 +port 17 nsew +rlabel metal2 6152 -784 6355 -719 0 DIG12 +port 18 nsew +rlabel metal2 5747 -778 5950 -712 0 DIG11 +port 19 nsew +rlabel metal2 5351 -776 5554 -710 0 DIG10 +port 20 nsew +rlabel metal2 4953 -782 5156 -716 0 DIG09 +port 21 nsew +rlabel metal2 4536 -784 4739 -718 0 DIG08 +port 22 nsew +rlabel metal2 4127 -782 4330 -716 0 DIG07 +port 23 nsew +rlabel metal2 3731 -785 3934 -719 0 DIG06 +port 24 nsew +rlabel metal2 3328 -784 3531 -718 0 DIG05 +port 25 nsew +rlabel metal2 2923 -782 3126 -716 0 DIG04 +port 26 nsew +rlabel metal2 2523 -782 2726 -716 0 DIG03 +port 27 nsew +rlabel metal2 2127 -782 2330 -716 0 DIG02 +port 28 nsew +rlabel metal2 1720 -785 1923 -719 0 DIG01 +port 29 nsew +rlabel metal2 11805 1367 11882 1576 0 CAP2 +port 30 nsew +rlabel metal2 11760 1918 11850 2127 0 GENERALGATE01 +port 31 nsew +rlabel metal2 11763 2426 11853 2635 0 GATEANDCAP1 +port 32 nsew +rlabel metal2 11760 2944 11850 3153 0 GENERALGATE02 +port 33 nsew +rlabel metal2 11760 3432 11850 3641 0 OUTPUTTA1 +port 34 nsew +rlabel metal2 11760 3970 11850 4179 0 GATENFET1 +port 35 nsew +rlabel metal2 11763 4415 11853 4624 0 DACOUTPUT +port 36 nsew +rlabel metal2 11764 4853 11850 5063 0 DRAINOUT +port 37 nsew +rlabel metal2 11764 5292 11850 5502 0 ROWTERM2 +port 38 nsew +rlabel metal2 11767 5701 11853 5911 0 COLUMN2 +port 39 nsew +rlabel metal2 11767 6114 11853 6324 0 COLUMN1 +port 40 nsew +rlabel metal1 10273 6287 10592 6399 0 GATE2 +port 41 nsew +rlabel metal1 7416 6284 7735 6396 0 GATE1 +port 61 nsew +rlabel metal1 4557 6285 4876 6397 0 DRAININJECT +port 42 nsew +rlabel metal1 3026 6238 3160 6339 0 VTUN +port 43 nsew +rlabel metal2 295 6136 363 6368 0 VREFCHAR +port 44 nsew +rlabel metal2 295 5683 363 5915 0 CHAROUTPUT +port 45 nsew +rlabel metal2 250 5236 318 5468 0 LARGECAPACITOR +port 46 nsew +rlabel metal2 1379 920 1416 961 0 DRAIN6N +port 47 nsew +rlabel metal2 1379 192 1416 233 0 DRAIN6P +port 48 nsew +rlabel metal2 1383 1884 1420 1925 0 DRAIN5P +port 49 nsew +rlabel metal2 1383 1980 1420 2021 0 DARIN4P +port 50 nsew +rlabel metal2 1383 2350 1420 2391 0 DRAIN5N +port 51 nsew +rlabel metal2 1383 2414 1420 2455 0 DRAIN4N +port 52 nsew +rlabel metal2 1383 4157 1420 4198 0 DRAIN3P +port 53 nsew +rlabel metal2 1383 4253 1420 4294 0 DRAIN2P +port 54 nsew +rlabel metal2 1383 4349 1420 4390 0 DRAIN1P +port 55 nsew +rlabel metal2 1383 4461 1420 4502 0 DRAIN3N +port 56 nsew +rlabel metal2 1383 4554 1420 4595 0 DRAIN2N +port 57 nsew +rlabel metal2 1383 4657 1420 4698 0 DRAIN1N +port 58 nsew +rlabel metal2 1353 4765 1383 4805 0 SOURCEN +port 59 nsew +rlabel metal2 1353 4847 1383 4887 0 SOURCEP +port 60 nsew +rlabel metal2 279 5546 324 5586 0 VGND +port 63 nsew +rlabel metal2 283 5987 328 6027 0 VINJ +port 62 nsew +rlabel metal2 250 5157 301 5198 0 VINJ +port 62 nsew +rlabel metal2 246 5067 297 5108 0 VGND +port 63 nsew +rlabel metal2 298 1555 361 1597 0 VINJ +port 62 nsew +rlabel metal2 296 1458 359 1500 0 VGND +port 63 nsew +rlabel metal2 11863 4720 11908 4765 0 VPWR +port 64 nsew +rlabel metal1 5638 6371 5711 6401 0 VINJ +port 62 nsew +rlabel metal1 6154 6380 6251 6401 0 VGND +port 63 nsew +rlabel metal2 11811 1680 11877 1795 0 VPWR +port 64 nsew +rlabel metal1 5200 -785 5292 -712 0 VPWR +port 64 nsew +rlabel metal1 6393 -785 6485 -712 0 VPWR +port 64 nsew +<< end >>
diff --git a/mag/sky130_hilas_TopProtectStructure.mag b/mag/sky130_hilas_TopProtectStructure.mag new file mode 100644 index 0000000..8258e43 --- /dev/null +++ b/mag/sky130_hilas_TopProtectStructure.mag
@@ -0,0 +1,1058 @@ +magic +tech sky130A +timestamp 1626460134 +<< error_s >> +rect -626 12757 -597 12773 +rect -547 12757 -518 12773 +rect -468 12757 -439 12773 +rect -389 12757 -360 12773 +rect -1764 12733 -1757 12739 +rect -913 12733 -907 12739 +rect -81 12733 -75 12739 +rect 24 12733 30 12739 +rect 439 12728 445 12734 +rect 494 12728 500 12734 +rect -626 12723 -625 12724 +rect -598 12723 -597 12724 +rect -547 12723 -546 12724 +rect -519 12723 -518 12724 +rect -468 12723 -467 12724 +rect -440 12723 -439 12724 +rect -389 12723 -388 12724 +rect -361 12723 -360 12724 +rect -676 12694 -659 12723 +rect -627 12722 -596 12723 +rect -548 12722 -517 12723 +rect -469 12722 -438 12723 +rect -390 12722 -359 12723 +rect -626 12715 -597 12722 +rect -547 12715 -518 12722 +rect -468 12715 -439 12722 +rect -389 12715 -360 12722 +rect -626 12701 -617 12715 +rect -370 12701 -360 12715 +rect -626 12695 -597 12701 +rect -547 12695 -518 12701 +rect -468 12695 -439 12701 +rect -389 12695 -360 12701 +rect -627 12694 -596 12695 +rect -548 12694 -517 12695 +rect -469 12694 -438 12695 +rect -390 12694 -359 12695 +rect -328 12694 -310 12723 +rect -626 12693 -625 12694 +rect -598 12693 -597 12694 +rect -547 12693 -546 12694 +rect -519 12693 -518 12694 +rect -468 12693 -467 12694 +rect -440 12693 -439 12694 +rect -389 12693 -388 12694 +rect -361 12693 -360 12694 +rect -87 12683 -81 12689 +rect 30 12683 36 12689 +rect 433 12678 439 12684 +rect 500 12678 506 12684 +rect -626 12644 -597 12659 +rect -547 12644 -518 12659 +rect -468 12644 -439 12659 +rect -389 12644 -360 12659 +rect -626 12477 -597 12493 +rect -547 12477 -518 12493 +rect -468 12477 -439 12493 +rect -389 12477 -360 12493 +rect -2072 12474 -2067 12475 +rect -626 12443 -625 12444 +rect -598 12443 -597 12444 +rect -547 12443 -546 12444 +rect -519 12443 -518 12444 +rect -468 12443 -467 12444 +rect -440 12443 -439 12444 +rect -389 12443 -388 12444 +rect -361 12443 -360 12444 +rect -676 12414 -659 12443 +rect -627 12442 -596 12443 +rect -548 12442 -517 12443 +rect -469 12442 -438 12443 +rect -390 12442 -359 12443 +rect -626 12435 -597 12442 +rect -547 12435 -518 12442 +rect -468 12435 -439 12442 +rect -389 12435 -360 12442 +rect -626 12421 -617 12435 +rect -370 12421 -360 12435 +rect -626 12415 -597 12421 +rect -547 12415 -518 12421 +rect -468 12415 -439 12421 +rect -389 12415 -360 12421 +rect -627 12414 -596 12415 +rect -548 12414 -517 12415 +rect -469 12414 -438 12415 +rect -390 12414 -359 12415 +rect -328 12414 -310 12443 +rect -81 12434 -75 12440 +rect 24 12434 30 12440 +rect -626 12413 -625 12414 +rect -598 12413 -597 12414 +rect -547 12413 -546 12414 +rect -519 12413 -518 12414 +rect -468 12413 -467 12414 +rect -440 12413 -439 12414 +rect -389 12413 -388 12414 +rect -361 12413 -360 12414 +rect 470 12395 499 12413 +rect -87 12384 -81 12390 +rect 30 12384 36 12390 +rect -626 12364 -597 12379 +rect -547 12364 -518 12379 +rect -468 12364 -439 12379 +rect -389 12364 -360 12379 +rect 470 12363 471 12364 +rect 498 12363 499 12364 +rect -2360 12307 -2359 12362 +rect -626 12322 -597 12338 +rect -547 12322 -518 12338 +rect -468 12322 -439 12338 +rect -389 12322 -360 12338 +rect -81 12333 -75 12339 +rect 24 12333 30 12339 +rect 420 12334 438 12363 +rect 469 12362 500 12363 +rect 470 12353 499 12362 +rect 470 12344 480 12353 +rect 489 12344 499 12353 +rect 470 12335 499 12344 +rect 469 12334 500 12335 +rect 531 12334 549 12363 +rect 470 12333 471 12334 +rect 498 12333 499 12334 +rect -626 12288 -625 12289 +rect -598 12288 -597 12289 +rect -547 12288 -546 12289 +rect -519 12288 -518 12289 +rect -468 12288 -467 12289 +rect -440 12288 -439 12289 +rect -389 12288 -388 12289 +rect -361 12288 -360 12289 +rect -1769 12267 -1763 12273 +rect -907 12267 -901 12273 +rect -676 12259 -659 12288 +rect -627 12287 -596 12288 +rect -548 12287 -517 12288 +rect -469 12287 -438 12288 +rect -390 12287 -359 12288 +rect -626 12280 -597 12287 +rect -547 12280 -518 12287 +rect -468 12280 -439 12287 +rect -389 12280 -360 12287 +rect -626 12266 -617 12280 +rect -370 12266 -360 12280 +rect -626 12260 -597 12266 +rect -547 12260 -518 12266 +rect -468 12260 -439 12266 +rect -389 12260 -360 12266 +rect -627 12259 -596 12260 +rect -548 12259 -517 12260 +rect -469 12259 -438 12260 +rect -390 12259 -359 12260 +rect -328 12259 -310 12288 +rect -87 12283 -81 12289 +rect 30 12283 36 12289 +rect 470 12284 499 12302 +rect -626 12258 -625 12259 +rect -598 12258 -597 12259 +rect -547 12258 -546 12259 +rect -519 12258 -518 12259 +rect -468 12258 -467 12259 +rect -440 12258 -439 12259 +rect -389 12258 -388 12259 +rect -361 12258 -360 12259 +rect -626 12209 -597 12224 +rect -547 12209 -518 12224 +rect -468 12209 -439 12224 +rect -389 12209 -360 12224 +rect 3665 11232 3671 11238 +rect 3718 11232 3724 11238 +rect 3831 11232 3837 11238 +rect 3884 11232 3890 11238 +rect 3659 11182 3665 11188 +rect 3724 11182 3730 11188 +rect 3825 11182 3831 11188 +rect 3890 11182 3896 11188 +rect 3237 11173 3243 11179 +rect 3342 11173 3348 11179 +rect 4254 11173 4260 11179 +rect 4359 11173 4365 11179 +rect 3231 11123 3237 11129 +rect 3348 11123 3354 11129 +rect 4248 11123 4254 11129 +rect 4365 11123 4371 11129 +rect 1098 10993 1461 10994 +rect 1518 10993 1641 10994 +rect 1716 10987 1746 11106 +rect 3237 10872 3243 10878 +rect 3342 10872 3348 10878 +rect 4254 10872 4260 10878 +rect 4359 10872 4365 10878 +rect 3231 10822 3237 10828 +rect 3348 10822 3354 10828 +rect 3665 10818 3671 10824 +rect 3718 10818 3724 10824 +rect 3831 10818 3837 10824 +rect 3884 10818 3890 10824 +rect 4248 10822 4254 10828 +rect 4365 10822 4371 10828 +rect 3659 10768 3665 10774 +rect 3724 10768 3730 10774 +rect 3825 10768 3831 10774 +rect 3890 10768 3896 10774 +rect 3499 10705 3503 10716 +rect 3499 10691 3500 10702 +rect 3608 10701 3609 10754 +rect 3666 10629 3672 10635 +rect 3719 10629 3725 10635 +rect 3831 10629 3837 10635 +rect 3884 10629 3890 10635 +rect 3660 10579 3666 10585 +rect 3725 10579 3731 10585 +rect 3825 10579 3831 10585 +rect 3890 10579 3896 10585 +rect 3191 10570 3197 10576 +rect 3296 10570 3302 10576 +rect 4254 10570 4260 10576 +rect 4359 10570 4365 10576 +rect 3185 10520 3191 10526 +rect 3302 10520 3308 10526 +rect 4248 10520 4254 10526 +rect 4365 10520 4371 10526 +rect 4059 10385 4076 10386 +rect 4059 10368 4076 10369 +rect 3497 10351 3498 10364 +rect 3191 10269 3197 10275 +rect 3296 10269 3302 10275 +rect 4254 10269 4260 10275 +rect 4359 10269 4365 10275 +rect 3185 10219 3191 10225 +rect 3302 10219 3308 10225 +rect 3666 10215 3672 10221 +rect 3719 10215 3725 10221 +rect 3831 10215 3837 10221 +rect 3884 10215 3890 10221 +rect 4248 10219 4254 10225 +rect 4365 10219 4371 10225 +rect 3660 10165 3666 10171 +rect 3725 10165 3731 10171 +rect 3825 10165 3831 10171 +rect 3890 10165 3896 10171 +rect 3239 9904 3245 9910 +rect 3344 9904 3350 9910 +rect 4210 9904 4216 9910 +rect 4315 9904 4321 9910 +rect 3665 9894 3671 9900 +rect 3718 9894 3724 9900 +rect 3836 9894 3842 9900 +rect 3889 9894 3895 9900 +rect 3233 9840 3239 9846 +rect 3350 9840 3356 9846 +rect 3659 9844 3665 9850 +rect 3724 9844 3730 9850 +rect 3830 9844 3836 9850 +rect 3895 9844 3901 9850 +rect 4204 9840 4210 9846 +rect 4321 9840 4327 9846 +rect 3239 9787 3245 9793 +rect 3344 9787 3350 9793 +rect 3665 9785 3671 9791 +rect 3718 9785 3724 9791 +rect 3836 9785 3842 9791 +rect 3889 9785 3895 9791 +rect 4210 9787 4216 9793 +rect 4315 9787 4321 9793 +rect 3659 9735 3665 9741 +rect 3724 9735 3730 9741 +rect 3830 9735 3836 9741 +rect 3895 9735 3901 9741 +rect 3233 9723 3239 9729 +rect 3350 9723 3356 9729 +rect 4204 9723 4210 9729 +rect 4321 9723 4327 9729 +rect 3239 9602 3245 9608 +rect 3344 9602 3350 9608 +rect 4210 9602 4216 9608 +rect 4315 9602 4321 9608 +rect 3665 9596 3671 9602 +rect 3718 9596 3724 9602 +rect 3836 9596 3842 9602 +rect 3889 9596 3895 9602 +rect 3659 9546 3665 9552 +rect 3724 9546 3730 9552 +rect 3830 9546 3836 9552 +rect 3895 9546 3901 9552 +rect 3233 9538 3239 9544 +rect 3350 9538 3356 9544 +rect 4204 9538 4210 9544 +rect 4321 9538 4327 9544 +rect 3239 9486 3245 9492 +rect 3344 9486 3350 9492 +rect 4210 9486 4216 9492 +rect 4315 9486 4321 9492 +rect 3665 9479 3671 9485 +rect 3718 9479 3724 9485 +rect 3836 9479 3842 9485 +rect 3889 9479 3895 9485 +rect 3659 9429 3665 9435 +rect 3724 9429 3730 9435 +rect 3830 9429 3836 9435 +rect 3895 9429 3901 9435 +rect 3233 9422 3239 9428 +rect 3350 9422 3356 9428 +rect 4204 9422 4210 9428 +rect 4321 9422 4327 9428 +rect 3239 8926 3245 8932 +rect 3344 8926 3350 8932 +rect 3665 8916 3671 8922 +rect 3718 8916 3724 8922 +rect 3233 8862 3239 8868 +rect 3350 8862 3356 8868 +rect 3659 8866 3665 8872 +rect 3724 8866 3730 8872 +rect 3239 8809 3245 8815 +rect 3344 8809 3350 8815 +rect 3665 8807 3671 8813 +rect 3718 8807 3724 8813 +rect 3659 8757 3665 8763 +rect 3724 8757 3730 8763 +rect 3233 8745 3239 8751 +rect 3350 8745 3356 8751 +rect 3239 8624 3245 8630 +rect 3344 8624 3350 8630 +rect 3502 8619 3519 8623 +rect 3665 8618 3671 8624 +rect 3718 8618 3724 8624 +rect 3659 8568 3665 8574 +rect 3724 8568 3730 8574 +rect 3233 8560 3239 8566 +rect 3350 8560 3356 8566 +rect 3239 8508 3245 8514 +rect 3344 8508 3350 8514 +rect 3665 8501 3671 8507 +rect 3718 8501 3724 8507 +rect 3659 8451 3665 8457 +rect 3724 8451 3730 8457 +rect 3233 8444 3239 8450 +rect 3350 8444 3356 8450 +rect 8801 7705 8802 7718 +rect 8801 7704 8815 7705 +rect -1497 7546 -1490 7584 +rect -1483 7552 -1476 7598 +rect -817 7316 -816 7351 +rect -803 7302 -802 7365 +rect -931 7162 -919 7165 +rect -943 7141 -938 7153 +rect -950 6801 -938 6809 +rect -719 6801 -717 6809 +rect 7811 6656 7812 6658 +rect 744 5906 911 5919 +rect 1337 5909 1339 5922 +rect 741 5892 911 5905 +rect 1337 5895 1340 5908 +rect 1747 5907 1748 5920 +rect 1747 5893 1749 5906 +<< metal1 >> +rect -13106 14454 -12717 14571 +rect -10247 14453 -9858 14570 +rect -7388 14453 -6999 14570 +rect -3198 14456 -2809 14573 +rect 1014 14454 1403 14571 +rect 3873 14454 4262 14571 +rect 6733 14454 7122 14571 +rect 9592 14454 9981 14571 +rect 12451 14454 12840 14571 +rect 15310 14453 15699 14570 +rect 18169 14453 18558 14570 +rect -12554 12222 -12231 13533 +rect -9695 12563 -9372 13533 +rect -6836 12992 -6513 13533 +rect -5582 13312 -5565 13324 +rect -6879 12961 -6496 12992 +rect -6879 12736 -6836 12961 +rect -6513 12736 -6496 12961 +rect -6879 12718 -6496 12736 +rect -5617 12656 -5565 13312 +rect -5623 12645 -5558 12656 +rect -5623 12608 -5617 12645 +rect -5565 12608 -5558 12645 +rect -5623 12605 -5558 12608 +rect -9711 12512 -9361 12563 +rect -9711 12287 -9695 12512 +rect -9372 12287 -9361 12512 +rect -9711 12274 -9361 12287 +rect -12771 12183 -12231 12222 +rect -12771 11860 -12737 12183 +rect -12512 11860 -12231 12183 +rect -14015 11852 -13676 11859 +rect -14112 11843 -13676 11852 +rect -14435 11520 -13890 11843 +rect -13704 11520 -13676 11843 +rect -12771 11842 -12477 11860 +rect -5617 11837 -5565 12605 +rect -5277 12214 -5236 13335 +rect -2566 13135 -2450 13326 +rect -2566 13022 170 13135 +rect -2566 13002 189 13022 +rect 37 12862 170 13002 +rect 1566 12911 1889 13534 +rect 2730 13326 2791 13340 +rect 2728 13130 2846 13326 +rect 2648 13039 2846 13130 +rect 2648 13021 2829 13039 +rect 3172 13023 3244 13409 +rect 2648 12952 2721 13021 +rect 4425 12911 4748 13533 +rect 7284 12911 7607 13533 +rect 8177 13272 8196 13273 +rect 8890 13272 8962 13409 +rect 8177 13237 8962 13272 +rect 8177 13024 8196 13237 +rect 10143 13218 10466 13533 +rect 10067 13190 10466 13218 +rect 10065 13170 10466 13190 +rect 10047 13073 10482 13170 +rect 10047 12867 10143 13073 +rect 10466 12867 10482 13073 +rect 10047 12800 10482 12867 +rect 13002 12752 13325 13533 +rect 12972 12708 13327 12752 +rect 12972 12378 13002 12708 +rect 13208 12378 13327 12708 +rect 12972 12347 13327 12378 +rect -5289 12211 -5236 12214 +rect -5289 12170 -5283 12211 +rect -5242 12170 -5236 12211 +rect 15861 12189 16184 13533 +rect -5289 12167 -5236 12170 +rect -5637 11828 -5565 11837 +rect -5637 11776 -5631 11828 +rect -5579 11776 -5565 11828 +rect -5637 11764 -5565 11776 +rect -14112 11452 -13676 11520 +rect -15468 10968 -15343 11357 +rect -13098 8984 -12872 8988 +rect -14435 8661 -13085 8984 +rect -12877 8661 -12872 8984 +rect -13098 8657 -12872 8661 +rect -15467 8110 -15342 8499 +rect -5617 8229 -5565 11764 +rect -5277 11742 -5236 12167 +rect 15841 12159 16200 12189 +rect 15841 11953 15861 12159 +rect 16184 11953 16200 12159 +rect 15841 11936 16200 11953 +rect 18720 11840 19043 13533 +rect -5291 11732 -5229 11742 +rect -5291 11691 -5278 11732 +rect -5237 11691 -5229 11732 +rect -5291 11683 -5229 11691 +rect 18689 11717 19065 11840 +rect -5625 8226 -5562 8229 +rect -5625 8174 -5621 8226 +rect -5569 8174 -5562 8226 +rect -5625 8169 -5562 8174 +rect -5277 8127 -5236 11683 +rect 18689 11512 18720 11717 +rect 19043 11512 19065 11717 +rect 18689 11478 19065 11512 +rect 20124 11771 20465 11803 +rect 20124 11448 20154 11771 +rect 20353 11448 20788 11771 +rect 10956 11382 11398 11443 +rect 20124 11399 20465 11448 +rect 10956 11350 10980 11382 +rect 11202 11350 11398 11382 +rect 10956 8432 11398 11350 +rect 21692 10898 21817 11287 +rect 19283 8912 19515 8920 +rect 19283 8589 19299 8912 +rect 19508 8589 20787 8912 +rect 19283 8583 19515 8589 +rect 10953 8420 11400 8432 +rect 10953 8311 10964 8420 +rect 11392 8311 11400 8420 +rect 10953 8300 11400 8311 +rect -5282 8124 -5234 8127 +rect -5282 8080 -5278 8124 +rect -5237 8080 -5234 8124 +rect -5282 8077 -5234 8080 +rect -12707 6125 -12484 6133 +rect -14434 5802 -12695 6125 +rect -12487 5802 -12484 6125 +rect -12707 5787 -12484 5802 +rect -15468 5250 -15343 5639 +rect -12256 3266 -12015 3276 +rect -14435 2943 -12232 3266 +rect -12024 2943 -12015 3266 +rect -12256 2933 -12015 2943 +rect -15466 2391 -15341 2780 +rect -11800 407 -11573 414 +rect -14434 84 -11791 407 +rect -11583 84 -11573 407 +rect -11800 74 -11573 84 +rect -15467 -467 -15342 -78 +rect -11364 -2452 -11139 -2446 +rect -14435 -2775 -11357 -2452 +rect -11149 -2775 -11139 -2452 +rect -11364 -2783 -11139 -2775 +rect -15468 -3327 -15343 -2938 +rect -10932 -5311 -10707 -5300 +rect -14435 -5634 -10692 -5311 +rect -10932 -5645 -10707 -5634 +rect -15467 -6185 -15342 -5796 +rect 10956 -7830 11398 8300 +rect 21691 8038 21816 8427 +rect 18866 6053 19102 6066 +rect 18866 5730 18874 6053 +rect 19083 5730 20789 6053 +rect 18866 5720 19102 5730 +rect 21691 5178 21816 5567 +rect 18465 3194 18693 3210 +rect 18465 2871 18476 3194 +rect 18685 2871 20787 3194 +rect 18465 2860 18693 2871 +rect 21692 2322 21817 2711 +rect 18035 335 18277 347 +rect 18035 12 18051 335 +rect 18260 12 20787 335 +rect 18035 -4 18277 12 +rect 21690 -539 21815 -150 +rect 17646 -2524 17873 -2513 +rect 17646 -2847 17657 -2524 +rect 17866 -2847 20788 -2524 +rect 17646 -2860 17873 -2847 +rect 21692 -3397 21817 -3008 +rect 17206 -5383 17436 -5375 +rect 17206 -5706 20788 -5383 +rect 17206 -5716 17436 -5706 +rect 21692 -6258 21817 -5869 +rect 10864 -7841 11398 -7830 +rect -10526 -8170 -10285 -8160 +rect -14435 -8493 -10503 -8170 +rect -10295 -8493 -10285 -8170 +rect 10864 -8283 10882 -7841 +rect 11324 -8204 11398 -7841 +rect 11324 -8283 11340 -8204 +rect 10864 -8300 11340 -8283 +rect -10526 -8511 -10285 -8493 +rect -15464 -9043 -15339 -8654 +rect -10098 -11029 -9852 -11022 +rect -14435 -11352 -9852 -11029 +rect -10098 -11357 -9852 -11352 +rect -15466 -11904 -15341 -11515 +rect -9661 -13888 -9421 -13874 +rect -14436 -14211 -9641 -13888 +rect -9433 -14211 -9421 -13888 +rect -9661 -14221 -9421 -14211 +rect -15467 -14763 -15342 -14374 +rect -9267 -16747 -9018 -16739 +rect -14436 -17070 -9244 -16747 +rect -9036 -17070 -9018 -16747 +rect -9267 -17089 -9018 -17070 +rect -15467 -17622 -15342 -17233 +rect -8820 -19606 -8585 -19596 +rect -14434 -19929 -8800 -19606 +rect -8592 -19929 -8585 -19606 +rect -8820 -19942 -8585 -19929 +rect -15466 -20481 -15341 -20092 +rect -8420 -22465 -8149 -22459 +rect -14434 -22788 -8370 -22465 +rect -8162 -22788 -8149 -22465 +rect -8420 -22800 -8149 -22788 +rect -15466 -23339 -15341 -22950 +<< via1 >> +rect -6836 12736 -6513 12961 +rect -5617 12608 -5565 12645 +rect -9695 12287 -9372 12512 +rect -12737 11860 -12512 12183 +rect -13890 11520 -13704 11843 +rect 10143 12867 10466 13073 +rect 13002 12378 13208 12708 +rect -5283 12170 -5242 12211 +rect -5631 11776 -5579 11828 +rect -13085 8661 -12877 8984 +rect 15861 11953 16184 12159 +rect -5278 11691 -5237 11732 +rect -5621 8174 -5569 8226 +rect 18720 11512 19043 11717 +rect 20154 11448 20353 11771 +rect 10980 11350 11202 11382 +rect 19299 8589 19508 8912 +rect 10964 8311 11392 8420 +rect -5278 8080 -5237 8124 +rect -12695 5802 -12487 6125 +rect -12232 2943 -12024 3266 +rect -11791 84 -11583 407 +rect -11357 -2775 -11149 -2452 +rect 18874 5730 19083 6053 +rect 18476 2871 18685 3194 +rect 18051 12 18260 335 +rect 17657 -2847 17866 -2524 +rect -10503 -8493 -10295 -8170 +rect 10882 -8283 11324 -7841 +rect -9641 -14211 -9433 -13888 +rect -9244 -17070 -9036 -16747 +rect -8800 -19929 -8592 -19606 +rect -8370 -22788 -8162 -22465 +<< metal2 >> +rect 21381 14165 21500 14166 +rect -15126 14164 -13833 14165 +rect -15139 14025 -13833 14164 +rect 20201 14113 21500 14165 +rect 20180 14037 21500 14113 +rect -15139 13873 -14910 14025 +rect -15094 13869 -14910 13873 +rect -15050 13017 -14910 13869 +rect 21284 13905 21500 14037 +rect -14423 13388 -13848 13528 +rect 20116 13395 20783 13535 +rect -14423 12916 -14283 13388 +rect 10028 13073 10508 13153 +rect -6892 12987 -6483 13012 +rect -6892 12961 -2695 12987 +rect -6892 12736 -6836 12961 +rect -6513 12762 -2695 12961 +rect 10028 12944 10143 13073 +rect 8858 12867 10143 12944 +rect 10466 12944 10508 13073 +rect 10466 12867 10513 12944 +rect -6513 12736 -6483 12762 +rect 8858 12738 10513 12867 +rect 20642 12844 20782 13395 +rect 21284 12982 21412 13905 +rect 21336 12908 21412 12982 +rect -6892 12702 -6483 12736 +rect 12987 12708 13318 12737 +rect -5622 12651 -5560 12653 +rect -5622 12645 -2707 12651 +rect -5622 12608 -5617 12645 +rect -5565 12614 -2707 12645 +rect -5565 12608 -5560 12614 +rect -5622 12607 -5560 12608 +rect -9704 12538 -9366 12549 +rect -9745 12512 -2695 12538 +rect 12987 12531 13002 12708 +rect -9745 12313 -9695 12512 +rect -9704 12287 -9695 12313 +rect -9372 12313 -2695 12512 +rect 8858 12378 13002 12531 +rect 13208 12531 13318 12708 +rect 13208 12378 13350 12531 +rect 8858 12325 13350 12378 +rect -9372 12287 -9366 12313 +rect -9704 12281 -9366 12287 +rect -5287 12211 -5239 12212 +rect -12758 12183 -12494 12207 +rect -12758 12089 -12737 12183 +rect -12766 11864 -12737 12089 +rect -12758 11860 -12737 11864 +rect -12512 12089 -12494 12183 +rect -5287 12170 -5283 12211 +rect -5242 12209 -5239 12211 +rect -5242 12171 -2708 12209 +rect -5242 12170 -5239 12171 +rect -5287 12169 -5239 12170 +rect 15826 12159 16219 12168 +rect 15826 12123 15861 12159 +rect -12512 11864 -2735 12089 +rect 8858 11953 15861 12123 +rect 16184 11953 16219 12159 +rect 8858 11917 16219 11953 +rect 15826 11916 16219 11917 +rect -12512 11860 -12494 11864 +rect -13981 11843 -13692 11851 +rect -12758 11847 -12494 11860 +rect -13981 11655 -13890 11843 +rect -13984 11520 -13890 11655 +rect -13704 11655 -13692 11843 +rect -5634 11828 -5572 11831 +rect -5634 11776 -5631 11828 +rect -5579 11822 -5572 11828 +rect -5579 11781 -2740 11822 +rect -5579 11776 -5572 11781 +rect -5634 11772 -5572 11776 +rect 19876 11771 20447 11846 +rect -5287 11732 -5233 11735 +rect -5287 11691 -5278 11732 +rect -5237 11691 -2744 11732 +rect 18706 11717 19056 11743 +rect -5287 11687 -5233 11691 +rect 18706 11689 18720 11717 +rect -13704 11520 -2772 11655 +rect -13984 11469 -2772 11520 +rect 8858 11512 18720 11689 +rect 19043 11689 19056 11717 +rect 19043 11512 19065 11689 +rect 8858 11484 19065 11512 +rect 19876 11448 20154 11771 +rect 20353 11448 20447 11771 +rect 8876 11382 11209 11387 +rect 8876 11350 10980 11382 +rect 11202 11350 11209 11382 +rect 8876 11344 11209 11350 +rect 19876 11282 20447 11448 +rect 19832 11278 20447 11282 +rect 8858 11232 20447 11278 +rect -13095 11003 -2743 11211 +rect 8858 11042 20431 11232 +rect -13095 8992 -12887 11003 +rect 19298 10804 19507 10822 +rect -12679 10515 -2695 10723 +rect 8858 10595 19507 10804 +rect -13102 8984 -12868 8992 +rect -13102 8661 -13085 8984 +rect -12877 8661 -12868 8984 +rect -13102 8655 -12868 8661 +rect -13095 8568 -12887 8655 +rect -12679 6132 -12471 10515 +rect -12701 6125 -12471 6132 +rect -12701 5802 -12695 6125 +rect -12487 5802 -12471 6125 +rect -12701 5791 -12471 5802 +rect -12679 5758 -12471 5791 +rect -12245 10033 -2695 10241 +rect 8858 10055 19093 10264 +rect -12245 3284 -12037 10033 +rect -11791 9563 -2695 9771 +rect 8858 9567 18685 9776 +rect -12266 3266 -12009 3284 +rect -12266 2943 -12232 3266 +rect -12024 2943 -12009 3266 +rect -12266 2924 -12009 2943 +rect -12245 2920 -12037 2924 +rect -11791 422 -11583 9563 +rect -11356 9137 -2695 9345 +rect -11807 407 -11568 422 +rect -11807 84 -11791 407 +rect -11583 84 -11568 407 +rect -11807 65 -11568 84 +rect -11791 12 -11583 65 +rect -11356 -2439 -11148 9137 +rect 8858 9047 18276 9256 +rect -10922 8730 -2695 8938 +rect -11374 -2452 -11129 -2439 +rect -11374 -2775 -11357 -2452 +rect -11149 -2775 -11129 -2452 +rect -11374 -2791 -11129 -2775 +rect -11356 -2803 -11148 -2791 +rect -10922 -5290 -10714 8730 +rect 8858 8543 17863 8752 +rect -10506 8315 -2695 8523 +rect 10955 8421 11408 8429 +rect 8886 8420 11415 8421 +rect -10947 -5663 -10687 -5290 +rect -10922 -5696 -10714 -5663 +rect -10506 -8153 -10298 8315 +rect 8886 8311 10964 8420 +rect 11392 8311 11415 8420 +rect 8886 8306 11415 8311 +rect 10955 8304 11408 8306 +rect -5624 8226 -5564 8227 +rect -5624 8174 -5621 8226 +rect -5569 8222 -5564 8226 +rect -5569 8178 -2690 8222 +rect -5569 8174 -5564 8178 +rect -5624 8171 -5564 8174 +rect -5281 8124 -5235 8125 +rect -5281 8080 -5278 8124 +rect -5237 8080 -2694 8124 +rect -5281 8078 -5235 8080 +rect -10081 7800 -2695 8008 +rect 8890 7992 17439 8201 +rect -10548 -8170 -10277 -8153 +rect -10548 -8493 -10503 -8170 +rect -10295 -8493 -10277 -8170 +rect -10548 -8520 -10277 -8493 +rect -10506 -8592 -10298 -8520 +rect -10081 -11015 -9873 7800 +rect -9655 7374 -2695 7582 +rect -10114 -11363 -9840 -11015 +rect -10081 -11444 -9873 -11363 +rect -9655 -13844 -9447 7374 +rect -9240 6870 -2695 7078 +rect -9677 -13888 -9398 -13844 +rect -9677 -14211 -9641 -13888 +rect -9433 -14211 -9398 -13888 +rect -9677 -14249 -9398 -14211 +rect -9655 -14277 -9447 -14249 +rect -9240 -16722 -9032 6870 +rect -8805 6309 -2695 6517 +rect -9289 -16747 -9006 -16722 +rect -9289 -17070 -9244 -16747 +rect -9036 -17070 -9006 -16747 +rect -9289 -17100 -9006 -17070 +rect -9240 -17156 -9032 -17100 +rect -8805 -19580 -8597 6309 +rect -8389 5839 -2695 6047 +rect -8840 -19606 -8575 -19580 +rect -8840 -19929 -8800 -19606 +rect -8592 -19929 -8575 -19606 +rect -8840 -19952 -8575 -19929 +rect -8805 -19953 -8597 -19952 +rect -8389 -22450 -8181 5839 +rect -8408 -22465 -8141 -22450 +rect -8408 -22788 -8370 -22465 +rect -8162 -22788 -8141 -22465 +rect -8408 -22803 -8141 -22788 +rect -2235 -23386 -1901 5853 +rect -1269 -23816 -1067 5843 +rect -863 -23659 -661 5843 +rect -863 -23815 -660 -23659 +rect -466 -23660 -264 5843 +rect -66 -23660 136 5843 +rect -863 -23816 -661 -23815 +rect -467 -23816 -264 -23660 +rect -67 -23816 136 -23660 +rect 339 -23816 541 5843 +rect 740 -23659 942 5843 +rect 739 -23815 942 -23659 +rect 740 -23816 942 -23815 +rect 1140 -23816 1342 5843 +rect 1549 -23816 1751 5843 +rect 1962 -23660 2164 5843 +rect 2362 -23660 2564 5843 +rect 2758 -23660 2960 5843 +rect 1961 -23816 2164 -23660 +rect 2361 -23816 2564 -23660 +rect 2757 -23816 2960 -23660 +rect 3163 -23659 3365 5843 +rect 3163 -23815 3366 -23659 +rect 3163 -23816 3365 -23815 +rect 3572 -23816 3774 5843 +rect 3973 -23661 4175 5843 +rect 4377 -23660 4579 5843 +rect 3973 -23816 4176 -23661 +rect 4377 -23816 4580 -23660 +rect 4786 -23662 4988 5843 +rect 4786 -23816 4989 -23662 +rect 5191 -23816 5393 5843 +rect 5588 -23816 5790 5843 +rect 6000 -23816 6202 5843 +rect 3974 -23817 4176 -23816 +rect 4787 -23818 4989 -23816 +rect 6413 -23817 6615 5843 +rect 6814 -23816 7016 5843 +rect 7215 -23648 7417 5843 +rect 7215 -23814 7419 -23648 +rect 7624 -23650 7826 5843 +rect 7624 -23816 7827 -23650 +rect 8041 -23816 8243 5843 +rect 8441 -23650 8643 5843 +rect 8842 -23650 9044 5843 +rect 9238 -23650 9440 5843 +rect 8441 -23816 8644 -23650 +rect 8839 -23816 9044 -23650 +rect 9237 -23816 9440 -23650 +rect 9643 -23650 9845 5843 +rect 10049 -23650 10251 5843 +rect 17230 -5151 17439 7992 +rect 17654 -2504 17863 8543 +rect 18067 344 18276 9047 +rect 18476 3221 18685 9567 +rect 18884 6071 19093 10055 +rect 19298 8927 19507 10595 +rect 19278 8912 19521 8927 +rect 19278 8589 19299 8912 +rect 19508 8589 19521 8912 +rect 19278 8573 19521 8589 +rect 19298 8506 19507 8573 +rect 18860 6053 19111 6071 +rect 18860 5730 18874 6053 +rect 19083 5730 19111 6053 +rect 18860 5714 19111 5730 +rect 18456 3194 18708 3221 +rect 18456 2871 18476 3194 +rect 18685 2871 18708 3194 +rect 18456 2850 18708 2871 +rect 18476 2847 18685 2850 +rect 18040 335 18276 344 +rect 18040 12 18051 335 +rect 18260 12 18276 335 +rect 18040 2 18276 12 +rect 18067 -69 18276 2 +rect 17637 -2524 17880 -2504 +rect 17637 -2847 17657 -2524 +rect 17866 -2847 17880 -2524 +rect 17637 -2875 17880 -2847 +rect 17231 -5341 17439 -5151 +rect 17231 -5353 17440 -5341 +rect 17220 -5359 17440 -5353 +rect 17194 -5727 17447 -5359 +rect 17220 -5729 17429 -5727 +rect 21338 -6998 21412 -6964 +rect 20640 -7101 20780 -7023 +rect 21272 -7038 21413 -6998 +rect 20639 -7113 20780 -7101 +rect 21274 -7107 21412 -7038 +rect 20638 -7128 20780 -7113 +rect 20638 -7218 20779 -7128 +rect 21273 -7224 21413 -7107 +rect 10871 -7841 11331 -7836 +rect 10871 -8283 10882 -7841 +rect 11324 -7914 11331 -7841 +rect 11324 -8082 20786 -7914 +rect 11324 -8211 20799 -8082 +rect 11324 -8283 11331 -8211 +rect 10871 -8293 11331 -8283 +rect 9643 -23816 9847 -23650 +rect 10049 -23816 10253 -23650 +rect -15053 -24304 -14913 -24107 +rect -14423 -24337 -14283 -23971 +use sky130_hilas_TopLevelTextStructure sky130_hilas_TopLevelTextStructure_0 +timestamp 1626460134 +transform 1 0 -2990 0 1 6624 +box 218 -793 13243 6785 +use sky130_hilas_RightProtection sky130_hilas_RightProtection_0 +timestamp 1626060794 +transform 1 0 22518 0 1 -15744 +box -2054 8715 -826 28728 +use sky130_hilas_LeftProtection sky130_hilas_LeftProtection_0 +timestamp 1626060794 +transform 1 0 -13278 0 1 -15672 +box -2065 -8439 -833 28728 +use sky130_hilas_TopProtection sky130_hilas_TopProtection_0 +timestamp 1626100607 +transform 1 0 -13875 0 1 13286 +box -2 -76 34131 1170 +<< labels >> +rlabel metal1 21692 -6258 21817 -5869 0 IO07 +port 1 nsew +rlabel metal1 21692 -3397 21817 -3008 0 IO08 +port 2 nsew +rlabel metal1 21690 -539 21815 -150 0 IO09 +port 3 nsew +rlabel metal1 21692 2322 21817 2711 0 IO10 +port 4 nsew +rlabel metal1 21691 5178 21816 5567 0 IO11 +port 5 nsew +rlabel metal1 21691 8038 21816 8427 0 IO12 +port 6 nsew +rlabel metal1 21692 10898 21817 11287 0 IO13 +port 7 nsew +rlabel metal1 -15468 10968 -15343 11357 0 IO25 +port 8 nsew +rlabel metal1 -15467 8110 -15342 8499 0 IO26 +port 9 nsew +rlabel metal1 -15468 5250 -15343 5639 0 IO27 +port 10 nsew +rlabel metal1 -15466 2391 -15341 2780 0 IO28 +port 11 nsew +rlabel metal1 -15467 -467 -15342 -78 0 IO29 +port 12 nsew +rlabel metal1 -15468 -3327 -15343 -2938 0 IO30 +port 13 nsew +rlabel metal1 -15467 -6185 -15342 -5796 0 IO31 +port 14 nsew +rlabel metal1 -15464 -9043 -15339 -8654 0 IO32 +port 15 nsew +rlabel metal1 -15466 -11904 -15341 -11515 0 IO33 +port 16 nsew +rlabel metal1 -15467 -14763 -15342 -14374 0 IO34 +port 17 nsew +rlabel metal1 -15467 -17622 -15342 -17233 0 IO35 +port 18 nsew +rlabel metal1 -15466 -20481 -15341 -20092 0 IO36 +port 19 nsew +rlabel metal1 -15466 -23339 -15341 -22950 0 IO37 +port 20 nsew +rlabel metal2 -15139 13873 -14971 14164 0 VSSA1 +port 21 nsew +rlabel metal1 -13106 14454 -12717 14571 0 ANALOG10 +port 22 nsew +rlabel metal1 -10247 14453 -9858 14570 0 ANALOG09 +port 23 nsew +rlabel metal1 -7388 14453 -6999 14570 0 ANALOG08 +port 24 nsew +rlabel metal1 -3198 14456 -2809 14573 0 ANALOG07 +port 25 nsew +rlabel metal1 1014 14454 1403 14571 0 ANALOG06 +port 26 nsew +rlabel metal1 3873 14454 4262 14571 0 ANALOG05 +port 27 nsew +rlabel metal1 6733 14454 7122 14571 0 ANALOG04 +port 28 nsew +rlabel metal1 9592 14454 9981 14571 0 ANALOG03 +port 29 nsew +rlabel metal1 12451 14454 12840 14571 0 ANALOG02 +port 30 nsew +rlabel metal1 15310 14453 15699 14570 0 ANALOG01 +port 31 nsew +rlabel metal1 18169 14453 18558 14570 0 ANALOG00 +port 32 nsew +rlabel metal2 21381 13908 21500 14166 0 VSSA1 +port 33 nsew +rlabel metal2 -14423 -24337 -14283 -24197 0 VDDA1 +port 34 nsew +rlabel metal2 -15053 -24304 -14913 -24164 0 VSSA1 +port 33 nsew +rlabel metal2 20639 -7218 20779 -7101 0 VDDA1 +port 34 nsew +rlabel metal2 21273 -7224 21413 -7107 0 VSSA1 +port 33 nsew +rlabel metal2 -1269 -23816 -1067 -23660 0 LADATAOUT00 +port 36 nsew +rlabel metal2 -862 -23815 -660 -23659 0 LADATAOUT01 +port 35 nsew +rlabel metal2 -467 -23816 -265 -23660 0 LADATAOUT02 +port 37 nsew +rlabel metal2 -67 -23816 135 -23660 0 LADATAOUT03 +port 38 nsew +rlabel metal2 339 -23816 541 -23660 0 LADATAOUT04 +port 39 nsew +rlabel metal2 739 -23815 941 -23659 0 LADATAOUT05 +port 40 nsew +rlabel metal2 1140 -23816 1342 -23660 0 LADATAOUT06 +port 41 nsew +rlabel metal2 1549 -23816 1751 -23660 0 LADATAOUT07 +port 42 nsew +rlabel metal2 1961 -23816 2163 -23660 0 LADATAOUT08 +port 43 nsew +rlabel metal2 2361 -23816 2563 -23660 0 LADATAOUT09 +port 44 nsew +rlabel metal2 2757 -23816 2959 -23660 0 LADATAOUT10 +port 45 nsew +rlabel metal2 3164 -23815 3366 -23659 0 LADATAOUT11 +port 46 nsew +rlabel metal2 3572 -23816 3774 -23660 0 LADATAOUT12 +port 47 nsew +rlabel metal2 3974 -23817 4176 -23661 0 LADATAOUT13 +port 48 nsew +rlabel metal2 4378 -23816 4580 -23660 0 LADATAOUT14 +port 49 nsew +rlabel metal2 4787 -23818 4989 -23662 0 LADATAOUT15 +port 50 nsew +rlabel metal2 5191 -23816 5393 -23660 0 LADATA16 +port 51 nsew +rlabel metal2 5588 -23816 5790 -23660 0 LADATAOUT17 +port 52 nsew +rlabel metal2 6000 -23815 6202 -23659 0 LADATAOUT18 +port 53 nsew +rlabel metal2 6413 -23817 6615 -23661 0 LADATAOUT19 +port 54 nsew +rlabel metal2 6814 -23816 7016 -23660 0 LADATAOUT20 +port 55 nsew +rlabel metal2 7215 -23814 7419 -23648 0 LADATAOUT21 +port 56 nsew +rlabel metal2 7624 -23816 7827 -23650 0 LADATAOUT22 +port 57 nsew +rlabel metal2 8039 -23816 8242 -23650 0 LADATAOUT23 +port 58 nsew +rlabel metal2 8441 -23816 8644 -23650 0 LADATAOUT24 +port 59 nsew +rlabel metal2 8839 -23816 9042 -23650 0 LADATAIN00 +port 60 nsew +rlabel metal2 9237 -23816 9440 -23650 0 LADATAIN01 +port 61 nsew +rlabel metal2 9644 -23816 9847 -23650 0 LADATAIN02 +port 62 nsew +rlabel metal2 10050 -23816 10253 -23650 0 LADATAIN03 +port 63 nsew +rlabel metal2 20683 -8211 20799 -8085 0 VCCA +port 64 nsew +<< end >>
diff --git a/mag/sky130_hilas_TopProtection.mag b/mag/sky130_hilas_TopProtection.mag new file mode 100644 index 0000000..5632330 --- /dev/null +++ b/mag/sky130_hilas_TopProtection.mag
@@ -0,0 +1,116 @@ +magic +tech sky130A +timestamp 1626559870 +<< metal1 >> +rect 769 1088 1158 1168 +rect 3628 1088 4017 1168 +rect 6487 1088 6876 1168 +rect 10677 1090 11066 1170 +rect 14889 1088 15278 1168 +rect 17748 1088 18137 1168 +rect 20608 1088 20997 1168 +rect 23467 1088 23856 1168 +rect 26325 1088 26714 1168 +rect 29184 1088 29573 1168 +rect 32044 1088 32433 1168 +rect 1251 -76 1646 1 +rect 4111 -76 4506 1 +rect 6969 -76 7364 1 +rect 11246 -76 11494 1 +rect 15371 -75 15766 2 +rect 18230 -76 18625 1 +rect 21089 -76 21484 1 +rect 23948 -76 24343 1 +rect 26808 -76 27203 1 +rect 29666 -76 30061 1 +rect 32525 -76 32920 1 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_1 +timestamp 1626558701 +transform 1 0 3602 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_0 +timestamp 1626558701 +transform 1 0 743 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_2 +timestamp 1626558701 +transform 1 0 6461 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_polyresistorGND sky130_hilas_polyresistorGND_0 +timestamp 1626558701 +transform 1 0 11320 0 1 58 +box -2749 -57 2798 1032 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_3 +timestamp 1626558701 +transform 1 0 14863 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_4 +timestamp 1626558701 +transform 1 0 17722 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_5 +timestamp 1626558701 +transform 1 0 20581 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_6 +timestamp 1626558701 +transform 1 0 23440 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_9 +timestamp 1626558701 +transform 1 0 26299 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_7 +timestamp 1626558701 +transform 1 0 29158 0 1 230 +box -745 -229 2114 858 +use sky130_hilas_VinjDiodeProtect01 sky130_hilas_VinjDiodeProtect01_8 +timestamp 1626558701 +transform 1 0 32017 0 1 230 +box -745 -229 2114 858 +<< labels >> +rlabel metal1 32044 1088 32433 1168 0 ANALOG00 +port 1 nsew +rlabel metal1 29184 1088 29573 1168 0 ANALOG01 +port 2 nsew +rlabel metal1 26325 1088 26714 1168 0 ANALOG02 +port 3 nsew +rlabel metal1 23467 1088 23856 1168 0 ANALOG03 +port 4 nsew +rlabel metal1 20608 1088 20997 1168 0 ANALOG04 +port 5 nsew +rlabel metal1 17748 1088 18137 1168 0 ANALOG05 +port 6 nsew +rlabel metal1 14889 1088 15278 1168 0 ANALOG06 +port 7 nsew +rlabel metal1 10677 1090 11066 1170 0 ANALOG07 +port 8 nsew +rlabel metal1 6487 1088 6876 1168 0 ANALOG08 +port 9 nsew +rlabel metal1 3628 1088 4017 1168 0 ANALOG09 +port 10 nsew +rlabel metal1 769 1088 1158 1168 0 ANALOG10 +port 11 nsew +rlabel metal1 32525 -76 32920 1 0 PIN1 +port 12 nsew +rlabel metal1 29666 -76 30061 1 0 PIN2 +port 13 nsew +rlabel metal1 26808 -76 27203 1 0 PIN3 +port 14 nsew +rlabel metal1 23948 -76 24343 1 0 PIN4 +port 15 nsew +rlabel metal1 21089 -76 21484 1 0 PIN5 +port 16 nsew +rlabel metal1 18230 -76 18625 1 0 PIN6 +port 17 nsew +rlabel metal1 15371 -75 15766 2 0 PIN7 +port 18 nsew +rlabel metal1 6969 -76 7364 1 0 PIN8 +port 19 nsew +rlabel metal1 4111 -76 4506 1 0 PIN9 +port 20 nsew +rlabel metal1 1251 -76 1646 1 0 PIN10 +port 21 nsew +rlabel metal1 11246 -76 11494 1 0 VTUN +port 22 nsew +<< end >>
diff --git a/mag/sky130_hilas_Trans2med.mag b/mag/sky130_hilas_Trans2med.mag new file mode 100644 index 0000000..39ea31f --- /dev/null +++ b/mag/sky130_hilas_Trans2med.mag
@@ -0,0 +1,197 @@ +magic +tech sky130A +timestamp 1626027626 +<< nwell >> +rect -83 185 -27 382 +<< psubdiff >> +rect -74 34 -45 63 +rect -74 17 -68 34 +rect -51 17 -45 34 +rect -74 0 -45 17 +rect -74 -17 -68 0 +rect -51 -17 -45 0 +rect -74 -30 -45 -17 +<< nsubdiff >> +rect -73 298 -45 310 +rect -73 281 -69 298 +rect -52 281 -45 298 +rect -73 264 -45 281 +rect -73 247 -69 264 +rect -52 247 -45 264 +rect -73 218 -45 247 +<< psubdiffcont >> +rect -68 17 -51 34 +rect -68 -17 -51 0 +<< nsubdiffcont >> +rect -69 281 -52 298 +rect -69 247 -52 264 +<< poly >> +rect -326 160 -247 175 +rect -155 160 -76 175 +rect -327 124 -248 139 +rect -155 124 -76 139 +<< locali >> +rect -69 298 -52 306 +rect -69 239 -52 247 +<< viali >> +rect -69 264 -52 281 +rect -68 34 -51 51 +rect -68 0 -51 17 +rect -68 -34 -51 -17 +<< metal1 >> +rect -75 288 -48 305 +rect -77 285 -45 288 +rect -77 259 -74 285 +rect -48 259 -45 285 +rect -77 256 -45 259 +rect -75 238 -48 256 +rect -28 111 -27 134 +rect -74 51 -45 54 +rect -74 34 -68 51 +rect -51 34 -45 51 +rect -74 23 -45 34 +rect -74 -3 -72 23 +rect -46 -3 -45 23 +rect -74 -17 -45 -3 +rect -74 -34 -68 -17 +rect -51 -34 -45 -17 +rect -74 -37 -45 -34 +<< via1 >> +rect -74 281 -48 285 +rect -74 264 -69 281 +rect -69 264 -52 281 +rect -52 264 -48 281 +rect -74 259 -48 264 +rect -72 17 -46 23 +rect -72 0 -68 17 +rect -68 0 -51 17 +rect -51 0 -46 17 +rect -72 -3 -46 0 +<< metal2 >> +rect -380 392 -184 414 +rect -95 400 -27 421 +rect -380 315 -305 336 +rect -210 317 -27 338 +rect -380 314 -353 315 +rect -77 285 -45 288 +rect -77 259 -74 285 +rect -48 282 -45 285 +rect -48 261 -27 282 +rect -48 259 -45 261 +rect -77 256 -45 259 +rect -380 215 -355 237 +rect -380 159 -82 180 +rect -380 119 -82 140 +rect -380 61 -355 83 +rect -75 23 -43 26 +rect -75 -3 -72 23 +rect -46 21 -43 23 +rect -46 0 -27 21 +rect -46 -3 -43 0 +rect -75 -6 -43 -3 +rect -380 -74 -309 -53 +rect -214 -72 -27 -50 +rect -380 -119 -181 -97 +rect -96 -116 -27 -95 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 -349 0 1 66 +box -9 -10 23 22 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_1 +timestamp 1607270135 +transform -1 0 -335 0 1 114 +box -9 -26 24 25 +use sky130_hilas_li2m2 sky130_hilas_li2m2_4 +timestamp 1607089160 +transform 1 0 -299 0 1 -64 +box -14 -15 20 18 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_1 +timestamp 1607963611 +transform 1 0 -290 0 1 -99 +box -12 -44 70 228 +use sky130_hilas_li2m2 sky130_hilas_li2m2_5 +timestamp 1607089160 +transform 1 0 -229 0 1 -64 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_7 +timestamp 1607089160 +transform 1 0 -177 0 1 -108 +box -14 -15 20 18 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_0 +timestamp 1607963611 +transform 1 0 -171 0 1 -99 +box -12 -44 70 228 +use sky130_hilas_li2m2 sky130_hilas_li2m2_6 +timestamp 1607089160 +transform 1 0 -112 0 1 -108 +box -14 -15 20 18 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_0 +timestamp 1607270276 +transform 0 -1 -54 1 0 115 +box -9 -26 24 29 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_0 +timestamp 1607969308 +transform 1 0 -467 0 1 187 +box 147 -22 266 265 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 -349 0 1 221 +box -9 -10 23 22 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 -349 0 -1 185 +box -9 -26 24 25 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 -296 0 1 324 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -227 0 1 325 +box -14 -15 20 18 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_1 +timestamp 1607969308 +transform 1 0 -349 0 1 187 +box 147 -22 266 265 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 -179 0 1 402 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -108 0 1 408 +box -14 -15 20 18 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_1 +timestamp 1607270276 +transform 0 -1 -53 1 0 169 +box -9 -26 24 29 +<< labels >> +rlabel metal2 -380 215 -371 237 0 GATE1P +port 3 nsew analog default +rlabel metal2 -380 159 -372 180 0 GATE2P +port 2 nsew analog default +rlabel metal2 -380 119 -372 140 0 GATE2N +port 4 nsew analog default +rlabel metal2 -380 62 -372 83 0 GATE1N +port 1 nsew analog default +rlabel metal2 -37 400 -27 421 0 DRAIN2P +port 12 nsew analog default +rlabel metal2 -37 317 -27 338 0 DRAIN1P +port 11 nsew analog default +rlabel metal2 -380 314 -372 336 0 SOURCE1P +port 5 nsew analog default +rlabel metal2 -380 392 -372 414 0 SOURCE2P +port 6 nsew analog default +rlabel metal2 -380 -74 -373 -53 0 SOURCE1N +port 8 nsew analog default +rlabel metal2 -380 -119 -373 -97 0 SOURCE2N +port 7 nsew analog default +rlabel metal2 -34 -72 -27 -50 0 DRAIN1N +port 9 nsew analog default +rlabel metal2 -34 -116 -27 -95 0 DRAIN2N +port 10 nsew analog default +rlabel metal2 -38 0 -27 21 0 VGND +port 14 nsew +rlabel metal2 -36 261 -27 282 0 WELL +port 15 nsew +<< end >>
diff --git a/mag/sky130_hilas_Trans4small.mag b/mag/sky130_hilas_Trans4small.mag new file mode 100644 index 0000000..54e3fe3 --- /dev/null +++ b/mag/sky130_hilas_Trans4small.mag
@@ -0,0 +1,130 @@ +magic +tech sky130A +timestamp 1608234847 +<< nwell >> +rect 401 -87 455 159 +rect 383 -132 455 -87 +rect 198 -150 455 -132 +<< psubdiff >> +rect 397 368 439 375 +rect 397 351 410 368 +rect 427 351 439 368 +rect 397 344 439 351 +<< nsubdiff >> +rect 396 -110 437 -105 +rect 396 -127 408 -110 +rect 425 -127 437 -110 +rect 396 -132 437 -127 +<< psubdiffcont >> +rect 410 351 427 368 +<< nsubdiffcont >> +rect 408 -127 425 -110 +<< locali >> +rect 411 376 428 381 +rect 410 373 428 376 +rect 410 368 453 373 +rect 427 351 453 368 +rect 410 348 453 351 +rect 410 342 427 348 +rect 396 -127 408 -110 +rect 425 -127 438 -110 +<< metal1 >> +rect 409 -150 431 438 +rect 449 -150 471 438 +<< metal2 >> +rect 191 398 198 415 +rect 389 399 471 416 +rect 191 357 198 374 +rect 191 306 198 323 +rect 389 307 471 324 +rect 191 265 198 282 +rect 191 214 198 231 +rect 389 215 471 232 +rect 191 173 198 190 +rect 191 112 198 131 +rect 391 105 471 125 +rect 191 70 198 89 +rect 191 16 198 35 +rect 391 9 471 29 +rect 191 -26 198 -7 +rect 191 -80 198 -61 +rect 390 -87 471 -67 +rect 191 -122 198 -103 +use sky130_hilas_nFET03a sky130_hilas_nFET03a_3 +timestamp 1608056777 +transform 1 0 309 0 1 396 +box -111 -47 97 42 +use sky130_hilas_nFET03a sky130_hilas_nFET03a_1 +timestamp 1608056777 +transform 1 0 309 0 1 304 +box -111 -47 97 42 +use sky130_hilas_nFET03a sky130_hilas_nFET03a_0 +timestamp 1608056777 +transform 1 0 309 0 1 212 +box -111 -47 97 42 +use sky130_hilas_pFETdevice01e sky130_hilas_pFETdevice01e_2 +timestamp 1608055794 +transform 1 0 319 0 1 -77 +box -121 -55 82 44 +use sky130_hilas_pFETdevice01e sky130_hilas_pFETdevice01e_1 +timestamp 1608055794 +transform 1 0 319 0 1 19 +box -121 -55 82 44 +use sky130_hilas_pFETdevice01e sky130_hilas_pFETdevice01e_0 +timestamp 1608055794 +transform 1 0 319 0 1 115 +box -121 -55 82 44 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 0 1 411 -1 0 -120 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 458 0 1 354 +box -10 -8 13 21 +<< labels >> +rlabel metal1 409 -150 431 -141 0 WELL +port 13 nsew power default +rlabel metal1 449 -150 471 -141 0 VGND +port 14 nsew ground default +rlabel metal1 409 429 431 438 0 WELL +port 13 nsew ground default +rlabel metal1 449 429 471 438 0 VGND +port 14 nsew power default +rlabel metal2 191 398 198 415 0 NFET_SOURCE1 +port 1 nsew analog default +rlabel metal2 191 357 198 374 0 NFET_GATE1 +port 2 nsew analog default +rlabel metal2 191 306 198 323 0 NFET_SOURCE2 +port 3 nsew analog default +rlabel metal2 191 265 198 282 0 NFET_GATE2 +port 4 nsew analog default +rlabel metal2 191 214 198 231 0 NFET_SOURCE3 +port 5 nsew analog default +rlabel metal2 191 173 198 190 0 NFET_GATE3 +port 6 nsew analog default +rlabel metal2 191 70 198 89 0 PFET_GATE1 +port 8 nsew analog default +rlabel metal2 191 112 198 131 0 PFET_SOURCE1 +port 7 nsew analog default +rlabel metal2 191 16 198 35 0 PFET_SOURCE2 +port 9 nsew analog default +rlabel metal2 191 -26 198 -7 0 PFET_GATE2 +port 10 nsew analog default +rlabel metal2 191 -80 198 -61 0 PFET_SOURCE3 +port 11 nsew analog default +rlabel metal2 191 -122 198 -103 0 PFET_GATE3 +port 12 nsew analog default +rlabel metal2 465 105 471 125 0 PFET_DRAIN1 +port 17 nsew analog default +rlabel metal2 465 9 471 29 0 PFET_DRAIN2 +port 16 nsew analog default +rlabel metal2 465 -87 471 -67 0 PFET_DRAIN3 +port 15 nsew analog default +rlabel metal2 466 399 471 416 0 NFET_DRAIN1 +port 20 nsew analog default +rlabel metal2 466 307 471 324 0 NFET_DRAIN2 +port 19 nsew analog default +rlabel metal2 466 215 471 232 0 NFET_DRAIN3 +port 18 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_TunCap01.mag b/mag/sky130_hilas_TunCap01.mag new file mode 100644 index 0000000..25c608c --- /dev/null +++ b/mag/sky130_hilas_TunCap01.mag
@@ -0,0 +1,19 @@ +magic +tech sky130A +timestamp 1608066871 +<< error_p >> +rect -1394 -283 -1388 -277 +rect -1341 -283 -1335 -277 +rect -1400 -333 -1394 -327 +rect -1335 -333 -1329 -327 +<< nwell >> +rect -1451 -400 -1278 -210 +<< mvvaractor >> +rect -1394 -333 -1335 -283 +<< mvnsubdiff >> +rect -1394 -283 -1335 -247 +rect -1394 -367 -1335 -333 +<< poly >> +rect -1436 -333 -1394 -283 +rect -1335 -333 -1293 -283 +<< end >>
diff --git a/mag/sky130_hilas_TunVaractorCapcitor.mag b/mag/sky130_hilas_TunVaractorCapcitor.mag new file mode 100644 index 0000000..9e4fbac --- /dev/null +++ b/mag/sky130_hilas_TunVaractorCapcitor.mag
@@ -0,0 +1,202 @@ +magic +tech sky130A +timestamp 1606589603 +<< error_p >> +rect -1466 226 -1381 259 +rect -869 161 -863 167 +rect -820 161 -814 167 +rect -1393 135 -1387 141 +rect -1341 135 -1335 141 +rect -1399 77 -1393 83 +rect -1335 77 -1329 83 +rect -1393 25 -1387 31 +rect -1341 25 -1335 31 +rect -875 -23 -869 -17 +rect -814 -23 -808 -17 +rect -805 -23 -769 -22 +rect -1399 -32 -1393 -26 +rect -1335 -32 -1329 -26 +rect -873 -51 -872 -47 +rect -873 -72 -867 -66 +rect -820 -72 -814 -66 +rect -1393 -83 -1387 -77 +rect -1341 -83 -1335 -77 +rect -1400 -133 -1393 -127 +rect -1335 -133 -1329 -127 +rect -879 -147 -873 -141 +rect -814 -147 -808 -141 +rect -534 -175 -513 -174 +rect -1394 -183 -1388 -177 +rect -1341 -183 -1335 -177 +rect -1400 -233 -1394 -227 +rect -1335 -233 -1329 -227 +rect -900 -244 -875 -223 +rect -900 -248 -869 -244 +rect -806 -248 -800 -242 +rect -900 -275 -875 -248 +rect -1394 -283 -1388 -277 +rect -1341 -283 -1335 -277 +rect -1400 -333 -1394 -327 +rect -1335 -333 -1329 -327 +rect -884 -362 -875 -344 +rect -866 -362 -865 -361 +rect -800 -362 -794 -356 +rect -778 -362 -775 -250 +rect -916 -364 -875 -362 +rect -867 -363 -775 -362 +rect -866 -364 -775 -363 +rect -891 -387 -875 -364 +rect -521 -408 -491 -407 +rect -554 -441 -507 -440 +rect -425 -442 -423 -356 +<< nwell >> +rect -1466 175 -1275 226 +rect -1465 -440 -1275 175 +rect -992 26 -713 224 +rect -994 -253 -712 26 +rect -990 -440 -712 -253 +rect -572 -440 -425 226 +rect -507 -442 -425 -440 +<< mvpmos >> +rect -521 116 -491 166 +rect -521 -21 -491 30 +rect -521 -94 -491 -42 +rect -521 -175 -491 -123 +rect -521 -246 -491 -196 +rect -521 -381 -491 -331 +<< mvvaractor >> +rect -1393 77 -1335 135 +rect -1393 -32 -1335 25 +rect -869 -23 -814 161 +rect -1393 -133 -1335 -83 +rect -873 -147 -814 -72 +rect -1394 -233 -1335 -183 +rect -1394 -333 -1335 -283 +rect -875 -362 -800 -248 +rect -875 -364 -866 -362 +<< mvpdiff >> +rect -521 189 -491 193 +rect -521 172 -515 189 +rect -497 172 -491 189 +rect -521 166 -491 172 +rect -521 110 -491 116 +rect -521 93 -515 110 +rect -497 93 -491 110 +rect -521 88 -491 93 +rect -521 53 -491 58 +rect -521 36 -515 53 +rect -497 36 -491 53 +rect -521 30 -491 36 +rect -521 -42 -491 -21 +rect -521 -100 -491 -94 +rect -521 -117 -515 -100 +rect -497 -117 -491 -100 +rect -521 -123 -491 -117 +rect -521 -196 -491 -175 +rect -521 -252 -491 -246 +rect -521 -269 -515 -252 +rect -497 -269 -491 -252 +rect -521 -273 -491 -269 +rect -521 -308 -491 -304 +rect -521 -325 -515 -308 +rect -497 -325 -491 -308 +rect -521 -331 -491 -325 +rect -521 -387 -491 -381 +rect -521 -404 -515 -387 +rect -497 -404 -491 -387 +rect -521 -408 -491 -404 +<< mvpdiffc >> +rect -515 172 -497 189 +rect -515 93 -497 110 +rect -515 36 -497 53 +rect -515 -117 -497 -100 +rect -515 -269 -497 -252 +rect -515 -325 -497 -308 +rect -515 -404 -497 -387 +<< psubdiff >> +rect -656 -361 -630 -349 +rect -656 -378 -652 -361 +rect -634 -378 -630 -361 +rect -656 -390 -630 -378 +<< mvnsubdiff >> +rect -1393 135 -1335 182 +rect -869 161 -814 191 +rect -1393 25 -1335 77 +rect -1393 -83 -1335 -32 +rect -869 -43 -814 -23 +rect -872 -51 -814 -43 +rect -873 -72 -814 -51 +rect -1394 -183 -1335 -133 +rect -873 -190 -814 -147 +rect -1394 -283 -1335 -233 +rect -875 -248 -800 -190 +rect -1394 -360 -1335 -333 +rect -1394 -387 -1379 -360 +rect -1351 -387 -1335 -360 +rect -866 -364 -800 -362 +rect -1394 -397 -1335 -387 +rect -875 -403 -800 -364 +<< psubdiffcont >> +rect -652 -378 -634 -361 +<< mvnsubdiffcont >> +rect -1379 -387 -1351 -360 +<< poly >> +rect -915 160 -869 161 +rect -1436 77 -1393 135 +rect -1335 77 -1292 135 +rect -917 54 -869 160 +rect -951 27 -869 54 +rect -1435 -32 -1393 25 +rect -1335 -32 -1292 25 +rect -917 -23 -869 27 +rect -814 54 -769 161 +rect -555 116 -521 166 +rect -491 116 -478 166 +rect -814 27 -743 54 +rect -555 30 -534 116 +rect -814 -22 -769 27 +rect -555 -21 -521 30 +rect -491 -21 -476 30 +rect -814 -23 -805 -22 +rect -1435 -133 -1393 -83 +rect -1335 -133 -1291 -83 +rect -915 -147 -873 -72 +rect -814 -147 -771 -72 +rect -535 -94 -521 -42 +rect -491 -94 -465 -42 +rect -488 -123 -465 -94 +rect -1436 -233 -1394 -183 +rect -1335 -233 -1292 -183 +rect -534 -175 -521 -123 +rect -491 -175 -465 -123 +rect -550 -196 -534 -195 +rect -550 -246 -521 -196 +rect -491 -246 -472 -196 +rect -1436 -333 -1394 -283 +rect -1335 -333 -1292 -283 +rect -927 -364 -875 -250 +rect -800 -362 -778 -248 +rect -550 -331 -534 -246 +rect -550 -381 -521 -331 +rect -491 -381 -475 -331 +rect -550 -382 -534 -381 +<< locali >> +rect -523 172 -515 189 +rect -497 172 -489 189 +rect -523 93 -515 110 +rect -497 93 -489 110 +rect -523 36 -515 53 +rect -497 36 -489 53 +rect -524 -117 -515 -100 +rect -497 -117 -489 -100 +rect -523 -269 -515 -252 +rect -497 -269 -489 -252 +rect -523 -325 -515 -308 +rect -497 -325 -489 -308 +rect -1379 -360 -1351 -352 +rect -660 -378 -652 -361 +rect -634 -378 -626 -361 +rect -1379 -395 -1351 -387 +rect -523 -404 -515 -387 +rect -497 -404 -489 -387 +<< end >>
diff --git a/mag/sky130_hilas_VinjDecode2to4.mag b/mag/sky130_hilas_VinjDecode2to4.mag new file mode 100644 index 0000000..e5367c9 --- /dev/null +++ b/mag/sky130_hilas_VinjDecode2to4.mag
@@ -0,0 +1,217 @@ +magic +tech sky130A +timestamp 1624147000 +<< error_s >> +rect -330 594 -329 597 +rect -330 443 -329 446 +rect -330 292 -329 295 +rect 202 225 254 226 +rect 412 225 462 226 +<< nwell >> +rect 32 659 54 665 +rect 32 64 54 69 +<< metal1 >> +rect -576 658 -554 666 +rect -319 657 -296 666 +rect -270 631 -243 660 +rect 32 659 54 665 +rect 529 661 556 666 +rect -274 604 -271 631 +rect -244 604 -241 631 +rect -178 612 -151 617 +rect -270 526 -243 604 +rect -271 523 -243 526 +rect -244 496 -243 523 +rect -271 493 -243 496 +rect -270 490 -243 493 +rect -224 563 -197 570 +rect -224 358 -197 536 +rect -178 471 -151 585 +rect -83 567 -54 572 +rect -85 564 -54 567 +rect -56 535 -54 564 +rect -85 532 -54 535 +rect -183 444 -180 471 +rect -153 444 -150 471 +rect -225 355 -197 358 +rect -198 328 -197 355 +rect -225 325 -197 328 +rect -224 208 -197 325 +rect -178 313 -151 444 +rect -180 310 -151 313 +rect -153 283 -151 310 +rect -180 280 -151 283 +rect -178 278 -151 280 +rect -131 417 -104 423 +rect -131 414 -103 417 +rect -131 387 -130 414 +rect -131 384 -103 387 +rect -83 410 -54 532 +rect -83 384 -81 410 +rect -55 384 -54 410 +rect -224 205 -194 208 +rect -224 178 -221 205 +rect -224 175 -194 178 +rect -224 170 -197 175 +rect -131 163 -104 384 +rect -133 160 -104 163 +rect -106 133 -104 160 +rect -133 130 -104 133 +rect -131 127 -104 130 +rect -83 267 -54 384 +rect -83 264 -53 267 +rect -83 235 -82 264 +rect -83 232 -53 235 +rect -83 110 -54 232 +rect -83 78 -54 81 +rect 32 64 54 69 +rect 529 64 556 69 +<< via1 >> +rect -271 604 -244 631 +rect -178 585 -151 612 +rect -271 496 -244 523 +rect -224 536 -197 563 +rect -85 535 -56 564 +rect -180 444 -153 471 +rect -225 328 -198 355 +rect -180 283 -153 310 +rect -130 387 -103 414 +rect -81 384 -55 410 +rect -221 178 -194 205 +rect -133 133 -106 160 +rect -82 235 -53 264 +rect -83 81 -54 110 +<< metal2 >> +rect -266 650 -29 651 +rect -268 635 -29 650 +rect -268 634 -241 635 +rect -271 631 -241 634 +rect -637 609 -626 627 +rect -294 609 -271 627 +rect -244 609 -241 631 +rect -271 601 -244 604 +rect -181 585 -178 612 +rect -151 606 -148 612 +rect -151 590 -29 606 +rect -151 585 -148 590 +rect -227 560 -224 563 +rect -294 542 -224 560 +rect -227 536 -224 542 +rect -197 560 -194 563 +rect -197 541 -192 560 +rect -197 536 -194 541 +rect -88 535 -85 564 +rect -56 557 -53 564 +rect -56 541 -29 557 +rect -56 535 -53 541 +rect 645 537 658 554 +rect -274 496 -271 523 +rect -244 517 -241 523 +rect -244 501 -110 517 +rect -244 496 -241 501 +rect -126 500 -110 501 +rect -126 484 -30 500 +rect -637 458 -626 476 +rect -294 474 -158 476 +rect -294 471 -153 474 +rect -294 458 -180 471 +rect -153 444 -152 455 +rect -180 441 -152 444 +rect -175 439 -152 441 +rect -125 439 -29 455 +rect -125 414 -109 439 +rect -133 409 -130 414 +rect -294 391 -130 409 +rect -133 387 -130 391 +rect -103 387 -100 414 +rect -84 384 -81 410 +rect -55 406 -52 410 +rect -55 390 -29 406 +rect -55 384 -52 390 +rect 645 386 658 403 +rect -228 328 -225 355 +rect -198 349 -195 355 +rect -198 333 -29 349 +rect -198 328 -195 333 +rect -637 307 -626 325 +rect -183 283 -180 310 +rect -153 304 -150 310 +rect -153 288 -29 304 +rect -153 283 -150 288 +rect -85 258 -82 264 +rect -294 240 -82 258 +rect -85 235 -82 240 +rect -53 258 -50 264 +rect -53 255 -36 258 +rect -53 239 -29 255 +rect -53 235 -50 239 +rect 645 235 658 252 +rect -224 178 -221 205 +rect -194 199 -191 205 +rect -194 183 -29 199 +rect -194 178 -191 183 +rect -136 133 -133 160 +rect -106 154 -103 160 +rect -106 138 -29 154 +rect -106 133 -103 138 +rect -86 81 -83 110 +rect -54 105 -51 110 +rect -54 89 -29 105 +rect -54 81 -51 89 +rect 645 85 658 102 +use sky130_hilas_VinjInv2 VinjInv2_2 +timestamp 1624141468 +transform 1 0 -301 0 1 60 +box -336 144 25 308 +use sky130_hilas_VinjInv2 VinjInv2_1 +timestamp 1624141468 +transform 1 0 -301 0 1 211 +box -336 144 25 308 +use sky130_hilas_VinjInv2 VinjInv2_0 +timestamp 1624141468 +transform 1 0 -301 0 1 362 +box -336 144 25 308 +use sky130_hilas_VinjNOR3 VinjNOR3_0 +timestamp 1624138502 +transform 1 0 307 0 1 -90 +box -337 144 351 308 +use sky130_hilas_VinjNOR3 VinjNOR3_3 +timestamp 1624138502 +transform 1 0 307 0 1 362 +box -337 144 351 308 +use sky130_hilas_VinjNOR3 VinjNOR3_1 +timestamp 1624138502 +transform 1 0 307 0 1 60 +box -337 144 351 308 +use sky130_hilas_VinjNOR3 VinjNOR3_2 +timestamp 1624138502 +transform 1 0 307 0 1 211 +box -337 144 351 308 +<< labels >> +rlabel metal2 645 537 658 554 0 OUTPUT00 +port 1 nsew +rlabel metal2 645 386 658 403 0 OUTPUT01 +port 2 nsew +rlabel metal2 645 235 658 252 0 OUTPUT10 +port 3 nsew +rlabel metal2 645 85 658 102 0 OUTPUT11 +port 4 nsew +rlabel metal1 529 661 556 666 0 VGND +port 5 nsew +rlabel metal1 529 64 556 69 0 VGND +port 5 nsew +rlabel metal1 32 64 54 69 0 VINJ +port 6 nsew +rlabel metal1 32 659 54 665 0 VINJ +port 6 nsew +rlabel metal2 -637 609 -626 627 0 IN1 +port 8 nsew +rlabel metal2 -637 458 -626 476 0 IN2 +port 7 nsew +rlabel metal2 -637 307 -626 325 0 ENABLE +port 9 nsew +rlabel metal1 -576 658 -554 666 0 VINJ +port 6 nsew +rlabel metal1 -319 657 -296 666 0 VGND +port 5 nsew +<< end >>
diff --git a/mag/sky130_hilas_VinjDiodeProtect01.mag b/mag/sky130_hilas_VinjDiodeProtect01.mag new file mode 100644 index 0000000..68bedab --- /dev/null +++ b/mag/sky130_hilas_VinjDiodeProtect01.mag
@@ -0,0 +1,629 @@ +magic +tech sky130A +timestamp 1626558701 +<< nwell >> +rect 742 -38 1947 556 +<< mvndiff >> +rect -558 543 599 548 +rect -558 526 -552 543 +rect 593 526 599 543 +rect -558 517 599 526 +rect -558 486 -527 517 +rect -558 479 599 486 +rect -558 462 -552 479 +rect 593 462 599 479 +rect -558 455 599 462 +rect -558 424 -527 455 +rect -558 417 599 424 +rect -558 400 -552 417 +rect 592 400 599 417 +rect -558 394 599 400 +rect -558 364 -527 394 +rect -558 357 599 364 +rect -558 340 -552 357 +rect 593 340 599 357 +rect -558 334 599 340 +rect -558 304 -527 334 +rect -558 298 599 304 +rect -558 281 -552 298 +rect 593 281 599 298 +rect -558 275 599 281 +rect -558 245 -527 275 +rect -558 239 599 245 +rect -558 222 -552 239 +rect 593 222 599 239 +rect -558 216 599 222 +rect -558 186 -527 216 +rect -558 180 599 186 +rect -558 163 -552 180 +rect 592 163 599 180 +rect -558 156 599 163 +rect -558 125 -527 156 +rect 568 155 599 156 +rect -558 119 599 125 +rect -558 102 -552 119 +rect 593 102 599 119 +rect -558 95 599 102 +rect -558 64 -527 95 +rect -558 57 599 64 +rect -558 40 -551 57 +rect 593 40 599 57 +rect -558 34 599 40 +rect -558 4 -527 34 +rect -559 -4 599 4 +rect -559 -21 -552 -4 +rect 592 -21 599 -4 +rect -559 -26 599 -21 +<< mvpdiff >> +rect 832 463 1850 472 +rect 832 446 839 463 +rect 1819 446 1850 463 +rect 832 441 1850 446 +rect 1819 404 1850 441 +rect 836 396 1850 404 +rect 836 379 844 396 +rect 1813 379 1850 396 +rect 836 372 1850 379 +rect 1819 330 1850 372 +rect 841 323 1850 330 +rect 841 306 849 323 +rect 1824 306 1850 323 +rect 841 298 1850 306 +rect 1819 261 1850 298 +rect 841 255 1850 261 +rect 841 238 848 255 +rect 1816 238 1850 255 +rect 841 229 1850 238 +rect 1819 196 1850 229 +rect 837 188 1850 196 +rect 837 171 844 188 +rect 1818 171 1850 188 +rect 837 163 1850 171 +rect 1819 132 1850 163 +rect 837 124 1850 132 +rect 837 107 843 124 +rect 1816 107 1850 124 +rect 837 99 1850 107 +rect 1819 69 1850 99 +rect 837 62 1850 69 +rect 837 45 845 62 +rect 1816 45 1850 62 +rect 837 38 1850 45 +<< mvndiffc >> +rect -552 526 593 543 +rect -552 462 593 479 +rect -552 400 592 417 +rect -552 340 593 357 +rect -552 281 593 298 +rect -552 222 593 239 +rect -552 163 592 180 +rect -552 102 593 119 +rect -551 40 593 57 +rect -552 -21 592 -4 +<< mvpdiffc >> +rect 839 446 1819 463 +rect 844 379 1813 396 +rect 849 306 1824 323 +rect 848 238 1816 255 +rect 844 171 1818 188 +rect 843 107 1816 124 +rect 845 45 1816 62 +<< psubdiff >> +rect -698 648 -664 649 +rect -698 646 -646 648 +rect 646 646 2054 648 +rect -698 640 2054 646 +rect -698 623 -621 640 +rect 1966 623 2054 640 +rect -698 606 2054 623 +rect -698 589 -621 606 +rect 1966 589 2054 606 +rect -698 583 2054 589 +rect -698 -55 -690 583 +rect -673 570 -631 583 +rect -673 -39 -656 570 +rect -639 -39 -631 570 +rect 646 579 2056 583 +rect 646 570 709 579 +rect -673 -55 -631 -39 +rect -698 -56 -631 -55 +rect 646 -44 651 570 +rect 668 568 709 570 +rect 668 -44 685 568 +rect 646 -45 685 -44 +rect 702 -45 709 568 +rect 1988 577 2056 579 +rect 646 -52 709 -45 +rect 1988 -45 1993 577 +rect 2010 573 2056 577 +rect 2010 -45 2031 573 +rect 1988 -46 2031 -45 +rect 2048 -46 2056 573 +rect 1988 -52 2056 -46 +rect 646 -56 2056 -52 +rect -698 -62 2056 -56 +rect -698 -79 -624 -62 +rect 1977 -79 2056 -62 +rect -698 -96 2056 -79 +rect -698 -107 -624 -96 +rect -697 -113 -624 -107 +rect 1977 -113 2056 -96 +rect -697 -119 2056 -113 +rect -697 -123 -631 -119 +rect 535 -121 2056 -119 +rect -697 -124 -646 -123 +<< nsubdiff >> +rect 773 517 1909 523 +rect 773 500 802 517 +rect 1869 500 1909 517 +rect 773 495 1909 500 +rect 773 482 801 495 +rect 773 23 778 482 +rect 795 23 801 482 +rect 1881 492 1909 495 +rect 773 11 801 23 +rect 1881 23 1886 492 +rect 1903 23 1909 492 +rect 1881 11 1909 23 +rect 767 6 1909 11 +rect 767 -11 808 6 +rect 1875 -11 1909 6 +rect 767 -17 1909 -11 +<< psubdiffcont >> +rect -621 623 1966 640 +rect -621 589 1966 606 +rect -690 -55 -673 583 +rect -656 -39 -639 570 +rect 651 -44 668 570 +rect 685 -45 702 568 +rect 1993 -45 2010 577 +rect 2031 -46 2048 573 +rect -624 -79 1977 -62 +rect -624 -113 1977 -96 +<< nsubdiffcont >> +rect 802 500 1869 517 +rect 778 23 795 482 +rect 1886 23 1903 492 +rect 808 -11 1875 6 +<< poly >> +rect 32 796 49 807 +rect 700 796 717 805 +rect 23 790 73 796 +rect 23 773 32 790 +rect 49 773 73 790 +rect 23 756 73 773 +rect 23 739 32 756 +rect 49 739 73 756 +rect 23 722 73 739 +rect 23 705 32 722 +rect 49 705 73 722 +rect 23 688 73 705 +rect 23 671 32 688 +rect 49 671 73 688 +rect 23 664 73 671 +rect 654 788 726 796 +rect 654 771 700 788 +rect 717 771 726 788 +rect 654 754 726 771 +rect 654 737 700 754 +rect 717 737 726 754 +rect 654 720 726 737 +rect 654 703 700 720 +rect 717 703 726 720 +rect 654 686 726 703 +rect 654 669 700 686 +rect 717 669 726 686 +rect 654 664 726 669 +<< polycont >> +rect 32 773 49 790 +rect 32 739 49 756 +rect 32 705 49 722 +rect 32 671 49 688 +rect 700 771 717 788 +rect 700 737 717 754 +rect 700 703 717 720 +rect 700 669 717 686 +<< npolyres >> +rect 73 664 654 796 +<< locali >> +rect 28 807 53 810 +rect 28 671 32 807 +rect 49 671 53 807 +rect 28 664 53 671 +rect 696 805 721 808 +rect 696 669 700 805 +rect 717 669 721 805 +rect 32 663 49 664 +rect 696 661 721 669 +rect -690 624 -621 640 +rect -690 606 -682 624 +rect 1966 623 2048 640 +rect -495 606 1654 623 +rect -690 589 -621 606 +rect 1970 605 2048 623 +rect 1966 600 2048 605 +rect 1966 589 2011 600 +rect -690 583 -674 589 +rect -656 588 -610 589 +rect -656 570 -638 588 +rect -673 -39 -656 397 +rect -639 396 -638 570 +rect -620 396 -610 588 +rect 651 570 702 589 +rect -552 544 -535 552 +rect 572 544 595 553 +rect -552 543 595 544 +rect -553 526 -552 543 +rect 593 526 595 543 +rect -553 510 595 526 +rect -553 493 -519 510 +rect 579 493 595 510 +rect -553 479 595 493 +rect -553 462 -552 479 +rect 593 462 595 479 +rect -553 448 595 462 +rect -553 431 -519 448 +rect 579 431 595 448 +rect -553 417 595 431 +rect -553 400 -552 417 +rect 592 400 595 417 +rect -553 386 595 400 +rect -553 369 -518 386 +rect 580 369 595 386 +rect -553 357 595 369 +rect -553 340 -552 357 +rect 593 340 595 357 +rect -553 328 595 340 +rect -553 311 -516 328 +rect 582 311 595 328 +rect -553 298 595 311 +rect -553 281 -552 298 +rect 593 281 595 298 +rect -553 269 595 281 +rect -553 252 -515 269 +rect 583 252 595 269 +rect -553 239 595 252 +rect -553 222 -552 239 +rect 593 222 595 239 +rect -553 209 595 222 +rect -553 192 -515 209 +rect 583 192 595 209 +rect -553 180 595 192 +rect -553 163 -552 180 +rect 592 163 595 180 +rect -553 149 595 163 +rect -553 132 -520 149 +rect 578 132 595 149 +rect -553 119 595 132 +rect -553 102 -552 119 +rect 593 102 595 119 +rect -553 88 595 102 +rect -553 71 -519 88 +rect 579 71 595 88 +rect -553 57 595 71 +rect -553 40 -551 57 +rect 593 40 595 57 +rect -553 28 595 40 +rect -553 11 -520 28 +rect 578 11 595 28 +rect -553 -4 595 11 +rect -560 -21 -552 -4 +rect 592 -21 595 -4 +rect -553 -27 -534 -21 +rect -673 -55 -639 -39 +rect 572 -45 595 -21 +rect 668 568 702 570 +rect 668 -44 685 568 +rect 651 -45 685 -44 +rect 1993 577 2011 589 +rect 778 500 802 517 +rect 1869 500 1903 517 +rect 778 482 795 500 +rect 1886 492 1903 500 +rect 834 467 1845 469 +rect 834 463 1847 467 +rect 829 446 839 463 +rect 1819 446 1847 463 +rect 834 434 1847 446 +rect 834 417 854 434 +rect 1799 417 1847 434 +rect 834 396 1847 417 +rect 834 379 844 396 +rect 1813 379 1847 396 +rect 834 359 1847 379 +rect 834 342 853 359 +rect 1792 342 1847 359 +rect 834 323 1847 342 +rect 834 306 849 323 +rect 1824 306 1847 323 +rect 834 287 1847 306 +rect 834 270 856 287 +rect 1796 270 1847 287 +rect 834 255 1847 270 +rect 834 238 848 255 +rect 1816 238 1847 255 +rect 834 221 1847 238 +rect 834 204 857 221 +rect 1794 204 1847 221 +rect 834 188 1847 204 +rect 834 171 844 188 +rect 1818 171 1847 188 +rect 834 156 1847 171 +rect 834 139 856 156 +rect 1801 139 1847 156 +rect 834 124 1847 139 +rect 834 107 843 124 +rect 1816 107 1847 124 +rect 834 92 1847 107 +rect 834 75 857 92 +rect 1796 75 1847 92 +rect 834 62 1847 75 +rect 834 45 845 62 +rect 1816 45 1847 62 +rect 834 44 1847 45 +rect 834 36 1845 44 +rect 778 13 795 23 +rect 777 6 795 13 +rect 1903 313 1947 324 +rect 1903 23 1904 313 +rect 1886 6 1904 23 +rect 777 -11 808 6 +rect 1875 -11 1904 6 +rect 1893 -17 1904 -11 +rect 1939 -17 1947 313 +rect 1893 -22 1947 -17 +rect -690 -62 -639 -55 +rect -565 -62 -385 -61 +rect 651 -62 702 -45 +rect 2010 507 2011 577 +rect 2031 573 2048 600 +rect 2010 -45 2031 507 +rect 1993 -46 2031 -45 +rect 1992 -62 2048 -46 +rect -690 -79 -624 -62 +rect 1977 -79 2048 -62 +rect -690 -96 2048 -79 +rect -687 -113 -624 -96 +rect 1977 -113 2048 -96 +rect -687 -115 -618 -113 +rect -567 -114 -387 -113 +<< viali >> +rect 32 790 49 807 +rect 32 756 49 773 +rect 32 722 49 739 +rect 32 688 49 705 +rect 700 788 717 805 +rect 700 754 717 771 +rect 700 720 717 737 +rect 700 686 717 703 +rect -682 623 -621 624 +rect -621 623 -496 624 +rect -682 606 -495 623 +rect 1654 606 1970 623 +rect 1654 605 1966 606 +rect 1966 605 1970 606 +rect -674 583 -656 589 +rect -674 510 -673 583 +rect -673 397 -656 583 +rect -638 396 -620 588 +rect -519 493 579 510 +rect -519 431 579 448 +rect -518 369 580 386 +rect -516 311 582 328 +rect -515 252 583 269 +rect -515 192 583 209 +rect -520 132 578 149 +rect -519 71 579 88 +rect -520 11 578 28 +rect 854 417 1799 434 +rect 853 342 1792 359 +rect 856 270 1796 287 +rect 857 204 1794 221 +rect 856 139 1801 156 +rect 857 75 1796 92 +rect 1904 -17 1939 313 +rect 2011 507 2031 600 +<< metal1 >> +rect 26 807 416 858 +rect 26 790 32 807 +rect 49 799 416 807 +rect 690 805 725 811 +rect 49 790 55 799 +rect 690 796 700 805 +rect 26 773 55 790 +rect 26 756 32 773 +rect 49 756 55 773 +rect 26 739 55 756 +rect 26 722 32 739 +rect 49 722 55 739 +rect 26 705 55 722 +rect 26 688 32 705 +rect 49 688 55 705 +rect 689 788 700 796 +rect 717 796 725 805 +rect 717 788 726 796 +rect 689 771 726 788 +rect 689 754 700 771 +rect 717 754 726 771 +rect 689 737 726 754 +rect 689 720 700 737 +rect 717 720 726 737 +rect 689 703 726 720 +rect 689 701 700 703 +rect 26 664 55 688 +rect 511 686 700 701 +rect 717 701 726 703 +rect 717 686 901 701 +rect 511 664 901 686 +rect -701 632 -464 647 +rect -701 624 -679 632 +rect -701 606 -682 624 +rect -701 599 -679 606 +rect -476 599 -464 632 +rect -701 589 -464 599 +rect -701 584 -674 589 +rect -698 575 -674 584 +rect -656 588 -464 589 +rect -656 575 -638 588 +rect -620 584 -464 588 +rect -620 575 -603 584 +rect -528 582 -470 584 +rect -698 513 -685 575 +rect -615 513 -603 575 +rect 510 518 901 664 +rect 1633 634 2046 639 +rect 1633 623 1660 634 +rect 1959 623 2046 634 +rect 1633 605 1654 623 +rect 1970 605 2046 623 +rect 1633 599 1660 605 +rect 1959 600 2046 605 +rect 1959 599 2011 600 +rect 1633 595 2011 599 +rect 2031 599 2046 600 +rect 2031 595 2047 599 +rect 1633 590 2003 595 +rect -461 517 901 518 +rect -698 510 -674 513 +rect -698 397 -673 510 +rect -656 397 -638 513 +rect -698 396 -638 397 +rect -620 396 -603 513 +rect -698 388 -603 396 +rect -675 -179 -603 388 +rect -528 510 901 517 +rect -528 493 -519 510 +rect 579 493 901 510 +rect 1994 519 2003 590 +rect 2038 519 2047 595 +rect 1994 507 2011 519 +rect 2031 507 2047 519 +rect 1994 500 2047 507 +rect -528 461 901 493 +rect -528 448 1807 461 +rect -528 431 -519 448 +rect 579 434 1807 448 +rect 579 431 854 434 +rect -528 417 854 431 +rect 1799 417 1807 434 +rect -528 386 1807 417 +rect -528 369 -518 386 +rect 580 369 1807 386 +rect -528 359 1807 369 +rect -528 342 853 359 +rect 1792 342 1807 359 +rect -528 328 1807 342 +rect -528 311 -516 328 +rect 582 311 1807 328 +rect -528 287 1807 311 +rect -528 270 856 287 +rect 1796 270 1807 287 +rect -528 269 1807 270 +rect -528 252 -515 269 +rect 583 252 1807 269 +rect -528 221 1807 252 +rect -528 209 857 221 +rect -528 192 -515 209 +rect 583 204 857 209 +rect 1794 204 1807 221 +rect 583 192 1807 204 +rect -528 156 1807 192 +rect -528 149 856 156 +rect -528 132 -520 149 +rect 578 139 856 149 +rect 1801 139 1807 156 +rect 578 132 1807 139 +rect -528 92 1807 132 +rect -528 88 857 92 +rect -528 71 -519 88 +rect 579 75 857 88 +rect 1796 75 1807 92 +rect 579 71 1807 75 +rect -528 31 1807 71 +rect 1884 319 1941 320 +rect 1884 313 1946 319 +rect 1884 307 1904 313 +rect 1939 307 1946 313 +rect -528 28 901 31 +rect -528 11 -520 28 +rect 578 11 901 28 +rect -528 3 901 11 +rect 510 -152 901 3 +rect 1884 -10 1900 307 +rect 1942 -10 1946 307 +rect 1884 -17 1904 -10 +rect 1939 -17 1946 -10 +rect 1884 -23 1946 -17 +rect 1884 -24 1941 -23 +rect 1801 -140 1857 -137 +rect 508 -229 903 -152 +rect 1801 -187 1803 -140 +rect 1802 -192 1803 -187 +rect 1855 -192 1857 -140 +rect 1802 -209 1857 -192 +<< via1 >> +rect -679 624 -476 632 +rect -679 623 -496 624 +rect -496 623 -476 624 +rect -679 606 -495 623 +rect -495 606 -476 623 +rect -679 599 -476 606 +rect -685 513 -674 575 +rect -674 513 -656 575 +rect -656 513 -638 575 +rect -638 513 -620 575 +rect -620 513 -615 575 +rect 1660 623 1959 634 +rect 1660 605 1959 623 +rect 1660 599 1959 605 +rect 2003 519 2011 595 +rect 2011 519 2031 595 +rect 2031 519 2038 595 +rect 1900 -10 1904 307 +rect 1904 -10 1939 307 +rect 1939 -10 1942 307 +rect 1803 -192 1855 -140 +<< metal2 >> +rect -745 634 2114 649 +rect -745 632 1660 634 +rect -745 599 -679 632 +rect -476 599 1660 632 +rect 1959 599 2114 634 +rect -745 595 2114 599 +rect -745 575 2003 595 +rect -745 513 -685 575 +rect -615 519 2003 575 +rect 2038 519 2114 595 +rect -615 513 2114 519 +rect -745 509 2114 513 +rect -698 508 -605 509 +rect -673 397 -656 508 +rect 1889 307 1953 320 +rect 1889 19 1900 307 +rect -745 -10 1900 19 +rect 1942 19 1953 307 +rect 1942 -10 2114 19 +rect -745 -121 2114 -10 +rect 1799 -134 2062 -121 +rect 1799 -140 2054 -134 +rect 1799 -192 1803 -140 +rect 1855 -185 2054 -140 +rect 1855 -192 1861 -185 +<< labels >> +rlabel metal1 508 -229 903 -152 0 OUTPUT +port 2 nsew +rlabel space -744 508 -721 649 0 VGND +port 3 nsew +rlabel metal2 2078 509 2114 649 0 VGND +port 3 nsew +rlabel metal2 -744 -121 -723 19 0 VINJ +port 4 nsew +rlabel metal2 2084 -121 2114 19 0 VINJ +port 4 nsew +rlabel metal1 26 811 415 858 0 INPUT +port 5 nsew +rlabel metal2 1875 -185 2054 -160 0 VINJ +port 4 nsew +rlabel metal1 -675 -179 -603 -145 0 VGND +port 3 nsew +<< end >>
diff --git a/mag/sky130_hilas_VinjDiodeProtect01.spice b/mag/sky130_hilas_VinjDiodeProtect01.spice new file mode 100644 index 0000000..2d7d005 --- /dev/null +++ b/mag/sky130_hilas_VinjDiodeProtect01.spice
@@ -0,0 +1,8 @@ +* SPICE3 file created from sky130_hilas_VinjDiodeProtect01.ext - technology: sky130A + +.option scale=10000u + +.subckt sky130_hilas_VinjDiodeProtect01 OUTPUT VGND VINJ INPUT +R0 INPUT OUTPUT mrp1 w=132 l=581 +C0 OUTPUT VINJ 8.57fF +.ends
diff --git a/mag/sky130_hilas_VinjInv2.mag b/mag/sky130_hilas_VinjInv2.mag new file mode 100644 index 0000000..934930e --- /dev/null +++ b/mag/sky130_hilas_VinjInv2.mag
@@ -0,0 +1,149 @@ +magic +tech sky130A +timestamp 1624141468 +<< error_p >> +rect -29 232 -28 235 +<< nwell >> +rect -336 144 -138 308 +<< mvnmos >> +rect -73 177 -21 209 +<< mvpmos >> +rect -252 177 -199 210 +<< mvndiff >> +rect -101 202 -73 209 +rect -101 185 -96 202 +rect -79 185 -73 202 +rect -101 177 -73 185 +rect -21 201 7 209 +rect -21 184 -15 201 +rect 2 184 7 201 +rect -21 177 7 184 +<< mvpdiff >> +rect -279 202 -252 210 +rect -279 185 -275 202 +rect -258 185 -252 202 +rect -279 177 -252 185 +rect -199 202 -171 210 +rect -199 185 -193 202 +rect -176 185 -171 202 +rect -199 177 -171 185 +<< mvndiffc >> +rect -96 185 -79 202 +rect -15 184 2 201 +<< mvpdiffc >> +rect -275 185 -258 202 +rect -193 185 -176 202 +<< psubdiff >> +rect -29 256 15 264 +rect -29 239 -15 256 +rect 2 239 15 256 +rect -29 232 15 239 +<< mvnsubdiff >> +rect -286 267 -245 275 +rect -286 250 -274 267 +rect -257 250 -245 267 +rect -286 241 -245 250 +<< psubdiffcont >> +rect -15 239 2 256 +<< mvnsubdiffcont >> +rect -274 250 -257 267 +<< poly >> +rect -322 224 -36 227 +rect -322 212 -21 224 +rect -322 202 -295 212 +rect -252 210 -199 212 +rect -322 185 -317 202 +rect -300 185 -295 202 +rect -322 177 -295 185 +rect -73 209 -21 212 +rect -252 164 -199 177 +rect -73 164 -21 177 +<< polycont >> +rect -317 185 -300 202 +<< locali >> +rect -274 267 -257 279 +rect -274 248 -272 250 +rect -15 256 2 264 +rect -274 238 -257 248 +rect -15 229 2 239 +rect -317 202 -300 210 +rect -302 183 -300 185 +rect -317 177 -300 183 +rect -275 204 -258 210 +rect -275 202 -250 204 +rect -258 197 -250 202 +rect -275 180 -271 185 +rect -254 180 -250 197 +rect -201 202 -176 210 +rect -201 185 -193 202 +rect -176 185 -137 202 +rect -120 185 -96 202 +rect -79 185 -71 202 +rect -15 201 2 212 +rect -275 177 -250 180 +rect -274 175 -250 177 +rect -193 176 -176 185 +rect -23 184 -15 201 +rect 2 184 10 201 +<< viali >> +rect -272 250 -257 265 +rect -257 250 -255 265 +rect -272 248 -255 250 +rect -15 212 2 229 +rect -319 185 -317 200 +rect -317 185 -302 200 +rect -319 183 -302 185 +rect -271 185 -258 197 +rect -258 185 -254 197 +rect -271 180 -254 185 +rect -137 185 -120 202 +<< metal1 >> +rect -275 270 -253 304 +rect -275 265 -252 270 +rect -275 248 -272 265 +rect -255 248 -252 265 +rect -275 244 -252 248 +rect -328 205 -297 211 +rect -328 179 -325 205 +rect -299 179 -297 205 +rect -328 176 -297 179 +rect -275 204 -253 244 +rect -18 229 5 304 +rect -18 212 -15 229 +rect 2 212 5 229 +rect -275 197 -250 204 +rect -275 180 -271 197 +rect -254 180 -250 197 +rect -145 180 -142 206 +rect -116 180 -113 206 +rect -275 173 -250 180 +rect -275 153 -253 173 +rect -18 153 5 212 +<< via1 >> +rect -325 200 -299 205 +rect -325 183 -319 200 +rect -319 183 -302 200 +rect -302 183 -299 200 +rect -325 179 -299 183 +rect -142 202 -116 206 +rect -142 185 -137 202 +rect -137 185 -120 202 +rect -120 185 -116 202 +rect -142 180 -116 185 +<< metal2 >> +rect -336 247 25 265 +rect -328 195 -325 205 +rect -329 179 -325 195 +rect -299 179 -296 205 +rect -145 180 -142 206 +rect -116 198 -113 206 +rect -116 180 25 198 +<< labels >> +rlabel metal1 -275 153 -253 159 0 Vinj +rlabel metal1 -275 297 -253 304 0 Vinj +rlabel metal1 -18 295 5 304 0 GND +rlabel metal1 -18 153 5 159 0 GND +rlabel metal2 -336 247 -326 265 0 Input +rlabel metal2 16 247 25 265 0 Input +rlabel metal2 16 180 25 198 0 Output +<< end >>
diff --git a/mag/sky130_hilas_VinjNOR3.mag b/mag/sky130_hilas_VinjNOR3.mag new file mode 100644 index 0000000..8d94b18 --- /dev/null +++ b/mag/sky130_hilas_VinjNOR3.mag
@@ -0,0 +1,288 @@ +magic +tech sky130A +timestamp 1624138502 +<< nwell >> +rect -336 144 8 308 +<< mvnmos >> +rect 176 239 226 271 +rect 105 178 155 209 +rect 247 178 297 209 +<< mvpmos >> +rect -178 241 -126 275 +rect -252 177 -199 210 +rect -105 178 -53 210 +<< mvndiff >> +rect 145 263 176 271 +rect 145 246 152 263 +rect 169 246 176 263 +rect 145 239 176 246 +rect 226 263 253 271 +rect 226 246 232 263 +rect 249 246 253 263 +rect 226 239 253 246 +rect 76 202 105 209 +rect 76 185 81 202 +rect 98 185 105 202 +rect 76 178 105 185 +rect 155 202 183 209 +rect 155 185 161 202 +rect 178 185 183 202 +rect 155 178 183 185 +rect 219 202 247 209 +rect 219 185 224 202 +rect 241 185 247 202 +rect 219 178 247 185 +rect 297 202 326 209 +rect 297 185 303 202 +rect 320 185 326 202 +rect 297 178 326 185 +<< mvpdiff >> +rect -206 267 -178 275 +rect -206 250 -201 267 +rect -184 250 -178 267 +rect -206 241 -178 250 +rect -126 267 -98 275 +rect -126 250 -120 267 +rect -103 250 -98 267 +rect -126 241 -98 250 +rect -279 202 -252 210 +rect -279 185 -275 202 +rect -258 185 -252 202 +rect -279 177 -252 185 +rect -199 202 -171 210 +rect -199 185 -193 202 +rect -176 185 -171 202 +rect -199 177 -171 185 +rect -132 202 -105 210 +rect -132 185 -128 202 +rect -111 185 -105 202 +rect -132 178 -105 185 +rect -53 202 -26 210 +rect -53 185 -47 202 +rect -30 185 -26 202 +rect -53 178 -26 185 +<< mvndiffc >> +rect 152 246 169 263 +rect 232 246 249 263 +rect 81 185 98 202 +rect 161 185 178 202 +rect 224 185 241 202 +rect 303 185 320 202 +<< mvpdiffc >> +rect -201 250 -184 267 +rect -120 250 -103 267 +rect -275 185 -258 202 +rect -193 185 -176 202 +rect -128 185 -111 202 +rect -47 185 -30 202 +<< psubdiff >> +rect 292 264 333 271 +rect 292 247 304 264 +rect 321 247 333 264 +rect 292 239 333 247 +<< mvnsubdiff >> +rect -286 267 -245 275 +rect -286 250 -274 267 +rect -257 250 -245 267 +rect -286 241 -245 250 +<< psubdiffcont >> +rect 304 247 321 264 +<< mvnsubdiffcont >> +rect -274 250 -257 267 +<< poly >> +rect -143 289 194 295 +rect -178 284 194 289 +rect -178 278 226 284 +rect -178 275 -126 278 +rect 25 275 60 278 +rect 25 258 34 275 +rect 51 258 60 275 +rect 176 271 226 278 +rect -74 251 -39 257 +rect 25 251 60 258 +rect -322 226 -236 227 +rect -322 212 -199 226 +rect -178 225 -126 241 +rect -74 234 -64 251 +rect -47 234 -39 251 +rect -74 230 -39 234 +rect -74 225 123 230 +rect 176 225 226 239 +rect -322 202 -295 212 +rect -252 210 -199 212 +rect -105 223 123 225 +rect -105 213 155 223 +rect -105 210 -53 213 +rect -322 185 -317 202 +rect -300 185 -295 202 +rect -322 177 -295 185 +rect 105 209 155 213 +rect 247 209 297 223 +rect -252 164 -199 177 +rect -105 165 -53 178 +rect 105 165 155 178 +rect 247 165 297 178 +<< polycont >> +rect 34 258 51 275 +rect -64 234 -47 251 +rect -317 185 -300 202 +<< locali >> +rect -274 267 -257 279 +rect 34 275 51 283 +rect -201 267 -184 275 +rect -120 267 -103 275 +rect -274 248 -272 250 +rect -184 250 -180 267 +rect -274 238 -257 248 +rect -201 210 -180 250 +rect -124 250 -120 267 +rect -124 242 -103 250 +rect -64 251 -47 259 +rect 223 264 249 271 +rect 303 264 321 277 +rect 223 263 304 264 +rect 47 254 51 258 +rect 34 250 51 254 +rect -124 210 -107 242 +rect -50 232 -47 234 +rect -64 222 -47 232 +rect 90 246 152 263 +rect 169 246 177 263 +rect 223 246 232 263 +rect 249 247 304 263 +rect 249 246 321 247 +rect -317 202 -300 210 +rect -302 183 -300 185 +rect -317 177 -300 183 +rect -275 204 -258 210 +rect -275 202 -250 204 +rect -258 197 -250 202 +rect -275 180 -271 185 +rect -254 180 -250 197 +rect -201 202 -176 210 +rect -201 185 -193 202 +rect -275 177 -250 180 +rect -274 175 -250 177 +rect -193 176 -176 185 +rect -128 202 -107 210 +rect 90 202 107 246 +rect 223 232 249 246 +rect 303 235 321 246 +rect 223 214 226 232 +rect 244 214 249 232 +rect 223 202 249 214 +rect -111 185 -107 202 +rect -56 185 -47 202 +rect -30 198 81 202 +rect -30 185 21 198 +rect -128 177 -111 185 +rect 38 185 81 198 +rect 98 185 107 202 +rect 152 185 161 202 +rect 178 185 224 202 +rect 241 185 249 202 +rect 294 185 303 202 +rect 320 185 328 202 +<< viali >> +rect -272 250 -257 265 +rect -257 250 -255 265 +rect -272 248 -255 250 +rect 30 258 34 271 +rect 34 258 47 271 +rect 30 254 47 258 +rect -67 234 -64 249 +rect -64 234 -50 249 +rect -67 232 -50 234 +rect -319 185 -317 200 +rect -317 185 -302 200 +rect -319 183 -302 185 +rect -271 185 -258 197 +rect -258 185 -254 197 +rect -271 180 -254 185 +rect 226 214 244 232 +rect 21 181 38 198 +<< metal1 >> +rect -275 270 -253 304 +rect -275 265 -252 270 +rect -275 248 -272 265 +rect -255 248 -252 265 +rect -275 244 -252 248 +rect -328 205 -297 211 +rect -328 179 -325 205 +rect -299 179 -297 205 +rect -328 176 -297 179 +rect -275 204 -253 244 +rect -73 228 -69 254 +rect -43 228 -40 254 +rect 24 253 30 279 +rect 56 253 67 279 +rect 24 250 67 253 +rect 222 232 249 305 +rect 222 214 226 232 +rect 244 214 249 232 +rect -275 197 -250 204 +rect -275 180 -271 197 +rect -254 180 -250 197 +rect -275 173 -250 180 +rect 11 201 50 202 +rect 11 175 17 201 +rect 43 175 50 201 +rect -275 153 -253 173 +rect 222 153 249 214 +rect 304 205 335 208 +rect 304 179 307 205 +rect 333 179 335 205 +rect 304 176 335 179 +<< via1 >> +rect -325 200 -299 205 +rect -325 183 -319 200 +rect -319 183 -302 200 +rect -302 183 -299 200 +rect -325 179 -299 183 +rect -69 249 -43 254 +rect -69 232 -67 249 +rect -67 232 -50 249 +rect -50 232 -43 249 +rect -69 228 -43 232 +rect 30 271 56 279 +rect 30 254 47 271 +rect 47 254 56 271 +rect 30 253 56 254 +rect 17 198 43 201 +rect 17 181 21 198 +rect 21 181 38 198 +rect 38 181 43 198 +rect 17 175 43 181 +rect 307 179 333 205 +<< metal2 >> +rect -337 279 67 289 +rect -337 273 30 279 +rect -73 246 -69 254 +rect -100 244 -69 246 +rect -336 228 -69 244 +rect -43 228 -40 254 +rect 25 253 30 273 +rect 56 253 67 279 +rect 25 250 67 253 +rect 304 205 335 208 +rect -328 195 -325 205 +rect -336 179 -325 195 +rect -299 179 -296 205 +rect 13 175 17 201 +rect 43 193 50 201 +rect 43 192 116 193 +rect 304 192 307 205 +rect 43 179 307 192 +rect 333 192 335 205 +rect 333 179 351 192 +rect 43 175 351 179 +<< labels >> +rlabel metal2 345 175 351 192 0 Output +rlabel metal2 -337 273 -331 289 0 Input1 +rlabel space -337 228 -331 244 0 Input2 +rlabel space -337 179 -331 195 0 Input3 +rlabel metal1 222 299 249 305 0 GND +rlabel metal1 222 153 249 158 0 GND +rlabel metal1 -275 153 -253 159 0 Vinj +rlabel metal1 -275 297 -253 304 0 Vinj +<< end >>
diff --git a/mag/sky130_hilas_WTA4Stage01.mag b/mag/sky130_hilas_WTA4Stage01.mag new file mode 100644 index 0000000..f140284 --- /dev/null +++ b/mag/sky130_hilas_WTA4Stage01.mag
@@ -0,0 +1,207 @@ +magic +tech sky130A +timestamp 1625404155 +<< error_s >> +rect -596 499 -590 505 +rect -491 499 -485 505 +rect -170 489 -164 495 +rect -117 489 -111 495 +rect -602 435 -596 441 +rect -485 435 -479 441 +rect -176 439 -170 445 +rect -111 439 -105 445 +rect -596 382 -590 388 +rect -491 382 -485 388 +rect -170 380 -164 386 +rect -117 380 -111 386 +rect -176 330 -170 336 +rect -111 330 -105 336 +rect -602 318 -596 324 +rect -485 318 -479 324 +rect -596 197 -590 203 +rect -491 197 -485 203 +rect -333 192 -316 196 +rect -170 191 -164 197 +rect -117 191 -111 197 +rect -176 141 -170 147 +rect -111 141 -105 147 +rect -602 133 -596 139 +rect -485 133 -479 139 +rect -596 81 -590 87 +rect -491 81 -485 87 +rect -170 74 -164 80 +rect -117 74 -111 80 +rect -176 24 -170 30 +rect -111 24 -105 30 +rect -602 17 -596 23 +rect -485 17 -479 23 +<< nwell >> +rect -1101 561 -805 562 +rect -1101 546 -1060 561 +rect -532 552 -494 562 +rect -129 548 -89 562 +rect -1101 545 -1042 546 +rect -1101 369 -1060 545 +rect -1112 254 -1060 369 +rect -1101 -42 -1060 254 +<< poly >> +rect 209 516 229 562 +rect 209 -43 229 -18 +<< locali >> +rect -1115 -22 -1097 67 +<< metal1 >> +rect -1025 555 -1009 562 +rect -984 555 -965 562 +rect -944 555 -928 562 +rect -532 552 -494 562 +rect -129 548 -89 562 +rect 131 516 154 562 +rect 257 516 280 562 +rect -782 430 -761 504 +rect -1112 254 -1091 369 +rect -784 93 -768 243 +rect 257 127 280 132 +rect 253 126 281 127 +rect 253 124 283 126 +rect 253 97 254 124 +rect 281 97 283 124 +rect 253 94 283 97 +rect -532 -43 -494 -33 +rect 131 -43 154 -18 +rect 257 -43 280 -18 +<< via1 >> +rect 254 97 281 124 +<< metal2 >> +rect -758 512 7 531 +rect -1116 494 -1061 512 +rect -758 510 24 512 +rect -14 491 24 510 +rect -1112 418 -1097 469 +rect -54 457 -50 466 +rect -65 437 56 457 +rect 170 426 296 442 +rect -1112 402 -769 418 +rect -1112 352 -1086 378 +rect -1107 351 -1090 352 +rect -55 351 66 371 +rect 170 333 296 349 +rect -1118 308 -1061 326 +rect -791 304 -768 305 +rect -791 301 -34 304 +rect -791 284 -28 301 +rect -791 274 -767 284 +rect -1112 256 -767 274 +rect -47 264 24 284 +rect -1112 254 -775 256 +rect -777 234 -32 236 +rect -777 214 24 234 +rect -777 213 -745 214 +rect -1116 193 -1061 211 +rect -1116 192 -1100 193 +rect -1118 118 -1098 168 +rect -56 152 44 168 +rect 170 149 296 165 +rect 251 124 284 125 +rect -1118 98 -763 118 +rect 251 116 254 124 +rect -384 99 254 116 +rect 251 97 254 99 +rect 281 97 284 124 +rect 251 96 284 97 +rect -1119 47 -1091 74 +rect -55 54 45 71 +rect 172 56 296 72 +rect -55 53 39 54 +rect -1114 26 -1098 27 +rect -1114 8 -1061 26 +rect -32 8 23 9 +rect -790 -14 23 8 +rect -790 -15 -31 -14 +rect -790 -16 -713 -15 +rect -790 -20 -766 -16 +rect -1114 -40 -766 -20 +rect -1114 -41 -847 -40 +use sky130_hilas_m12m2 sky130_hilas_m12m2_4 +timestamp 1607949437 +transform 1 0 -778 0 1 221 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_5 +timestamp 1607949437 +transform 1 0 -794 0 1 103 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_2 +timestamp 1607949437 +transform 1 0 -778 0 1 409 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 -776 0 1 514 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -1102 0 1 -26 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -1107 0 1 59 +box -14 -15 20 18 +use sky130_hilas_m12m2 sky130_hilas_m12m2_3 +timestamp 1607949437 +transform 1 0 -1105 0 1 359 +box -9 -10 23 22 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 -1107 0 1 258 +box -9 -10 23 22 +use sky130_hilas_WTA4stage01 sky130_hilas_WTA4stage01_0 +timestamp 1607370486 +transform 1 0 67 0 1 -19 +box -54 1 229 535 +use sky130_hilas_swc4x1BiasCell sky130_hilas_swc4x1BiasCell_0 +timestamp 1625403878 +transform -1 0 -317 0 1 339 +box -266 -382 745 223 +<< labels >> +rlabel metal2 289 426 296 442 0 OUTPUT1 +port 4 nsew analog default +rlabel metal2 291 333 296 349 0 OUTPUT2 +port 5 nsew analog default +rlabel metal2 291 149 296 165 0 OUTPUT3 +port 6 nsew analog default +rlabel metal2 291 56 296 72 0 OUTPUT4 +port 7 nsew analog default +rlabel metal1 257 556 280 562 0 VGND +port 1 nsew ground default +rlabel metal1 257 -43 280 -37 0 VGND +port 1 nsew ground default +rlabel metal2 -1112 449 -1097 469 0 INPUT1 +port 8 nsew analog default +rlabel metal2 -1112 352 -1086 378 0 INPUT2 +port 9 nsew analog default +rlabel metal2 -1118 151 -1098 168 0 INPUT3 +port 10 nsew analog default +rlabel metal2 -1119 47 -1091 74 0 INPUT4 +port 11 nsew analog default +rlabel metal2 -1100 494 -1088 512 0 DRAIN1 +port 12 nsew +rlabel metal2 -1100 308 -1088 326 0 DRAIN2 +port 13 nsew +rlabel metal2 -1100 193 -1088 211 0 DRAIN3 +port 14 nsew +rlabel metal2 -1100 8 -1088 26 0 DRAIN4 +port 15 nsew +rlabel metal1 -531 552 -495 562 0 GATE1 +port 16 nsew +rlabel metal1 -129 548 -89 562 0 VTUN +port 17 nsew +rlabel metal1 131 -43 154 -37 0 WTAMIDDLENODE +port 18 nsew +rlabel metal1 131 556 154 562 0 WTAMIDDLENODE +port 18 nsew +rlabel metal1 -984 555 -965 562 0 COLSEL1 +port 19 nsew +rlabel metal1 -1025 555 -1009 562 0 VINJ +port 21 nsew +rlabel metal1 -944 555 -928 562 0 VPWR +port 20 nsew +<< end >>
diff --git a/mag/sky130_hilas_WTA4stage01.mag b/mag/sky130_hilas_WTA4stage01.mag new file mode 100644 index 0000000..d43df5f --- /dev/null +++ b/mag/sky130_hilas_WTA4stage01.mag
@@ -0,0 +1,27 @@ +magic +tech sky130A +timestamp 1607370486 +<< poly >> +rect 142 506 162 535 +rect 141 229 162 308 +rect 142 1 162 30 +<< metal1 >> +rect 64 258 87 278 +rect 190 258 213 279 +use sky130_hilas_WTAsinglestage01 sky130_hilas_WTAsinglestage01_3 +timestamp 1607090551 +transform 1 0 54 0 1 354 +box -108 -76 175 67 +use sky130_hilas_WTAsinglestage01 sky130_hilas_WTAsinglestage01_2 +timestamp 1607090551 +transform 1 0 54 0 -1 459 +box -108 -76 175 67 +use sky130_hilas_WTAsinglestage01 sky130_hilas_WTAsinglestage01_1 +timestamp 1607090551 +transform 1 0 54 0 -1 182 +box -108 -76 175 67 +use sky130_hilas_WTAsinglestage01 sky130_hilas_WTAsinglestage01_0 +timestamp 1607090551 +transform 1 0 54 0 1 77 +box -108 -76 175 67 +<< end >>
diff --git a/mag/sky130_hilas_WTAblockSample01.mag b/mag/sky130_hilas_WTAblockSample01.mag new file mode 100644 index 0000000..edbd0f8 --- /dev/null +++ b/mag/sky130_hilas_WTAblockSample01.mag
@@ -0,0 +1,238 @@ +magic +tech sky130A +timestamp 1607392100 +<< error_s >> +rect -1540 1135 -1534 1141 +rect -1435 1135 -1429 1141 +rect -569 1135 -563 1141 +rect -464 1135 -458 1141 +rect 510 1135 516 1141 +rect 615 1135 621 1141 +rect -1114 1125 -1108 1131 +rect -1061 1125 -1055 1131 +rect -943 1125 -937 1131 +rect -890 1125 -884 1131 +rect 936 1125 942 1131 +rect 989 1125 995 1131 +rect -1546 1071 -1540 1077 +rect -1429 1071 -1423 1077 +rect -1120 1075 -1114 1081 +rect -1055 1075 -1049 1081 +rect -949 1075 -943 1081 +rect -884 1075 -878 1081 +rect -575 1071 -569 1077 +rect -458 1071 -452 1077 +rect 504 1071 510 1077 +rect 621 1071 627 1077 +rect 930 1075 936 1081 +rect 995 1075 1001 1081 +rect -1540 1018 -1534 1024 +rect -1435 1018 -1429 1024 +rect -1114 1016 -1108 1022 +rect -1061 1016 -1055 1022 +rect -943 1016 -937 1022 +rect -890 1016 -884 1022 +rect -569 1018 -563 1024 +rect -464 1018 -458 1024 +rect 510 1018 516 1024 +rect 615 1018 621 1024 +rect 936 1016 942 1022 +rect 989 1016 995 1022 +rect -1120 966 -1114 972 +rect -1055 966 -1049 972 +rect -949 966 -943 972 +rect -884 966 -878 972 +rect 930 966 936 972 +rect 995 966 1001 972 +rect -1771 958 -1758 963 +rect -1757 958 -1744 962 +rect -1771 955 -1744 958 +rect -1546 954 -1540 960 +rect -1429 954 -1423 960 +rect -575 954 -569 960 +rect -458 954 -452 960 +rect -254 958 -241 962 +rect -240 958 -227 963 +rect -254 955 -227 958 +rect 504 954 510 960 +rect 621 954 627 960 +rect -1540 833 -1534 839 +rect -1435 833 -1429 839 +rect -569 833 -563 839 +rect -464 833 -458 839 +rect 510 833 516 839 +rect 615 833 621 839 +rect -1114 827 -1108 833 +rect -1061 827 -1055 833 +rect -943 827 -937 833 +rect -890 827 -884 833 +rect 936 827 942 833 +rect 989 827 995 833 +rect -1120 777 -1114 783 +rect -1055 777 -1049 783 +rect -949 777 -943 783 +rect -884 777 -878 783 +rect 930 777 936 783 +rect 995 777 1001 783 +rect -1546 769 -1540 775 +rect -1429 769 -1423 775 +rect -575 769 -569 775 +rect -458 769 -452 775 +rect 504 769 510 775 +rect 621 769 627 775 +rect -1540 717 -1534 723 +rect -1435 717 -1429 723 +rect -569 717 -563 723 +rect -464 717 -458 723 +rect -1114 710 -1108 716 +rect -1061 710 -1055 716 +rect -943 710 -937 716 +rect -890 710 -884 716 +rect -29 714 -28 726 +rect 510 717 516 723 +rect 615 717 621 723 +rect -15 700 -14 712 +rect 936 710 942 716 +rect 989 710 995 716 +rect -1120 660 -1114 666 +rect -1055 660 -1049 666 +rect -949 660 -943 666 +rect -884 660 -878 666 +rect 930 660 936 666 +rect 995 660 1001 666 +rect -1546 653 -1540 659 +rect -1429 653 -1423 659 +rect -575 653 -569 659 +rect -458 653 -452 659 +rect 504 653 510 659 +rect 621 653 627 659 +rect -1866 613 -1864 621 +rect 184 613 185 621 +rect -1953 600 -1952 608 +rect -1872 600 -1871 608 +rect -110 602 -109 608 +rect -110 594 -108 602 +rect -29 600 -28 608 +rect -1537 537 -1531 543 +rect -1432 537 -1426 543 +rect -566 537 -560 543 +rect -461 537 -455 543 +rect 512 537 518 543 +rect 617 537 623 543 +rect -1111 527 -1105 533 +rect -1058 527 -1052 533 +rect -940 527 -934 533 +rect -887 527 -881 533 +rect 938 527 944 533 +rect 991 527 997 533 +rect -1543 473 -1537 479 +rect -1426 473 -1420 479 +rect -1117 477 -1111 483 +rect -1052 477 -1046 483 +rect -946 477 -940 483 +rect -881 477 -875 483 +rect -572 473 -566 479 +rect -455 473 -449 479 +rect 506 473 512 479 +rect 623 473 629 479 +rect 932 477 938 483 +rect 997 477 1003 483 +rect -1537 420 -1531 426 +rect -1432 420 -1426 426 +rect -1111 418 -1105 424 +rect -1058 418 -1052 424 +rect -940 418 -934 424 +rect -887 418 -881 424 +rect -566 420 -560 426 +rect -461 420 -455 426 +rect 512 420 518 426 +rect 617 420 623 426 +rect 938 418 944 424 +rect 991 418 997 424 +rect -1117 368 -1111 374 +rect -1052 368 -1046 374 +rect -946 368 -940 374 +rect -881 368 -875 374 +rect 932 368 938 374 +rect 997 368 1003 374 +rect -1768 360 -1755 365 +rect -1754 360 -1741 364 +rect -1768 357 -1741 360 +rect -1543 356 -1537 362 +rect -1426 356 -1420 362 +rect -572 356 -566 362 +rect -455 356 -449 362 +rect -251 360 -238 364 +rect -237 360 -224 365 +rect -251 357 -224 360 +rect 506 356 512 362 +rect 623 356 629 362 +rect -1537 235 -1531 241 +rect -1432 235 -1426 241 +rect -566 235 -560 241 +rect -461 235 -455 241 +rect 512 235 518 241 +rect 617 235 623 241 +rect -1111 229 -1105 235 +rect -1058 229 -1052 235 +rect -940 229 -934 235 +rect -887 229 -881 235 +rect 938 229 944 235 +rect 991 229 997 235 +rect -1117 179 -1111 185 +rect -1052 179 -1046 185 +rect -946 179 -940 185 +rect -881 179 -875 185 +rect 932 179 938 185 +rect 997 179 1003 185 +rect -1543 171 -1537 177 +rect -1426 171 -1420 177 +rect -572 171 -566 177 +rect -455 171 -449 177 +rect 506 171 512 177 +rect 623 171 629 177 +rect -1537 119 -1531 125 +rect -1432 119 -1426 125 +rect -566 119 -560 125 +rect -461 119 -455 125 +rect -1111 112 -1105 118 +rect -1058 112 -1052 118 +rect -940 112 -934 118 +rect -887 112 -881 118 +rect -27 116 -25 128 +rect 512 119 518 125 +rect 617 119 623 125 +rect -27 68 -26 116 +rect -13 102 -11 114 +rect 938 112 944 118 +rect 991 112 997 118 +rect -13 82 -12 102 +rect -1117 62 -1111 68 +rect -1052 62 -1046 68 +rect -946 62 -940 68 +rect -881 62 -875 68 +rect 932 62 938 68 +rect 997 62 1003 68 +rect -1543 55 -1537 61 +rect -1426 55 -1420 61 +rect -572 55 -566 61 +rect -455 55 -449 61 +rect 506 55 512 61 +rect 623 55 629 61 +use sky130_hilas_WTA4Stage01 sky130_hilas_WTA4Stage01_1 +timestamp 1607392100 +transform 1 0 1106 0 1 636 +box -1121 -43 296 562 +use sky130_hilas_WTA4Stage01 sky130_hilas_WTA4Stage01_0 +timestamp 1607392100 +transform 1 0 1108 0 1 38 +box -1121 -43 296 562 +use sky130_hilas_swc4x2cell sky130_hilas_swc4x2cell_1 +timestamp 1607392100 +transform 1 0 -1001 0 1 597 +box -1004 -4 1008 601 +use sky130_hilas_swc4x2cell sky130_hilas_swc4x2cell_0 +timestamp 1607392100 +transform 1 0 -998 0 1 -1 +box -1004 -4 1008 601 +<< end >>
diff --git a/mag/sky130_hilas_WTAsinglestage01.mag b/mag/sky130_hilas_WTAsinglestage01.mag new file mode 100644 index 0000000..bc2d29d --- /dev/null +++ b/mag/sky130_hilas_WTAsinglestage01.mag
@@ -0,0 +1,127 @@ +magic +tech sky130A +timestamp 1607090551 +<< nmos >> +rect -18 -34 2 25 +rect 88 -34 108 25 +<< ndiff >> +rect 116 25 146 33 +rect -47 21 -18 25 +rect -47 4 -41 21 +rect -24 4 -18 21 +rect -47 -13 -18 4 +rect -47 -30 -41 -13 +rect -24 -30 -18 -13 +rect -47 -34 -18 -30 +rect 2 21 32 25 +rect 2 4 9 21 +rect 26 4 32 21 +rect 2 -13 32 4 +rect 2 -30 9 -13 +rect 26 -30 32 -13 +rect 2 -34 32 -30 +rect 59 21 88 25 +rect 59 4 65 21 +rect 82 4 88 21 +rect 59 -13 88 4 +rect 59 -30 65 -13 +rect 82 -30 88 -13 +rect 59 -34 88 -30 +rect 108 21 146 25 +rect 108 4 122 21 +rect 139 4 146 21 +rect 108 -13 146 4 +rect 108 -30 122 -13 +rect 139 -30 146 -13 +rect 108 -34 146 -30 +rect 116 -42 146 -34 +<< ndiffc >> +rect -41 4 -24 21 +rect -41 -30 -24 -13 +rect 9 4 26 21 +rect 9 -30 26 -13 +rect 65 4 82 21 +rect 65 -30 82 -13 +rect 122 4 139 21 +rect 122 -30 139 -13 +<< psubdiff >> +rect 146 21 175 33 +rect 146 4 156 21 +rect 173 4 175 21 +rect 146 -13 175 4 +rect 146 -30 156 -13 +rect 173 -30 175 -13 +rect 146 -42 175 -30 +<< psubdiffcont >> +rect 156 4 173 21 +rect 156 -30 173 -13 +<< poly >> +rect 43 61 108 66 +rect 43 44 51 61 +rect 68 44 108 61 +rect 43 38 108 44 +rect -18 25 2 38 +rect 88 25 108 38 +rect -18 -43 2 -34 +rect -63 -53 2 -43 +rect 88 -47 108 -34 +rect -63 -70 -55 -53 +rect -38 -70 2 -53 +rect -63 -75 2 -70 +<< polycont >> +rect 51 44 68 61 +rect -55 -70 -38 -53 +<< locali >> +rect 11 61 32 63 +rect 9 44 13 61 +rect 30 44 51 61 +rect 68 44 76 61 +rect 9 21 34 44 +rect 122 21 173 29 +rect -50 4 -41 21 +rect -24 4 -16 21 +rect 1 4 9 21 +rect 26 4 34 21 +rect 56 4 65 21 +rect 82 4 90 21 +rect 139 4 156 21 +rect -50 -13 -16 4 +rect 9 -13 26 4 +rect 65 -13 82 4 +rect 122 -13 139 4 +rect 156 -13 173 4 +rect -50 -30 -41 -13 +rect -24 -30 -16 -13 +rect 1 -30 9 -13 +rect 26 -30 34 -13 +rect 56 -30 65 -13 +rect 82 -30 90 -13 +rect 139 -30 156 -13 +rect 65 -53 82 -30 +rect 122 -38 173 -30 +rect -64 -70 -55 -53 +rect -38 -70 82 -53 +<< viali >> +rect 13 44 30 61 +rect 139 -13 156 4 +<< metal1 >> +rect 10 61 33 67 +rect 10 44 13 61 +rect 30 44 33 61 +rect 10 -76 33 44 +rect 136 4 159 53 +rect 136 -13 139 4 +rect 156 -13 159 4 +rect 136 -76 159 -13 +<< metal2 >> +rect -54 -2 175 14 +rect -108 -72 -96 -51 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -84 0 1 -61 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -69 0 1 7 +box -14 -15 20 18 +<< end >>
diff --git a/mag/sky130_hilas_all.mag b/mag/sky130_hilas_all.mag new file mode 100644 index 0000000..6ada49c --- /dev/null +++ b/mag/sky130_hilas_all.mag
@@ -0,0 +1,147 @@ +magic +tech sky130A +timestamp 1606594671 +<< error_p >> +rect -540 172 -533 173 +rect -601 -66 -516 -60 +rect -602 -94 -516 -66 +rect -573 -97 -572 -94 +rect -560 -97 -554 -94 +rect -573 -100 -551 -97 +rect -550 -100 -516 -94 +rect -498 -95 -495 -92 +rect -575 -103 -516 -100 +rect -575 -106 -566 -103 +rect -573 -122 -572 -106 +rect -569 -114 -566 -106 +rect -560 -106 -516 -103 +rect -560 -114 -551 -106 +rect -569 -117 -551 -114 +rect -560 -120 -551 -117 +rect -560 -122 -554 -120 +rect -550 -122 -516 -106 +rect -495 -96 -492 -95 +rect -495 -121 -494 -96 +rect -573 -123 -516 -122 +<< nwell >> +rect -572 -43 -425 226 +rect -601 -67 -425 -43 +rect -602 -150 -425 -67 +rect -572 -441 -425 -150 +<< mvpmos >> +rect -521 116 -491 166 +rect -521 -21 -491 30 +rect -521 -94 -491 -42 +rect -521 -175 -491 -123 +rect -521 -246 -491 -196 +rect -521 -381 -491 -331 +<< mvndiff >> +rect -573 -123 -550 -94 +<< mvpdiff >> +rect -521 189 -491 193 +rect -521 172 -515 189 +rect -498 172 -491 189 +rect -521 166 -491 172 +rect -521 110 -491 116 +rect -521 93 -515 110 +rect -497 93 -491 110 +rect -521 88 -491 93 +rect -521 53 -491 58 +rect -521 36 -515 53 +rect -497 36 -491 53 +rect -521 30 -491 36 +rect -521 -42 -491 -21 +rect -521 -100 -491 -94 +rect -521 -117 -515 -100 +rect -497 -117 -491 -100 +rect -521 -123 -491 -117 +rect -521 -196 -491 -175 +rect -521 -252 -491 -246 +rect -521 -269 -515 -252 +rect -497 -269 -491 -252 +rect -521 -273 -491 -269 +rect -521 -308 -491 -304 +rect -521 -325 -515 -308 +rect -497 -325 -491 -308 +rect -521 -331 -491 -325 +rect -521 -387 -491 -381 +rect -521 -404 -515 -387 +rect -497 -404 -491 -387 +rect -521 -408 -491 -404 +<< mvpdiffc >> +rect -515 172 -498 189 +rect -515 93 -497 110 +rect -515 36 -497 53 +rect -515 -117 -497 -100 +rect -515 -269 -497 -252 +rect -515 -325 -497 -308 +rect -515 -404 -497 -387 +<< poly >> +rect -555 116 -521 166 +rect -491 116 -478 166 +rect -555 30 -534 116 +rect -555 -21 -521 30 +rect -491 -21 -476 30 +rect -534 -94 -521 -42 +rect -491 -94 -465 -42 +rect -488 -123 -465 -94 +rect -534 -175 -521 -123 +rect -491 -175 -465 -123 +rect -550 -246 -521 -196 +rect -491 -246 -478 -196 +rect -550 -331 -534 -246 +rect -550 -381 -521 -331 +rect -491 -381 -478 -331 +rect -550 -382 -534 -381 +<< locali >> +rect -522 172 -515 189 +rect -498 172 -490 189 +rect -523 93 -515 110 +rect -497 93 -489 110 +rect -523 36 -515 53 +rect -497 36 -489 53 +rect -554 -117 -540 -100 +rect -522 -117 -515 -100 +rect -497 -117 -489 -100 +rect -523 -269 -515 -252 +rect -497 -269 -489 -252 +rect -523 -325 -515 -308 +rect -497 -325 -489 -308 +rect -523 -404 -515 -387 +rect -497 -404 -489 -387 +<< viali >> +rect -540 172 -522 189 +rect -569 -117 -554 -100 +rect -540 -117 -522 -100 +<< metal1 >> +rect -536 196 -502 200 +rect -536 195 -532 196 +rect -546 189 -532 195 +rect -506 195 -502 196 +rect -546 172 -540 189 +rect -546 170 -532 172 +rect -506 170 -490 195 +rect -536 167 -502 170 +rect -546 -100 -520 -96 +rect -546 -117 -540 -100 +rect -522 -117 -520 -100 +rect -546 -121 -520 -117 +rect -495 -121 -492 -96 +<< via1 >> +rect -532 189 -506 196 +rect -532 172 -522 189 +rect -522 172 -506 189 +rect -532 170 -506 172 +rect -520 -121 -495 -95 +<< metal2 >> +rect -536 196 -502 200 +rect -572 170 -532 196 +rect -506 170 -453 196 +rect -536 167 -502 170 +rect -522 -94 -492 -93 +rect -522 -95 -491 -94 +rect -542 -121 -520 -95 +rect -495 -121 -489 -95 +rect -542 -122 -489 -121 +rect -522 -124 -492 -122 +<< end >>
diff --git a/mag/sky130_hilas_capacitorArray01.mag b/mag/sky130_hilas_capacitorArray01.mag new file mode 100644 index 0000000..35d47ed --- /dev/null +++ b/mag/sky130_hilas_capacitorArray01.mag
@@ -0,0 +1,210 @@ +magic +tech sky130A +timestamp 1625405899 +<< error_s >> +rect -872 485 -866 491 +rect -767 485 -761 491 +rect -1246 475 -1240 481 +rect -1193 475 -1187 481 +rect -1252 425 -1246 431 +rect -1187 425 -1181 431 +rect -878 421 -872 427 +rect -761 421 -755 427 +rect -1246 366 -1240 372 +rect -1193 366 -1187 372 +rect -872 368 -866 374 +rect -767 368 -761 374 +rect -1252 316 -1246 322 +rect -1187 316 -1181 322 +rect -878 304 -872 310 +rect -761 304 -755 310 +rect 2331 228 2333 256 +rect -872 183 -866 189 +rect -767 183 -761 189 +rect -1246 177 -1240 183 +rect -1193 177 -1187 183 +rect -1252 127 -1246 133 +rect -1187 127 -1181 133 +rect -878 119 -872 125 +rect -761 119 -755 125 +rect -872 67 -866 73 +rect -767 67 -761 73 +rect -1246 60 -1240 66 +rect -1193 60 -1187 66 +rect -1252 10 -1246 16 +rect -1187 10 -1181 16 +rect -878 3 -872 9 +rect -761 3 -755 9 +<< nwell >> +rect -297 547 2238 548 +rect -296 540 2238 547 +rect -1303 480 -1292 498 +rect -1304 294 -1292 312 +rect -1302 -5 -1292 12 +rect -298 -51 2238 540 +rect -297 -56 2238 -51 +rect -104 -57 2238 -56 +<< metal1 >> +rect -1268 534 -1228 548 +rect -1024 542 -1000 548 +rect -862 540 -825 548 +rect -631 541 -607 548 +rect -392 543 -373 548 +rect -348 543 -332 548 +rect -863 535 -825 540 +rect -864 -44 -863 -42 +rect -1268 -57 -1229 -45 +rect -1024 -57 -1000 -50 +rect -864 -56 -825 -44 +rect -864 -57 -863 -56 +rect -631 -57 -607 -50 +rect -429 -56 -413 -50 +rect -392 -56 -373 -50 +rect -348 -56 -332 -50 +<< metal2 >> +rect -230 545 -179 548 +rect -230 543 -137 545 +rect -230 536 -174 543 +rect -416 517 -174 536 +rect -187 515 -174 517 +rect -146 515 -137 543 +rect -1303 480 -1292 498 +rect -406 480 2366 498 +rect -412 437 2366 455 +rect -406 337 2366 355 +rect 2265 312 2366 313 +rect -1304 294 -1292 312 +rect -410 294 2366 312 +rect 2297 256 2366 263 +rect 2297 228 2304 256 +rect 2333 228 2366 256 +rect 2297 222 2366 228 +rect -1302 179 -1292 196 +rect -427 179 2366 196 +rect -417 137 2366 154 +rect -419 39 2366 56 +rect -1302 -5 -1292 12 +rect -423 -5 2366 12 +<< via2 >> +rect -174 515 -146 543 +rect 2304 228 2333 256 +<< metal3 >> +rect -179 543 -141 546 +rect -179 517 -174 543 +rect -187 515 -174 517 +rect -146 517 -141 543 +rect -146 515 -133 517 +rect -187 392 -133 515 +rect 2219 256 2334 327 +rect 2219 228 2304 256 +rect 2333 228 2334 256 +rect -267 143 -249 173 +rect 2219 163 2334 228 +rect 2264 162 2334 163 +rect -158 22 -140 52 +<< metal4 >> +rect -25 481 385 511 +rect -194 420 76 431 +rect -194 390 97 420 +rect 46 356 97 390 +rect 347 361 385 481 +rect 631 364 959 394 +rect -263 318 -127 348 +rect -157 262 -127 318 +rect 631 262 661 364 +rect 929 262 959 364 +rect -157 232 959 262 +rect 1199 362 2088 392 +rect 67 173 386 176 +rect 631 173 661 176 +rect -267 143 953 173 +rect 67 106 97 143 +rect 356 109 386 143 +rect 631 109 661 143 +rect 356 106 661 109 +rect 923 106 953 143 +rect 67 76 953 106 +rect 1199 110 1229 362 +rect 1482 359 1793 362 +rect 1482 110 1512 359 +rect 1763 110 1793 359 +rect 2058 110 2088 362 +rect 1199 80 2094 110 +rect 1763 79 2094 80 +rect -170 22 -119 52 +rect -149 -2 -119 22 +rect 2064 -2 2094 79 +rect -149 -32 2094 -2 +use sky130_hilas_cellAttempt01 sky130_hilas_cellAttempt01_1 +timestamp 1625402619 +transform 1 0 -1040 0 1 325 +box -264 -382 744 223 +use sky130_hilas_cellAttempt01 sky130_hilas_cellAttempt01_0 +timestamp 1625402619 +transform 1 0 -1040 0 1 325 +box -264 -382 744 223 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 -428 0 1 524 +box -9 -10 23 22 +use sky130_hilas_m22m4 sky130_hilas_m22m4_1 +timestamp 1607701799 +transform 1 0 -302 0 1 348 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_2 +timestamp 1607701799 +transform 1 0 -306 0 1 139 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_3 +timestamp 1607701799 +transform 1 0 -197 0 1 52 +box -36 -36 43 39 +use sky130_hilas_m12m2 sky130_hilas_m12m2_1 +timestamp 1607949437 +transform 1 0 -428 0 1 524 +box -9 -10 23 22 +<< labels >> +rlabel metal2 2354 222 2366 263 0 CAPTERM2 +port 1 nsew analog default +rlabel metal2 -230 535 -179 548 0 CAPTERM1 +port 2 nsew analog default +rlabel metal1 -392 543 -373 548 0 GATESELECT +port 4 nsew +rlabel metal1 -348 543 -332 548 0 VINJ +port 3 nsew power default +rlabel metal1 -862 535 -825 548 0 GATE +port 6 nsew analog default +rlabel metal1 -1268 534 -1228 548 0 VTUN +port 5 nsew +rlabel metal1 -1268 -57 -1229 -45 0 VTUN +port 5 nsew +rlabel metal1 -864 -56 -825 -44 0 GATE +port 6 nsew +rlabel metal1 -348 -56 -332 -50 0 VINJ +rlabel metal1 -429 -56 -413 -50 0 CAPTERM1 +rlabel metal1 -392 -56 -373 -50 0 GATESELECT +rlabel metal2 -1303 480 -1292 498 0 DRAIN1 +port 8 nsew +rlabel metal2 -1304 294 -1292 312 0 DRAIN2 +port 7 nsew +rlabel metal2 2356 -5 2366 12 0 DRAIN4 +port 10 nsew +rlabel metal2 2356 480 2366 498 0 DRAIN1 +port 8 nsew +rlabel metal2 2355 294 2366 313 0 DRAIN2 +port 7 nsew +rlabel metal2 2355 179 2366 196 0 DRAIN3 +port 11 nsew +rlabel metal2 -1302 179 -1292 196 0 DRAIN3 +port 11 nsew +rlabel metal2 -1302 -5 -1292 12 0 DRAIN4 +port 10 nsew +rlabel metal1 -1024 542 -1000 548 0 VGND +port 12 nsew +rlabel metal1 -631 541 -607 548 0 VGND +port 12 nsew +rlabel metal1 -1024 -57 -1000 -50 0 VGND +port 12 nsew +rlabel metal1 -631 -57 -607 -50 0 VGND +port 12 nsew +<< end >>
diff --git a/mag/sky130_hilas_capacitorSize01.mag b/mag/sky130_hilas_capacitorSize01.mag new file mode 100644 index 0000000..1e089d3 --- /dev/null +++ b/mag/sky130_hilas_capacitorSize01.mag
@@ -0,0 +1,42 @@ +magic +tech sky130A +timestamp 1608072649 +<< metal2 >> +rect 1414 480 2456 498 +rect 1414 437 2456 455 +rect 1417 337 2456 355 +rect 2265 312 2456 313 +rect 1417 294 2456 312 +rect 1416 232 1443 260 +rect 2420 233 2456 261 +rect 1417 179 2456 196 +rect 1417 137 2456 154 +rect 1417 39 2456 56 +rect 1417 -5 2456 12 +<< metal3 >> +rect 2237 207 2433 282 +<< metal4 >> +rect 1530 272 1631 273 +rect 1459 222 1794 272 +rect 1459 221 1566 222 +rect 1730 110 1793 222 +rect 1730 80 1945 110 +rect 1763 79 1945 80 +use sky130_hilas_CapModule02 sky130_hilas_CapModule02_0 +timestamp 1607802006 +transform 1 0 2003 0 1 199 +box -443 -247 277 336 +use sky130_hilas_m22m4 sky130_hilas_m22m4_0 +timestamp 1607701799 +transform 1 0 1452 0 1 242 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_1 +timestamp 1607701799 +transform 1 0 2401 0 1 243 +box -36 -36 43 39 +<< labels >> +rlabel metal2 1416 232 1423 260 0 CAPTERM01 +port 2 nsew analog default +rlabel metal2 2444 233 2456 261 0 CAPTERM02 +port 1 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_capacitorSize02.mag b/mag/sky130_hilas_capacitorSize02.mag new file mode 100644 index 0000000..98cd56e --- /dev/null +++ b/mag/sky130_hilas_capacitorSize02.mag
@@ -0,0 +1,44 @@ +magic +tech sky130A +timestamp 1608072448 +<< metal2 >> +rect 1414 480 2211 498 +rect 1414 437 2211 455 +rect 1417 337 2211 355 +rect 1417 294 2211 312 +rect 1416 232 1443 260 +rect 2180 234 2211 262 +rect 1417 179 2211 196 +rect 1417 137 2211 154 +rect 1417 39 2211 56 +rect 1417 -5 2211 12 +<< metal3 >> +rect 1982 222 2180 283 +rect 1982 221 2178 222 +rect 2179 221 2180 222 +rect 1982 208 2180 221 +<< metal4 >> +rect 1530 272 1631 273 +rect 1459 222 1794 272 +rect 1459 221 1566 222 +rect 1730 110 1793 222 +rect 1730 80 1945 110 +rect 1763 79 1945 80 +use sky130_hilas_m22m4 sky130_hilas_m22m4_1 +timestamp 1607701799 +transform 1 0 2164 0 1 244 +box -36 -36 43 39 +use sky130_hilas_CapModule03 sky130_hilas_CapModule03_0 +timestamp 1607813757 +transform 1 0 1952 0 1 199 +box -392 -247 31 336 +use sky130_hilas_m22m4 sky130_hilas_m22m4_0 +timestamp 1607701799 +transform 1 0 1452 0 1 242 +box -36 -36 43 39 +<< labels >> +rlabel metal2 1416 232 1423 260 0 CAPTERM01 +port 2 nsew analog default +rlabel metal2 2196 234 2211 262 0 CAPTERM02 +port 1 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_capacitorSize03.mag b/mag/sky130_hilas_capacitorSize03.mag new file mode 100644 index 0000000..8a19e26 --- /dev/null +++ b/mag/sky130_hilas_capacitorSize03.mag
@@ -0,0 +1,48 @@ +magic +tech sky130A +timestamp 1608249223 +<< metal2 >> +rect 1414 480 1992 498 +rect 1414 437 1992 455 +rect 1417 337 1992 355 +rect 1417 294 1992 312 +rect 1416 232 1443 260 +rect 1956 236 1993 264 +rect 1417 179 1992 196 +rect 1417 137 1992 154 +rect 1417 39 1992 56 +rect 1417 -5 1992 12 +<< metal3 >> +rect 1559 285 1586 286 +rect 1559 210 1973 285 +<< metal4 >> +rect 1672 273 1716 357 +rect 1530 272 1631 273 +rect 1671 272 1717 273 +rect 1459 222 1717 272 +rect 1459 221 1566 222 +rect 1671 156 1717 222 +rect 1671 106 1719 156 +rect 1716 76 1719 106 +use sky130_hilas_CapModule01 sky130_hilas_CapModule01_0 +timestamp 1607800460 +transform 1 0 2002 0 1 198 +box -443 -245 -159 41 +use sky130_hilas_CapModule01 sky130_hilas_CapModule01_1 +timestamp 1607800460 +transform 1 0 2002 0 1 499 +box -443 -245 -159 41 +use sky130_hilas_m22m4 sky130_hilas_m22m4_1 +timestamp 1607701799 +transform 1 0 1937 0 1 246 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_0 +timestamp 1607701799 +transform 1 0 1452 0 1 242 +box -36 -36 43 39 +<< labels >> +rlabel metal2 1416 232 1423 260 0 CAPTERM01 +port 2 nsew analog default +rlabel metal2 1985 236 1993 264 0 CAPTERM02 +port 1 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_capacitorSize04.mag b/mag/sky130_hilas_capacitorSize04.mag new file mode 100644 index 0000000..75ef863 --- /dev/null +++ b/mag/sky130_hilas_capacitorSize04.mag
@@ -0,0 +1,56 @@ +magic +tech sky130A +timestamp 1608072649 +<< metal2 >> +rect 1417 480 1992 498 +rect 1417 437 1992 455 +rect 1417 385 1444 413 +rect 1957 385 1992 413 +rect 1417 337 1992 355 +rect 1417 294 1992 312 +rect 1417 179 1992 196 +rect 1417 137 1992 154 +rect 1417 85 1445 113 +rect 1957 85 1993 113 +rect 1417 39 1992 56 +rect 1417 -5 1992 12 +<< metal3 >> +rect 1801 359 1904 434 +rect 1800 60 1906 133 +<< metal4 >> +rect 1441 365 1720 406 +rect 1472 64 1684 105 +use sky130_hilas_m22m4 sky130_hilas_m22m4_4 +timestamp 1607701799 +transform 1 0 1938 0 1 95 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_3 +timestamp 1607701799 +transform 1 0 1938 0 1 395 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_5 +timestamp 1607701799 +transform 1 0 1454 0 1 95 +box -36 -36 43 39 +use sky130_hilas_m22m4 sky130_hilas_m22m4_2 +timestamp 1607701799 +transform 1 0 1451 0 1 395 +box -36 -36 43 39 +use sky130_hilas_CapModule01a sky130_hilas_CapModule01a_0 +timestamp 1607818356 +transform 1 0 2002 0 1 198 +box -416 -216 -186 12 +use sky130_hilas_CapModule01a sky130_hilas_CapModule01a_1 +timestamp 1607818356 +transform 1 0 2002 0 1 499 +box -416 -216 -186 12 +<< labels >> +rlabel metal2 1982 385 1992 413 0 CAP1TERM02 +port 1 nsew analog default +rlabel metal2 1417 385 1424 413 0 CAP1TERM01 +port 4 nsew analog default +rlabel metal2 1417 85 1423 113 0 CAP2TERM01 +port 3 nsew analog default +rlabel metal2 1986 85 1993 113 0 CAP2TERM02 +port 2 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_cellAttempt01.mag b/mag/sky130_hilas_cellAttempt01.mag new file mode 100644 index 0000000..a360f6f --- /dev/null +++ b/mag/sky130_hilas_cellAttempt01.mag
@@ -0,0 +1,283 @@ +magic +tech sky130A +timestamp 1625402619 +<< error_s >> +rect 168 160 174 166 +rect 273 160 279 166 +rect -206 150 -200 156 +rect -153 150 -147 156 +rect -212 100 -206 106 +rect -147 100 -141 106 +rect 162 96 168 102 +rect 279 96 285 102 +rect -206 41 -200 47 +rect -153 41 -147 47 +rect 168 43 174 49 +rect 273 43 279 49 +rect -212 -9 -206 -3 +rect -147 -9 -141 -3 +rect 162 -21 168 -15 +rect 279 -21 285 -15 +rect 168 -142 174 -136 +rect 273 -142 279 -136 +rect -206 -148 -200 -142 +rect -153 -148 -147 -142 +rect -212 -198 -206 -192 +rect -147 -198 -141 -192 +rect 162 -206 168 -200 +rect 279 -206 285 -200 +rect 168 -258 174 -252 +rect 273 -258 279 -252 +rect -206 -265 -200 -259 +rect -153 -265 -147 -259 +rect -212 -315 -206 -309 +rect -147 -315 -141 -309 +rect 162 -322 168 -316 +rect 279 -322 285 -316 +<< nwell >> +rect 112 222 335 223 +rect -263 112 -256 130 +rect 632 -72 667 -71 +rect 632 -88 649 -72 +rect 666 -88 667 -72 +rect 177 -381 215 -373 +rect 112 -382 335 -381 +<< psubdiff >> +rect 15 82 41 105 +rect 15 65 19 82 +rect 36 65 41 82 +rect 15 39 41 65 +rect 407 81 434 107 +rect 407 64 413 81 +rect 430 64 434 81 +rect 407 41 434 64 +rect 16 -30 41 -3 +rect 16 -47 20 -30 +rect 37 -47 41 -30 +rect 16 -64 41 -47 +rect 16 -81 20 -64 +rect 37 -81 41 -64 +rect 16 -98 41 -81 +rect 16 -115 20 -98 +rect 37 -115 41 -98 +rect 16 -143 41 -115 +rect 409 -44 434 -17 +rect 409 -61 413 -44 +rect 430 -61 434 -44 +rect 409 -78 434 -61 +rect 409 -95 413 -78 +rect 430 -95 434 -78 +rect 409 -112 434 -95 +rect 409 -129 413 -112 +rect 430 -129 434 -112 +rect 409 -142 434 -129 +<< psubdiffcont >> +rect 19 65 36 82 +rect 413 64 430 81 +rect 20 -47 37 -30 +rect 20 -81 37 -64 +rect 20 -115 37 -98 +rect 413 -61 430 -44 +rect 413 -95 430 -78 +rect 413 -129 430 -112 +<< poly >> +rect 319 147 489 151 +rect -107 114 130 138 +rect 319 135 488 147 +rect -107 5 128 29 +rect 319 -9 488 8 +rect 649 -72 667 -71 +rect 665 -88 667 -72 +rect -107 -175 130 -151 +rect 320 -167 488 -150 +rect -105 -295 132 -271 +rect 320 -309 488 -292 +<< polycont >> +rect 632 -88 649 -71 +<< locali >> +rect 20 -30 37 -22 +rect 20 -123 37 -115 +rect 413 -44 430 -36 +rect 623 -88 632 -71 +rect 413 -137 430 -129 +<< viali >> +rect 19 82 36 99 +rect 19 48 36 65 +rect 413 81 430 98 +rect 413 47 430 64 +rect 20 -64 37 -47 +rect 20 -98 37 -81 +rect 413 -78 430 -61 +rect 649 -88 667 -71 +rect 413 -112 430 -95 +<< metal1 >> +rect -228 -382 -188 223 +rect 16 105 40 223 +rect 177 213 215 223 +rect 409 107 433 223 +rect 611 219 627 223 +rect 648 218 667 223 +rect 692 218 708 223 +rect 15 99 41 105 +rect 15 82 19 99 +rect 36 82 41 99 +rect 15 65 41 82 +rect 15 48 19 65 +rect 36 48 41 65 +rect 15 39 41 48 +rect 407 98 434 107 +rect 407 81 413 98 +rect 430 81 434 98 +rect 407 64 434 81 +rect 407 47 413 64 +rect 430 47 434 64 +rect 407 41 434 47 +rect 16 -47 40 39 +rect 16 -64 20 -47 +rect 37 -64 40 -47 +rect 16 -81 40 -64 +rect 16 -98 20 -81 +rect 37 -98 40 -81 +rect 16 -222 40 -98 +rect 409 -61 433 41 +rect 409 -78 413 -61 +rect 430 -78 433 -61 +rect 654 -68 667 -66 +rect 409 -95 433 -78 +rect 646 -71 670 -68 +rect 646 -88 649 -71 +rect 667 -88 670 -71 +rect 646 -91 670 -88 +rect 656 -95 667 -91 +rect 409 -112 413 -95 +rect 430 -112 433 -95 +rect 409 -218 433 -112 +rect 408 -221 434 -218 +rect 15 -225 41 -222 +rect 408 -250 434 -247 +rect 15 -254 41 -251 +rect 16 -382 40 -254 +rect 177 -382 215 -373 +rect 409 -382 433 -250 +<< via1 >> +rect 15 -251 41 -225 +rect 408 -247 434 -221 +<< metal2 >> +rect -263 166 497 173 +rect -263 155 500 166 +rect -263 112 710 130 +rect -264 24 497 30 +rect -264 12 500 24 +rect -264 -31 500 -13 +rect -262 -146 500 -129 +rect -262 -188 500 -171 +rect 405 -221 437 -218 +rect 12 -251 15 -225 +rect 41 -226 44 -225 +rect 405 -226 408 -221 +rect 41 -244 408 -226 +rect 41 -251 44 -244 +rect 405 -247 408 -244 +rect 434 -247 437 -221 +rect 405 -250 437 -247 +rect -262 -286 500 -269 +rect -184 -295 -30 -286 +rect -262 -330 500 -313 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_0 +timestamp 1608066871 +transform 1 0 1188 0 1 135 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1608066871 +transform 1 0 1188 0 1 18 +box -1451 -400 -1278 -210 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_0 +timestamp 1606741561 +transform 1 0 1069 0 1 14 +box -957 -395 -734 -209 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_1 +timestamp 1606741561 +transform 1 0 1069 0 1 130 +box -957 -395 -734 -209 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_1 +timestamp 1607386385 +transform 1 0 777 0 1 -428 +box -289 47 -33 232 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_2 +timestamp 1607386385 +transform 1 0 777 0 -1 -31 +box -289 47 -33 232 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_2 +timestamp 1608066871 +transform 1 0 1188 0 1 324 +box -1451 -400 -1278 -210 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1185 0 1 293 +box -1449 -441 -1275 -255 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_2 +timestamp 1606741561 +transform 1 0 1069 0 1 315 +box -957 -395 -734 -209 +use sky130_hilas_wellContact sky130_hilas_wellContact_0 +timestamp 1606753443 +transform 1 0 1588 0 1 286 +box -1449 -441 -1275 -255 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_0 +timestamp 1607386385 +transform 1 0 777 0 1 -128 +box -289 47 -33 232 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1608066871 +transform 1 0 1188 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_3 +timestamp 1606741561 +transform 1 0 1069 0 1 432 +box -957 -395 -734 -209 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_3 +timestamp 1607386385 +transform 1 0 777 0 -1 270 +box -289 47 -33 232 +<< labels >> +rlabel metal1 -228 211 -188 223 0 VTUN +port 1 nsew +rlabel metal1 692 218 708 223 0 VINJ +port 2 nsew +rlabel metal1 648 218 667 223 0 COLSEL1 +port 3 nsew +rlabel metal1 611 219 627 223 0 COL1 +port 4 nsew +rlabel metal1 177 213 215 223 0 GATE1 +port 5 nsew +rlabel poly 383 136 394 149 0 FG1 +rlabel poly 372 -9 389 6 0 FG2 +rlabel poly 379 -166 396 -151 0 FG3 +rlabel poly 389 -307 406 -292 0 FG4 +rlabel metal2 -263 155 -256 173 0 DRAIN1 +port 6 nsew +rlabel metal2 -264 12 -257 30 0 ROW2 +port 9 nsew +rlabel metal2 -264 -31 -257 -13 0 DRAIN2 +port 8 nsew +rlabel metal2 -262 -146 -256 -129 0 DRAIN3 +port 10 nsew +rlabel metal2 -262 -188 -256 -171 0 ROW3 +port 7 nsew +rlabel metal2 -262 -286 -256 -269 0 ROW4 +port 11 nsew +rlabel metal2 -262 -330 -256 -313 0 DRAIN4 +port 12 nsew +rlabel metal2 -263 112 -256 130 0 ROW1 +port 13 nsew +rlabel metal1 16 218 40 223 0 VGND +port 14 nsew +rlabel metal1 409 218 433 223 0 VGND +port 14 nsew +rlabel metal1 409 -382 433 -376 0 VGND +port 14 nsew +rlabel metal1 16 -382 40 -376 0 VGND +port 14 nsew +rlabel metal1 177 -382 215 -373 0 GATE1 +port 5 nsew +<< end >>
diff --git a/mag/sky130_hilas_decoup_cap_00.mag b/mag/sky130_hilas_decoup_cap_00.mag new file mode 100644 index 0000000..a47eb3c --- /dev/null +++ b/mag/sky130_hilas_decoup_cap_00.mag
@@ -0,0 +1,172 @@ +magic +tech sky130A +timestamp 1623107852 +<< nwell >> +rect 82 43 390 189 +<< nmos >> +rect 130 -55 341 5 +<< pmos >> +rect 130 86 341 147 +<< ndiff >> +rect 101 1 130 5 +rect 101 -16 107 1 +rect 124 -16 130 1 +rect 101 -33 130 -16 +rect 101 -50 107 -33 +rect 124 -50 130 -33 +rect 101 -55 130 -50 +rect 341 1 370 5 +rect 341 -16 347 1 +rect 364 -16 370 1 +rect 341 -33 370 -16 +rect 341 -50 347 -33 +rect 364 -50 370 -33 +rect 341 -55 370 -50 +<< pdiff >> +rect 101 141 130 147 +rect 101 124 107 141 +rect 124 124 130 141 +rect 101 107 130 124 +rect 101 90 107 107 +rect 124 90 130 107 +rect 101 86 130 90 +rect 341 142 371 147 +rect 341 125 347 142 +rect 365 125 371 142 +rect 341 108 371 125 +rect 341 90 347 108 +rect 365 90 371 108 +rect 341 86 371 90 +<< ndiffc >> +rect 107 -16 124 1 +rect 107 -50 124 -33 +rect 347 -16 364 1 +rect 347 -50 364 -33 +<< pdiffc >> +rect 107 124 124 141 +rect 107 90 124 107 +rect 347 125 365 142 +rect 347 90 365 108 +<< poly >> +rect 130 147 341 160 +rect 130 68 341 86 +rect 130 67 231 68 +rect 163 40 164 67 +rect 197 40 198 67 +rect 304 20 305 46 +rect 338 20 339 46 +rect 271 19 341 20 +rect 130 5 341 19 +rect 130 -68 341 -55 +<< locali >> +rect 99 183 373 189 +rect 99 182 158 183 +rect 166 182 265 183 +rect 275 182 373 183 +rect 99 142 373 182 +rect 99 141 347 142 +rect 99 124 107 141 +rect 124 125 347 141 +rect 365 125 373 142 +rect 124 124 373 125 +rect 99 108 373 124 +rect 99 107 347 108 +rect 99 90 107 107 +rect 124 90 347 107 +rect 365 90 373 108 +rect 99 86 373 90 +rect 99 1 231 67 +rect 271 24 373 86 +rect 99 -16 107 1 +rect 124 -16 347 1 +rect 364 -16 373 1 +rect 99 -33 373 -16 +rect 99 -50 107 -33 +rect 124 -50 347 -33 +rect 364 -50 373 -33 +rect 99 -88 373 -50 +<< metal1 >> +rect 99 141 373 189 +rect 99 -112 373 -50 +rect 99 -113 372 -112 +use sky130_hilas_li2m1 sky130_hilas_li2m1_1 +timestamp 1607179295 +transform 1 0 174 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 138 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_3 +timestamp 1607179295 +transform 1 0 210 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_2 +timestamp 1607179295 +transform 1 0 282 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_5 +timestamp 1607179295 +transform 1 0 246 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_7 +timestamp 1607179295 +transform 1 0 354 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_4 +timestamp 1607179295 +transform 1 0 318 0 1 -83 +box -10 -8 13 21 +use sky130_hilas_poly2li sky130_hilas_poly2li_4 +timestamp 1607178257 +transform 0 1 285 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_3 +timestamp 1607178257 +transform 0 1 353 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_0 +timestamp 1607178257 +transform 0 1 319 -1 0 37 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_1 +timestamp 1607178257 +transform 0 1 144 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_2 +timestamp 1607178257 +transform 0 1 178 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_5 +timestamp 1607178257 +transform 0 1 212 -1 0 58 +box -9 -14 18 19 +use sky130_hilas_li2m1 sky130_hilas_li2m1_15 +timestamp 1607179295 +transform 1 0 347 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_14 +timestamp 1607179295 +transform 1 0 303 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_13 +timestamp 1607179295 +transform 1 0 267 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_12 +timestamp 1607179295 +transform 1 0 231 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_11 +timestamp 1607179295 +transform 1 0 195 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_10 +timestamp 1607179295 +transform 1 0 159 0 1 165 +box -10 -8 13 21 +use sky130_hilas_li2m1 sky130_hilas_li2m1_9 +timestamp 1607179295 +transform 1 0 123 0 1 165 +box -10 -8 13 21 +<< end >>
diff --git a/mag/sky130_hilas_decoup_cap_01.mag b/mag/sky130_hilas_decoup_cap_01.mag new file mode 100644 index 0000000..8ef3dbf --- /dev/null +++ b/mag/sky130_hilas_decoup_cap_01.mag
@@ -0,0 +1,270 @@ +magic +tech sky130A +timestamp 1625360156 +<< nwell >> +rect 663 213 744 505 +<< psubdiff >> +rect 670 619 714 643 +rect 670 602 683 619 +rect 700 602 714 619 +rect 670 585 714 602 +rect 670 568 683 585 +rect 700 568 714 585 +rect 670 551 714 568 +rect 670 534 683 551 +rect 700 534 714 551 +rect 670 525 714 534 +rect 671 161 714 187 +rect 671 144 684 161 +rect 701 144 714 161 +rect 671 127 714 144 +rect 671 110 684 127 +rect 701 110 714 127 +rect 671 93 714 110 +rect 671 76 684 93 +rect 701 76 714 93 +rect 671 71 714 76 +<< nsubdiff >> +rect 671 462 713 474 +rect 671 444 682 462 +rect 700 444 713 462 +rect 671 425 713 444 +rect 671 407 682 425 +rect 700 407 713 425 +rect 671 389 713 407 +rect 671 371 682 389 +rect 700 371 713 389 +rect 671 353 713 371 +rect 671 335 682 353 +rect 700 335 713 353 +rect 671 318 713 335 +rect 671 300 683 318 +rect 701 300 713 318 +rect 671 282 713 300 +rect 671 264 683 282 +rect 701 264 713 282 +rect 671 255 713 264 +<< psubdiffcont >> +rect 683 602 700 619 +rect 683 568 700 585 +rect 683 534 700 551 +rect 684 144 701 161 +rect 684 110 701 127 +rect 684 76 701 93 +<< nsubdiffcont >> +rect 682 444 700 462 +rect 682 407 700 425 +rect 682 371 700 389 +rect 682 335 700 353 +rect 683 300 701 318 +rect 683 264 701 282 +<< locali >> +rect 646 619 708 636 +rect 646 602 683 619 +rect 700 602 708 619 +rect 646 585 708 602 +rect 646 568 683 585 +rect 700 568 708 585 +rect 646 551 708 568 +rect 646 547 683 551 +rect 672 534 683 547 +rect 700 534 708 551 +rect 672 532 708 534 +rect 644 462 702 470 +rect 644 444 682 462 +rect 700 444 702 462 +rect 644 431 702 444 +rect 644 425 707 431 +rect 644 407 682 425 +rect 700 407 707 425 +rect 644 389 707 407 +rect 644 385 682 389 +rect 644 368 647 385 +rect 664 368 681 385 +rect 700 371 707 389 +rect 698 368 707 371 +rect 644 353 707 368 +rect 644 350 682 353 +rect 644 333 647 350 +rect 664 333 681 350 +rect 700 335 707 353 +rect 698 333 707 335 +rect 644 318 707 333 +rect 644 300 683 318 +rect 701 300 707 318 +rect 644 293 707 300 +rect 644 282 702 293 +rect 644 264 683 282 +rect 701 264 702 282 +rect 644 256 702 264 +rect 646 161 701 171 +rect 646 144 684 161 +rect 646 127 701 144 +rect 646 110 684 127 +rect 646 93 701 110 +rect 646 82 684 93 +rect 684 68 701 76 +<< viali >> +rect 647 368 664 385 +rect 681 371 682 385 +rect 682 371 698 385 +rect 681 368 698 371 +rect 647 333 664 350 +rect 681 335 682 350 +rect 682 335 698 350 +rect 681 333 698 335 +<< metal1 >> +rect 355 598 376 661 +rect 355 582 603 598 +rect 637 607 744 661 +rect 637 598 656 607 +rect 629 582 656 598 +rect 355 581 656 582 +rect 682 581 744 607 +rect 355 567 744 581 +rect 355 566 656 567 +rect 355 540 601 566 +rect 627 541 656 566 +rect 682 541 744 567 +rect 627 540 744 541 +rect 355 530 744 540 +rect 355 476 744 499 +rect 355 449 392 476 +rect 419 449 447 476 +rect 474 449 744 476 +rect 355 419 744 449 +rect 355 418 447 419 +rect 355 391 391 418 +rect 418 392 447 418 +rect 474 392 744 419 +rect 418 391 744 392 +rect 355 385 744 391 +rect 355 368 647 385 +rect 664 368 681 385 +rect 698 368 744 385 +rect 355 350 744 368 +rect 355 335 647 350 +rect 355 334 447 335 +rect 355 315 392 334 +rect 355 314 372 315 +rect 355 307 392 314 +rect 419 315 447 334 +rect 419 308 447 314 +rect 474 333 647 335 +rect 664 333 681 350 +rect 698 333 744 350 +rect 474 315 744 333 +rect 607 314 744 315 +rect 474 308 744 314 +rect 419 307 744 308 +rect 355 284 744 307 +rect 355 257 392 284 +rect 419 282 744 284 +rect 419 257 445 282 +rect 355 255 445 257 +rect 472 255 744 282 +rect 355 220 744 255 +rect 355 157 744 184 +rect 355 131 617 157 +rect 643 131 665 157 +rect 691 131 744 157 +rect 355 116 744 131 +rect 355 90 615 116 +rect 641 90 664 116 +rect 690 90 744 116 +rect 355 60 744 90 +rect 355 57 372 60 +rect 646 58 744 60 +rect 645 57 744 58 +<< via1 >> +rect 603 582 629 608 +rect 656 581 682 607 +rect 601 540 627 566 +rect 656 541 682 567 +rect 392 449 419 476 +rect 447 449 474 476 +rect 391 391 418 418 +rect 447 392 474 419 +rect 392 307 419 334 +rect 447 308 474 335 +rect 392 257 419 284 +rect 445 255 472 282 +rect 617 131 643 157 +rect 665 131 691 157 +rect 615 90 641 116 +rect 664 90 690 116 +<< metal2 >> +rect 377 476 507 661 +rect 377 449 392 476 +rect 419 449 447 476 +rect 474 449 507 476 +rect 377 419 507 449 +rect 377 418 447 419 +rect 377 391 391 418 +rect 418 392 447 418 +rect 474 392 507 419 +rect 418 391 507 392 +rect 377 335 507 391 +rect 377 334 447 335 +rect 377 307 392 334 +rect 419 308 447 334 +rect 474 308 507 335 +rect 419 307 507 308 +rect 377 284 507 307 +rect 377 257 392 284 +rect 419 282 507 284 +rect 419 257 445 282 +rect 377 255 445 257 +rect 472 255 507 282 +rect 377 57 507 255 +rect 585 608 715 661 +rect 585 582 603 608 +rect 629 607 715 608 +rect 629 582 656 607 +rect 585 581 656 582 +rect 682 581 715 607 +rect 585 567 715 581 +rect 585 566 656 567 +rect 585 540 601 566 +rect 627 541 656 566 +rect 682 541 715 567 +rect 627 540 715 541 +rect 585 157 715 540 +rect 585 131 617 157 +rect 643 131 665 157 +rect 691 131 715 157 +rect 585 116 715 131 +rect 585 90 615 116 +rect 641 90 664 116 +rect 690 90 715 116 +rect 585 57 715 90 +use sky130_hilas_decoup_cap_00 CapDeco_1 +timestamp 1623107852 +transform 1 0 273 0 1 170 +box 82 -113 390 189 +use sky130_hilas_decoup_cap_00 CapDeco_0 +timestamp 1623107852 +transform 1 0 273 0 -1 548 +box 82 -113 390 189 +<< labels >> +rlabel metal1 355 311 372 407 0 VPWR +port 1 nsew +rlabel metal1 727 313 744 407 0 VPWR +port 1 nsew +rlabel metal1 734 598 744 661 0 VGND +port 1 nsew +rlabel metal1 355 598 363 661 0 VGND +port 1 nsew +rlabel metal1 355 57 364 120 0 VGND +port 1 nsew +rlabel metal1 729 57 744 120 0 VGND +port 1 nsew +rlabel metal2 377 651 507 661 0 VPWR +port 1 nsew +rlabel metal2 585 653 715 661 0 VGND +port 2 nsew +rlabel metal2 377 57 507 69 0 VPWR +port 1 nsew +rlabel metal2 585 57 715 69 0 VGND +port 2 nsew +<< end >>
diff --git a/mag/sky130_hilas_drainSelect01.mag b/mag/sky130_hilas_drainSelect01.mag new file mode 100644 index 0000000..0bc24d2 --- /dev/null +++ b/mag/sky130_hilas_drainSelect01.mag
@@ -0,0 +1,68 @@ +magic +tech sky130A +timestamp 1625970648 +<< metal1 >> +rect 1108 603 1133 610 +rect 1407 603 1430 610 +rect 1542 605 1561 610 +rect 1407 5 1430 13 +rect 1542 5 1561 12 +<< metal2 >> +rect 1055 559 1180 560 +rect 1055 543 1249 559 +rect 1055 542 1180 543 +rect 1614 501 1622 524 +rect 1611 384 1622 407 +rect 1055 372 1174 374 +rect 1055 356 1246 372 +rect 1055 258 1107 259 +rect 1055 257 1177 258 +rect 1055 241 1250 257 +rect 1614 208 1622 231 +rect 1613 91 1622 114 +rect 1055 74 1107 75 +rect 1055 57 1253 74 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_2 +timestamp 1625970418 +transform 1 0 1282 0 1 45 +box -232 -40 336 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_1 +timestamp 1625970418 +transform 1 0 1282 0 -1 570 +box -232 -40 336 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_3 +timestamp 1625970418 +transform 1 0 1282 0 -1 277 +box -232 -40 336 119 +use sky130_hilas_TgateVinj01 sky130_hilas_TgateVinj01_0 +timestamp 1625970418 +transform 1 0 1282 0 1 338 +box -232 -40 336 119 +<< labels >> +rlabel metal2 1107 542 1112 560 0 DRAIN1 +port 4 nsew analog default +rlabel metal2 1107 356 1112 374 0 DRAIN2 +port 3 nsew analog default +rlabel metal2 1107 241 1112 258 0 DRAIN3 +port 2 nsew +rlabel metal2 1107 57 1112 74 0 DRAIN4 +port 1 nsew +rlabel metal1 1108 603 1133 610 0 VINJ +port 9 nsew power default +rlabel metal1 1407 603 1430 610 0 DRAIN_MUX +port 10 nsew analog default +rlabel metal1 1407 5 1430 13 0 DRAIN_MUX +port 10 nsew analog default +rlabel metal1 1542 5 1561 12 0 VGND +port 11 nsew ground default +rlabel metal1 1542 605 1561 610 0 VGND +port 11 nsew ground default +rlabel metal2 1613 91 1618 114 0 SELECT4 +port 12 nsew +rlabel metal2 1614 208 1622 231 0 SELECT3 +port 13 nsew +rlabel metal2 1611 384 1622 407 0 SELECT2 +port 14 nsew +rlabel metal2 1614 501 1622 524 0 SELECT1 +port 15 nsew +<< end >>
diff --git a/mag/sky130_hilas_horizPcell01.mag b/mag/sky130_hilas_horizPcell01.mag new file mode 100644 index 0000000..08c7d40 --- /dev/null +++ b/mag/sky130_hilas_horizPcell01.mag
@@ -0,0 +1,106 @@ +magic +tech sky130A +timestamp 1607386385 +<< nwell >> +rect -289 48 -33 232 +rect -289 47 -34 48 +<< mvpmos >> +rect -222 143 -172 173 +rect -222 81 -172 112 +rect -150 81 -100 112 +<< mvpdiff >> +rect -251 167 -222 173 +rect -251 150 -247 167 +rect -229 150 -222 167 +rect -251 143 -222 150 +rect -172 166 -141 173 +rect -172 149 -165 166 +rect -146 149 -141 166 +rect -172 143 -141 149 +rect -254 105 -222 112 +rect -254 88 -247 105 +rect -229 88 -222 105 +rect -254 81 -222 88 +rect -172 81 -150 112 +rect -100 105 -66 112 +rect -100 88 -93 105 +rect -73 88 -66 105 +rect -100 81 -66 88 +<< mvpdiffc >> +rect -247 150 -229 167 +rect -165 149 -146 166 +rect -247 88 -229 105 +rect -93 88 -73 105 +<< mvnsubdiff >> +rect -100 169 -66 183 +rect -100 151 -93 169 +rect -73 151 -66 169 +rect -100 139 -66 151 +<< mvnsubdiffcont >> +rect -93 151 -73 169 +<< poly >> +rect -222 173 -172 188 +rect -137 158 -117 199 +rect -222 136 -172 143 +rect -289 119 -172 136 +rect -137 127 -116 158 +rect -222 112 -172 119 +rect -150 112 -100 127 +rect -222 66 -172 81 +rect -150 47 -100 81 +<< locali >> +rect -255 150 -247 167 +rect -229 150 -221 167 +rect -166 166 -146 174 +rect -166 149 -165 166 +rect -166 138 -146 149 +rect -166 121 -165 138 +rect -148 121 -146 138 +rect -166 117 -146 121 +rect -94 169 -72 177 +rect -94 151 -93 169 +rect -73 151 -72 169 +rect -94 135 -72 151 +rect -94 118 -92 135 +rect -75 118 -72 135 +rect -93 115 -72 118 +rect -93 105 -73 115 +rect -255 88 -247 105 +rect -229 88 -221 105 +rect -93 80 -73 88 +<< viali >> +rect -165 121 -148 138 +rect -92 118 -75 135 +<< metal1 >> +rect -166 163 -150 232 +rect -166 141 -146 163 +rect -126 158 -110 232 +rect -85 181 -69 232 +rect -85 172 -68 181 +rect -127 146 -110 158 +rect -168 138 -145 141 +rect -168 121 -165 138 +rect -148 121 -145 138 +rect -168 117 -145 121 +rect -166 115 -146 117 +rect -166 47 -150 115 +rect -129 47 -110 146 +rect -96 167 -68 172 +rect -96 135 -69 167 +rect -96 118 -92 135 +rect -75 118 -69 135 +rect -96 112 -69 118 +rect -85 47 -69 112 +<< metal2 >> +rect -289 140 -280 158 +rect -250 140 -33 158 +rect -251 97 -33 115 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -266 0 -1 156 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -266 0 -1 101 +box -14 -15 20 18 +<< end >>
diff --git a/mag/sky130_hilas_horizTransCell01.mag b/mag/sky130_hilas_horizTransCell01.mag new file mode 100644 index 0000000..73b5624 --- /dev/null +++ b/mag/sky130_hilas_horizTransCell01.mag
@@ -0,0 +1,222 @@ +magic +tech sky130A +timestamp 1625488390 +<< nwell >> +rect -364 48 -33 359 +<< mvnmos >> +rect -463 248 -423 298 +rect -463 169 -423 219 +<< mvpmos >> +rect -327 248 -288 298 +rect -327 169 -288 219 +rect -224 142 -173 326 +rect -222 81 -172 112 +rect -150 81 -100 112 +<< mvndiff >> +rect -463 321 -423 326 +rect -463 304 -452 321 +rect -434 304 -423 321 +rect -463 298 -423 304 +rect -463 242 -423 248 +rect -463 225 -453 242 +rect -434 225 -423 242 +rect -463 219 -423 225 +rect -463 163 -423 169 +rect -463 146 -452 163 +rect -434 146 -423 163 +rect -463 142 -423 146 +<< mvpdiff >> +rect -327 321 -288 326 +rect -327 304 -316 321 +rect -299 304 -288 321 +rect -327 298 -288 304 +rect -256 305 -224 326 +rect -256 288 -249 305 +rect -232 288 -224 305 +rect -256 271 -224 288 +rect -256 254 -249 271 +rect -232 254 -224 271 +rect -327 242 -288 248 +rect -327 225 -316 242 +rect -299 225 -288 242 +rect -327 219 -288 225 +rect -256 237 -224 254 +rect -256 220 -249 237 +rect -232 220 -224 237 +rect -256 203 -224 220 +rect -256 186 -249 203 +rect -232 186 -224 203 +rect -256 169 -224 186 +rect -327 163 -288 169 +rect -327 146 -316 163 +rect -299 146 -288 163 +rect -327 142 -288 146 +rect -256 152 -249 169 +rect -232 152 -224 169 +rect -256 142 -224 152 +rect -173 304 -145 326 +rect -173 287 -166 304 +rect -149 287 -145 304 +rect -173 270 -145 287 +rect -173 253 -166 270 +rect -149 253 -145 270 +rect -173 236 -145 253 +rect -173 219 -166 236 +rect -149 219 -145 236 +rect -173 202 -145 219 +rect -173 185 -166 202 +rect -149 185 -145 202 +rect -173 168 -145 185 +rect -173 151 -166 168 +rect -149 151 -145 168 +rect -173 142 -145 151 +rect -256 105 -222 112 +rect -256 88 -247 105 +rect -229 88 -222 105 +rect -256 81 -222 88 +rect -172 81 -150 112 +rect -100 105 -66 112 +rect -100 88 -93 105 +rect -73 88 -66 105 +rect -100 81 -66 88 +<< mvndiffc >> +rect -452 304 -434 321 +rect -453 225 -434 242 +rect -452 146 -434 163 +<< mvpdiffc >> +rect -316 304 -299 321 +rect -249 288 -232 305 +rect -249 254 -232 271 +rect -316 225 -299 242 +rect -249 220 -232 237 +rect -249 186 -232 203 +rect -316 146 -299 163 +rect -249 152 -232 169 +rect -166 287 -149 304 +rect -166 253 -149 270 +rect -166 219 -149 236 +rect -166 185 -149 202 +rect -166 151 -149 168 +rect -247 88 -229 105 +rect -93 88 -73 105 +<< mvnsubdiff >> +rect -100 169 -66 183 +rect -100 151 -93 169 +rect -73 151 -66 169 +rect -100 139 -66 151 +<< mvnsubdiffcont >> +rect -93 151 -73 169 +<< poly >> +rect -224 326 -173 339 +rect -476 248 -463 298 +rect -423 248 -327 298 +rect -288 248 -275 298 +rect -476 169 -463 219 +rect -423 169 -327 219 +rect -288 169 -275 219 +rect -133 248 -104 256 +rect -133 231 -126 248 +rect -109 231 -104 248 +rect -133 222 -104 231 +rect -133 193 -106 222 +rect -224 136 -173 142 +rect -476 119 -172 136 +rect -129 127 -106 193 +rect -129 125 -100 127 +rect -222 112 -172 119 +rect -150 112 -100 125 +rect -222 66 -172 81 +rect -150 65 -100 81 +<< polycont >> +rect -126 231 -109 248 +<< locali >> +rect -460 304 -452 321 +rect -434 304 -426 321 +rect -324 304 -316 321 +rect -299 304 -291 321 +rect -249 305 -232 313 +rect -249 271 -232 288 +rect -461 225 -453 242 +rect -434 225 -426 242 +rect -324 225 -316 242 +rect -299 225 -291 242 +rect -249 237 -232 254 +rect -249 203 -232 220 +rect -249 169 -232 186 +rect -461 146 -452 163 +rect -434 146 -426 163 +rect -324 146 -316 163 +rect -299 146 -291 163 +rect -249 144 -232 152 +rect -166 270 -149 287 +rect -166 236 -149 253 +rect -130 248 -106 256 +rect -130 231 -126 248 +rect -109 231 -106 248 +rect -130 223 -106 231 +rect -166 202 -149 219 +rect -129 219 -109 223 +rect -129 200 -128 219 +rect -110 200 -109 219 +rect -129 194 -109 200 +rect -129 193 -110 194 +rect -166 168 -149 185 +rect -93 176 -72 177 +rect -166 143 -149 151 +rect -94 169 -72 176 +rect -94 151 -93 169 +rect -73 151 -72 169 +rect -94 135 -72 151 +rect -94 118 -92 135 +rect -75 118 -72 135 +rect -93 115 -72 118 +rect -93 105 -73 115 +rect -256 88 -247 105 +rect -229 88 -221 105 +rect -93 80 -73 88 +<< viali >> +rect -166 304 -148 323 +rect -128 200 -110 219 +rect -92 118 -75 135 +rect -274 88 -256 105 +<< metal1 >> +rect -169 323 -145 329 +rect -169 304 -166 323 +rect -148 304 -145 323 +rect -169 291 -145 304 +rect -126 248 -110 350 +rect -130 224 -107 248 +rect -130 223 -106 224 +rect -131 219 -106 223 +rect -131 200 -128 219 +rect -110 200 -106 219 +rect -131 196 -106 200 +rect -129 193 -107 196 +rect -281 126 -250 129 +rect -281 100 -278 126 +rect -252 100 -250 126 +rect -281 88 -274 100 +rect -256 88 -250 100 +rect -281 85 -250 88 +rect -129 48 -110 193 +rect -85 181 -69 350 +rect -85 172 -68 181 +rect -96 167 -68 172 +rect -96 135 -69 167 +rect -96 118 -92 135 +rect -75 118 -69 135 +rect -96 112 -69 118 +rect -85 48 -69 112 +<< via1 >> +rect -278 105 -252 126 +rect -278 100 -274 105 +rect -274 100 -256 105 +rect -256 100 -252 105 +<< metal2 >> +rect -281 126 -250 129 +rect -281 100 -278 126 +rect -252 115 -250 126 +rect -252 100 -33 115 +rect -281 97 -33 100 +rect -281 96 -250 97 +<< end >>
diff --git a/mag/sky130_hilas_invert01.mag b/mag/sky130_hilas_invert01.mag new file mode 100644 index 0000000..24c825a --- /dev/null +++ b/mag/sky130_hilas_invert01.mag
@@ -0,0 +1,62 @@ +magic +tech scmos +timestamp 1602540516 +<< polysilicon >> +rect -8 0 -5 3 +rect 1 0 26 3 +rect 32 0 34 3 +rect 11 -3 14 0 +rect 9 -4 15 -3 +rect 9 -8 10 -4 +rect 14 -8 15 -4 +rect 9 -9 15 -8 +<< ndiffusion >> +rect -5 9 1 10 +rect -5 5 -4 9 +rect 0 5 1 9 +rect -5 3 1 5 +rect -5 -2 1 0 +rect -5 -6 -4 -2 +rect 0 -6 1 -2 +rect -5 -7 1 -6 +<< pdiffusion >> +rect 26 10 32 11 +rect 26 6 27 10 +rect 31 6 32 10 +rect 26 3 32 6 +rect 26 -3 32 0 +rect 26 -7 27 -3 +rect 31 -7 32 -3 +rect 26 -8 32 -7 +<< metal1 >> +rect 10 9 14 16 +rect 0 6 27 9 +rect 0 5 31 6 +rect -8 -6 -4 -2 +rect 31 -7 34 -3 +rect 10 -15 14 -8 +<< metal2 >> +rect -13 -2 -7 15 +rect -13 -6 -12 -2 +rect -8 -6 -7 -2 +rect -13 -12 -7 -6 +rect 33 -3 39 15 +rect 33 -7 34 -3 +rect 38 -7 39 -3 +rect 33 -12 39 -7 +<< ntransistor >> +rect -5 0 1 3 +<< ptransistor >> +rect 26 0 32 3 +<< polycontact >> +rect 10 -8 14 -4 +<< ndcontact >> +rect -4 5 0 9 +rect -4 -6 0 -2 +<< pdcontact >> +rect 27 6 31 10 +rect 27 -7 31 -3 +<< m2contact >> +rect -12 -6 -8 -2 +rect 34 -7 38 -3 +<< end >>
diff --git a/mag/sky130_hilas_li2m1.mag b/mag/sky130_hilas_li2m1.mag new file mode 100644 index 0000000..5dca2c5 --- /dev/null +++ b/mag/sky130_hilas_li2m1.mag
@@ -0,0 +1,20 @@ +magic +tech sky130A +timestamp 1607179295 +<< error_p >> +rect -10 15 13 21 +rect -10 -2 -7 15 +rect -10 -8 13 -2 +<< locali >> +rect -8 15 11 18 +rect -8 -2 -7 15 +rect 10 -2 11 15 +rect -8 -5 11 -2 +<< viali >> +rect -7 -2 10 15 +<< metal1 >> +rect -10 15 13 21 +rect -10 -2 -7 15 +rect 10 -2 13 15 +rect -10 -8 13 -2 +<< end >>
diff --git a/mag/sky130_hilas_li2m2.mag b/mag/sky130_hilas_li2m2.mag new file mode 100644 index 0000000..34af6e6 --- /dev/null +++ b/mag/sky130_hilas_li2m2.mag
@@ -0,0 +1,29 @@ +magic +tech sky130A +timestamp 1607089160 +<< locali >> +rect -13 10 19 14 +rect -13 9 20 10 +rect -13 -8 -7 9 +rect 10 -8 20 9 +rect -13 -9 20 -8 +rect -13 -12 19 -9 +<< viali >> +rect -7 -8 10 9 +<< metal1 >> +rect -14 14 18 17 +rect -14 -12 -11 14 +rect 15 -12 18 14 +rect -14 -15 18 -12 +<< via1 >> +rect -11 9 15 14 +rect -11 -8 -7 9 +rect -7 -8 10 9 +rect 10 -8 15 9 +rect -11 -12 15 -8 +<< metal2 >> +rect -14 14 17 18 +rect -14 -12 -11 14 +rect 15 -12 17 14 +rect -14 -15 17 -12 +<< end >>
diff --git a/mag/sky130_hilas_m12m2.mag b/mag/sky130_hilas_m12m2.mag new file mode 100644 index 0000000..5adc050 --- /dev/null +++ b/mag/sky130_hilas_m12m2.mag
@@ -0,0 +1,12 @@ +magic +tech sky130A +timestamp 1607949437 +<< metal1 >> +rect -6 19 20 22 +rect -6 -10 20 -7 +<< via1 >> +rect -6 -7 20 19 +<< metal2 >> +rect -9 -7 -6 19 +rect 20 -7 23 19 +<< end >>
diff --git a/mag/sky130_hilas_m22m4.mag b/mag/sky130_hilas_m22m4.mag new file mode 100644 index 0000000..8430aca --- /dev/null +++ b/mag/sky130_hilas_m22m4.mag
@@ -0,0 +1,27 @@ +magic +tech sky130A +timestamp 1607701799 +<< metal2 >> +rect -14 18 23 24 +rect -14 -10 -9 18 +rect 19 -10 23 18 +rect -14 -16 23 -10 +<< via2 >> +rect -9 -10 19 18 +<< metal3 >> +rect -36 27 43 39 +rect -36 -21 -17 27 +rect 26 -21 43 27 +rect -36 -36 43 -21 +<< via3 >> +rect -17 18 26 27 +rect -17 -10 -9 18 +rect -9 -10 19 18 +rect 19 -10 26 18 +rect -17 -21 26 -10 +<< metal4 >> +rect -27 27 39 36 +rect -27 -21 -17 27 +rect 26 -21 39 27 +rect -27 -30 39 -21 +<< end >>
diff --git a/mag/sky130_hilas_mcap2m4.mag b/mag/sky130_hilas_mcap2m4.mag new file mode 100644 index 0000000..8430aca --- /dev/null +++ b/mag/sky130_hilas_mcap2m4.mag
@@ -0,0 +1,27 @@ +magic +tech sky130A +timestamp 1607701799 +<< metal2 >> +rect -14 18 23 24 +rect -14 -10 -9 18 +rect 19 -10 23 18 +rect -14 -16 23 -10 +<< via2 >> +rect -9 -10 19 18 +<< metal3 >> +rect -36 27 43 39 +rect -36 -21 -17 27 +rect 26 -21 43 27 +rect -36 -36 43 -21 +<< via3 >> +rect -17 18 26 27 +rect -17 -10 -9 18 +rect -9 -10 19 18 +rect 19 -10 26 18 +rect -17 -21 26 -10 +<< metal4 >> +rect -27 27 39 36 +rect -27 -21 -17 27 +rect 26 -21 39 27 +rect -27 -30 39 -21 +<< end >>
diff --git a/mag/sky130_hilas_nDiffThOxContact.mag b/mag/sky130_hilas_nDiffThOxContact.mag new file mode 100644 index 0000000..ca3c4b5 --- /dev/null +++ b/mag/sky130_hilas_nDiffThOxContact.mag
@@ -0,0 +1,25 @@ +magic +tech sky130A +timestamp 1608039004 +<< error_p >> +rect -24 41 39 42 +<< mvndiff >> +rect -24 35 39 41 +rect -24 18 -18 35 +rect -1 18 16 35 +rect 33 18 39 35 +rect -24 13 39 18 +<< mvndiffc >> +rect -18 18 -1 35 +rect 16 18 33 35 +<< locali >> +rect -26 18 -18 35 +rect 33 18 41 35 +<< viali >> +rect -1 18 16 35 +<< metal1 >> +rect -12 35 27 38 +rect -12 18 -1 35 +rect 16 18 27 35 +rect -12 15 27 18 +<< end >>
diff --git a/mag/sky130_hilas_nFET03.mag b/mag/sky130_hilas_nFET03.mag new file mode 100644 index 0000000..a5681a9 --- /dev/null +++ b/mag/sky130_hilas_nFET03.mag
@@ -0,0 +1,26 @@ +magic +tech sky130A +timestamp 1607185713 +<< nmos >> +rect 0 -6 27 29 +<< ndiff >> +rect -31 20 0 29 +rect -31 3 -26 20 +rect -6 3 0 20 +rect -31 -6 0 3 +rect 27 20 58 29 +rect 27 3 33 20 +rect 53 3 58 20 +rect 27 -6 58 3 +<< ndiffc >> +rect -26 3 -6 20 +rect 33 3 53 20 +<< poly >> +rect 0 29 27 42 +rect 0 -19 27 -6 +<< locali >> +rect -26 20 -6 28 +rect -26 -5 -6 3 +rect 33 20 53 28 +rect 33 -5 53 3 +<< end >>
diff --git a/mag/sky130_hilas_nFET03a.mag b/mag/sky130_hilas_nFET03a.mag new file mode 100644 index 0000000..2a67a68 --- /dev/null +++ b/mag/sky130_hilas_nFET03a.mag
@@ -0,0 +1,43 @@ +magic +tech sky130A +timestamp 1608056777 +<< nmos >> +rect 0 -6 27 29 +<< ndiff >> +rect -31 20 0 29 +rect -31 3 -26 20 +rect -6 3 0 20 +rect -31 -6 0 3 +rect 27 20 58 29 +rect 27 3 33 20 +rect 53 3 58 20 +rect 27 -6 58 3 +<< ndiffc >> +rect -26 3 -6 20 +rect 33 3 53 20 +<< poly >> +rect 0 29 27 42 +rect 0 -14 27 -6 +rect -92 -29 27 -14 +<< locali >> +rect -26 20 -6 28 +rect -26 -5 -6 3 +rect 33 20 53 28 +rect 33 -5 53 3 +<< metal2 >> +rect -111 2 -51 19 +rect 75 3 97 20 +rect -111 -39 -94 -22 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_0 +timestamp 1607270276 +transform 0 -1 -76 1 0 -38 +box -9 -26 24 29 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -44 0 1 10 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 65 0 1 11 +box -14 -15 20 18 +<< end >>
diff --git a/mag/sky130_hilas_nFETLarge.mag b/mag/sky130_hilas_nFETLarge.mag new file mode 100644 index 0000000..def38ed --- /dev/null +++ b/mag/sky130_hilas_nFETLarge.mag
@@ -0,0 +1,198 @@ +magic +tech sky130A +timestamp 1625426387 +<< psubdiff >> +rect 77 642 117 896 +rect 77 625 88 642 +rect 105 625 117 642 +rect 77 608 117 625 +rect 77 591 88 608 +rect 105 591 117 608 +rect 77 574 117 591 +rect 77 557 88 574 +rect 105 557 117 574 +rect 77 535 117 557 +<< psubdiffcont >> +rect 88 625 105 642 +rect 88 591 105 608 +rect 88 557 105 574 +<< poly >> +rect 126 988 428 1003 +rect 126 725 145 988 +rect 126 710 429 725 +rect 126 523 146 710 +rect 78 513 146 523 +rect 78 496 83 513 +rect 100 496 117 513 +rect 134 496 146 513 +rect 78 479 146 496 +rect 78 462 84 479 +rect 101 462 118 479 +rect 135 462 146 479 +rect 78 447 146 462 +rect 78 445 428 447 +rect 78 428 84 445 +rect 101 428 118 445 +rect 135 430 428 445 +rect 135 428 161 430 +rect 78 423 161 428 +rect 78 420 147 423 +<< polycont >> +rect 83 496 100 513 +rect 117 496 134 513 +rect 84 462 101 479 +rect 118 462 135 479 +rect 84 428 101 445 +rect 118 428 135 445 +<< locali >> +rect 159 700 176 738 +rect 214 700 231 738 +rect 269 700 286 738 +rect 324 700 341 738 +rect 379 700 396 738 +rect 434 700 451 738 +rect 83 513 134 521 +rect 100 496 117 513 +rect 83 495 134 496 +rect 83 488 135 495 +rect 84 479 135 488 +rect 101 462 118 479 +rect 84 445 135 462 +rect 101 428 118 445 +rect 84 420 135 428 +<< viali >> +rect 88 642 105 659 +rect 88 608 105 625 +rect 88 574 105 591 +rect 88 540 105 557 +<< metal1 >> +rect 82 659 110 665 +rect 82 642 88 659 +rect 105 642 110 659 +rect 82 625 110 642 +rect 82 612 88 625 +rect 64 608 88 612 +rect 105 608 110 625 +rect 64 591 110 608 +rect 64 580 88 591 +rect 82 574 88 580 +rect 105 582 110 591 +rect 105 574 111 582 +rect 82 557 111 574 +rect 82 540 88 557 +rect 105 540 111 557 +rect 82 537 111 540 +<< metal2 >> +rect 97 979 403 980 +rect 88 946 403 979 +rect 88 701 120 946 +rect 207 878 501 908 +rect 426 874 501 878 +rect 463 861 501 874 +rect 466 774 501 861 +rect 206 741 501 774 +rect 88 668 404 701 +rect 88 564 120 668 +rect 88 532 404 564 +rect 64 420 124 502 +rect 466 497 501 741 +rect 207 465 501 497 +rect 207 464 478 465 +use sky130_hilas_li2m2 sky130_hilas_li2m2_8 +timestamp 1607089160 +transform 1 0 107 0 1 482 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_7 +timestamp 1607089160 +transform 1 0 108 0 1 435 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_9 +timestamp 1607089160 +transform 1 0 164 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_19 +timestamp 1607089160 +transform 1 0 439 0 1 479 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_17 +timestamp 1607089160 +transform 1 0 329 0 1 478 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_15 +timestamp 1607089160 +transform 1 0 220 0 1 478 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_6 +timestamp 1607089160 +transform 1 0 384 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_10 +timestamp 1607089160 +transform 1 0 274 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 164 0 1 683 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 384 0 1 683 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 274 0 1 683 +box -14 -15 20 18 +use sky130_hilas_nFETLargePart1 sky130_hilas_nFETLargePart1_1 +timestamp 1607983547 +transform 1 0 319 0 1 473 +box -165 -31 137 241 +use sky130_hilas_li2m2 sky130_hilas_li2m2_5 +timestamp 1607089160 +transform 1 0 439 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_4 +timestamp 1607089160 +transform 1 0 220 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 329 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_13 +timestamp 1607089160 +transform 1 0 440 0 1 890 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_12 +timestamp 1607089160 +transform 1 0 329 0 1 891 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_16 +timestamp 1607089160 +transform 1 0 220 0 1 893 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_11 +timestamp 1607089160 +transform 1 0 165 0 1 961 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_18 +timestamp 1607089160 +transform 1 0 384 0 1 960 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_14 +timestamp 1607089160 +transform 1 0 274 0 1 961 +box -14 -15 20 18 +use sky130_hilas_nFETLargePart1 sky130_hilas_nFETLargePart1_0 +timestamp 1607983547 +transform 1 0 319 0 1 751 +box -165 -31 137 241 +<< labels >> +rlabel metal2 486 834 500 908 0 DRAIN +port 3 nsew analog default +rlabel metal2 88 905 102 979 0 SOURCE +port 2 nsew analog default +rlabel metal2 64 420 74 502 0 GATE +port 1 nsew analog default +rlabel metal1 64 580 71 612 0 VGND +port 4 nsew +<< end >>
diff --git a/mag/sky130_hilas_nFETLargePart1.mag b/mag/sky130_hilas_nFETLargePart1.mag new file mode 100644 index 0000000..1d42c22 --- /dev/null +++ b/mag/sky130_hilas_nFETLargePart1.mag
@@ -0,0 +1,24 @@ +magic +tech sky130A +timestamp 1607983547 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_2 +timestamp 1607963611 +transform 1 0 12 0 1 13 +box -12 -44 70 228 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_1 +timestamp 1607963611 +transform 1 0 -43 0 1 13 +box -12 -44 70 228 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_0 +timestamp 1607963611 +transform 1 0 -98 0 1 13 +box -12 -44 70 228 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_4 +timestamp 1607963611 +transform 1 0 -153 0 1 13 +box -12 -44 70 228 +use sky130_hilas_nFETmed sky130_hilas_nFETmed_3 +timestamp 1607963611 +transform 1 0 67 0 1 13 +box -12 -44 70 228 +<< end >>
diff --git a/mag/sky130_hilas_nFETmed.mag b/mag/sky130_hilas_nFETmed.mag new file mode 100644 index 0000000..c088151 --- /dev/null +++ b/mag/sky130_hilas_nFETmed.mag
@@ -0,0 +1,86 @@ +magic +tech sky130A +timestamp 1607963611 +<< nmos >> +rect 16 -31 42 215 +<< ndiff >> +rect -12 206 16 215 +rect -12 189 -7 206 +rect 10 189 16 206 +rect -12 172 16 189 +rect -12 155 -7 172 +rect 10 155 16 172 +rect -12 138 16 155 +rect -12 121 -7 138 +rect 10 121 16 138 +rect -12 104 16 121 +rect -12 87 -7 104 +rect 10 87 16 104 +rect -12 70 16 87 +rect -12 53 -7 70 +rect 10 53 16 70 +rect -12 36 16 53 +rect -12 19 -7 36 +rect 10 19 16 36 +rect -12 2 16 19 +rect -12 -15 -7 2 +rect 10 -15 16 2 +rect -12 -31 16 -15 +rect 42 206 70 215 +rect 42 189 48 206 +rect 65 189 70 206 +rect 42 172 70 189 +rect 42 155 48 172 +rect 65 155 70 172 +rect 42 138 70 155 +rect 42 121 48 138 +rect 65 121 70 138 +rect 42 104 70 121 +rect 42 87 48 104 +rect 65 87 70 104 +rect 42 70 70 87 +rect 42 53 48 70 +rect 65 53 70 70 +rect 42 36 70 53 +rect 42 19 48 36 +rect 65 19 70 36 +rect 42 2 70 19 +rect 42 -15 48 2 +rect 65 -15 70 2 +rect 42 -31 70 -15 +<< ndiffc >> +rect -7 189 10 206 +rect -7 155 10 172 +rect -7 121 10 138 +rect -7 87 10 104 +rect -7 53 10 70 +rect -7 19 10 36 +rect -7 -15 10 2 +rect 48 189 65 206 +rect 48 155 65 172 +rect 48 121 65 138 +rect 48 87 65 104 +rect 48 53 65 70 +rect 48 19 65 36 +rect 48 -15 65 2 +<< poly >> +rect 16 215 42 228 +rect 16 -44 42 -31 +<< locali >> +rect -7 206 10 214 +rect -7 172 10 189 +rect -7 138 10 155 +rect -7 104 10 121 +rect -7 70 10 87 +rect -7 36 10 53 +rect -7 2 10 19 +rect -7 -26 10 -15 +rect 48 206 65 214 +rect 48 172 65 189 +rect 48 138 65 155 +rect 48 104 65 121 +rect 48 70 65 87 +rect 48 36 65 53 +rect 48 2 65 19 +rect 48 -26 65 -15 +<< end >>
diff --git a/mag/sky130_hilas_nFETmirrorPairs.mag b/mag/sky130_hilas_nFETmirrorPairs.mag new file mode 100644 index 0000000..254a2aa --- /dev/null +++ b/mag/sky130_hilas_nFETmirrorPairs.mag
@@ -0,0 +1,133 @@ +magic +tech sky130A +timestamp 1607184666 +<< error_p >> +rect 85 -19 102 -18 +rect 109 -30 110 11 +rect 73 -42 77 -30 +rect 109 -42 114 -30 +rect 109 -58 110 -42 +rect 109 -90 110 -59 +rect 109 -148 110 -119 +<< nmos >> +rect -8 11 25 40 +rect 77 11 110 40 +rect -8 -119 25 -90 +rect 77 -119 110 -90 +<< ndiff >> +rect -8 64 25 68 +rect -8 47 0 64 +rect 17 47 25 64 +rect -8 40 25 47 +rect 77 64 110 68 +rect 77 47 85 64 +rect 102 47 110 64 +rect 77 40 110 47 +rect -8 4 25 11 +rect -8 -13 0 4 +rect 17 -13 25 4 +rect -8 -19 25 -13 +rect -8 -67 25 -60 +rect -8 -84 0 -67 +rect 17 -84 25 -67 +rect -8 -90 25 -84 +rect 77 4 110 11 +rect 77 -13 85 4 +rect 102 -13 110 4 +rect 77 -19 110 -13 +rect 77 -66 110 -59 +rect 77 -83 85 -66 +rect 102 -83 110 -66 +rect 77 -90 110 -83 +rect -8 -126 25 -119 +rect -8 -143 -1 -126 +rect 17 -143 25 -126 +rect -8 -147 25 -143 +rect 77 -125 110 -119 +rect 77 -142 84 -125 +rect 103 -142 110 -125 +rect 77 -148 110 -142 +<< ndiffc >> +rect 0 47 17 64 +rect 85 47 102 64 +rect 0 -13 17 4 +rect 0 -84 17 -67 +rect 85 -13 102 4 +rect 85 -83 102 -66 +rect -1 -143 17 -126 +rect 84 -142 103 -125 +<< psubdiff >> +rect -8 -31 25 -19 +rect -8 -48 0 -31 +rect 17 -48 25 -31 +rect -8 -60 25 -48 +rect 77 -30 110 -19 +rect 77 -47 85 -30 +rect 102 -47 110 -30 +rect 77 -58 110 -47 +rect 77 -59 109 -58 +<< psubdiffcont >> +rect 0 -48 17 -31 +rect 85 -47 102 -30 +<< poly >> +rect -33 11 -8 40 +rect 25 11 38 40 +rect 63 11 77 40 +rect 110 11 133 40 +rect -33 -90 -17 11 +rect 117 -90 133 11 +rect -33 -119 -8 -90 +rect 25 -119 38 -90 +rect 62 -119 77 -90 +rect 110 -119 133 -90 +rect -33 -158 -17 -119 +rect -33 -166 26 -158 +rect 117 -159 133 -119 +rect -33 -183 -1 -166 +rect 17 -183 26 -166 +rect -33 -189 26 -183 +rect 77 -167 133 -159 +rect 77 -184 86 -167 +rect 103 -184 133 -167 +rect 77 -189 133 -184 +<< polycont >> +rect -1 -183 17 -166 +rect 86 -184 103 -167 +<< locali >> +rect -5 64 22 83 +rect 85 65 110 83 +rect 77 64 110 65 +rect -8 47 0 64 +rect 17 47 25 64 +rect 77 47 85 64 +rect 102 47 110 64 +rect -12 -13 0 4 +rect 17 -13 29 4 +rect -12 -20 29 -13 +rect 73 -13 85 4 +rect 102 -13 114 4 +rect 73 -20 114 -13 +rect -12 -30 114 -20 +rect -12 -31 85 -30 +rect -12 -48 0 -31 +rect 17 -47 85 -31 +rect 102 -47 114 -30 +rect 17 -48 114 -47 +rect -12 -58 114 -48 +rect -12 -67 29 -58 +rect -12 -84 0 -67 +rect 17 -84 29 -67 +rect 73 -66 114 -58 +rect 73 -83 85 -66 +rect 102 -83 114 -66 +rect -9 -143 -1 -126 +rect 17 -143 25 -126 +rect 76 -142 84 -125 +rect 103 -142 112 -125 +rect 76 -143 112 -142 +rect -1 -166 17 -143 +rect -1 -192 17 -183 +rect 84 -167 103 -143 +rect 84 -184 86 -167 +rect 84 -192 103 -184 +<< end >>
diff --git a/mag/sky130_hilas_nFETmirrorPairs2.mag b/mag/sky130_hilas_nFETmirrorPairs2.mag new file mode 100644 index 0000000..3e15bbb --- /dev/null +++ b/mag/sky130_hilas_nFETmirrorPairs2.mag
@@ -0,0 +1,234 @@ +magic +tech sky130A +timestamp 1607186163 +<< error_s >> +rect 85 -19 102 -18 +rect 109 -30 110 11 +rect 73 -42 77 -30 +rect 109 -42 114 -30 +rect 109 -58 110 -42 +rect 109 -90 110 -59 +rect 109 -148 110 -119 +<< nwell >> +rect -61 112 158 285 +<< nmos >> +rect -8 11 25 40 +rect 77 11 110 40 +rect -8 -119 25 -90 +rect 77 -119 110 -90 +<< pmos >> +rect -40 164 28 194 +rect 64 164 132 194 +<< ndiff >> +rect -8 64 25 68 +rect -8 47 0 64 +rect 17 47 25 64 +rect -8 40 25 47 +rect 77 64 110 68 +rect 77 47 85 64 +rect 102 47 110 64 +rect 77 40 110 47 +rect -8 4 25 11 +rect -8 -13 0 4 +rect 17 -13 25 4 +rect -8 -19 25 -13 +rect -8 -67 25 -60 +rect -8 -84 0 -67 +rect 17 -84 25 -67 +rect -8 -90 25 -84 +rect 77 4 110 11 +rect 77 -13 85 4 +rect 102 -13 110 4 +rect 77 -19 110 -13 +rect 77 -66 110 -59 +rect 77 -83 85 -66 +rect 102 -83 110 -66 +rect 77 -90 110 -83 +rect -8 -126 25 -119 +rect -8 -143 -1 -126 +rect 17 -143 25 -126 +rect -8 -147 25 -143 +rect 77 -125 110 -119 +rect 77 -142 84 -125 +rect 103 -142 110 -125 +rect 77 -148 110 -142 +<< pdiff >> +rect -40 218 28 224 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 28 218 +rect -40 194 28 201 +rect 64 218 132 224 +rect 64 201 72 218 +rect 90 201 109 218 +rect 128 201 132 218 +rect 64 194 132 201 +rect -40 157 28 164 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 28 157 +rect -40 131 28 140 +rect 64 157 132 164 +rect 64 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect 64 136 132 140 +rect 71 131 132 136 +<< ndiffc >> +rect 0 47 17 64 +rect 85 47 102 64 +rect 0 -13 17 4 +rect 0 -84 17 -67 +rect 85 -13 102 4 +rect 85 -83 102 -66 +rect -1 -143 17 -126 +rect 84 -142 103 -125 +<< pdiffc >> +rect -32 201 -14 218 +rect 4 201 22 218 +rect 72 201 90 218 +rect 109 201 128 218 +rect -32 140 -14 157 +rect 4 140 22 157 +rect 70 140 88 157 +rect 106 140 124 157 +<< psubdiff >> +rect -8 -31 25 -19 +rect -8 -48 0 -31 +rect 17 -48 25 -31 +rect -8 -60 25 -48 +rect 77 -30 110 -19 +rect 77 -47 85 -30 +rect 102 -47 110 -30 +rect 77 -58 110 -47 +rect 77 -59 109 -58 +<< nsubdiff >> +rect -40 253 28 265 +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 28 253 +rect -40 224 28 236 +rect 64 253 132 265 +rect 64 236 72 253 +rect 90 236 109 253 +rect 128 236 132 253 +rect 64 224 132 236 +<< psubdiffcont >> +rect 0 -48 17 -31 +rect 85 -47 102 -30 +<< nsubdiffcont >> +rect -32 236 -14 253 +rect 4 236 22 253 +rect 72 236 90 253 +rect 109 236 128 253 +<< poly >> +rect -53 164 -40 194 +rect 28 164 64 194 +rect 132 164 145 194 +rect 36 120 53 164 +rect 30 112 57 120 +rect 30 95 35 112 +rect 52 95 57 112 +rect 30 87 57 95 +rect -278 23 -251 27 +rect -33 11 -8 40 +rect 25 11 38 40 +rect 63 11 77 40 +rect 110 11 133 40 +rect -33 -90 -17 11 +rect 117 -90 133 11 +rect -33 -119 -8 -90 +rect 25 -119 38 -90 +rect 62 -119 77 -90 +rect 110 -119 133 -90 +rect -278 -123 -251 -120 +rect -33 -158 -17 -119 +rect -33 -166 26 -158 +rect 117 -159 133 -119 +rect -33 -183 -1 -166 +rect 17 -183 26 -166 +rect -33 -189 26 -183 +rect 77 -167 133 -159 +rect 77 -184 86 -167 +rect 103 -184 133 -167 +rect 77 -189 133 -184 +<< polycont >> +rect 35 95 52 112 +rect -1 -183 17 -166 +rect 86 -184 103 -167 +<< locali >> +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 72 253 +rect 90 236 109 253 +rect 128 236 136 253 +rect -40 218 136 236 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 72 218 +rect 90 201 109 218 +rect 128 201 136 218 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 31 157 +rect 62 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect -5 123 31 140 +rect -5 112 60 123 +rect -5 95 35 112 +rect 52 95 60 112 +rect -5 87 60 95 +rect -5 64 22 87 +rect 85 65 110 140 +rect 77 64 110 65 +rect -8 47 0 64 +rect 17 47 25 64 +rect 77 47 85 64 +rect 102 47 110 64 +rect -12 -13 0 4 +rect 17 -13 29 4 +rect -12 -20 29 -13 +rect 73 -13 85 4 +rect 102 -13 114 4 +rect 73 -20 114 -13 +rect -12 -30 114 -20 +rect -12 -31 85 -30 +rect -12 -48 0 -31 +rect 17 -47 85 -31 +rect 102 -47 114 -30 +rect 17 -48 114 -47 +rect -12 -58 114 -48 +rect -12 -67 29 -58 +rect -12 -84 0 -67 +rect 17 -84 29 -67 +rect 73 -66 114 -58 +rect 73 -83 85 -66 +rect 102 -83 114 -66 +rect -9 -143 -1 -126 +rect 17 -143 25 -126 +rect 76 -142 84 -125 +rect 103 -142 112 -125 +rect 76 -143 112 -142 +rect -1 -166 17 -143 +rect -1 -192 17 -183 +rect 84 -167 103 -143 +rect 84 -184 86 -167 +rect 84 -192 103 -184 +use sky130_hilas_nFET03 sky130_hilas_nFET03_3 +timestamp 1607185713 +transform 1 0 -278 0 1 46 +box -31 -19 58 42 +use sky130_hilas_nFET03 sky130_hilas_nFET03_2 +timestamp 1607185713 +transform 1 0 -278 0 1 -19 +box -31 -19 58 42 +use sky130_hilas_nFET03 sky130_hilas_nFET03_1 +timestamp 1607185713 +transform 1 0 -278 0 1 -101 +box -31 -19 58 42 +use sky130_hilas_nFET03 sky130_hilas_nFET03_0 +timestamp 1607185713 +transform 1 0 -278 0 1 -165 +box -31 -19 58 42 +<< end >>
diff --git a/mag/sky130_hilas_nMirror03.mag b/mag/sky130_hilas_nMirror03.mag new file mode 100644 index 0000000..7e484f8 --- /dev/null +++ b/mag/sky130_hilas_nMirror03.mag
@@ -0,0 +1,61 @@ +magic +tech sky130A +timestamp 1607268356 +<< error_s >> +rect 78 67 101 73 +rect 78 50 81 67 +rect 78 44 101 50 +<< psubdiff >> +rect 84 100 125 109 +rect 84 83 96 100 +rect 113 83 125 100 +rect 84 74 125 83 +rect 84 34 125 43 +rect 84 17 96 34 +rect 113 17 125 34 +rect 84 8 125 17 +<< psubdiffcont >> +rect 96 83 113 100 +rect 96 17 113 34 +<< poly >> +rect -46 56 53 66 +rect -46 51 26 56 +rect -46 43 -19 51 +<< locali >> +rect 79 100 114 108 +rect 79 83 96 100 +rect 113 83 114 100 +rect 59 75 78 76 +rect 79 75 114 83 +rect 59 42 114 75 +rect 79 34 114 42 +rect 79 17 96 34 +rect 113 17 114 34 +rect 79 9 114 17 +<< metal2 >> +rect -59 14 -26 35 +use sky130_hilas_nFET03 sky130_hilas_nFET03_1 +timestamp 1607185713 +transform 1 0 26 0 1 80 +box -31 -19 58 42 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -10 0 1 90 +box -14 -15 20 18 +use sky130_hilas_poly2li sky130_hilas_poly2li_0 +timestamp 1607178257 +transform 1 0 -37 0 1 24 +box -9 -14 18 19 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 -15 0 1 25 +box -14 -15 20 18 +use sky130_hilas_nFET03 sky130_hilas_nFET03_0 +timestamp 1607185713 +transform 1 0 26 0 1 14 +box -31 -19 58 42 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 88 0 1 52 +box -10 -8 13 21 +<< end >>
diff --git a/mag/sky130_hilas_nOverlapCap01.mag b/mag/sky130_hilas_nOverlapCap01.mag new file mode 100644 index 0000000..f1353bb --- /dev/null +++ b/mag/sky130_hilas_nOverlapCap01.mag
@@ -0,0 +1,51 @@ +magic +tech sky130A +timestamp 1607262215 +<< error_p >> +rect -12 68 17 86 +rect -12 36 -11 37 +rect 16 36 17 37 +rect -62 7 -44 36 +rect -13 35 18 36 +rect -12 26 17 35 +rect -12 17 -2 26 +rect 7 17 17 26 +rect -12 8 17 17 +rect -13 7 18 8 +rect 49 7 67 36 +rect -12 6 -11 7 +rect 16 6 17 7 +rect -12 -43 17 -25 +<< mvnmos >> +rect -44 36 49 68 +rect -44 7 -12 36 +rect 17 7 49 36 +rect -44 -25 49 7 +<< mvndiff >> +rect -12 30 17 36 +rect -12 13 -6 30 +rect 11 13 17 30 +rect -12 7 17 13 +<< mvndiffc >> +rect -6 13 11 30 +<< poly >> +rect -57 68 62 81 +rect -57 -25 -44 68 +rect 49 -25 62 68 +rect -57 -38 62 -25 +<< locali >> +rect -6 64 11 67 +rect -6 30 11 47 +rect -6 -5 11 13 +<< viali >> +rect -6 47 11 64 +rect -6 -22 11 -5 +<< metal1 >> +rect -9 64 14 86 +rect -9 47 -6 64 +rect 11 47 14 64 +rect -9 -5 14 47 +rect -9 -22 -6 -5 +rect 11 -22 14 -5 +rect -9 -43 14 -22 +<< end >>
diff --git a/mag/sky130_hilas_overlapCap01.mag b/mag/sky130_hilas_overlapCap01.mag new file mode 100644 index 0000000..b3b63df --- /dev/null +++ b/mag/sky130_hilas_overlapCap01.mag
@@ -0,0 +1,163 @@ +magic +tech sky130A +timestamp 1607257541 +<< error_p >> +rect -237 109 -208 137 +rect -158 109 -129 137 +rect -79 109 -50 137 +rect -259 102 -29 109 +rect -259 87 -252 102 +rect -237 96 -208 102 +rect -158 96 -129 102 +rect -79 96 -50 102 +rect -237 87 -236 88 +rect -209 87 -208 88 +rect -158 87 -157 88 +rect -130 87 -129 88 +rect -79 87 -78 88 +rect -51 87 -50 88 +rect -36 87 -29 102 +rect -287 58 -246 87 +rect -238 86 -207 87 +rect -159 86 -128 87 +rect -80 86 -49 87 +rect -237 59 -208 86 +rect -158 59 -129 86 +rect -79 59 -50 86 +rect -238 58 -207 59 +rect -159 58 -128 59 +rect -80 58 -49 59 +rect -42 58 0 87 +rect -259 8 -252 58 +rect -237 57 -236 58 +rect -209 57 -208 58 +rect -158 57 -157 58 +rect -130 57 -129 58 +rect -79 57 -78 58 +rect -51 57 -50 58 +rect -237 8 -236 9 +rect -209 8 -208 9 +rect -158 8 -157 9 +rect -130 8 -129 9 +rect -79 8 -78 9 +rect -51 8 -50 9 +rect -36 8 -29 58 +rect -287 -21 -246 8 +rect -238 7 -207 8 +rect -159 7 -128 8 +rect -80 7 -49 8 +rect -237 -20 -208 7 +rect -158 -20 -129 7 +rect -79 -20 -50 7 +rect -238 -21 -207 -20 +rect -159 -21 -128 -20 +rect -80 -21 -49 -20 +rect -42 -21 0 8 +rect -259 -36 -252 -21 +rect -237 -22 -236 -21 +rect -209 -22 -208 -21 +rect -158 -22 -157 -21 +rect -130 -22 -129 -21 +rect -79 -22 -78 -21 +rect -51 -22 -50 -21 +rect -237 -36 -208 -30 +rect -158 -36 -129 -30 +rect -79 -36 -50 -30 +rect -36 -36 -29 -21 +rect -259 -43 -29 -36 +rect -237 -71 -208 -43 +rect -158 -71 -129 -43 +rect -79 -71 -50 -43 +<< nwell >> +rect -281 -65 -9 131 +<< mvpmos >> +rect -246 87 -42 96 +rect -246 58 -237 87 +rect -208 58 -158 87 +rect -129 58 -79 87 +rect -50 58 -42 87 +rect -246 8 -42 58 +rect -246 -21 -237 8 +rect -208 -21 -158 8 +rect -129 -21 -79 8 +rect -50 -21 -42 8 +rect -246 -30 -42 -21 +<< mvpdiff >> +rect -237 81 -208 87 +rect -237 64 -231 81 +rect -214 64 -208 81 +rect -237 58 -208 64 +rect -158 81 -129 87 +rect -158 64 -152 81 +rect -135 64 -129 81 +rect -158 58 -129 64 +rect -79 81 -50 87 +rect -79 64 -73 81 +rect -56 64 -50 81 +rect -79 58 -50 64 +rect -237 1 -208 8 +rect -237 -15 -231 1 +rect -214 -15 -208 1 +rect -237 -21 -208 -15 +rect -158 1 -129 8 +rect -158 -15 -152 1 +rect -135 -15 -129 1 +rect -158 -21 -129 -15 +rect -79 2 -50 8 +rect -79 -15 -73 2 +rect -56 -15 -50 2 +rect -79 -21 -50 -15 +<< mvpdiffc >> +rect -231 64 -214 81 +rect -152 64 -135 81 +rect -73 64 -56 81 +rect -231 -15 -214 1 +rect -152 -15 -135 1 +rect -73 -15 -56 2 +<< poly >> +rect -252 96 -36 102 +rect -252 -30 -246 96 +rect -42 -30 -36 96 +rect -252 -36 -36 -30 +<< locali >> +rect -241 81 -46 91 +rect -241 64 -231 81 +rect -214 74 -152 81 +rect -214 64 -193 74 +rect -241 57 -193 64 +rect -176 64 -152 74 +rect -135 64 -73 81 +rect -56 64 -46 81 +rect -176 57 -46 64 +rect -241 40 -46 57 +rect -241 23 -193 40 +rect -176 23 -46 40 +rect -241 6 -46 23 +rect -241 1 -193 6 +rect -241 -15 -231 1 +rect -214 -11 -193 1 +rect -176 2 -46 6 +rect -176 1 -73 2 +rect -176 -11 -152 1 +rect -214 -15 -152 -11 +rect -135 -15 -73 1 +rect -56 -15 -46 2 +rect -241 -26 -46 -15 +<< viali >> +rect -193 57 -176 74 +rect -193 23 -176 40 +rect -193 -11 -176 6 +<< metal1 >> +rect -197 74 -171 80 +rect -197 57 -193 74 +rect -176 57 -171 74 +rect -197 40 -171 57 +rect -197 32 -193 40 +rect -198 23 -193 32 +rect -176 23 -171 40 +rect -198 6 -171 23 +rect -198 -11 -193 6 +rect -176 -11 -171 6 +rect -198 -20 -171 -11 +rect -198 -65 -172 -20 +<< end >>
diff --git a/mag/sky130_hilas_overlapCap02.mag b/mag/sky130_hilas_overlapCap02.mag new file mode 100644 index 0000000..f06026d --- /dev/null +++ b/mag/sky130_hilas_overlapCap02.mag
@@ -0,0 +1,108 @@ +magic +tech sky130A +timestamp 1607260043 +<< error_p >> +rect -454 43 -453 44 +rect -426 43 -425 44 +rect -375 43 -374 44 +rect -347 43 -346 44 +rect -296 43 -295 44 +rect -268 43 -267 44 +rect -217 43 -216 44 +rect -189 43 -188 44 +rect -455 42 -454 43 +rect -425 42 -424 43 +rect -376 42 -375 43 +rect -346 42 -345 43 +rect -297 42 -296 43 +rect -267 42 -266 43 +rect -218 42 -217 43 +rect -188 42 -187 43 +rect -455 14 -454 15 +rect -425 14 -424 15 +rect -376 14 -375 15 +rect -346 14 -345 15 +rect -297 14 -296 15 +rect -267 14 -266 15 +rect -218 14 -217 15 +rect -188 14 -187 15 +rect -454 13 -453 14 +rect -426 13 -425 14 +rect -375 13 -374 14 +rect -347 13 -346 14 +rect -296 13 -295 14 +rect -268 13 -267 14 +rect -217 13 -216 14 +rect -189 13 -188 14 +<< nwell >> +rect -537 -69 -105 126 +<< mvpmos >> +rect -504 43 -138 93 +rect -504 14 -454 43 +rect -425 14 -375 43 +rect -346 14 -296 43 +rect -267 14 -217 43 +rect -188 14 -138 43 +rect -504 -36 -138 14 +<< mvpdiff >> +rect -454 37 -425 43 +rect -454 20 -448 37 +rect -431 20 -425 37 +rect -454 14 -425 20 +rect -375 37 -346 43 +rect -375 20 -369 37 +rect -352 20 -346 37 +rect -375 14 -346 20 +rect -296 37 -267 43 +rect -296 20 -290 37 +rect -273 20 -267 37 +rect -296 14 -267 20 +rect -217 37 -188 43 +rect -217 20 -211 37 +rect -194 20 -188 37 +rect -217 14 -188 20 +<< mvpdiffc >> +rect -448 20 -431 37 +rect -369 20 -352 37 +rect -290 20 -273 37 +rect -211 20 -194 37 +<< poly >> +rect -518 93 -124 106 +rect -518 -36 -504 93 +rect -138 -36 -124 93 +rect -518 -50 -124 -36 +<< locali >> +rect -512 71 -132 98 +rect -512 54 -329 71 +rect -312 54 -132 71 +rect -512 37 -132 54 +rect -512 20 -448 37 +rect -431 20 -369 37 +rect -352 36 -290 37 +rect -352 20 -329 36 +rect -512 19 -329 20 +rect -312 20 -290 36 +rect -273 20 -211 37 +rect -194 20 -132 37 +rect -312 19 -132 20 +rect -512 2 -132 19 +rect -512 -15 -329 2 +rect -312 -15 -132 2 +rect -512 -43 -132 -15 +<< viali >> +rect -329 54 -312 71 +rect -329 19 -312 36 +rect -329 -15 -312 2 +<< metal1 >> +rect -333 71 -309 77 +rect -333 54 -329 71 +rect -312 54 -309 71 +rect -333 36 -309 54 +rect -333 19 -329 36 +rect -312 19 -309 36 +rect -333 13 -309 19 +rect -332 2 -309 13 +rect -332 -15 -329 2 +rect -312 -15 -309 2 +rect -332 -52 -309 -15 +<< end >>
diff --git a/mag/sky130_hilas_overlapCap02a.mag b/mag/sky130_hilas_overlapCap02a.mag new file mode 100644 index 0000000..e0a455d --- /dev/null +++ b/mag/sky130_hilas_overlapCap02a.mag
@@ -0,0 +1,121 @@ +magic +tech sky130A +timestamp 1607261501 +<< error_p >> +rect -454 77 -425 93 +rect -375 77 -346 93 +rect -296 77 -267 93 +rect -217 77 -188 93 +rect -454 43 -453 44 +rect -426 43 -425 44 +rect -375 43 -374 44 +rect -347 43 -346 44 +rect -296 43 -295 44 +rect -268 43 -267 44 +rect -217 43 -216 44 +rect -189 43 -188 44 +rect -504 14 -486 43 +rect -455 42 -424 43 +rect -376 42 -345 43 +rect -297 42 -266 43 +rect -218 42 -187 43 +rect -454 35 -425 42 +rect -375 35 -346 42 +rect -296 35 -267 42 +rect -217 35 -188 42 +rect -454 21 -444 35 +rect -197 21 -188 35 +rect -454 15 -425 21 +rect -375 15 -346 21 +rect -296 15 -267 21 +rect -217 15 -188 21 +rect -455 14 -424 15 +rect -376 14 -345 15 +rect -297 14 -266 15 +rect -218 14 -187 15 +rect -155 14 -138 43 +rect -454 13 -453 14 +rect -426 13 -425 14 +rect -375 13 -374 14 +rect -347 13 -346 14 +rect -296 13 -295 14 +rect -268 13 -267 14 +rect -217 13 -216 14 +rect -189 13 -188 14 +rect -454 -36 -425 -21 +rect -375 -36 -346 -21 +rect -296 -36 -267 -21 +rect -217 -36 -188 -21 +<< nwell >> +rect -521 -54 -121 110 +<< mvpmos >> +rect -486 43 -155 77 +rect -486 14 -454 43 +rect -425 14 -375 43 +rect -346 14 -296 43 +rect -267 14 -217 43 +rect -188 14 -155 43 +rect -486 -21 -155 14 +<< mvpdiff >> +rect -454 37 -425 43 +rect -454 20 -448 37 +rect -431 20 -425 37 +rect -454 14 -425 20 +rect -375 37 -346 43 +rect -375 20 -369 37 +rect -352 20 -346 37 +rect -375 14 -346 20 +rect -296 37 -267 43 +rect -296 20 -290 37 +rect -273 20 -267 37 +rect -296 14 -267 20 +rect -217 37 -188 43 +rect -217 20 -211 37 +rect -194 20 -188 37 +rect -217 14 -188 20 +<< mvpdiffc >> +rect -448 20 -431 37 +rect -369 20 -352 37 +rect -290 20 -273 37 +rect -211 20 -194 37 +<< poly >> +rect -502 77 -140 91 +rect -502 -21 -486 77 +rect -155 -21 -140 77 +rect -502 -35 -140 -21 +<< locali >> +rect -486 71 -155 77 +rect -486 54 -329 71 +rect -312 54 -155 71 +rect -486 37 -155 54 +rect -486 20 -448 37 +rect -431 20 -369 37 +rect -352 36 -290 37 +rect -352 20 -329 36 +rect -486 19 -329 20 +rect -312 20 -290 36 +rect -273 20 -211 37 +rect -194 20 -155 37 +rect -312 19 -155 20 +rect -486 2 -155 19 +rect -486 -15 -329 2 +rect -312 -15 -155 2 +rect -486 -21 -155 -15 +<< viali >> +rect -329 54 -312 71 +rect -329 19 -312 36 +rect -329 -15 -312 2 +<< metal1 >> +rect -333 71 -309 77 +rect -333 54 -329 71 +rect -312 54 -309 71 +rect -333 36 -309 54 +rect -333 19 -329 36 +rect -312 19 -309 36 +rect -333 13 -309 19 +rect -332 2 -309 13 +rect -332 -15 -329 2 +rect -312 -13 -309 2 +rect -312 -15 -308 -13 +rect -332 -35 -308 -15 +<< end >>
diff --git a/mag/sky130_hilas_pFETLarge.mag b/mag/sky130_hilas_pFETLarge.mag new file mode 100644 index 0000000..eb71678 --- /dev/null +++ b/mag/sky130_hilas_pFETLarge.mag
@@ -0,0 +1,204 @@ +magic +tech sky130A +timestamp 1608245216 +<< nwell >> +rect 145 728 213 729 +rect 145 725 221 728 +rect 428 725 429 729 +rect 466 437 528 1007 +<< nsubdiff >> +rect 484 970 510 989 +rect 484 953 489 970 +rect 506 953 510 970 +rect 484 936 510 953 +rect 484 919 489 936 +rect 506 919 510 936 +rect 484 907 510 919 +<< nsubdiffcont >> +rect 489 953 506 970 +rect 489 919 506 936 +<< poly >> +rect 126 1001 429 1018 +rect 126 729 145 1001 +rect 126 714 429 729 +rect 126 523 146 714 +rect 78 513 146 523 +rect 78 496 83 513 +rect 100 496 117 513 +rect 134 496 146 513 +rect 78 479 146 496 +rect 78 462 84 479 +rect 101 462 118 479 +rect 135 462 146 479 +rect 78 447 146 462 +rect 78 445 428 447 +rect 78 428 84 445 +rect 101 428 118 445 +rect 135 430 428 445 +rect 135 428 161 430 +rect 78 423 161 428 +rect 78 420 147 423 +<< polycont >> +rect 83 496 100 513 +rect 117 496 134 513 +rect 84 462 101 479 +rect 118 462 135 479 +rect 84 428 101 445 +rect 118 428 135 445 +<< locali >> +rect 489 911 506 919 +rect 160 735 176 738 +rect 160 701 177 735 +rect 215 734 231 738 +rect 215 701 232 734 +rect 270 701 287 741 +rect 325 734 341 738 +rect 380 734 396 738 +rect 435 736 451 738 +rect 325 701 342 734 +rect 380 701 397 734 +rect 435 701 452 736 +rect 160 700 176 701 +rect 215 700 231 701 +rect 270 700 286 701 +rect 325 700 341 701 +rect 380 700 396 701 +rect 435 700 451 701 +rect 83 513 134 521 +rect 100 496 117 513 +rect 83 495 134 496 +rect 83 488 135 495 +rect 84 479 135 488 +rect 101 462 118 479 +rect 84 445 135 462 +rect 101 428 118 445 +rect 84 420 135 428 +<< viali >> +rect 489 970 506 987 +rect 489 936 506 953 +<< metal1 >> +rect 478 998 504 1018 +rect 478 987 509 998 +rect 478 970 489 987 +rect 506 970 509 987 +rect 478 953 509 970 +rect 478 936 489 953 +rect 506 936 509 953 +rect 478 917 509 936 +rect 478 419 504 917 +<< metal2 >> +rect 97 979 403 980 +rect 88 946 403 979 +rect 88 701 120 946 +rect 207 878 501 908 +rect 426 874 501 878 +rect 463 861 501 874 +rect 466 774 501 861 +rect 206 741 501 774 +rect 88 668 404 701 +rect 88 564 120 668 +rect 88 532 404 564 +rect 64 420 124 502 +rect 466 497 501 741 +rect 207 465 501 497 +rect 207 464 478 465 +use sky130_hilas_li2m2 sky130_hilas_li2m2_8 +timestamp 1607089160 +transform 1 0 107 0 1 482 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_7 +timestamp 1607089160 +transform 1 0 108 0 1 435 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_9 +timestamp 1607089160 +transform 1 0 164 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_19 +timestamp 1607089160 +transform 1 0 439 0 1 479 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_17 +timestamp 1607089160 +transform 1 0 329 0 1 478 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_15 +timestamp 1607089160 +transform 1 0 220 0 1 478 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_6 +timestamp 1607089160 +transform 1 0 384 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_10 +timestamp 1607089160 +transform 1 0 274 0 1 546 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 164 0 1 683 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform 1 0 384 0 1 683 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 274 0 1 683 +box -14 -15 20 18 +use sky130_hilas_pFETLargePart1 sky130_hilas_pFETLargePart1_1 +timestamp 1607986851 +transform 1 0 142 0 1 446 +box -6 -9 333 278 +use sky130_hilas_li2m2 sky130_hilas_li2m2_5 +timestamp 1607089160 +transform 1 0 439 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_4 +timestamp 1607089160 +transform 1 0 220 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform 1 0 329 0 1 756 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_13 +timestamp 1607089160 +transform 1 0 440 0 1 890 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_12 +timestamp 1607089160 +transform 1 0 329 0 1 891 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_16 +timestamp 1607089160 +transform 1 0 220 0 1 893 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_11 +timestamp 1607089160 +transform 1 0 165 0 1 961 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_18 +timestamp 1607089160 +transform 1 0 384 0 1 960 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_14 +timestamp 1607089160 +transform 1 0 274 0 1 961 +box -14 -15 20 18 +use sky130_hilas_pFETLargePart1 sky130_hilas_pFETLargePart1_0 +timestamp 1607986851 +transform 1 0 142 0 1 729 +box -6 -9 333 278 +<< labels >> +rlabel metal2 486 834 500 908 0 DRAIN +port 3 nsew analog default +rlabel metal2 88 905 102 979 0 SOURCE +port 2 nsew analog default +rlabel metal2 64 420 74 502 0 GATE +port 1 nsew +rlabel metal1 478 1010 504 1018 0 WELL +port 4 nsew analog default +rlabel metal1 478 419 504 427 0 WELL +port 4 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_pFETLargePart1.mag b/mag/sky130_hilas_pFETLargePart1.mag new file mode 100644 index 0000000..3fefd41 --- /dev/null +++ b/mag/sky130_hilas_pFETLargePart1.mag
@@ -0,0 +1,24 @@ +magic +tech sky130A +timestamp 1607986851 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_2 +timestamp 1607969308 +transform 1 0 12 0 1 13 +box 147 -22 266 265 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_1 +timestamp 1607969308 +transform 1 0 -43 0 1 13 +box 147 -22 266 265 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_0 +timestamp 1607969308 +transform 1 0 -98 0 1 13 +box 147 -22 266 265 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_4 +timestamp 1607969308 +transform 1 0 -153 0 1 13 +box 147 -22 266 265 +use sky130_hilas_pFETmed sky130_hilas_pFETmed_3 +timestamp 1607969308 +transform 1 0 67 0 1 13 +box 147 -22 266 265 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01.mag b/mag/sky130_hilas_pFETdevice01.mag new file mode 100644 index 0000000..e7088f2 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01.mag
@@ -0,0 +1,33 @@ +magic +tech sky130A +timestamp 1607471549 +<< nwell >> +rect -79 -78 82 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -45 9 -18 20 +rect -45 -8 -41 9 +rect -24 -8 -18 9 +rect -45 -19 -18 -8 +rect 21 9 48 20 +rect 21 -8 27 9 +rect 44 -8 48 9 +rect 21 -19 48 -8 +<< pdiffc >> +rect -41 -8 -24 9 +rect 27 -8 44 9 +<< poly >> +rect -79 18 -53 33 +rect -18 20 21 33 +rect -68 -27 -53 18 +rect -18 -27 21 -19 +rect -68 -42 71 -27 +rect 56 -63 71 -42 +rect 56 -78 82 -63 +<< locali >> +rect -41 9 -24 17 +rect -41 -16 -24 -8 +rect 27 9 44 17 +rect 27 -16 44 -8 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01a.mag b/mag/sky130_hilas_pFETdevice01a.mag new file mode 100644 index 0000000..7efe26d --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01a.mag
@@ -0,0 +1,17 @@ +magic +tech sky130A +timestamp 1607477942 +<< nwell >> +rect -80 -42 81 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -46 -19 -18 20 +rect 21 -19 47 20 +<< poly >> +rect -80 18 -54 33 +rect -18 20 21 33 +rect -69 -27 -54 18 +rect -18 -27 21 -19 +rect -69 -42 71 -27 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01aa.mag b/mag/sky130_hilas_pFETdevice01aa.mag new file mode 100644 index 0000000..8f0f1d1 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01aa.mag
@@ -0,0 +1,19 @@ +magic +tech sky130A +timestamp 1607478455 +<< nwell >> +rect -80 -78 81 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -46 -19 -18 20 +rect 21 -19 47 20 +<< poly >> +rect -80 18 -54 33 +rect -18 20 21 33 +rect -69 -27 -54 18 +rect -18 -27 21 -19 +rect -69 -42 71 -27 +rect 56 -63 71 -42 +rect 56 -78 92 -63 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01b.mag b/mag/sky130_hilas_pFETdevice01b.mag new file mode 100644 index 0000000..34eb406 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01b.mag
@@ -0,0 +1,23 @@ +magic +tech sky130A +timestamp 1607475333 +<< nwell >> +rect -79 -78 82 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -45 -19 -18 20 +rect 21 -19 48 20 +<< poly >> +rect -18 20 21 33 +rect -18 -27 21 -19 +rect -18 -42 71 -27 +rect 56 -63 71 -42 +rect 56 -78 108 -63 +rect 80 -79 85 -78 +rect 93 -90 108 -78 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 81 0 1 -88 +box -9 -26 24 25 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01ba.mag b/mag/sky130_hilas_pFETdevice01ba.mag new file mode 100644 index 0000000..34eb406 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01ba.mag
@@ -0,0 +1,23 @@ +magic +tech sky130A +timestamp 1607475333 +<< nwell >> +rect -79 -78 82 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -45 -19 -18 20 +rect 21 -19 48 20 +<< poly >> +rect -18 20 21 33 +rect -18 -27 21 -19 +rect -18 -42 71 -27 +rect 56 -63 71 -42 +rect 56 -78 108 -63 +rect 80 -79 85 -78 +rect 93 -90 108 -78 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 81 0 1 -88 +box -9 -26 24 25 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01c.mag b/mag/sky130_hilas_pFETdevice01c.mag new file mode 100644 index 0000000..34eb406 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01c.mag
@@ -0,0 +1,23 @@ +magic +tech sky130A +timestamp 1607475333 +<< nwell >> +rect -79 -78 82 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -45 -19 -18 20 +rect 21 -19 48 20 +<< poly >> +rect -18 20 21 33 +rect -18 -27 21 -19 +rect -18 -42 71 -27 +rect 56 -63 71 -42 +rect 56 -78 108 -63 +rect 80 -79 85 -78 +rect 93 -90 108 -78 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 81 0 1 -88 +box -9 -26 24 25 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01d.mag b/mag/sky130_hilas_pFETdevice01d.mag new file mode 100644 index 0000000..8ae205d --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01d.mag
@@ -0,0 +1,39 @@ +magic +tech sky130A +timestamp 1607475773 +<< nwell >> +rect -79 -78 82 43 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -45 9 -18 20 +rect -45 -8 -41 9 +rect -24 -8 -18 9 +rect -45 -19 -18 -8 +rect 21 9 48 20 +rect 21 -8 27 9 +rect 44 -8 48 9 +rect 21 -19 48 -8 +<< pdiffc >> +rect -41 -8 -24 9 +rect 27 -8 44 9 +<< poly >> +rect -18 20 21 33 +rect -18 -27 21 -19 +rect -18 -42 72 -27 +rect 56 -76 72 -42 +rect 57 -84 59 -76 +<< locali >> +rect -41 9 -24 17 +rect -41 -16 -24 -8 +rect 27 9 44 17 +rect 27 -16 44 -8 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_2 +timestamp 1607270135 +transform 1 0 68 0 -1 -77 +box -9 -26 24 25 +use sky130_hilas_poly2m1 sky130_hilas_poly2m1_0 +timestamp 1607270135 +transform 1 0 -83 0 1 7 +box -9 -26 24 25 +<< end >>
diff --git a/mag/sky130_hilas_pFETdevice01e.mag b/mag/sky130_hilas_pFETdevice01e.mag new file mode 100644 index 0000000..df415c4 --- /dev/null +++ b/mag/sky130_hilas_pFETdevice01e.mag
@@ -0,0 +1,47 @@ +magic +tech sky130A +timestamp 1608055794 +<< nwell >> +rect -121 -55 82 44 +<< pmos >> +rect -18 -19 21 20 +<< pdiff >> +rect -46 9 -18 20 +rect -46 -8 -41 9 +rect -24 -8 -18 9 +rect -46 -19 -18 -8 +rect 21 9 48 20 +rect 21 -8 27 9 +rect 44 -8 48 9 +rect 21 -19 48 -8 +<< pdiffc >> +rect -41 -8 -24 9 +rect 27 -8 44 9 +<< poly >> +rect -18 20 21 33 +rect -80 -27 -54 -19 +rect -18 -27 21 -19 +rect -80 -42 21 -27 +<< locali >> +rect -55 9 -24 17 +rect -55 -1 -41 9 +rect -57 -3 -41 -1 +rect -41 -16 -24 -8 +rect 27 9 44 17 +rect 27 -16 44 -8 +<< metal2 >> +rect -121 -3 -84 16 +rect -121 -45 -83 -26 +use sky130_hilas_poly2m2 sky130_hilas_poly2m2_0 +timestamp 1607270276 +transform 0 1 -84 -1 0 -28 +box -9 -26 24 29 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 -73 0 1 9 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 57 0 1 -1 +box -14 -15 20 18 +<< end >>
diff --git a/mag/sky130_hilas_pFETmed.mag b/mag/sky130_hilas_pFETmed.mag new file mode 100644 index 0000000..cbeba70 --- /dev/null +++ b/mag/sky130_hilas_pFETmed.mag
@@ -0,0 +1,88 @@ +magic +tech sky130A +timestamp 1607969308 +<< nwell >> +rect 147 -22 266 265 +<< pmos >> +rect 194 -4 220 247 +<< pdiff >> +rect 165 223 194 247 +rect 165 206 171 223 +rect 188 206 194 223 +rect 165 189 194 206 +rect 165 172 171 189 +rect 188 172 194 189 +rect 165 155 194 172 +rect 165 138 171 155 +rect 188 138 194 155 +rect 165 121 194 138 +rect 165 104 171 121 +rect 188 104 194 121 +rect 165 87 194 104 +rect 165 70 171 87 +rect 188 70 194 87 +rect 165 53 194 70 +rect 165 36 171 53 +rect 188 36 194 53 +rect 165 19 194 36 +rect 165 2 171 19 +rect 188 2 194 19 +rect 165 -4 194 2 +rect 220 223 248 247 +rect 220 206 226 223 +rect 243 206 248 223 +rect 220 189 248 206 +rect 220 172 226 189 +rect 243 172 248 189 +rect 220 155 248 172 +rect 220 138 226 155 +rect 243 138 248 155 +rect 220 121 248 138 +rect 220 104 226 121 +rect 243 104 248 121 +rect 220 87 248 104 +rect 220 70 226 87 +rect 243 70 248 87 +rect 220 53 248 70 +rect 220 36 226 53 +rect 243 36 248 53 +rect 220 19 248 36 +rect 220 2 226 19 +rect 243 2 248 19 +rect 220 -4 248 2 +<< pdiffc >> +rect 171 206 188 223 +rect 171 172 188 189 +rect 171 138 188 155 +rect 171 104 188 121 +rect 171 70 188 87 +rect 171 36 188 53 +rect 171 2 188 19 +rect 226 206 243 223 +rect 226 172 243 189 +rect 226 138 243 155 +rect 226 104 243 121 +rect 226 70 243 87 +rect 226 36 243 53 +rect 226 2 243 19 +<< poly >> +rect 194 247 220 260 +rect 194 -17 220 -4 +<< locali >> +rect 171 223 188 242 +rect 171 189 188 206 +rect 171 155 188 172 +rect 171 121 188 138 +rect 171 87 188 104 +rect 171 53 188 70 +rect 171 19 188 36 +rect 171 -7 188 2 +rect 226 223 243 242 +rect 226 189 243 206 +rect 226 155 243 172 +rect 226 121 243 138 +rect 226 87 243 104 +rect 226 53 243 70 +rect 226 19 243 36 +rect 226 -8 243 2 +<< end >>
diff --git a/mag/sky130_hilas_pFETmirror.mag b/mag/sky130_hilas_pFETmirror.mag new file mode 100644 index 0000000..1f01d25 --- /dev/null +++ b/mag/sky130_hilas_pFETmirror.mag
@@ -0,0 +1,92 @@ +magic +tech sky130A +timestamp 1607184666 +<< nwell >> +rect -61 112 158 285 +<< pmos >> +rect -40 164 28 194 +rect 64 164 132 194 +<< pdiff >> +rect -40 218 28 224 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 28 218 +rect -40 194 28 201 +rect 64 218 132 224 +rect 64 201 72 218 +rect 90 201 109 218 +rect 128 201 132 218 +rect 64 194 132 201 +rect -40 157 28 164 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 28 157 +rect -40 131 28 140 +rect 64 157 132 164 +rect 64 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect 64 136 132 140 +rect 71 131 132 136 +<< pdiffc >> +rect -32 201 -14 218 +rect 4 201 22 218 +rect 72 201 90 218 +rect 109 201 128 218 +rect -32 140 -14 157 +rect 4 140 22 157 +rect 70 140 88 157 +rect 106 140 124 157 +<< nsubdiff >> +rect -40 253 28 265 +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 28 253 +rect -40 224 28 236 +rect 64 253 132 265 +rect 64 236 72 253 +rect 90 236 109 253 +rect 128 236 132 253 +rect 64 224 132 236 +<< nsubdiffcont >> +rect -32 236 -14 253 +rect 4 236 22 253 +rect 72 236 90 253 +rect 109 236 128 253 +<< poly >> +rect -53 164 -40 194 +rect 28 164 64 194 +rect 132 164 145 194 +rect 36 120 53 164 +rect 30 112 57 120 +rect 30 95 35 112 +rect 52 95 57 112 +rect 30 87 57 95 +<< polycont >> +rect 35 95 52 112 +<< locali >> +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 72 253 +rect 90 236 109 253 +rect 128 236 136 253 +rect -40 218 136 236 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 72 218 +rect 90 201 109 218 +rect 128 201 136 218 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 31 157 +rect 62 140 70 157 +rect 88 140 106 157 +rect 124 140 132 157 +rect -5 123 31 140 +rect -5 112 60 123 +rect -5 95 35 112 +rect 52 95 60 112 +rect -5 87 60 95 +rect -5 82 22 87 +rect 85 82 110 140 +<< end >>
diff --git a/mag/sky130_hilas_pFETmirror02.mag b/mag/sky130_hilas_pFETmirror02.mag new file mode 100644 index 0000000..2c8ef09 --- /dev/null +++ b/mag/sky130_hilas_pFETmirror02.mag
@@ -0,0 +1,79 @@ +magic +tech sky130A +timestamp 1607207238 +<< nwell >> +rect -61 89 67 373 +<< pmos >> +rect -40 295 28 325 +rect -40 164 28 194 +<< pdiff >> +rect -40 349 28 354 +rect -40 331 -33 349 +rect -15 331 3 349 +rect 21 331 28 349 +rect -40 325 28 331 +rect -40 289 28 295 +rect -40 271 -32 289 +rect -15 271 4 289 +rect 22 271 28 289 +rect -40 265 28 271 +rect -40 218 28 224 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 28 218 +rect -40 194 28 201 +rect -40 157 28 164 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 28 157 +rect -40 131 28 140 +<< pdiffc >> +rect -33 331 -15 349 +rect 3 331 21 349 +rect -32 271 -15 289 +rect 4 271 22 289 +rect -32 201 -14 218 +rect 4 201 22 218 +rect -32 140 -14 157 +rect 4 140 22 157 +<< nsubdiff >> +rect -40 253 28 265 +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 28 253 +rect -40 224 28 236 +<< nsubdiffcont >> +rect -32 236 -14 253 +rect 4 236 22 253 +<< poly >> +rect -53 295 -40 325 +rect 28 295 53 325 +rect 36 194 53 295 +rect -53 164 -40 194 +rect 28 164 53 194 +rect 36 112 53 164 +<< locali >> +rect -41 331 -33 349 +rect -15 331 3 349 +rect 21 331 29 349 +rect -40 271 -32 289 +rect -15 271 4 289 +rect 22 271 30 289 +rect -40 253 30 271 +rect -40 236 -32 253 +rect -14 236 4 253 +rect 22 236 30 253 +rect -40 218 30 236 +rect -40 201 -32 218 +rect -14 201 4 218 +rect 22 201 30 218 +rect -40 140 -32 157 +rect -14 140 4 157 +rect 22 140 31 157 +rect -5 112 31 140 +rect -5 95 28 112 +use sky130_hilas_poly2li sky130_hilas_poly2li_0 +timestamp 1607178257 +transform 0 1 34 -1 0 108 +box -9 -14 18 19 +<< end >>
diff --git a/mag/sky130_hilas_pTransistorPair.mag b/mag/sky130_hilas_pTransistorPair.mag new file mode 100644 index 0000000..bf0b1f9 --- /dev/null +++ b/mag/sky130_hilas_pTransistorPair.mag
@@ -0,0 +1,67 @@ +magic +tech sky130A +timestamp 1608384750 +<< nwell >> +rect 133 -140 319 -133 +rect 267 -169 312 -146 +<< poly >> +rect 225 -104 248 -100 +rect 227 -407 248 -406 +<< locali >> +rect 279 -70 301 -61 +rect 279 -78 287 -70 +rect 174 -192 192 -86 +rect 247 -133 252 -120 +rect 235 -146 252 -133 +rect 272 -352 279 -350 +rect 272 -366 280 -352 +rect 249 -435 256 -409 +<< metal1 >> +rect 283 -265 304 -88 +<< metal2 >> +rect 225 -169 312 -146 +rect 225 -170 268 -169 +rect 273 -249 320 -224 +rect 255 -352 310 -327 +rect 201 -438 289 -413 +use sky130_hilas_m12m2 sky130_hilas_m12m2_0 +timestamp 1607949437 +transform 1 0 287 0 1 -244 +box -9 -10 23 22 +use sky130_hilas_li2m2 sky130_hilas_li2m2_2 +timestamp 1607089160 +transform -1 0 290 0 -1 -338 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_1 +timestamp 1607089160 +transform 1 0 248 0 1 -159 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_3 +timestamp 1607089160 +transform -1 0 275 0 -1 -421 +box -14 -15 20 18 +use sky130_hilas_li2m2 sky130_hilas_li2m2_0 +timestamp 1607089160 +transform 1 0 175 0 1 -287 +box -14 -15 20 18 +use sky130_hilas_pTransistorVert01 sky130_hilas_pTransistorVert01_1 +timestamp 1607343381 +transform 1 0 496 0 1 5 +box -363 -444 -177 -145 +use sky130_hilas_poly2li sky130_hilas_poly2li_1 +timestamp 1607178257 +transform 1 0 236 0 1 -426 +box -9 -14 18 19 +use sky130_hilas_poly2li sky130_hilas_poly2li_0 +timestamp 1607178257 +transform 1 0 234 0 1 -123 +box -9 -14 18 19 +use sky130_hilas_li2m1 sky130_hilas_li2m1_0 +timestamp 1607179295 +transform 1 0 291 0 1 -85 +box -10 -8 13 21 +use sky130_hilas_pTransistorVert01 sky130_hilas_pTransistorVert01_0 +timestamp 1607343381 +transform 1 0 496 0 1 310 +box -363 -444 -177 -145 +<< end >>
diff --git a/mag/sky130_hilas_pTransistorVert01.mag b/mag/sky130_hilas_pTransistorVert01.mag new file mode 100644 index 0000000..ee68066 --- /dev/null +++ b/mag/sky130_hilas_pTransistorVert01.mag
@@ -0,0 +1,85 @@ +magic +tech sky130A +timestamp 1607343381 +<< nwell >> +rect -363 -444 -177 -145 +<< mvpmos >> +rect -298 -396 -248 -193 +<< mvpdiff >> +rect -329 -200 -298 -193 +rect -329 -217 -322 -200 +rect -305 -217 -298 -200 +rect -329 -234 -298 -217 +rect -329 -251 -322 -234 +rect -305 -251 -298 -234 +rect -329 -268 -298 -251 +rect -329 -285 -322 -268 +rect -305 -285 -298 -268 +rect -329 -302 -298 -285 +rect -329 -319 -322 -302 +rect -305 -319 -298 -302 +rect -329 -336 -298 -319 +rect -329 -353 -322 -336 +rect -305 -353 -298 -336 +rect -329 -370 -298 -353 +rect -329 -387 -322 -370 +rect -305 -387 -298 -370 +rect -329 -396 -298 -387 +rect -248 -201 -210 -193 +rect -248 -218 -241 -201 +rect -224 -218 -210 -201 +rect -248 -235 -210 -218 +rect -248 -252 -241 -235 +rect -224 -252 -210 -235 +rect -248 -269 -210 -252 +rect -248 -286 -241 -269 +rect -224 -286 -210 -269 +rect -248 -303 -210 -286 +rect -248 -320 -241 -303 +rect -224 -320 -210 -303 +rect -248 -337 -210 -320 +rect -248 -354 -241 -337 +rect -224 -354 -210 -337 +rect -248 -371 -210 -354 +rect -248 -388 -241 -371 +rect -224 -388 -210 -371 +rect -248 -396 -210 -388 +<< mvpdiffc >> +rect -322 -217 -305 -200 +rect -322 -251 -305 -234 +rect -322 -285 -305 -268 +rect -322 -319 -305 -302 +rect -322 -353 -305 -336 +rect -322 -387 -305 -370 +rect -241 -218 -224 -201 +rect -241 -252 -224 -235 +rect -241 -286 -224 -269 +rect -241 -320 -224 -303 +rect -241 -354 -224 -337 +rect -241 -388 -224 -371 +<< poly >> +rect -298 -193 -248 -175 +rect -298 -411 -248 -396 +<< locali >> +rect -322 -200 -304 -192 +rect -305 -217 -304 -200 +rect -322 -234 -304 -217 +rect -305 -251 -304 -234 +rect -322 -268 -304 -251 +rect -305 -285 -304 -268 +rect -322 -302 -304 -285 +rect -305 -319 -304 -302 +rect -322 -336 -304 -319 +rect -305 -353 -304 -336 +rect -322 -370 -304 -353 +rect -305 -387 -304 -370 +rect -241 -201 -224 -193 +rect -241 -235 -224 -218 +rect -241 -269 -224 -252 +rect -241 -303 -224 -286 +rect -241 -337 -224 -320 +rect -241 -371 -224 -354 +rect -322 -397 -304 -387 +rect -249 -388 -241 -371 +rect -224 -388 -216 -371 +<< end >>
diff --git a/mag/sky130_hilas_poly2li.mag b/mag/sky130_hilas_poly2li.mag new file mode 100644 index 0000000..d45feba --- /dev/null +++ b/mag/sky130_hilas_poly2li.mag
@@ -0,0 +1,14 @@ +magic +tech sky130A +timestamp 1607178257 +<< poly >> +rect -9 11 18 19 +rect -9 -6 -4 11 +rect 13 -6 18 11 +rect -9 -14 18 -6 +<< polycont >> +rect -4 -6 13 11 +<< locali >> +rect -4 11 13 19 +rect -4 -14 13 -6 +<< end >>
diff --git a/mag/sky130_hilas_poly2m1.mag b/mag/sky130_hilas_poly2m1.mag new file mode 100644 index 0000000..fdae0be --- /dev/null +++ b/mag/sky130_hilas_poly2m1.mag
@@ -0,0 +1,26 @@ +magic +tech sky130A +timestamp 1607270135 +<< poly >> +rect -9 17 24 25 +rect -9 0 -1 17 +rect 16 0 24 17 +rect -9 -8 24 0 +<< polycont >> +rect -1 0 16 17 +<< locali >> +rect -3 17 18 25 +rect -3 0 -1 17 +rect 16 0 18 17 +rect -3 -3 18 0 +rect -3 -18 -1 -3 +rect 16 -18 18 -3 +<< viali >> +rect -1 -20 16 -3 +<< metal1 >> +rect -3 3 19 25 +rect -4 -3 19 3 +rect -4 -20 -1 -3 +rect 16 -20 19 -3 +rect -4 -26 19 -20 +<< end >>
diff --git a/mag/sky130_hilas_poly2m2.mag b/mag/sky130_hilas_poly2m2.mag new file mode 100644 index 0000000..c2abe28 --- /dev/null +++ b/mag/sky130_hilas_poly2m2.mag
@@ -0,0 +1,35 @@ +magic +tech sky130A +timestamp 1607270276 +<< poly >> +rect -9 17 24 25 +rect -9 0 -1 17 +rect 16 0 24 17 +rect -9 -8 24 0 +<< polycont >> +rect -1 0 16 17 +<< locali >> +rect -3 17 18 25 +rect -3 0 -1 17 +rect 16 0 18 17 +rect -3 -3 18 0 +rect -3 -18 -1 -3 +rect 16 -18 18 -3 +<< viali >> +rect -1 -20 16 -3 +<< metal1 >> +rect -8 26 24 29 +rect -8 0 -5 26 +rect 21 0 24 26 +rect -8 -3 24 0 +rect -4 -20 -1 -3 +rect 16 -20 19 -3 +rect -4 -26 19 -20 +<< via1 >> +rect -5 0 21 26 +<< metal2 >> +rect -8 26 24 29 +rect -8 0 -5 26 +rect 21 0 24 26 +rect -8 -3 24 0 +<< end >>
diff --git a/mag/sky130_hilas_polyresistorGND.mag b/mag/sky130_hilas_polyresistorGND.mag new file mode 100644 index 0000000..4e6daa9 --- /dev/null +++ b/mag/sky130_hilas_polyresistorGND.mag
@@ -0,0 +1,234 @@ +magic +tech sky130A +timestamp 1626558701 +<< psubdiff >> +rect -2715 816 2607 820 +rect -2715 799 -2677 816 +rect 2586 799 2607 816 +rect -2715 796 2607 799 +rect -2715 793 -2691 796 +rect -2715 33 -2711 793 +rect -2694 33 -2691 793 +rect 2742 794 2766 820 +rect -2715 17 -2691 33 +rect 2742 85 2746 794 +rect 2763 85 2766 794 +rect 2742 65 2766 85 +<< psubdiffcont >> +rect -2677 799 2586 816 +rect -2711 33 -2694 793 +rect 2746 85 2763 794 +<< poly >> +rect -642 959 -593 968 +rect -642 942 -632 959 +rect -615 942 -593 959 +rect -642 925 -593 942 +rect -642 908 -632 925 +rect -615 908 -593 925 +rect -642 891 -593 908 +rect -642 874 -632 891 +rect -615 874 -593 891 +rect -642 857 -593 874 +rect -642 840 -632 857 +rect -615 840 -593 857 +rect -642 833 -593 840 +rect 5 963 70 968 +rect 5 946 43 963 +rect 60 946 70 963 +rect 5 929 70 946 +rect 5 912 43 929 +rect 60 912 70 929 +rect 5 895 70 912 +rect 5 878 43 895 +rect 60 878 70 895 +rect 5 861 70 878 +rect 5 844 43 861 +rect 60 844 70 861 +rect 5 833 70 844 +rect 2621 812 2727 818 +rect 2621 795 2630 812 +rect 2718 795 2727 812 +rect 2621 788 2727 795 +rect -2682 772 2727 788 +rect -2682 746 -2666 772 +rect 2621 771 2727 772 +rect -2682 730 2730 746 +rect -2682 704 -2666 705 +rect 2714 704 2730 730 +rect -2682 688 2730 704 +rect -2682 665 -2666 688 +rect -2682 649 2730 665 +rect 2714 624 2730 649 +rect -2682 608 2730 624 +rect -2682 586 -2666 608 +rect -2682 570 2730 586 +rect -2682 547 -2666 548 +rect 2714 547 2730 570 +rect -2682 531 2730 547 +rect -2682 507 -2666 531 +rect -2682 491 2730 507 +rect -2682 469 -2666 470 +rect 2714 469 2730 491 +rect -2682 453 2730 469 +rect -2682 427 -2666 453 +rect -2682 411 2730 427 +rect 2714 386 2730 411 +rect -2682 370 2730 386 +rect -2682 349 -2667 370 +rect -2682 333 2730 349 +rect 2714 311 2730 333 +rect -2682 295 2730 311 +rect -2682 273 -2666 295 +rect -2682 257 2730 273 +rect 2714 234 2730 257 +rect -2682 218 2730 234 +rect -2682 196 -2666 218 +rect -2682 180 2730 196 +rect 2714 158 2730 180 +rect -2680 142 2730 158 +rect -2680 121 -2664 142 +rect -2680 105 2731 121 +rect 2715 84 2731 105 +rect -2677 68 2731 84 +rect -2677 46 -2661 68 +rect -2677 30 2730 46 +rect 2714 7 2730 30 +rect -62 -1 2730 7 +rect -67 -18 -50 -1 +rect -33 -18 -16 -1 +rect 1 -18 18 -1 +rect 35 -18 52 -1 +rect 69 -18 86 -1 +rect 103 -18 120 -1 +rect 137 -9 2730 -1 +rect 137 -18 174 -9 +rect -62 -27 174 -18 +<< polycont >> +rect -632 942 -615 959 +rect -632 908 -615 925 +rect -632 874 -615 891 +rect -632 840 -615 857 +rect 43 946 60 963 +rect 43 912 60 929 +rect 43 878 60 895 +rect 43 844 60 861 +rect 2630 795 2718 812 +rect -50 -18 -33 -1 +rect -16 -18 1 -1 +rect 18 -18 35 -1 +rect 52 -18 69 -1 +rect 86 -18 103 -1 +rect 120 -18 137 -1 +<< npolyres >> +rect -593 832 5 968 +<< locali >> +rect -635 959 -613 967 +rect -635 855 -632 959 +rect -640 840 -632 855 +rect -615 855 -613 959 +rect 39 963 63 971 +rect -615 840 -607 855 +rect -640 836 -607 840 +rect 39 844 43 963 +rect 60 844 63 963 +rect 39 836 63 844 +rect -2711 799 -2677 816 +rect 2586 812 2763 816 +rect 2586 799 2630 812 +rect -2711 795 2630 799 +rect -2711 793 -2677 795 +rect -2694 778 -2677 793 +rect -287 789 601 795 +rect -287 778 -277 789 +rect -2694 776 -277 778 +rect 592 778 601 789 +rect 2718 794 2763 812 +rect 2718 778 2746 794 +rect 592 776 2746 778 +rect 2746 68 2763 85 +rect -2711 16 -2694 33 +<< viali >> +rect -632 925 -615 942 +rect -632 891 -615 908 +rect -632 857 -615 874 +rect 43 929 60 946 +rect 43 895 60 912 +rect 43 861 60 878 +rect -2677 778 -287 795 +rect 601 778 2718 795 +rect -67 -18 -50 -1 +rect -33 -18 -16 -1 +rect 1 -18 18 -1 +rect 35 -18 52 -1 +rect 69 -18 86 -1 +rect 103 -18 120 -1 +rect 137 -18 154 -1 +<< metal1 >> +rect -643 968 -402 1032 +rect -641 942 -600 968 +rect -641 925 -632 942 +rect -615 925 -600 942 +rect -641 908 -600 925 +rect -641 891 -632 908 +rect -615 891 -600 908 +rect -641 874 -600 891 +rect 32 946 73 979 +rect 32 929 43 946 +rect 60 929 73 946 +rect 32 912 73 929 +rect 32 895 43 912 +rect 60 895 73 912 +rect 32 878 73 895 +rect 32 875 43 878 +rect -641 857 -632 874 +rect -615 857 -600 874 +rect -641 833 -600 857 +rect -62 861 43 875 +rect 60 875 73 878 +rect 60 861 174 875 +rect -2716 814 -279 816 +rect -2722 810 -279 814 +rect -2722 795 -2667 810 +rect -2722 778 -2677 795 +rect -287 778 -279 810 +rect -2722 775 -279 778 +rect -2722 -50 -2681 775 +rect -62 25 174 861 +rect 601 815 2630 816 +rect 595 814 2630 815 +rect 595 810 2724 814 +rect 595 778 601 810 +rect 2687 795 2724 810 +rect 2718 778 2724 795 +rect 595 776 2724 778 +rect 595 775 2721 776 +rect -74 -1 174 25 +rect -74 -18 -67 -1 +rect -50 -18 -33 -1 +rect -16 -18 1 -1 +rect 18 -18 35 -1 +rect 52 -18 69 -1 +rect 86 -18 103 -1 +rect 120 -18 137 -1 +rect 154 -18 174 -1 +rect -74 -57 174 -18 +<< via1 >> +rect -2667 795 -287 810 +rect -2667 784 -287 795 +rect 601 795 2687 810 +rect 601 784 2687 795 +<< metal2 >> +rect -2749 810 2798 820 +rect -2749 784 -2667 810 +rect -287 784 601 810 +rect 2687 784 2798 810 +rect -2749 681 2798 784 +rect -2749 51 2798 191 +<< labels >> +rlabel metal1 -642 983 -404 1022 0 INPUT +port 2 nsew +rlabel metal1 -74 -57 174 -30 0 OUTPUT +port 3 nsew +rlabel metal1 -2722 -50 -2681 -39 0 VGND +port 4 nsew +<< end >>
diff --git a/mag/sky130_hilas_polyresistorGND.spice b/mag/sky130_hilas_polyresistorGND.spice new file mode 100644 index 0000000..d09cea3 --- /dev/null +++ b/mag/sky130_hilas_polyresistorGND.spice
@@ -0,0 +1,8 @@ +* SPICE3 file created from sky130_hilas_polyresistorGND.ext - technology: sky130A + +.option scale=10000u + +.subckt sky130_hilas_polyresistorGND INPUT VGND +R0 INPUT VGND mrp1 w=135 l=599 +C0 m2_n2749_51# VGND 11.38fF **FLOATING +.ends
diff --git a/mag/sky130_hilas_resistor01.mag b/mag/sky130_hilas_resistor01.mag new file mode 100644 index 0000000..f369d0a --- /dev/null +++ b/mag/sky130_hilas_resistor01.mag
@@ -0,0 +1,55 @@ +magic +tech sky130A +timestamp 1626535775 +<< psubdiff >> +rect -131 148 491 156 +rect -131 131 -116 148 +rect -99 131 491 148 +rect -131 124 491 131 +<< psubdiffcont >> +rect -116 131 -99 148 +<< poly >> +rect -119 193 -75 206 +rect -119 176 -106 193 +rect -89 176 -75 193 +rect -119 164 -75 176 +rect 438 195 484 206 +rect 438 178 453 195 +rect 470 178 487 195 +rect 438 164 484 178 +<< polycont >> +rect -106 176 -89 193 +rect 453 178 470 195 +<< npolyres >> +rect -75 164 438 206 +<< locali >> +rect -89 176 -81 193 +rect 445 178 453 195 +rect 445 176 487 178 +rect -127 131 -116 148 +<< viali >> +rect -123 176 -106 193 +rect 470 178 487 195 +rect -99 131 -82 148 +<< metal1 >> +rect -143 193 -86 198 +rect -143 176 -123 193 +rect -106 176 -86 193 +rect -143 171 -86 176 +rect 453 195 506 201 +rect 453 178 470 195 +rect 487 178 506 195 +rect 453 171 506 178 +rect -102 148 -76 151 +rect -128 144 -99 148 +rect -143 131 -99 144 +rect -82 131 -76 148 +rect -143 128 -76 131 +<< labels >> +rlabel metal1 -142 171 -133 198 0 TERM1 +port 1 nsew +rlabel metal1 494 171 506 201 0 TERM2 +port 2 nsew +rlabel metal1 -143 128 -134 144 0 VGND +port 3 nsew +<< end >>
diff --git a/mag/sky130_hilas_swc2x2varactor.mag b/mag/sky130_hilas_swc2x2varactor.mag new file mode 100644 index 0000000..177b16f --- /dev/null +++ b/mag/sky130_hilas_swc2x2varactor.mag
@@ -0,0 +1,250 @@ +magic +tech sky130A +timestamp 1606663783 +<< error_p >> +rect -1466 227 -1381 259 +rect -1393 135 -1387 141 +rect -1341 135 -1335 141 +rect -1399 77 -1393 83 +rect -1335 77 -1329 83 +rect -869 77 -863 83 +rect -820 77 -814 83 +rect -772 54 -769 77 +rect -1393 25 -1387 31 +rect -1341 25 -1335 31 +rect -875 4 -869 10 +rect -814 4 -808 10 +rect -772 4 -769 27 +rect -324 16 -298 238 +rect -1399 -32 -1393 -26 +rect -1335 -32 -1329 -26 +rect -873 -51 -872 -47 +rect -873 -72 -867 -66 +rect -820 -72 -814 -66 +rect -1393 -83 -1387 -77 +rect -1341 -83 -1335 -77 +rect -1400 -133 -1393 -127 +rect -1335 -133 -1329 -127 +rect -879 -147 -873 -141 +rect -814 -147 -808 -141 +rect -471 -175 -451 -167 +rect -1394 -183 -1388 -177 +rect -1341 -183 -1335 -177 +rect -1400 -233 -1394 -227 +rect -1335 -233 -1329 -227 +rect -900 -244 -875 -223 +rect -900 -248 -869 -244 +rect -806 -248 -800 -242 +rect -900 -275 -875 -248 +rect -1394 -283 -1388 -277 +rect -1341 -283 -1335 -277 +rect -1400 -333 -1394 -327 +rect -1335 -333 -1329 -327 +rect -884 -362 -875 -344 +rect -866 -362 -865 -361 +rect -800 -362 -794 -356 +rect -778 -362 -775 -250 +rect -916 -364 -875 -362 +rect -867 -363 -775 -362 +rect -866 -364 -775 -363 +rect -891 -387 -875 -364 +rect -521 -408 -491 -407 +rect -554 -441 -507 -440 +rect -425 -442 -423 -356 +<< nwell >> +rect -1466 175 -1275 227 +rect -1465 -440 -1275 175 +rect -992 26 -713 224 +rect -994 -253 -712 26 +rect -990 -440 -712 -253 +rect -572 -440 -425 226 +rect -324 17 2 238 +rect -324 16 -2 17 +rect -507 -442 -425 -440 +<< mvpmos >> +rect -521 116 -491 166 +rect -222 143 -172 173 +rect -222 81 -172 112 +rect -150 81 -100 112 +rect -521 -21 -491 30 +rect -521 -94 -491 -42 +rect -521 -175 -491 -123 +rect -521 -246 -491 -196 +rect -521 -381 -491 -331 +<< mvvaractor >> +rect -1393 77 -1335 135 +rect -1393 -32 -1335 25 +rect -869 4 -814 77 +rect -1393 -133 -1335 -83 +rect -873 -147 -814 -72 +rect -1394 -233 -1335 -183 +rect -1394 -333 -1335 -283 +rect -875 -362 -800 -248 +rect -875 -364 -866 -362 +<< mvpdiff >> +rect -521 189 -491 193 +rect -521 172 -515 189 +rect -497 172 -491 189 +rect -521 166 -491 172 +rect -256 167 -222 173 +rect -256 150 -247 167 +rect -229 150 -222 167 +rect -256 143 -222 150 +rect -172 166 -141 173 +rect -172 149 -165 166 +rect -146 149 -141 166 +rect -172 143 -141 149 +rect -521 110 -491 116 +rect -521 93 -515 110 +rect -497 93 -491 110 +rect -521 88 -491 93 +rect -256 105 -222 112 +rect -256 88 -247 105 +rect -229 88 -222 105 +rect -256 81 -222 88 +rect -172 81 -150 112 +rect -100 105 -66 112 +rect -100 88 -93 105 +rect -73 88 -66 105 +rect -100 81 -66 88 +rect -521 53 -491 58 +rect -521 36 -515 53 +rect -497 36 -491 53 +rect -521 30 -491 36 +rect -521 -42 -491 -21 +rect -521 -100 -491 -94 +rect -521 -117 -515 -100 +rect -497 -117 -491 -100 +rect -521 -123 -491 -117 +rect -521 -196 -491 -175 +rect -521 -252 -491 -246 +rect -521 -269 -515 -252 +rect -497 -269 -491 -252 +rect -521 -273 -491 -269 +rect -521 -308 -491 -304 +rect -521 -325 -515 -308 +rect -497 -325 -491 -308 +rect -521 -331 -491 -325 +rect -521 -387 -491 -381 +rect -521 -404 -515 -387 +rect -497 -404 -491 -387 +rect -521 -408 -491 -404 +<< mvpdiffc >> +rect -515 172 -497 189 +rect -247 150 -229 167 +rect -165 149 -146 166 +rect -515 93 -497 110 +rect -247 88 -229 105 +rect -93 88 -73 105 +rect -515 36 -497 53 +rect -515 -117 -497 -100 +rect -515 -269 -497 -252 +rect -515 -325 -497 -308 +rect -515 -404 -497 -387 +<< psubdiff >> +rect -656 -361 -630 -349 +rect -656 -378 -652 -361 +rect -634 -378 -630 -361 +rect -656 -390 -630 -378 +<< mvnsubdiff >> +rect -1393 135 -1335 182 +rect -869 77 -814 191 +rect -1393 25 -1335 77 +rect -100 183 -67 187 +rect -100 169 -66 183 +rect -100 151 -93 169 +rect -73 151 -66 169 +rect -100 139 -66 151 +rect -1393 -83 -1335 -32 +rect -869 -43 -814 4 +rect -872 -51 -814 -43 +rect -873 -72 -814 -51 +rect -1394 -183 -1335 -133 +rect -873 -190 -814 -147 +rect -1394 -283 -1335 -233 +rect -875 -248 -800 -190 +rect -1394 -360 -1335 -333 +rect -1394 -387 -1379 -360 +rect -1351 -387 -1335 -360 +rect -866 -364 -800 -362 +rect -1394 -397 -1335 -387 +rect -875 -403 -800 -364 +<< psubdiffcont >> +rect -652 -378 -634 -361 +<< mvnsubdiffcont >> +rect -93 151 -73 169 +rect -1379 -387 -1351 -360 +<< poly >> +rect -1436 77 -1393 135 +rect -1335 77 -1292 135 +rect -222 173 -172 187 +rect -555 166 -534 168 +rect -555 116 -521 166 +rect -491 116 -478 166 +rect -915 54 -869 77 +rect -951 27 -869 54 +rect -1435 -32 -1393 25 +rect -1335 -32 -1292 25 +rect -915 4 -869 27 +rect -814 54 -772 77 +rect -814 27 -743 54 +rect -555 30 -534 116 +rect -222 112 -172 143 +rect -137 127 -117 187 +rect -150 112 -100 127 +rect -222 66 -172 81 +rect -150 67 -100 81 +rect -814 4 -772 27 +rect -555 -21 -521 30 +rect -491 -21 -476 30 +rect -1435 -133 -1393 -83 +rect -1335 -133 -1291 -83 +rect -915 -147 -873 -72 +rect -814 -147 -771 -72 +rect -535 -94 -521 -42 +rect -491 -94 -447 -42 +rect -471 -123 -447 -94 +rect -1436 -233 -1394 -183 +rect -1335 -233 -1292 -183 +rect -534 -175 -521 -123 +rect -491 -167 -447 -123 +rect -491 -175 -472 -167 +rect -471 -175 -447 -167 +rect -534 -246 -521 -196 +rect -491 -246 -472 -196 +rect -1436 -333 -1394 -283 +rect -1335 -333 -1292 -283 +rect -927 -364 -875 -250 +rect -800 -362 -778 -248 +rect -537 -381 -521 -331 +rect -491 -381 -475 -331 +<< locali >> +rect -523 172 -515 189 +rect -497 172 -489 189 +rect -256 150 -247 167 +rect -229 150 -221 167 +rect -166 166 -146 175 +rect -166 149 -165 166 +rect -166 141 -146 149 +rect -93 169 -73 180 +rect -523 93 -515 110 +rect -497 93 -489 110 +rect -93 105 -73 151 +rect -256 88 -247 105 +rect -229 88 -221 105 +rect -93 80 -73 88 +rect -523 36 -515 53 +rect -497 36 -489 53 +rect -524 -117 -515 -100 +rect -497 -117 -489 -100 +rect -523 -269 -515 -252 +rect -497 -269 -489 -252 +rect -523 -325 -515 -308 +rect -497 -325 -489 -308 +rect -1379 -360 -1351 -352 +rect -660 -378 -652 -361 +rect -634 -378 -626 -361 +rect -1379 -395 -1351 -387 +rect -523 -404 -515 -387 +rect -497 -404 -489 -387 +<< end >>
diff --git a/mag/sky130_hilas_swc4x1BiasCell.mag b/mag/sky130_hilas_swc4x1BiasCell.mag new file mode 100644 index 0000000..178d5d0 --- /dev/null +++ b/mag/sky130_hilas_swc4x1BiasCell.mag
@@ -0,0 +1,325 @@ +magic +tech sky130A +timestamp 1625403878 +<< error_s >> +rect 168 160 174 166 +rect 273 160 279 166 +rect -206 150 -200 156 +rect -153 150 -147 156 +rect -212 100 -206 106 +rect -147 100 -141 106 +rect 162 96 168 102 +rect 279 96 285 102 +rect -206 41 -200 47 +rect -153 41 -147 47 +rect 168 43 174 49 +rect 273 43 279 49 +rect -212 -9 -206 -3 +rect -147 -9 -141 -3 +rect 162 -21 168 -15 +rect 279 -21 285 -15 +rect 168 -142 174 -136 +rect 273 -142 279 -136 +rect -206 -148 -200 -142 +rect -153 -148 -147 -142 +rect -1 -147 16 -143 +rect -212 -198 -206 -192 +rect -147 -198 -141 -192 +rect 162 -206 168 -200 +rect 279 -206 285 -200 +rect 168 -258 174 -252 +rect 273 -258 279 -252 +rect -206 -265 -200 -259 +rect -153 -265 -147 -259 +rect -212 -315 -206 -309 +rect -147 -315 -141 -309 +rect 162 -322 168 -316 +rect 279 -322 285 -316 +<< nwell >> +rect 112 220 335 223 +rect -264 37 -263 160 +rect 488 -21 497 -13 +rect 632 -72 667 -71 +rect 632 -88 649 -72 +rect 666 -88 667 -72 +rect 112 -382 335 -380 +<< psubdiff >> +rect -6 82 19 105 +rect -6 65 -2 82 +rect 15 65 19 82 +rect -6 37 19 65 +rect 396 79 421 107 +rect 396 62 400 79 +rect 417 62 421 79 +rect 396 36 421 62 +rect -6 -45 20 -3 +rect -6 -62 -1 -45 +rect 16 -62 20 -45 +rect -6 -79 20 -62 +rect -6 -96 -1 -79 +rect 16 -96 20 -79 +rect -6 -113 20 -96 +rect -6 -130 -1 -113 +rect 16 -130 20 -113 +rect -6 -143 20 -130 +rect 396 -39 423 -18 +rect 396 -56 401 -39 +rect 418 -56 423 -39 +rect 396 -73 423 -56 +rect 396 -90 401 -73 +rect 418 -90 423 -73 +rect 396 -107 423 -90 +rect 396 -124 401 -107 +rect 418 -124 423 -107 +rect 396 -142 423 -124 +rect -1 -147 16 -143 +<< psubdiffcont >> +rect -2 65 15 82 +rect 400 62 417 79 +rect -1 -62 16 -45 +rect -1 -96 16 -79 +rect -1 -130 16 -113 +rect 401 -56 418 -39 +rect 401 -90 418 -73 +rect 401 -124 418 -107 +<< poly >> +rect 319 147 489 151 +rect -107 114 130 138 +rect 319 135 488 147 +rect -107 5 128 29 +rect 319 -9 488 8 +rect 649 -72 667 -71 +rect 665 -88 667 -72 +rect -107 -175 130 -151 +rect 320 -167 488 -150 +rect -105 -295 132 -271 +rect 320 -309 488 -292 +<< polycont >> +rect 632 -88 649 -71 +<< locali >> +rect 623 -88 632 -71 +<< viali >> +rect -2 82 15 99 +rect -2 48 15 65 +rect 400 79 417 96 +rect 400 45 417 62 +rect -1 -45 16 -28 +rect -1 -79 16 -62 +rect -1 -113 16 -96 +rect -1 -147 16 -130 +rect 401 -39 418 -22 +rect 401 -73 418 -56 +rect 649 -88 667 -71 +rect 401 -107 418 -90 +rect 401 -141 418 -124 +<< metal1 >> +rect -228 -382 -188 223 +rect -7 99 20 223 +rect 177 213 215 223 +rect -7 82 -2 99 +rect 15 82 20 99 +rect -7 65 20 82 +rect -7 48 -2 65 +rect 15 48 20 65 +rect -7 -28 20 48 +rect -7 -45 -1 -28 +rect 16 -45 20 -28 +rect -7 -62 20 -45 +rect -7 -79 -1 -62 +rect 16 -79 20 -62 +rect -7 -96 20 -79 +rect -7 -113 -1 -96 +rect 16 -113 20 -96 +rect -7 -130 20 -113 +rect -7 -147 -1 -130 +rect 16 -147 20 -130 +rect -7 -224 20 -147 +rect 396 96 421 223 +rect 611 216 627 223 +rect 648 216 667 223 +rect 692 216 708 223 +rect 396 79 400 96 +rect 417 79 421 96 +rect 396 62 421 79 +rect 396 45 400 62 +rect 417 45 421 62 +rect 396 -22 421 45 +rect 396 -39 401 -22 +rect 418 -39 421 -22 +rect 396 -56 421 -39 +rect 396 -73 401 -56 +rect 418 -73 421 -56 +rect 654 -68 667 -66 +rect 396 -90 421 -73 +rect 396 -107 401 -90 +rect 418 -107 421 -90 +rect 646 -71 670 -68 +rect 646 -88 649 -71 +rect 667 -88 670 -71 +rect 646 -91 670 -88 +rect 656 -95 667 -91 +rect 396 -124 421 -107 +rect 396 -141 401 -124 +rect 418 -141 421 -124 +rect 396 -221 421 -141 +rect 395 -224 423 -221 +rect -9 -227 22 -224 +rect -9 -253 -7 -227 +rect 20 -253 22 -227 +rect 394 -225 424 -224 +rect 394 -251 396 -225 +rect 422 -251 424 -225 +rect 394 -252 424 -251 +rect -9 -255 22 -253 +rect 395 -254 423 -252 +rect -7 -382 20 -255 +rect 177 -382 215 -372 +rect 396 -382 421 -254 +rect 611 -381 627 -374 +rect 648 -381 667 -374 +rect 692 -381 708 -374 +<< via1 >> +rect -7 -253 20 -227 +rect 396 -251 422 -225 +<< metal2 >> +rect 487 166 497 173 +rect 487 155 500 166 +rect 735 155 744 173 +rect -264 112 540 130 +rect 735 112 744 130 +rect -264 111 -249 112 +rect -266 30 -252 32 +rect -266 24 497 30 +rect -266 12 500 24 +rect 736 12 745 30 +rect 488 -20 497 -17 +rect 488 -31 500 -20 +rect 735 -31 744 -13 +rect 485 -146 500 -129 +rect 734 -146 745 -128 +rect -263 -187 500 -171 +rect -262 -188 500 -187 +rect 733 -189 744 -171 +rect 393 -225 425 -224 +rect -10 -253 -7 -227 +rect 20 -230 23 -227 +rect 393 -230 396 -225 +rect 20 -247 396 -230 +rect 20 -253 23 -247 +rect 393 -251 396 -247 +rect 422 -251 425 -225 +rect 393 -252 425 -251 +rect -263 -286 500 -269 +rect -184 -295 -30 -286 +rect 733 -288 744 -270 +rect 487 -330 500 -313 +rect 733 -331 744 -313 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1608066871 +transform 1 0 1188 0 1 18 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_0 +timestamp 1608066871 +transform 1 0 1188 0 1 135 +box -1451 -400 -1278 -210 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_0 +timestamp 1606741561 +transform 1 0 1069 0 1 14 +box -957 -395 -734 -209 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_1 +timestamp 1606741561 +transform 1 0 1069 0 1 130 +box -957 -395 -734 -209 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_1 +timestamp 1607386385 +transform 1 0 777 0 1 -428 +box -289 47 -33 232 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_2 +timestamp 1607386385 +transform 1 0 777 0 -1 -31 +box -289 47 -33 232 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1185 0 1 293 +box -1449 -441 -1275 -255 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_2 +timestamp 1608066871 +transform 1 0 1188 0 1 324 +box -1451 -400 -1278 -210 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_2 +timestamp 1606741561 +transform 1 0 1069 0 1 315 +box -957 -395 -734 -209 +use sky130_hilas_wellContact sky130_hilas_wellContact_0 +timestamp 1606753443 +transform 1 0 1588 0 1 286 +box -1449 -441 -1275 -255 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_0 +timestamp 1607386385 +transform 1 0 777 0 1 -128 +box -289 47 -33 232 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1608066871 +transform 1 0 1188 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_FGVaractorCapacitor sky130_hilas_FGVaractorCapacitor_3 +timestamp 1606741561 +transform 1 0 1069 0 1 432 +box -957 -395 -734 -209 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_3 +timestamp 1607386385 +transform 1 0 777 0 -1 270 +box -289 47 -33 232 +<< labels >> +rlabel metal2 -264 111 -252 130 0 ROW1 +port 1 nsew analog default +rlabel metal2 -266 13 -254 32 0 ROW2 +port 2 nsew analog default +rlabel metal2 -263 -187 -251 -171 0 ROW3 +port 3 nsew analog default +rlabel metal2 -263 -285 -249 -270 0 ROW4 +port 4 nsew analog default +rlabel metal1 -228 209 -188 223 0 VTUN +port 5 nsew analog default +rlabel metal1 -228 -382 -188 -372 0 VTUN +port 5 nsew analog default +rlabel metal1 177 -382 215 -372 0 GATE1 +port 6 nsew analog default +rlabel metal1 177 213 215 223 0 GATE1 +port 6 nsew analog default +rlabel metal1 692 216 708 223 0 VINJ +port 7 nsew power default +rlabel metal1 611 216 627 223 0 VPWR +port 8 nsew power default +rlabel metal1 648 216 667 223 0 COLSEL1 +rlabel metal1 692 -381 708 -374 0 VINJ +port 7 nsew power default +rlabel metal1 611 -381 627 -374 0 VPWR +port 8 nsew power default +rlabel metal1 648 -381 667 -374 0 COLSEL1 +port 9 nsew analog default +rlabel metal2 735 155 744 173 0 DRAIN1 +port 10 nsew analog default +rlabel metal2 735 112 744 130 0 ROW1 +port 11 nsew analog default +rlabel metal2 735 -31 744 -13 0 DRAIN2 +port 13 nsew +rlabel metal2 736 12 745 30 0 ROW2 +port 12 nsew analog default +rlabel metal2 734 -146 745 -128 0 DRAIN3 +port 14 nsew analog default +rlabel metal2 733 -189 744 -171 0 ROW3 +port 15 nsew analog default +rlabel metal2 733 -288 744 -270 0 ROW4 +port 16 nsew analog default +rlabel metal2 733 -331 744 -313 0 DRAIN4 +port 17 nsew analog default +rlabel metal1 -7 215 20 223 0 VGND +port 18 nsew +rlabel metal1 396 218 421 223 0 VGND +port 18 nsew +rlabel metal1 -7 -382 20 -375 0 VGND +port 18 nsew +rlabel metal1 396 -382 421 -375 0 VGND +port 18 nsew +<< end >>
diff --git a/mag/sky130_hilas_swc4x1cellOverlap.mag b/mag/sky130_hilas_swc4x1cellOverlap.mag new file mode 100644 index 0000000..f7fd39b --- /dev/null +++ b/mag/sky130_hilas_swc4x1cellOverlap.mag
@@ -0,0 +1,381 @@ +magic +tech sky130A +timestamp 1607258550 +<< error_s >> +rect 267 230 296 258 +rect 346 230 375 258 +rect 425 230 454 258 +rect 245 223 475 230 +rect 245 208 252 223 +rect 267 217 296 223 +rect 346 217 375 223 +rect 425 217 454 223 +rect 267 208 268 209 +rect 295 208 296 209 +rect 346 208 347 209 +rect 374 208 375 209 +rect 425 208 426 209 +rect 453 208 454 209 +rect 468 208 475 223 +rect 217 179 258 208 +rect 266 207 297 208 +rect 345 207 376 208 +rect 424 207 455 208 +rect 267 180 296 207 +rect 346 180 375 207 +rect 425 180 454 207 +rect 266 179 297 180 +rect 345 179 376 180 +rect 424 179 455 180 +rect 462 179 504 208 +rect -206 150 -200 156 +rect -153 150 -147 156 +rect 245 129 252 179 +rect 267 178 268 179 +rect 295 178 296 179 +rect 346 178 347 179 +rect 374 178 375 179 +rect 425 178 426 179 +rect 453 178 454 179 +rect 468 151 475 179 +rect 267 129 268 130 +rect 295 129 296 130 +rect 346 129 347 130 +rect 374 129 375 130 +rect 425 129 426 130 +rect 453 129 454 130 +rect 468 129 475 135 +rect 488 134 489 135 +rect -212 100 -206 106 +rect -147 100 -141 106 +rect 217 100 258 129 +rect 266 128 297 129 +rect 345 128 376 129 +rect 424 128 455 129 +rect 267 101 296 128 +rect 346 101 375 128 +rect 425 101 454 128 +rect 266 100 297 101 +rect 345 100 376 101 +rect 424 100 455 101 +rect 462 100 504 129 +rect 245 91 252 100 +rect 267 99 268 100 +rect 295 99 296 100 +rect 346 99 347 100 +rect 374 99 375 100 +rect 425 99 426 100 +rect 453 99 454 100 +rect 258 91 462 94 +rect 468 91 475 100 +rect 245 78 475 91 +rect 267 77 296 78 +rect 346 77 375 78 +rect 425 77 454 78 +rect 245 70 475 77 +rect 245 55 252 70 +rect 267 64 296 70 +rect 346 64 375 70 +rect 425 64 454 70 +rect 306 56 332 62 +rect 267 55 268 56 +rect 295 55 296 56 +rect 346 55 347 56 +rect 374 55 375 56 +rect 425 55 426 56 +rect 453 55 454 56 +rect 468 55 475 70 +rect -206 41 -200 47 +rect -153 41 -147 47 +rect 217 26 258 55 +rect 266 54 297 55 +rect 345 54 376 55 +rect 424 54 455 55 +rect 267 27 296 54 +rect 307 42 333 48 +rect 346 27 375 54 +rect 425 27 454 54 +rect 266 26 297 27 +rect 345 26 376 27 +rect 424 26 455 27 +rect 462 26 504 55 +rect -212 -9 -206 -3 +rect -147 -9 -141 -3 +rect 245 -24 252 26 +rect 267 25 268 26 +rect 295 25 296 26 +rect 346 25 347 26 +rect 374 25 375 26 +rect 425 25 426 26 +rect 453 25 454 26 +rect 468 8 475 26 +rect 267 -24 268 -23 +rect 295 -24 296 -23 +rect 346 -24 347 -23 +rect 374 -24 375 -23 +rect 425 -24 426 -23 +rect 453 -24 454 -23 +rect 468 -24 475 -9 +rect 217 -53 258 -24 +rect 266 -25 297 -24 +rect 345 -25 376 -24 +rect 424 -25 455 -24 +rect 267 -52 296 -25 +rect 346 -52 375 -25 +rect 425 -52 454 -25 +rect 266 -53 297 -52 +rect 345 -53 376 -52 +rect 424 -53 455 -52 +rect 462 -53 504 -24 +rect 245 -65 252 -53 +rect 267 -54 268 -53 +rect 295 -54 296 -53 +rect 346 -54 347 -53 +rect 374 -54 375 -53 +rect 425 -54 426 -53 +rect 453 -54 454 -53 +rect 266 -65 296 -62 +rect 345 -65 375 -62 +rect 424 -65 454 -62 +rect 468 -65 475 -53 +rect 245 -75 475 -65 +rect 266 -79 296 -75 +rect 345 -79 375 -75 +rect 424 -79 454 -75 +rect 244 -86 474 -79 +rect 244 -101 251 -86 +rect 266 -92 296 -86 +rect 345 -92 375 -86 +rect 424 -92 454 -86 +rect 306 -97 332 -94 +rect 266 -101 267 -100 +rect 294 -101 295 -100 +rect 345 -101 346 -100 +rect 373 -101 374 -100 +rect 424 -101 425 -100 +rect 452 -101 453 -100 +rect 467 -101 474 -86 +rect 216 -130 257 -101 +rect 265 -102 296 -101 +rect 344 -102 375 -101 +rect 423 -102 454 -101 +rect 266 -129 295 -102 +rect 306 -111 332 -108 +rect 345 -129 374 -102 +rect 424 -129 453 -102 +rect 265 -130 296 -129 +rect 344 -130 375 -129 +rect 423 -130 454 -129 +rect 461 -130 503 -101 +rect -206 -148 -200 -142 +rect -153 -148 -147 -142 +rect 244 -180 251 -130 +rect 266 -131 267 -130 +rect 294 -131 295 -130 +rect 345 -131 346 -130 +rect 373 -131 374 -130 +rect 424 -131 425 -130 +rect 452 -131 453 -130 +rect 467 -150 474 -130 +rect 266 -180 267 -179 +rect 294 -180 295 -179 +rect 345 -180 346 -179 +rect 373 -180 374 -179 +rect 424 -180 425 -179 +rect 452 -180 453 -179 +rect 467 -180 474 -167 +rect -212 -198 -206 -192 +rect -147 -198 -141 -192 +rect 216 -209 257 -180 +rect 265 -181 296 -180 +rect 344 -181 375 -180 +rect 423 -181 454 -180 +rect 266 -208 295 -181 +rect 345 -208 374 -181 +rect 424 -208 453 -181 +rect 265 -209 296 -208 +rect 344 -209 375 -208 +rect 423 -209 454 -208 +rect 461 -209 503 -180 +rect 244 -219 251 -209 +rect 266 -210 267 -209 +rect 294 -210 295 -209 +rect 345 -210 346 -209 +rect 373 -210 374 -209 +rect 424 -210 425 -209 +rect 452 -210 453 -209 +rect 257 -218 461 -216 +rect 266 -219 295 -218 +rect 345 -219 374 -218 +rect 424 -219 453 -218 +rect 467 -219 474 -209 +rect 244 -231 474 -219 +rect 266 -233 295 -231 +rect 345 -233 374 -231 +rect 424 -233 453 -231 +rect 244 -240 474 -233 +rect 244 -255 251 -240 +rect 266 -246 295 -240 +rect 345 -246 374 -240 +rect 424 -246 453 -240 +rect 305 -253 331 -248 +rect 266 -255 267 -254 +rect 294 -255 295 -254 +rect 345 -255 346 -254 +rect 373 -255 374 -254 +rect 424 -255 425 -254 +rect 452 -255 453 -254 +rect 467 -255 474 -240 +rect -206 -265 -200 -259 +rect -153 -265 -147 -259 +rect 216 -284 257 -255 +rect 265 -256 296 -255 +rect 344 -256 375 -255 +rect 423 -256 454 -255 +rect 266 -283 295 -256 +rect 306 -267 332 -262 +rect 345 -283 374 -256 +rect 424 -283 453 -256 +rect 265 -284 296 -283 +rect 344 -284 375 -283 +rect 423 -284 454 -283 +rect 461 -284 503 -255 +rect -212 -315 -206 -309 +rect -147 -315 -141 -309 +rect 244 -334 251 -284 +rect 266 -285 267 -284 +rect 294 -285 295 -284 +rect 345 -285 346 -284 +rect 373 -285 374 -284 +rect 424 -285 425 -284 +rect 452 -285 453 -284 +rect 467 -292 474 -284 +rect 266 -334 267 -333 +rect 294 -334 295 -333 +rect 345 -334 346 -333 +rect 373 -334 374 -333 +rect 424 -334 425 -333 +rect 452 -334 453 -333 +rect 467 -334 474 -309 +rect 216 -363 257 -334 +rect 265 -335 296 -334 +rect 344 -335 375 -334 +rect 423 -335 454 -334 +rect 266 -362 295 -335 +rect 345 -362 374 -335 +rect 424 -362 453 -335 +rect 265 -363 296 -362 +rect 344 -363 375 -362 +rect 423 -363 454 -362 +rect 461 -363 503 -334 +rect 244 -378 251 -363 +rect 266 -364 267 -363 +rect 294 -364 295 -363 +rect 345 -364 346 -363 +rect 373 -364 374 -363 +rect 424 -364 425 -363 +rect 452 -364 453 -363 +rect 266 -378 295 -372 +rect 345 -378 374 -372 +rect 424 -378 453 -372 +rect 467 -378 474 -363 +rect 244 -385 474 -378 +rect 266 -413 295 -385 +rect 345 -413 374 -385 +rect 424 -413 453 -385 +<< nwell >> +rect 632 -72 667 -71 +rect 632 -88 649 -72 +rect 666 -88 667 -72 +<< poly >> +rect 453 147 489 151 +rect -107 114 130 138 +rect 453 135 488 147 +rect -107 5 128 29 +rect 453 -9 488 8 +rect 649 -72 667 -71 +rect 665 -88 667 -72 +rect -107 -175 130 -151 +rect 320 -167 488 -150 +rect -105 -295 132 -271 +rect 320 -309 488 -292 +<< polycont >> +rect 632 -88 649 -71 +<< locali >> +rect 623 -88 632 -71 +<< viali >> +rect 649 -88 667 -71 +<< metal1 >> +rect -228 -382 -188 217 +rect 654 -68 667 -66 +rect 646 -71 670 -68 +rect 646 -88 649 -71 +rect 667 -88 670 -71 +rect 646 -91 670 -88 +rect 656 -95 667 -91 +<< metal2 >> +rect -264 166 497 173 +rect -264 155 500 166 +rect -264 112 710 130 +rect -264 24 497 30 +rect -264 12 500 24 +rect -264 -20 496 -13 +rect -264 -31 500 -20 +rect -262 -146 500 -129 +rect -262 -188 500 -171 +rect -262 -286 500 -269 +rect -184 -295 -30 -286 +rect -262 -330 500 -313 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_0 +timestamp 1606740587 +transform 1 0 1188 0 1 135 +box -1451 -400 -1278 -210 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_1 +timestamp 1606740587 +transform 1 0 1188 0 1 18 +box -1451 -400 -1278 -210 +use sky130_hilas_overlapCap01 sky130_hilas_overlapCap01_2 +timestamp 1607257541 +transform 1 0 503 0 1 -188 +box -287 -71 0 137 +use sky130_hilas_overlapCap01 sky130_hilas_overlapCap01_3 +timestamp 1607257541 +transform 1 0 503 0 1 -342 +box -287 -71 0 137 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_1 +timestamp 1606750506 +transform 1 0 777 0 1 -428 +box -289 47 -33 232 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_2 +timestamp 1606750506 +transform 1 0 777 0 -1 -31 +box -289 47 -33 232 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_2 +timestamp 1606740587 +transform 1 0 1188 0 1 324 +box -1451 -400 -1278 -210 +use sky130_hilas_wellContact sky130_hilas_wellContact_1 +timestamp 1606753443 +transform 1 0 1185 0 1 293 +box -1449 -441 -1275 -255 +use sky130_hilas_TunCap01 sky130_hilas_TunCap01_3 +timestamp 1606740587 +transform 1 0 1188 0 1 433 +box -1451 -400 -1278 -210 +use sky130_hilas_overlapCap01 sky130_hilas_overlapCap01_1 +timestamp 1607257541 +transform 1 0 504 0 1 -32 +box -287 -71 0 137 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_0 +timestamp 1606750506 +transform 1 0 777 0 1 -128 +box -289 47 -33 232 +use sky130_hilas_overlapCap01 sky130_hilas_overlapCap01_0 +timestamp 1607257541 +transform 1 0 504 0 1 121 +box -287 -71 0 137 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_3 +timestamp 1606750506 +transform 1 0 777 0 -1 270 +box -289 47 -33 232 +<< end >>
diff --git a/mag/sky130_hilas_swc4x1cellOverlap2.mag b/mag/sky130_hilas_swc4x1cellOverlap2.mag new file mode 100644 index 0000000..bbabf68 --- /dev/null +++ b/mag/sky130_hilas_swc4x1cellOverlap2.mag
@@ -0,0 +1,331 @@ +magic +tech sky130A +timestamp 1607392100 +<< error_s >> +rect -91 192 -62 210 +rect 155 190 184 206 +rect 234 190 263 206 +rect 313 190 342 206 +rect 392 190 421 206 +rect -91 160 -90 161 +rect -63 160 -62 161 +rect -141 131 -123 160 +rect -92 159 -61 160 +rect -91 150 -62 159 +rect -91 141 -81 150 +rect -72 141 -62 150 +rect -91 132 -62 141 +rect -92 131 -61 132 +rect -30 131 -12 160 +rect 155 156 156 157 +rect 183 156 184 157 +rect 234 156 235 157 +rect 262 156 263 157 +rect 313 156 314 157 +rect 341 156 342 157 +rect 392 156 393 157 +rect 420 156 421 157 +rect -91 130 -90 131 +rect -63 130 -62 131 +rect 105 127 123 156 +rect 154 155 185 156 +rect 233 155 264 156 +rect 312 155 343 156 +rect 391 155 422 156 +rect 155 148 184 155 +rect 234 148 263 155 +rect 313 148 342 155 +rect 392 148 421 155 +rect 155 134 165 148 +rect 412 134 421 148 +rect 155 128 184 134 +rect 234 128 263 134 +rect 313 128 342 134 +rect 392 128 421 134 +rect 154 127 185 128 +rect 233 127 264 128 +rect 312 127 343 128 +rect 391 127 422 128 +rect 454 127 471 156 +rect 488 134 490 135 +rect 155 126 156 127 +rect 183 126 184 127 +rect 234 126 235 127 +rect 262 126 263 127 +rect 313 126 314 127 +rect 341 126 342 127 +rect 392 126 393 127 +rect 420 126 421 127 +rect -91 81 -62 99 +rect 155 77 184 92 +rect 234 77 263 92 +rect 313 77 342 92 +rect 392 77 421 92 +rect -91 40 -62 58 +rect 155 43 184 59 +rect 234 43 263 59 +rect 313 43 342 59 +rect 392 43 421 59 +rect 155 9 156 10 +rect 183 9 184 10 +rect 234 9 235 10 +rect 262 9 263 10 +rect 313 9 314 10 +rect 341 9 342 10 +rect 392 9 393 10 +rect 420 9 421 10 +rect -91 8 -90 9 +rect -63 8 -62 9 +rect -141 -21 -123 8 +rect -92 7 -61 8 +rect -91 -2 -62 7 +rect -91 -11 -81 -2 +rect -72 -11 -62 -2 +rect -91 -20 -62 -11 +rect -92 -21 -61 -20 +rect -30 -21 -12 8 +rect 105 -20 123 9 +rect 154 8 185 9 +rect 233 8 264 9 +rect 312 8 343 9 +rect 391 8 422 9 +rect 155 1 184 8 +rect 234 1 263 8 +rect 313 1 342 8 +rect 392 1 421 8 +rect 155 -13 165 1 +rect 412 -13 421 1 +rect 155 -19 184 -13 +rect 234 -19 263 -13 +rect 313 -19 342 -13 +rect 392 -19 421 -13 +rect 154 -20 185 -19 +rect 233 -20 264 -19 +rect 312 -20 343 -19 +rect 391 -20 422 -19 +rect 454 -20 471 9 +rect 483 -17 496 -13 +rect 497 -17 510 -12 +rect 483 -20 510 -17 +rect 155 -21 156 -20 +rect 183 -21 184 -20 +rect 234 -21 235 -20 +rect 262 -21 263 -20 +rect 313 -21 314 -20 +rect 341 -21 342 -20 +rect 392 -21 393 -20 +rect 420 -21 421 -20 +rect -91 -22 -90 -21 +rect -63 -22 -62 -21 +rect -91 -71 -62 -53 +rect 155 -70 184 -55 +rect 234 -70 263 -55 +rect 313 -70 342 -55 +rect 392 -70 421 -55 +rect -91 -105 -62 -87 +rect 155 -104 184 -88 +rect 234 -104 263 -88 +rect 313 -104 342 -88 +rect 392 -104 421 -88 +rect -91 -137 -90 -136 +rect -63 -137 -62 -136 +rect -141 -166 -123 -137 +rect -92 -138 -61 -137 +rect -91 -147 -62 -138 +rect -91 -156 -81 -147 +rect -72 -156 -62 -147 +rect -91 -165 -62 -156 +rect -92 -166 -61 -165 +rect -30 -166 -12 -137 +rect 155 -138 156 -137 +rect 183 -138 184 -137 +rect 234 -138 235 -137 +rect 262 -138 263 -137 +rect 313 -138 314 -137 +rect 341 -138 342 -137 +rect 392 -138 393 -137 +rect 420 -138 421 -137 +rect -91 -167 -90 -166 +rect -63 -167 -62 -166 +rect 105 -167 123 -138 +rect 154 -139 185 -138 +rect 233 -139 264 -138 +rect 312 -139 343 -138 +rect 391 -139 422 -138 +rect 155 -146 184 -139 +rect 234 -146 263 -139 +rect 313 -146 342 -139 +rect 392 -146 421 -139 +rect 155 -160 165 -146 +rect 412 -160 421 -146 +rect 155 -166 184 -160 +rect 234 -166 263 -160 +rect 313 -166 342 -160 +rect 392 -166 421 -160 +rect 154 -167 185 -166 +rect 233 -167 264 -166 +rect 312 -167 343 -166 +rect 391 -167 422 -166 +rect 454 -167 471 -138 +rect 155 -168 156 -167 +rect 183 -168 184 -167 +rect 234 -168 235 -167 +rect 262 -168 263 -167 +rect 313 -168 314 -167 +rect 341 -168 342 -167 +rect 392 -168 393 -167 +rect 420 -168 421 -167 +rect -91 -216 -62 -198 +rect 155 -217 184 -202 +rect 234 -217 263 -202 +rect 313 -217 342 -202 +rect 392 -217 421 -202 +rect -91 -259 -62 -241 +rect 155 -251 184 -235 +rect 234 -251 263 -235 +rect 313 -251 342 -235 +rect 392 -251 421 -235 +rect 155 -285 156 -284 +rect 183 -285 184 -284 +rect 234 -285 235 -284 +rect 262 -285 263 -284 +rect 313 -285 314 -284 +rect 341 -285 342 -284 +rect 392 -285 393 -284 +rect 420 -285 421 -284 +rect -91 -291 -90 -290 +rect -63 -291 -62 -290 +rect -141 -320 -123 -291 +rect -92 -292 -61 -291 +rect -91 -301 -62 -292 +rect -91 -310 -81 -301 +rect -72 -310 -62 -301 +rect -91 -319 -62 -310 +rect -92 -320 -61 -319 +rect -30 -320 -12 -291 +rect 105 -314 123 -285 +rect 154 -286 185 -285 +rect 233 -286 264 -285 +rect 312 -286 343 -285 +rect 391 -286 422 -285 +rect 155 -293 184 -286 +rect 234 -293 263 -286 +rect 313 -293 342 -286 +rect 392 -293 421 -286 +rect 155 -307 165 -293 +rect 412 -307 421 -293 +rect 155 -313 184 -307 +rect 234 -313 263 -307 +rect 313 -313 342 -307 +rect 392 -313 421 -307 +rect 154 -314 185 -313 +rect 233 -314 264 -313 +rect 312 -314 343 -313 +rect 391 -314 422 -313 +rect 454 -314 471 -285 +rect 155 -315 156 -314 +rect 183 -315 184 -314 +rect 234 -315 235 -314 +rect 262 -315 263 -314 +rect 313 -315 314 -314 +rect 341 -315 342 -314 +rect 392 -315 393 -314 +rect 420 -315 421 -314 +rect -91 -321 -90 -320 +rect -63 -321 -62 -320 +rect -91 -370 -62 -352 +rect 155 -364 184 -349 +rect 234 -364 263 -349 +rect 313 -364 342 -349 +rect 392 -364 421 -349 +<< nwell >> +rect 632 -72 667 -71 +rect 632 -88 649 -72 +rect 666 -88 667 -72 +<< poly >> +rect 469 147 489 151 +rect -19 114 130 138 +rect 469 135 488 147 +rect -19 5 128 29 +rect 469 -9 488 8 +rect 649 -72 667 -71 +rect 665 -88 667 -72 +rect -19 -175 130 -151 +rect 469 -167 488 -150 +rect -19 -295 132 -271 +rect 469 -309 488 -292 +<< polycont >> +rect 632 -88 649 -71 +<< locali >> +rect 623 -88 632 -71 +<< viali >> +rect 649 -88 667 -71 +<< metal1 >> +rect -90 -382 -63 223 +rect 654 -68 667 -66 +rect 646 -71 670 -68 +rect 646 -88 649 -71 +rect 667 -88 670 -71 +rect 646 -91 670 -88 +rect 656 -95 667 -91 +<< metal2 >> +rect -191 166 497 173 +rect -191 155 500 166 +rect -191 112 710 130 +rect -191 24 497 30 +rect -191 12 500 24 +rect -191 -20 496 -13 +rect -191 -31 500 -20 +rect -191 -146 500 -129 +rect -191 -188 500 -171 +rect -191 -286 500 -269 +rect -191 -330 500 -313 +use sky130_hilas_nOverlapCap01 sky130_hilas_nOverlapCap01_3 +timestamp 1607262215 +transform 1 0 -79 0 1 -327 +box -62 -43 67 86 +use sky130_hilas_nOverlapCap01 sky130_hilas_nOverlapCap01_2 +timestamp 1607262215 +transform 1 0 -79 0 1 -173 +box -62 -43 67 86 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_3 +timestamp 1607261501 +transform 1 0 609 0 1 -328 +box -521 -54 -121 110 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_2 +timestamp 1607261501 +transform 1 0 609 0 1 -181 +box -521 -54 -121 110 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_1 +timestamp 1607386385 +transform 1 0 777 0 1 -428 +box -289 47 -33 232 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_2 +timestamp 1607386385 +transform 1 0 777 0 -1 -31 +box -289 47 -33 232 +use sky130_hilas_nOverlapCap01 sky130_hilas_nOverlapCap01_1 +timestamp 1607262215 +transform 1 0 -79 0 1 -28 +box -62 -43 67 86 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_1 +timestamp 1607261501 +transform 1 0 609 0 1 -34 +box -521 -54 -121 110 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_0 +timestamp 1607386385 +transform 1 0 777 0 1 -128 +box -289 47 -33 232 +use sky130_hilas_nOverlapCap01 sky130_hilas_nOverlapCap01_0 +timestamp 1607262215 +transform 1 0 -79 0 1 124 +box -62 -43 67 86 +use sky130_hilas_overlapCap02a sky130_hilas_overlapCap02a_0 +timestamp 1607261501 +transform 1 0 609 0 1 113 +box -521 -54 -121 110 +use sky130_hilas_horizPcell01 sky130_hilas_horizPcell01_3 +timestamp 1607386385 +transform 1 0 777 0 -1 270 +box -289 47 -33 232 +<< end >>
diff --git a/mag/sky130_hilas_swc4x2cell.mag b/mag/sky130_hilas_swc4x2cell.mag new file mode 100644 index 0000000..9990f7a --- /dev/null +++ b/mag/sky130_hilas_swc4x2cell.mag
@@ -0,0 +1,236 @@ +magic +tech sky130A +timestamp 1625491916 +<< error_s >> +rect -539 538 -533 544 +rect -434 538 -428 544 +rect 432 538 438 544 +rect 537 538 543 544 +rect -113 528 -107 534 +rect -60 528 -54 534 +rect 58 528 64 534 +rect 111 528 117 534 +rect -545 474 -539 480 +rect -428 474 -422 480 +rect -119 478 -113 484 +rect -54 478 -48 484 +rect 52 478 58 484 +rect 117 478 123 484 +rect 426 474 432 480 +rect 543 474 549 480 +rect -539 421 -533 427 +rect -434 421 -428 427 +rect -113 419 -107 425 +rect -60 419 -54 425 +rect 58 419 64 425 +rect 111 419 117 425 +rect 432 421 438 427 +rect 537 421 543 427 +rect -119 369 -113 375 +rect -54 369 -48 375 +rect 52 369 58 375 +rect 117 369 123 375 +rect -545 357 -539 363 +rect -428 357 -422 363 +rect 426 357 432 363 +rect 543 357 549 363 +rect -539 236 -533 242 +rect -434 236 -428 242 +rect 432 236 438 242 +rect 537 236 543 242 +rect -113 230 -107 236 +rect -60 230 -54 236 +rect 58 230 64 236 +rect 111 230 117 236 +rect -119 180 -113 186 +rect -54 180 -48 186 +rect 52 180 58 186 +rect 117 180 123 186 +rect -545 172 -539 178 +rect -428 172 -422 178 +rect 426 172 432 178 +rect 543 172 549 178 +rect -539 120 -533 126 +rect -434 120 -428 126 +rect 432 120 438 126 +rect 537 120 543 126 +rect -113 113 -107 119 +rect -60 113 -54 119 +rect 58 113 64 119 +rect 111 113 117 119 +rect -119 63 -113 69 +rect -54 63 -48 69 +rect 52 63 58 69 +rect 117 63 123 69 +rect -545 56 -539 62 +rect -428 56 -422 62 +rect 426 56 432 62 +rect 543 56 549 62 +<< metal1 >> +rect -968 597 -952 601 +rect -984 595 -952 597 +rect -927 596 -908 601 +rect -887 596 -871 601 +rect -984 569 -981 595 +rect -955 569 -952 595 +rect -693 592 -669 601 +rect -475 591 -437 601 +rect -300 595 -276 601 +rect -72 588 -32 601 +rect 36 591 76 601 +rect 280 596 304 601 +rect 441 591 479 601 +rect 673 594 697 601 +rect 875 596 891 601 +rect 912 596 931 601 +rect 956 597 972 601 +rect 956 595 988 597 +rect -984 567 -952 569 +rect -32 565 36 587 +rect 956 569 959 595 +rect 985 569 988 595 +rect 956 567 988 569 +rect -968 -4 -952 2 +rect -927 -3 -908 3 +rect -887 -3 -871 3 +rect -693 -4 -669 4 +rect -475 -4 -437 5 +rect -300 -4 -276 3 +rect -72 -4 -32 8 +rect 36 -4 76 8 +rect 280 -4 304 3 +rect 441 -4 479 11 +rect 673 -4 697 2 +rect 875 -3 891 3 +rect 912 -3 931 3 +rect 956 -3 972 3 +<< via1 >> +rect -981 569 -955 595 +rect 959 569 985 595 +<< metal2 >> +rect -984 595 -699 597 +rect -984 569 -981 595 +rect -955 587 -699 595 +rect 705 595 988 597 +rect 705 587 959 595 +rect -955 579 959 587 +rect -955 569 -942 579 +rect -743 569 725 579 +rect 956 569 959 579 +rect 985 569 988 595 +rect -984 567 -942 569 +rect 956 567 988 569 +rect -1004 533 -990 552 +rect 999 533 1008 551 +rect -1004 490 -990 509 +rect 999 490 1008 508 +rect -1004 390 -989 409 +rect 996 390 1009 408 +rect -1004 347 -991 365 +rect 995 347 1009 365 +rect -1004 232 -997 250 +rect 1000 232 1009 250 +rect -1004 189 -997 207 +rect 1000 189 1009 207 +rect -334 134 342 152 +rect -1004 90 -997 108 +rect 1000 90 1009 108 +rect -1004 47 -997 65 +rect 1000 47 1009 65 +use sky130_hilas_cellAttempt01 sky130_hilas_cellAttempt01_1 +timestamp 1625402619 +transform -1 0 -260 0 1 378 +box -264 -382 744 223 +use sky130_hilas_cellAttempt01 sky130_hilas_cellAttempt01_0 +timestamp 1625402619 +transform 1 0 264 0 1 378 +box -264 -382 744 223 +<< labels >> +rlabel metal1 441 591 479 601 0 GATE2 +port 1 nsew analog default +rlabel metal1 -72 -4 -32 8 0 VTUN +port 2 nsew power default +rlabel metal1 36 -4 76 8 0 VTUN +port 2 nsew power default +rlabel metal1 36 591 76 601 0 VTUN +port 2 nsew power default +rlabel metal1 -72 588 -32 601 0 VTUN +port 2 nsew power default +rlabel metal1 -475 591 -437 601 0 GATE1 +port 3 nsew analog default +rlabel metal1 -475 -4 -437 5 0 GATE1 +port 3 nsew analog default +rlabel metal1 956 -3 972 3 0 VINJ +port 4 nsew power default +rlabel metal1 441 -4 479 11 0 GATE2 +port 1 nsew analog default +rlabel metal1 912 596 931 601 0 SelectGate2 +rlabel metal1 956 596 972 601 0 VINJ +port 6 nsew power default +rlabel metal1 -968 596 -952 601 0 VINJ +port 6 nsew power default +rlabel metal1 -927 596 -908 601 0 GATESELECT1 +port 10 nsew analog default +rlabel metal1 -968 -4 -952 2 0 VINJ +port 6 nsew power default +rlabel metal1 -927 -3 -908 3 0 GATESELECT1 +port 10 nsew analog default +rlabel metal1 -887 596 -871 601 0 COL1 +port 12 nsew analog default +rlabel metal1 -887 -3 -871 3 0 COL1 +port 12 nsew analog default +rlabel metal1 912 -3 931 3 0 GATESELECT2 +port 11 nsew analog default +rlabel metal1 875 -3 891 3 0 COL2 +port 13 nsew analog default +rlabel metal1 875 596 891 601 0 COL2 +port 13 nsew analog default +rlabel metal2 -1004 490 -997 509 0 ROW1 +port 14 nsew analog default +rlabel metal2 -1004 390 -997 409 0 ROW2 +port 15 nsew analog default +rlabel metal2 -1004 533 -997 552 0 DRAIN1 +port 16 nsew analog default +rlabel metal2 -1004 347 -997 365 0 DRAIN2 +port 17 nsew analog default +rlabel metal2 -1004 232 -997 250 0 DRAIN3 +port 18 nsew analog default +rlabel metal2 -1004 189 -997 207 0 ROW3 +port 19 nsew analog default +rlabel metal2 -1004 90 -997 108 0 ROW4 +port 20 nsew analog default +rlabel metal2 -1004 47 -997 65 0 DRAIN4 +port 21 nsew analog default +rlabel metal2 999 533 1008 551 0 DRAIN1 +port 16 nsew analog default +rlabel metal2 999 490 1008 508 0 ROW1 +port 14 nsew analog default +rlabel metal2 1000 390 1009 408 0 ROW2 +port 15 nsew +rlabel metal2 1000 347 1009 365 0 DRAIN2 +port 17 nsew analog default +rlabel metal2 1000 232 1009 250 0 DRAIN3 +port 18 nsew analog default +rlabel metal2 1000 189 1009 207 0 ROW3 +port 19 nsew analog default +rlabel metal2 1000 90 1009 108 0 ROW4 +port 20 nsew analog default +rlabel metal2 1000 47 1009 65 0 DRAIN4 +port 21 nsew +rlabel metal1 -693 595 -669 601 0 VGND +port 22 nsew +rlabel metal1 -693 -4 -669 4 0 VGND +port 22 nsew +rlabel metal1 -300 -4 -276 3 0 VGND +port 22 nsew +rlabel metal1 -300 595 -276 601 0 VGND +port 22 nsew +rlabel metal1 280 -4 304 3 0 VGND +port 22 nsew +rlabel metal1 673 -4 697 2 0 VGND +port 22 nsew +rlabel metal1 280 596 304 601 0 VGND +port 22 nsew +rlabel metal1 673 594 697 601 0 VGND +port 22 nsew +<< end >>
diff --git a/mag/sky130_hilas_swc4x2cellOverlap.mag b/mag/sky130_hilas_swc4x2cellOverlap.mag new file mode 100644 index 0000000..0039042 --- /dev/null +++ b/mag/sky130_hilas_swc4x2cellOverlap.mag
@@ -0,0 +1,586 @@ +magic +tech sky130A +timestamp 1608301303 +<< error_s >> +rect -678 1300 -649 1316 +rect -599 1300 -570 1316 +rect -520 1300 -491 1316 +rect -441 1300 -412 1316 +rect -195 1302 -166 1320 +rect -39 1302 -10 1320 +rect 207 1300 236 1316 +rect 286 1300 315 1316 +rect 365 1300 394 1316 +rect 444 1300 473 1316 +rect -195 1270 -194 1271 +rect -167 1270 -166 1271 +rect -39 1270 -38 1271 +rect -11 1270 -10 1271 +rect -678 1266 -677 1267 +rect -650 1266 -649 1267 +rect -599 1266 -598 1267 +rect -571 1266 -570 1267 +rect -520 1266 -519 1267 +rect -492 1266 -491 1267 +rect -441 1266 -440 1267 +rect -413 1266 -412 1267 +rect -728 1237 -711 1266 +rect -679 1265 -648 1266 +rect -600 1265 -569 1266 +rect -521 1265 -490 1266 +rect -442 1265 -411 1266 +rect -678 1258 -649 1265 +rect -599 1258 -570 1265 +rect -520 1258 -491 1265 +rect -441 1258 -412 1265 +rect -678 1244 -669 1258 +rect -422 1244 -412 1258 +rect -678 1238 -649 1244 +rect -599 1238 -570 1244 +rect -520 1238 -491 1244 +rect -441 1238 -412 1244 +rect -679 1237 -648 1238 +rect -600 1237 -569 1238 +rect -521 1237 -490 1238 +rect -442 1237 -411 1238 +rect -380 1237 -362 1266 +rect -245 1241 -227 1270 +rect -196 1269 -165 1270 +rect -195 1260 -166 1269 +rect -195 1251 -185 1260 +rect -176 1251 -166 1260 +rect -195 1242 -166 1251 +rect -196 1241 -165 1242 +rect -134 1241 -116 1270 +rect -89 1241 -71 1270 +rect -40 1269 -9 1270 +rect -39 1260 -10 1269 +rect -39 1251 -29 1260 +rect -20 1251 -10 1260 +rect -39 1242 -10 1251 +rect -40 1241 -9 1242 +rect 22 1241 40 1270 +rect 207 1266 208 1267 +rect 235 1266 236 1267 +rect 286 1266 287 1267 +rect 314 1266 315 1267 +rect 365 1266 366 1267 +rect 393 1266 394 1267 +rect 444 1266 445 1267 +rect 472 1266 473 1267 +rect -195 1240 -194 1241 +rect -167 1240 -166 1241 +rect -39 1240 -38 1241 +rect -11 1240 -10 1241 +rect 157 1237 175 1266 +rect 206 1265 237 1266 +rect 285 1265 316 1266 +rect 364 1265 395 1266 +rect 443 1265 474 1266 +rect 207 1258 236 1265 +rect 286 1258 315 1265 +rect 365 1258 394 1265 +rect 444 1258 473 1265 +rect 207 1244 217 1258 +rect 464 1244 473 1258 +rect 207 1238 236 1244 +rect 286 1238 315 1244 +rect 365 1238 394 1244 +rect 444 1238 473 1244 +rect 206 1237 237 1238 +rect 285 1237 316 1238 +rect 364 1237 395 1238 +rect 443 1237 474 1238 +rect 506 1237 523 1266 +rect 540 1244 542 1245 +rect -678 1236 -677 1237 +rect -650 1236 -649 1237 +rect -599 1236 -598 1237 +rect -571 1236 -570 1237 +rect -520 1236 -519 1237 +rect -492 1236 -491 1237 +rect -441 1236 -440 1237 +rect -413 1236 -412 1237 +rect 207 1236 208 1237 +rect 235 1236 236 1237 +rect 286 1236 287 1237 +rect 314 1236 315 1237 +rect 365 1236 366 1237 +rect 393 1236 394 1237 +rect 444 1236 445 1237 +rect 472 1236 473 1237 +rect -678 1187 -649 1202 +rect -599 1187 -570 1202 +rect -520 1187 -491 1202 +rect -441 1187 -412 1202 +rect -195 1191 -166 1209 +rect -39 1191 -10 1209 +rect 207 1187 236 1202 +rect 286 1187 315 1202 +rect 365 1187 394 1202 +rect 444 1187 473 1202 +rect -678 1153 -649 1169 +rect -599 1153 -570 1169 +rect -520 1153 -491 1169 +rect -441 1153 -412 1169 +rect -195 1150 -166 1168 +rect -39 1150 -10 1168 +rect 207 1153 236 1169 +rect 286 1153 315 1169 +rect 365 1153 394 1169 +rect 444 1153 473 1169 +rect -678 1119 -677 1120 +rect -650 1119 -649 1120 +rect -599 1119 -598 1120 +rect -571 1119 -570 1120 +rect -520 1119 -519 1120 +rect -492 1119 -491 1120 +rect -441 1119 -440 1120 +rect -413 1119 -412 1120 +rect 207 1119 208 1120 +rect 235 1119 236 1120 +rect 286 1119 287 1120 +rect 314 1119 315 1120 +rect 365 1119 366 1120 +rect 393 1119 394 1120 +rect 444 1119 445 1120 +rect 472 1119 473 1120 +rect -728 1090 -711 1119 +rect -679 1118 -648 1119 +rect -600 1118 -569 1119 +rect -521 1118 -490 1119 +rect -442 1118 -411 1119 +rect -678 1111 -649 1118 +rect -599 1111 -570 1118 +rect -520 1111 -491 1118 +rect -441 1111 -412 1118 +rect -678 1097 -669 1111 +rect -422 1097 -412 1111 +rect -678 1091 -649 1097 +rect -599 1091 -570 1097 +rect -520 1091 -491 1097 +rect -441 1091 -412 1097 +rect -679 1090 -648 1091 +rect -600 1090 -569 1091 +rect -521 1090 -490 1091 +rect -442 1090 -411 1091 +rect -380 1090 -362 1119 +rect -195 1118 -194 1119 +rect -167 1118 -166 1119 +rect -39 1118 -38 1119 +rect -11 1118 -10 1119 +rect -678 1089 -677 1090 +rect -650 1089 -649 1090 +rect -599 1089 -598 1090 +rect -571 1089 -570 1090 +rect -520 1089 -519 1090 +rect -492 1089 -491 1090 +rect -441 1089 -440 1090 +rect -413 1089 -412 1090 +rect -245 1089 -227 1118 +rect -196 1117 -165 1118 +rect -195 1108 -166 1117 +rect -195 1099 -185 1108 +rect -176 1099 -166 1108 +rect -195 1090 -166 1099 +rect -196 1089 -165 1090 +rect -134 1089 -116 1118 +rect -89 1089 -71 1118 +rect -40 1117 -9 1118 +rect -39 1108 -10 1117 +rect -39 1099 -29 1108 +rect -20 1099 -10 1108 +rect -39 1090 -10 1099 +rect -40 1089 -9 1090 +rect 22 1089 40 1118 +rect 157 1090 175 1119 +rect 206 1118 237 1119 +rect 285 1118 316 1119 +rect 364 1118 395 1119 +rect 443 1118 474 1119 +rect 207 1111 236 1118 +rect 286 1111 315 1118 +rect 365 1111 394 1118 +rect 444 1111 473 1118 +rect 207 1097 217 1111 +rect 464 1097 473 1111 +rect 207 1091 236 1097 +rect 286 1091 315 1097 +rect 365 1091 394 1097 +rect 444 1091 473 1097 +rect 206 1090 237 1091 +rect 285 1090 316 1091 +rect 364 1090 395 1091 +rect 443 1090 474 1091 +rect 506 1090 523 1119 +rect 207 1089 208 1090 +rect 235 1089 236 1090 +rect 286 1089 287 1090 +rect 314 1089 315 1090 +rect 365 1089 366 1090 +rect 393 1089 394 1090 +rect 444 1089 445 1090 +rect 472 1089 473 1090 +rect -195 1088 -194 1089 +rect -167 1088 -166 1089 +rect -39 1088 -38 1089 +rect -11 1088 -10 1089 +rect -678 1040 -649 1055 +rect -599 1040 -570 1055 +rect -520 1040 -491 1055 +rect -441 1040 -412 1055 +rect -195 1039 -166 1057 +rect -39 1039 -10 1057 +rect 207 1040 236 1055 +rect 286 1040 315 1055 +rect 365 1040 394 1055 +rect 444 1040 473 1055 +rect -678 1006 -649 1022 +rect -599 1006 -570 1022 +rect -520 1006 -491 1022 +rect -441 1006 -412 1022 +rect -195 1005 -166 1023 +rect -39 1005 -10 1023 +rect 207 1006 236 1022 +rect 286 1006 315 1022 +rect 365 1006 394 1022 +rect 444 1006 473 1022 +rect -195 973 -194 974 +rect -167 973 -166 974 +rect -39 973 -38 974 +rect -11 973 -10 974 +rect -678 972 -677 973 +rect -650 972 -649 973 +rect -599 972 -598 973 +rect -571 972 -570 973 +rect -520 972 -519 973 +rect -492 972 -491 973 +rect -441 972 -440 973 +rect -413 972 -412 973 +rect -728 943 -711 972 +rect -679 971 -648 972 +rect -600 971 -569 972 +rect -521 971 -490 972 +rect -442 971 -411 972 +rect -678 964 -649 971 +rect -599 964 -570 971 +rect -520 964 -491 971 +rect -441 964 -412 971 +rect -678 950 -669 964 +rect -422 950 -412 964 +rect -678 944 -649 950 +rect -599 944 -570 950 +rect -520 944 -491 950 +rect -441 944 -412 950 +rect -679 943 -648 944 +rect -600 943 -569 944 +rect -521 943 -490 944 +rect -442 943 -411 944 +rect -380 943 -362 972 +rect -245 944 -227 973 +rect -196 972 -165 973 +rect -195 963 -166 972 +rect -195 954 -185 963 +rect -176 954 -166 963 +rect -195 945 -166 954 +rect -196 944 -165 945 +rect -134 944 -116 973 +rect -89 944 -71 973 +rect -40 972 -9 973 +rect -39 963 -10 972 +rect -39 954 -29 963 +rect -20 954 -10 963 +rect -39 945 -10 954 +rect -40 944 -9 945 +rect 22 944 40 973 +rect 207 972 208 973 +rect 235 972 236 973 +rect 286 972 287 973 +rect 314 972 315 973 +rect 365 972 366 973 +rect 393 972 394 973 +rect 444 972 445 973 +rect 472 972 473 973 +rect -195 943 -194 944 +rect -167 943 -166 944 +rect -39 943 -38 944 +rect -11 943 -10 944 +rect 157 943 175 972 +rect 206 971 237 972 +rect 285 971 316 972 +rect 364 971 395 972 +rect 443 971 474 972 +rect 207 964 236 971 +rect 286 964 315 971 +rect 365 964 394 971 +rect 444 964 473 971 +rect 207 950 217 964 +rect 464 950 473 964 +rect 207 944 236 950 +rect 286 944 315 950 +rect 365 944 394 950 +rect 444 944 473 950 +rect 206 943 237 944 +rect 285 943 316 944 +rect 364 943 395 944 +rect 443 943 474 944 +rect 506 943 523 972 +rect -678 942 -677 943 +rect -650 942 -649 943 +rect -599 942 -598 943 +rect -571 942 -570 943 +rect -520 942 -519 943 +rect -492 942 -491 943 +rect -441 942 -440 943 +rect -413 942 -412 943 +rect 207 942 208 943 +rect 235 942 236 943 +rect 286 942 287 943 +rect 314 942 315 943 +rect 365 942 366 943 +rect 393 942 394 943 +rect 444 942 445 943 +rect 472 942 473 943 +rect -678 893 -649 908 +rect -599 893 -570 908 +rect -520 893 -491 908 +rect -441 893 -412 908 +rect -195 894 -166 912 +rect -39 894 -10 912 +rect 207 893 236 908 +rect 286 893 315 908 +rect 365 893 394 908 +rect 444 893 473 908 +rect -678 859 -649 875 +rect -599 859 -570 875 +rect -520 859 -491 875 +rect -441 859 -412 875 +rect -195 851 -166 869 +rect -39 851 -10 869 +rect 207 859 236 875 +rect 286 859 315 875 +rect 365 859 394 875 +rect 444 859 473 875 +rect -678 825 -677 826 +rect -650 825 -649 826 +rect -599 825 -598 826 +rect -571 825 -570 826 +rect -520 825 -519 826 +rect -492 825 -491 826 +rect -441 825 -440 826 +rect -413 825 -412 826 +rect 207 825 208 826 +rect 235 825 236 826 +rect 286 825 287 826 +rect 314 825 315 826 +rect 365 825 366 826 +rect 393 825 394 826 +rect 444 825 445 826 +rect 472 825 473 826 +rect -728 796 -711 825 +rect -679 824 -648 825 +rect -600 824 -569 825 +rect -521 824 -490 825 +rect -442 824 -411 825 +rect -678 817 -649 824 +rect -599 817 -570 824 +rect -520 817 -491 824 +rect -441 817 -412 824 +rect -678 803 -669 817 +rect -422 803 -412 817 +rect -678 797 -649 803 +rect -599 797 -570 803 +rect -520 797 -491 803 +rect -441 797 -412 803 +rect -679 796 -648 797 +rect -600 796 -569 797 +rect -521 796 -490 797 +rect -442 796 -411 797 +rect -380 796 -362 825 +rect -195 819 -194 820 +rect -167 819 -166 820 +rect -39 819 -38 820 +rect -11 819 -10 820 +rect -678 795 -677 796 +rect -650 795 -649 796 +rect -599 795 -598 796 +rect -571 795 -570 796 +rect -520 795 -519 796 +rect -492 795 -491 796 +rect -441 795 -440 796 +rect -413 795 -412 796 +rect -245 790 -227 819 +rect -196 818 -165 819 +rect -195 809 -166 818 +rect -195 800 -185 809 +rect -176 800 -166 809 +rect -195 791 -166 800 +rect -196 790 -165 791 +rect -134 790 -116 819 +rect -89 790 -71 819 +rect -40 818 -9 819 +rect -39 809 -10 818 +rect -39 800 -29 809 +rect -20 800 -10 809 +rect -39 791 -10 800 +rect -40 790 -9 791 +rect 22 790 40 819 +rect 157 796 175 825 +rect 206 824 237 825 +rect 285 824 316 825 +rect 364 824 395 825 +rect 443 824 474 825 +rect 207 817 236 824 +rect 286 817 315 824 +rect 365 817 394 824 +rect 444 817 473 824 +rect 207 803 217 817 +rect 464 803 473 817 +rect 207 797 236 803 +rect 286 797 315 803 +rect 365 797 394 803 +rect 444 797 473 803 +rect 206 796 237 797 +rect 285 796 316 797 +rect 364 796 395 797 +rect 443 796 474 797 +rect 506 796 523 825 +rect 207 795 208 796 +rect 235 795 236 796 +rect 286 795 287 796 +rect 314 795 315 796 +rect 365 795 366 796 +rect 393 795 394 796 +rect 444 795 445 796 +rect 472 795 473 796 +rect -195 789 -194 790 +rect -167 789 -166 790 +rect -39 789 -38 790 +rect -11 789 -10 790 +rect -678 746 -649 761 +rect -599 746 -570 761 +rect -520 746 -491 761 +rect -441 746 -412 761 +rect -195 740 -166 758 +rect -39 740 -10 758 +rect 207 746 236 761 +rect 286 746 315 761 +rect 365 746 394 761 +rect 444 746 473 761 +<< metal1 >> +rect -965 1327 -949 1333 +rect -924 1327 -905 1333 +rect -884 1327 -868 1333 +rect -965 729 -949 736 +rect -924 729 -905 736 +rect -884 729 -868 736 +rect -557 728 -532 1333 +rect -196 728 -166 1333 +rect -38 728 -8 1333 +rect 328 728 352 1333 +rect 663 1326 679 1333 +rect 700 1326 719 1333 +rect 744 1326 760 1333 +rect 663 729 679 736 +rect 700 729 719 736 +rect 744 729 760 736 +<< metal2 >> +rect -1001 1265 -993 1283 +rect 785 1265 796 1283 +rect -1001 1222 -993 1240 +rect 786 1222 797 1240 +rect -1001 1122 -993 1140 +rect 786 1122 797 1140 +rect -1001 1079 -993 1097 +rect -761 1089 -749 1097 +rect 548 1083 560 1097 +rect 786 1079 797 1097 +rect -1001 964 -994 982 +rect 785 964 796 982 +rect -1001 921 -994 939 +rect 785 921 796 939 +rect -1001 822 -994 840 +rect 785 822 796 840 +rect -1001 779 -994 797 +rect 785 779 796 797 +use sky130_hilas_swc4x1cellOverlap2 sky130_hilas_swc4x1cellOverlap2_0 +timestamp 1607392100 +transform 1 0 52 0 1 1110 +box -191 -382 744 223 +use sky130_hilas_swc4x1cellOverlap2 sky130_hilas_swc4x1cellOverlap2_1 +timestamp 1607392100 +transform -1 0 -257 0 1 1110 +box -191 -382 744 223 +<< labels >> +rlabel metal1 -884 1327 -868 1333 0 VERT1 +port 1 nsew analog default +rlabel metal1 -965 1327 -949 1333 0 VINJ +port 10 nsew +rlabel metal1 -924 1327 -905 1333 0 GATESELECT1 +port 11 nsew analog default +rlabel metal2 -1001 1265 -993 1283 0 DRAIN1 +port 3 nsew analog default +rlabel metal2 -1001 1222 -993 1240 0 HORIZ1 +port 2 nsew analog default +rlabel metal2 -1001 1122 -993 1140 0 HORIZ2 +port 4 nsew analog default +rlabel metal2 -1001 1079 -993 1097 0 DRAIN2 +port 5 nsew analog default +rlabel metal2 -1001 964 -994 982 0 DRAIN3 +port 6 nsew analog default +rlabel metal2 -1001 921 -994 939 0 HORIZ3 +port 7 nsew analog default +rlabel metal2 -1001 822 -994 840 0 HORIZ4 +port 8 nsew analog default +rlabel metal2 -1001 779 -994 797 0 DRAIN4 +port 9 nsew analog default +rlabel metal1 -965 729 -949 736 0 VINJ +port 10 nsew power default +rlabel metal1 -884 729 -868 736 0 VERT1 +port 1 nsew analog default +rlabel metal1 -924 729 -905 736 0 GATESELECT1 +port 11 nsew analog default +rlabel metal1 744 729 760 736 0 VINJ +port 10 nsew power default +rlabel metal1 663 1326 679 1333 0 VERT2 +port 12 nsew analog default +rlabel metal1 700 1326 719 1333 0 GATESELECT2 +port 13 nsew analog default +rlabel metal1 744 1326 760 1333 0 VINJ +port 10 nsew power default +rlabel metal1 663 729 679 736 0 VERT2 +port 12 nsew analog default +rlabel metal1 700 729 719 736 0 GATESELECT2 +port 13 nsew analog default +rlabel metal2 785 1265 796 1283 0 DRAIN1 +port 3 nsew analog default +rlabel metal2 786 1222 797 1240 0 HORIZ1 +port 2 nsew analog default +rlabel metal2 786 1122 797 1140 0 HORIZ2 +port 4 nsew analog default +rlabel metal2 786 1079 797 1097 0 DRAIN2 +port 5 nsew analog default +rlabel metal2 785 964 796 982 0 DRAIN3 +port 6 nsew analog default +rlabel metal2 785 921 796 939 0 HORIZ3 +port 7 nsew analog default +rlabel metal2 785 822 796 840 0 HORIZ4 +port 8 nsew analog default +rlabel metal2 785 779 796 797 0 DRAIN +port 14 nsew analog default +rlabel metal1 328 1328 352 1333 0 GATE2 +port 15 nsew analog default +rlabel metal1 328 728 352 734 0 GATE2 +port 15 nsew analog default +rlabel metal1 -557 1327 -532 1333 0 GATE1 +port 16 nsew analog default +rlabel metal1 -557 728 -532 734 0 GATE1 +port 16 nsew analog default +rlabel metal1 -196 1325 -166 1333 0 VTUN +port 17 nsew analog default +rlabel metal1 -38 1325 -8 1333 0 VTUN +rlabel metal1 -196 728 -166 736 0 VTUN +port 17 nsew analog default +rlabel metal1 -38 728 -8 736 0 VTUN +port 17 nsew analog default +<< end >>
diff --git a/mag/sky130_hilas_wellContact.mag b/mag/sky130_hilas_wellContact.mag new file mode 100644 index 0000000..5683e0e --- /dev/null +++ b/mag/sky130_hilas_wellContact.mag
@@ -0,0 +1,23 @@ +magic +tech sky130A +timestamp 1606753443 +<< nwell >> +rect -1449 -440 -1275 -256 +<< mvnsubdiff >> +rect -1394 -360 -1335 -331 +rect -1394 -387 -1379 -360 +rect -1351 -387 -1335 -360 +rect -1394 -405 -1335 -387 +<< mvnsubdiffcont >> +rect -1379 -387 -1351 -360 +<< locali >> +rect -1406 -360 -1351 -352 +rect -1406 -395 -1351 -387 +<< viali >> +rect -1406 -387 -1379 -360 +<< metal1 >> +rect -1412 -360 -1373 -255 +rect -1412 -387 -1406 -360 +rect -1379 -387 -1373 -360 +rect -1412 -441 -1373 -387 +<< end >>
diff --git a/verilog/rtl/sky130_hilas_TopLevelProtectStructure.v b/verilog/rtl/sky130_hilas_TopLevelProtectStructure.v index 8b65f5a..0e0f27c 100644 --- a/verilog/rtl/sky130_hilas_TopLevelProtectStructure.v +++ b/verilog/rtl/sky130_hilas_TopLevelProtectStructure.v
@@ -1,10 +1,10 @@ -`ifndef SKY130_HILAS_TOPLEVELPROTECTSTRUCTURE -`define SKY130_HILAS_TOPLEVELPROTECTSTRUCTURE +`ifndef SKY130_HILAS_TOPLEVELTESTSTRUCTURE +`define SKY130_HILAS_TOPLEVELTESTSTRUCTURE /** - * sky130_hilas_TopLevelProtectStructure: top level test structure with the protection diodes + * sky130_hilas_TopLevelTestStructure: top level test structure * - * Verilog wrapper for sky130_hilas_TopLevelProtectStructure. + * Verilog wrapper for sky130_hilas_TopLevelTestStructure. * * WARNING: This file is autogenerated, do not modify directly! */ @@ -17,134 +17,118 @@ /*********************************************************/ `celldefine -module sky130_hilas_TopLevelProtectStructure ( - IO07, - IO08, - IO09, - IO10, - IO11, - IO12, - IO13, - IO25, - IO26, - IO27, - IO28, - IO29, - IO30, - IO31, - IO32, - IO33, - IO34, - IO35, - IO36, - IO37, - VSSA1, - ANALOG10, - ANALOG09, - ANALOG08, - ANALOG07, - ANALOG06, - ANALOG05, - ANALOG04, - ANALOG03, - ANALOG02, - ANALOG01, - ANALOG00, - VDDA1, - LADATAOUT01, - LADATAOUT00, - LADATAOUT02, - LADATAOUT03, - LADATAOUT04, - LADATAOUT05, - LADATAOUT06, - LADATAOUT07, - LADATAOUT08, - LADATAOUT09, - LADATAOUT10, - LADATAOUT11, - LADATAOUT12, - LADATAOUT13, - LADATAOUT14, - LADATAOUT15, - LADATA16, - LADATAOUT17, - LADATAOUT18, - LADATAOUT19, - LADATAOUT20, - LADATAOUT21, - LADATAOUT22, - LADATAOUT24, - LADATAIN00, - LADATAIN01, - LADATAIN02, - LADATAIN03, - VCCA, +module sky130_hilas_TopLevelTestStructure ( + DIG23, + DIG22, + DIG21, + DIG29, + DIG28, + DIG27, + DIG26, + DIG25, + DIG20, + DIG19, + DIG18, + DIG17, + DIG16, + DIG15, + DIG14, + DIG13, + DIG12, + DIG11, + DIG10, + DIG09, + DIG08, + DIG07, + DIG06, + DIG05, + DIG04, + DIG03, + DIG02, + DIG01, + GENERALGATE02, + DRAINOUT, + ROWTERM2, + COLUMN2, + COLUMN1, + GATE2, + DRAININJECT, + VTUN, + VREFCHAR, + CHAROUTPUT, + LARGECAPACITOR, + DRAIN6N, + DRAIN6P, + DRAIN5P, + DRAIN4P, + DRAIN5N, + DRAIN4N, + DRAIN3P, + DRAIN2P, + DRAIN3N, + SOURCEN, + SOURCEP, + GATE1, + VINJ, + VGND, + VPWR, VNB, VPB ); - inout IO07; - inout IO08; - inout IO09; - inout IO10; - inout IO11; - inout IO12; - inout IO13; - inout IO25; - inout IO26; - inout IO27; - inout IO28; - inout IO29; - inout IO30; - inout IO31; - inout IO32; - inout IO33; - inout IO34; - inout IO35; - inout IO36; - inout IO37; - inout VSSA1; - inout ANALOG10; - inout ANALOG09; - inout ANALOG08; - inout ANALOG07; - inout ANALOG06; - inout ANALOG05; - inout ANALOG04; - inout ANALOG03; - inout ANALOG02; - inout ANALOG01; - inout ANALOG00; - inout VDDA1; - inout LADATAOUT01; - inout LADATAOUT00; - inout LADATAOUT02; - inout LADATAOUT03; - inout LADATAOUT04; - inout LADATAOUT05; - inout LADATAOUT06; - inout LADATAOUT07; - inout LADATAOUT08; - inout LADATAOUT09; - inout LADATAOUT10; - inout LADATAOUT11; - inout LADATAOUT12; - inout LADATAOUT13; - inout LADATAOUT14; - inout LADATAOUT15; - inout LADATA16; - inout LADATAOUT17; - inout LADATAOUT18; - inout LADATAOUT19; - inout LADATAOUT20; - inout LADATAOUT21; - inout LADATAOUT22; - inout LADATAOUT24; - inout LADATAIN00; - inout LADATAIN01; - inout LADATAIN02; - inout LADATAIN03; - inout VCCA; + inout DIG23; + inout DIG22; + inout DIG21; + inout DIG29; + inout DIG28; + inout DIG27; + inout DIG26; + inout DIG25; + inout DIG20; + inout DIG19; + inout DIG18; + inout DIG17; + inout DIG16; + inout DIG15; + inout DIG14; + inout DIG13; + inout DIG12; + inout DIG11; + inout DIG10; + inout DIG09; + inout DIG08; + inout DIG07; + inout DIG06; + inout DIG05; + inout DIG04; + inout DIG03; + inout DIG02; + inout DIG01; + inout GENERALGATE02; + inout DRAINOUT; + inout ROWTERM2; + inout COLUMN2; + inout COLUMN1; + inout GATE2; + inout DRAININJECT; + inout VTUN; + inout VREFCHAR; + inout CHAROUTPUT; + inout LARGECAPACITOR; + inout DRAIN6N; + inout DRAIN6P; + inout DRAIN5P; + inout DRAIN4P; + inout DRAIN5N; + inout DRAIN4N; + inout DRAIN3P; + inout DRAIN2P; + inout DRAIN3N; + inout SOURCEN; + inout SOURCEP; + inout GATE1; + inout VINJ; + inout VGND; + inout VPWR; inout VNB; inout VPB; endmodule @@ -155,132 +139,112 @@ /*********************************************************/ `celldefine -module sky130_hilas_TopLevelProtectStructure ( - IO07, - IO08, - IO09, - IO10, - IO11, - IO12, - IO13, - IO25, - IO26, - IO27, - IO28, - IO29, - IO30, - IO31, - IO32, - IO33, - IO34, - IO35, - IO36, - IO37, - VSSA1, - ANALOG10, - ANALOG09, - ANALOG08, - ANALOG07, - ANALOG06, - ANALOG05, - ANALOG04, - ANALOG03, - ANALOG02, - ANALOG01, - ANALOG00, - VDDA1, - LADATAOUT01, - LADATAOUT00, - LADATAOUT02, - LADATAOUT03, - LADATAOUT04, - LADATAOUT05, - LADATAOUT06, - LADATAOUT07, - LADATAOUT08, - LADATAOUT09, - LADATAOUT10, - LADATAOUT11, - LADATAOUT12, - LADATAOUT13, - LADATAOUT14, - LADATAOUT15, - LADATA16, - LADATAOUT17, - LADATAOUT18, - LADATAOUT19, - LADATAOUT20, - LADATAOUT21, - LADATAOUT22, - LADATAOUT24, - LADATAIN00, - LADATAIN01, - LADATAIN02, - LADATAIN03, - VCCA +module sky130_hilas_TopLevelTestStructure ( + DIG23, + DIG22, + DIG21, + DIG29, + DIG28, + DIG27, + DIG26, + DIG25, + DIG20, + DIG19, + DIG18, + DIG17, + DIG16, + DIG15, + DIG14, + DIG13, + DIG12, + DIG11, + DIG10, + DIG09, + DIG08, + DIG07, + DIG06, + DIG05, + DIG04, + DIG03, + DIG02, + DIG01, + GENERALGATE02, + DRAINOUT, + ROWTERM2, + COLUMN2, + COLUMN1, + GATE2, + DRAININJECT, + VTUN, + VREFCHAR, + CHAROUTPUT, + LARGECAPACITOR, + DRAIN6N, + DRAIN6P, + DRAIN5P, + DRAIN4P, + DRAIN5N, + DRAIN4N, + DRAIN3P, + DRAIN2P, + DRAIN3N, + SOURCEN, + SOURCEP, + GATE1, + VINJ ); - inout IO07; - inout IO08; - inout IO09; - inout IO10; - inout IO11; - inout IO12; - inout IO13; - inout IO25; - inout IO26; - inout IO27; - inout IO28; - inout IO29; - inout IO30; - inout IO31; - inout IO32; - inout IO33; - inout IO34; - inout IO35; - inout IO36; - inout IO37; - inout VSSA1; - inout ANALOG10; - inout ANALOG09; - inout ANALOG08; - inout ANALOG07; - inout ANALOG06; - inout ANALOG05; - inout ANALOG04; - inout ANALOG03; - inout ANALOG02; - inout ANALOG01; - inout ANALOG00; - inout VDDA1; - inout LADATAOUT01; - inout LADATAOUT00; - inout LADATAOUT02; - inout LADATAOUT03; - inout LADATAOUT04; - inout LADATAOUT05; - inout LADATAOUT06; - inout LADATAOUT07; - inout LADATAOUT08; - inout LADATAOUT09; - inout LADATAOUT10; - inout LADATAOUT11; - inout LADATAOUT12; - inout LADATAOUT13; - inout LADATAOUT14; - inout LADATAOUT15; - inout LADATA16; - inout LADATAOUT17; - inout LADATAOUT18; - inout LADATAOUT19; - inout LADATAOUT20; - inout LADATAOUT21; - inout LADATAOUT22; - inout LADATAOUT24; - inout LADATAIN00; - inout LADATAIN01; - inout LADATAIN02; - inout LADATAIN03; - inout VCCA; + inout DIG23; + inout DIG22; + inout DIG21; + inout DIG29; + inout DIG28; + inout DIG27; + inout DIG26; + inout DIG25; + inout DIG20; + inout DIG19; + inout DIG18; + inout DIG17; + inout DIG16; + inout DIG15; + inout DIG14; + inout DIG13; + inout DIG12; + inout DIG11; + inout DIG10; + inout DIG09; + inout DIG08; + inout DIG07; + inout DIG06; + inout DIG05; + inout DIG04; + inout DIG03; + inout DIG02; + inout DIG01; + inout GENERALGATE02; + inout DRAINOUT; + inout ROWTERM2; + inout COLUMN2; + inout COLUMN1; + inout GATE2; + inout DRAININJECT; + inout VTUN; + inout VREFCHAR; + inout CHAROUTPUT; + inout LARGECAPACITOR; + inout DRAIN6N; + inout DRAIN6P; + inout DRAIN5P; + inout DRAIN4P; + inout DRAIN5N; + inout DRAIN4N; + inout DRAIN3P; + inout DRAIN2P; + inout DRAIN3N; + inout SOURCEN; + inout SOURCEP; + inout GATE1; + inout VINJ; endmodule `endcelldefine @@ -288,4 +252,4 @@ `endif // USE_POWER_PINS `default_nettype wire -`endif // SKY130_HILAS_TOPLEVELPROTECTSTRUCTURE +`endif // SKY130_HILAS_TOPLEVELTESTSTRUCTURE
diff --git a/verilog/rtl/user_analog_project_wrapper.v b/verilog/rtl/user_analog_project_wrapper.v index a4a8c1a..61604f1 100644 --- a/verilog/rtl/user_analog_project_wrapper.v +++ b/verilog/rtl/user_analog_project_wrapper.v
@@ -121,59 +121,77 @@ /*--------------------------------------*/ /* User project is instantiated here */ /*--------------------------------------*/ - -user_analog_proj_example mprj ( +sky130_hilas_TopLevelProtectStructure mprj ( `ifdef USE_POWER_PINS - .vdda1(vdda1), // User area 1 3.3V power - .vdda2(vdda2), // User area 2 3.3V power - .vssa1(vssa1), // User area 1 analog ground - .vssa2(vssa2), // User area 2 analog ground - .vccd1(vccd1), // User area 1 1.8V power - .vccd2(vccd2), // User area 2 1.8V power - .vssd1(vssd1), // User area 1 digital ground - .vssd2(vssd2), // User area 2 digital ground + //Power Connections + .VDDA1(vdda1), + .VSSA1(vssa1), + .VCCD1(vccd1), `endif - - .wb_clk_i(wb_clk_i), - .wb_rst_i(wb_rst_i), - - // MGMT SoC Wishbone Slave - - .wbs_cyc_i(wbs_cyc_i), - .wbs_stb_i(wbs_stb_i), - .wbs_we_i(wbs_we_i), - .wbs_sel_i(wbs_sel_i), - .wbs_adr_i(wbs_adr_i), - .wbs_dat_i(wbs_dat_i), - .wbs_ack_o(wbs_ack_o), - .wbs_dat_o(wbs_dat_o), - - // Logic Analyzer - - .la_data_in(la_data_in), - .la_data_out(la_data_out), - .la_oenb (la_oenb), - - // IO Pads - .io_in (io_in), - .io_in_3v3 (io_in_3v3), - .io_out(io_out), - .io_oeb(io_oeb), - - // GPIO-analog - .gpio_analog(gpio_analog), - .gpio_noesd(gpio_noesd), - - // Dedicated analog - .io_analog(io_analog), - .io_clamp_high(io_clamp_high), - .io_clamp_low(io_clamp_low), - - // Clock - .user_clock2(user_clock2), - - // IRQ - .irq(user_irq) + //IO Connections + .IO7(mprj_io[7]), + .IO8(mprj_io[8]), + .IO9(mprj_io[9]), + .IO10(mprj_io[10]), + .IO11(mprj_io[11]), + .IO12(mprj_io[12]), + .IO13(mprj_io[13]), + .IO25(mprj_io[25]), + .IO26(mprj_io[26]), + .IO27(mprj_io[27]), + .IO28(mprj_io[28]), + .IO29(mprj_io[29]), + .IO30(mprj_io[30]), + .IO31(mprj_io[31]), + .IO32(mprj_io[32]), + .IO33(mprj_io[33]), + .IO34(mprj_io[34]), + .IO35(mprj_io[35]), + .IO36(mprj_io[36]), + .IO37(mprj_io[37]), + //Analog + .ANALOG00(io_analog[0]), + .ANALOG01(io_analog[1]), + .ANALOG02(io_analog[2]), + .ANALOG03(io_analog[3]), + .ANALOG04(io_analog[4]), + .ANALOG05(io_analog[5]), + .ANALOG06(io_analog[6]), + .ANALOG07(io_analog[7]), + .ANALOG08(io_analog[8]), + .ANALOG09(io_analog[9]), + .ANALOG10(io_analog[10]), + //Logic Analyzer OUT + .LADATAOUT00(la_data_out[0]), + .LADATAOUT01(la_data_out[1]), + .LADATAOUT02(la_data_out[2]), + .LADATAOUT03(la_data_out[3]), + .LADATAOUT04(la_data_out[4]), + .LADATAOUT05(la_data_out[5]), + .LADATAOUT06(la_data_out[6]), + .LADATAOUT07(la_data_out[7]), + .LADATAOUT08(la_data_out[8]), + .LADATAOUT09(la_data_out[9]), + .LADATAOUT10(la_data_out[10]), + .LADATAOUT11(la_data_out[11]), + .LADATAOUT12(la_data_out[12]), + .LADATAOUT13(la_data_out[13]), + .LADATAOUT14(la_data_out[14]), + .LADATAOUT15(la_data_out[15]), + .LADATAOUT16(la_data_out[16]), + .LADATAOUT17(la_data_out[17]), + .LADATAOUT18(la_data_out[18]), + .LADATAOUT19(la_data_out[19]), + .LADATAOUT20(la_data_out[20]), + .LADATAOUT21(la_data_out[21]), + .LADATAOUT22(la_data_out[22]), + .LADATAOUT23(la_data_out[23]), + .LADATAOUT24(la_data_out[24]), + //Logic Analyzer IN + .LADATAIN00(la_data_in[0]), + .LADATAIN01(la_data_in[1]), + .LADATAIN02(la_data_in[2]), + .LADATAIN03(la_data_in[3]), ); endmodule // user_analog_project_wrapper
diff --git a/xschem/sky130_hilas_DAC5bit01.sch b/xschem/sky130_hilas_DAC5bit01.sch new file mode 100644 index 0000000..f55caf9 --- /dev/null +++ b/xschem/sky130_hilas_DAC5bit01.sch
@@ -0,0 +1,637 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 860 -1010 890 -1010 { lab=VPWR} +N 890 -1040 890 -1010 { lab=VPWR} +N 860 -1040 890 -1040 { lab=VPWR} +N 1070 -1010 1100 -1010 { lab=VPWR} +N 1100 -1040 1100 -1010 { lab=VPWR} +N 1070 -1040 1100 -1040 { lab=VPWR} +N 1070 -1070 1100 -1070 { lab=VPWR} +N 1100 -1070 1100 -1040 { lab=VPWR} +N 1040 -980 1070 -980 { lab=OUT} +N 1030 -1070 1030 -1010 { lab=A1} +N 1010 -980 1040 -980 { lab=OUT} +N 790 -980 860 -980 { lab=OUT} +N 1100 -1100 1100 -1070 { lab=VPWR} +N 1100 -1010 1100 -980 { lab=VPWR} +N 1280 -1010 1310 -1010 { lab=VPWR} +N 1310 -1040 1310 -1010 { lab=VPWR} +N 1280 -1040 1310 -1040 { lab=VPWR} +N 1280 -1070 1310 -1070 { lab=VPWR} +N 1310 -1070 1310 -1040 { lab=VPWR} +N 1250 -980 1280 -980 { lab=OUT} +N 1240 -1070 1240 -1010 { lab=A2} +N 1220 -980 1250 -980 { lab=OUT} +N 1310 -1100 1310 -1070 { lab=VPWR} +N 1310 -1010 1310 -980 { lab=VPWR} +N 1280 -890 1310 -890 { lab=VPWR} +N 1310 -920 1310 -890 { lab=VPWR} +N 1280 -920 1310 -920 { lab=VPWR} +N 1280 -950 1310 -950 { lab=VPWR} +N 1310 -950 1310 -920 { lab=VPWR} +N 1250 -860 1280 -860 { lab=OUT} +N 1240 -950 1240 -890 { lab=A2} +N 1220 -860 1250 -860 { lab=OUT} +N 1310 -980 1310 -950 { lab=VPWR} +N 1310 -890 1310 -860 { lab=VPWR} +N 1490 -1010 1520 -1010 { lab=VPWR} +N 1520 -1040 1520 -1010 { lab=VPWR} +N 1490 -1040 1520 -1040 { lab=VPWR} +N 1490 -1070 1520 -1070 { lab=VPWR} +N 1520 -1070 1520 -1040 { lab=VPWR} +N 1460 -980 1490 -980 { lab=OUT} +N 1450 -1070 1450 -1010 { lab=A3} +N 1430 -980 1460 -980 { lab=OUT} +N 1520 -1100 1520 -1070 { lab=VPWR} +N 1520 -1010 1520 -980 { lab=VPWR} +N 1490 -890 1520 -890 { lab=VPWR} +N 1520 -920 1520 -890 { lab=VPWR} +N 1490 -920 1520 -920 { lab=VPWR} +N 1490 -950 1520 -950 { lab=VPWR} +N 1520 -950 1520 -920 { lab=VPWR} +N 1460 -860 1490 -860 { lab=OUT} +N 1450 -950 1450 -890 { lab=A3} +N 1430 -860 1460 -860 { lab=OUT} +N 1520 -980 1520 -950 { lab=VPWR} +N 1520 -890 1520 -860 { lab=VPWR} +N 1490 -770 1520 -770 { lab=VPWR} +N 1520 -800 1520 -770 { lab=VPWR} +N 1490 -800 1520 -800 { lab=VPWR} +N 1490 -830 1520 -830 { lab=VPWR} +N 1520 -830 1520 -800 { lab=VPWR} +N 1460 -740 1490 -740 { lab=OUT} +N 1450 -830 1450 -770 { lab=A3} +N 1430 -740 1460 -740 { lab=OUT} +N 1520 -860 1520 -830 { lab=VPWR} +N 1520 -770 1520 -740 { lab=VPWR} +N 1490 -650 1520 -650 { lab=VPWR} +N 1520 -680 1520 -650 { lab=VPWR} +N 1490 -680 1520 -680 { lab=VPWR} +N 1490 -710 1520 -710 { lab=VPWR} +N 1520 -710 1520 -680 { lab=VPWR} +N 1460 -620 1490 -620 { lab=OUT} +N 1450 -710 1450 -650 { lab=A3} +N 1430 -620 1460 -620 { lab=OUT} +N 1520 -740 1520 -710 { lab=VPWR} +N 1520 -650 1520 -620 { lab=VPWR} +N 1720 -1010 1750 -1010 { lab=VPWR} +N 1750 -1040 1750 -1010 { lab=VPWR} +N 1720 -1040 1750 -1040 { lab=VPWR} +N 1720 -1070 1750 -1070 { lab=VPWR} +N 1750 -1070 1750 -1040 { lab=VPWR} +N 1690 -980 1720 -980 { lab=OUT} +N 1680 -1070 1680 -1010 { lab=A4} +N 1660 -980 1690 -980 { lab=OUT} +N 1750 -1100 1750 -1070 { lab=VPWR} +N 1750 -1010 1750 -980 { lab=VPWR} +N 1720 -890 1750 -890 { lab=VPWR} +N 1750 -920 1750 -890 { lab=VPWR} +N 1720 -920 1750 -920 { lab=VPWR} +N 1720 -950 1750 -950 { lab=VPWR} +N 1750 -950 1750 -920 { lab=VPWR} +N 1690 -860 1720 -860 { lab=OUT} +N 1680 -950 1680 -890 { lab=A4} +N 1660 -860 1690 -860 { lab=OUT} +N 1750 -980 1750 -950 { lab=VPWR} +N 1750 -890 1750 -860 { lab=VPWR} +N 1720 -770 1750 -770 { lab=VPWR} +N 1750 -800 1750 -770 { lab=VPWR} +N 1720 -800 1750 -800 { lab=VPWR} +N 1720 -830 1750 -830 { lab=VPWR} +N 1750 -830 1750 -800 { lab=VPWR} +N 1690 -740 1720 -740 { lab=OUT} +N 1680 -830 1680 -770 { lab=A4} +N 1660 -740 1690 -740 { lab=OUT} +N 1750 -860 1750 -830 { lab=VPWR} +N 1750 -770 1750 -740 { lab=VPWR} +N 1720 -650 1750 -650 { lab=VPWR} +N 1750 -680 1750 -650 { lab=VPWR} +N 1720 -680 1750 -680 { lab=VPWR} +N 1720 -710 1750 -710 { lab=VPWR} +N 1750 -710 1750 -680 { lab=VPWR} +N 1690 -620 1720 -620 { lab=OUT} +N 1680 -710 1680 -650 { lab=A4} +N 1660 -620 1690 -620 { lab=OUT} +N 1750 -740 1750 -710 { lab=VPWR} +N 1750 -650 1750 -620 { lab=VPWR} +N 1720 -530 1750 -530 { lab=VPWR} +N 1750 -560 1750 -530 { lab=VPWR} +N 1720 -560 1750 -560 { lab=VPWR} +N 1720 -590 1750 -590 { lab=VPWR} +N 1750 -590 1750 -560 { lab=VPWR} +N 1690 -500 1720 -500 { lab=OUT} +N 1680 -590 1680 -530 { lab=A4} +N 1660 -500 1690 -500 { lab=OUT} +N 1750 -620 1750 -590 { lab=VPWR} +N 1750 -530 1750 -500 { lab=VPWR} +N 1720 -410 1750 -410 { lab=VPWR} +N 1750 -440 1750 -410 { lab=VPWR} +N 1720 -440 1750 -440 { lab=VPWR} +N 1720 -470 1750 -470 { lab=VPWR} +N 1750 -470 1750 -440 { lab=VPWR} +N 1690 -380 1720 -380 { lab=OUT} +N 1680 -470 1680 -410 { lab=A4} +N 1660 -380 1690 -380 { lab=OUT} +N 1750 -500 1750 -470 { lab=VPWR} +N 1750 -410 1750 -380 { lab=VPWR} +N 1720 -290 1750 -290 { lab=VPWR} +N 1750 -320 1750 -290 { lab=VPWR} +N 1720 -320 1750 -320 { lab=VPWR} +N 1720 -350 1750 -350 { lab=VPWR} +N 1750 -350 1750 -320 { lab=VPWR} +N 1690 -260 1720 -260 { lab=OUT} +N 1680 -350 1680 -290 { lab=A4} +N 1660 -260 1690 -260 { lab=OUT} +N 1750 -380 1750 -350 { lab=VPWR} +N 1750 -290 1750 -260 { lab=VPWR} +N 1720 -170 1750 -170 { lab=VPWR} +N 1750 -200 1750 -170 { lab=VPWR} +N 1720 -200 1750 -200 { lab=VPWR} +N 1720 -230 1750 -230 { lab=VPWR} +N 1750 -230 1750 -200 { lab=VPWR} +N 1690 -140 1720 -140 { lab=OUT} +N 1680 -230 1680 -170 { lab=A4} +N 1660 -140 1690 -140 { lab=OUT} +N 1750 -260 1750 -230 { lab=VPWR} +N 1750 -170 1750 -140 { lab=VPWR} +N 1660 -980 1660 -100 { lab=OUT} +N 1680 -290 1680 -230 { lab=A4} +N 1680 -410 1680 -350 { lab=A4} +N 1680 -530 1680 -470 { lab=A4} +N 1680 -650 1680 -590 { lab=A4} +N 1680 -770 1680 -710 { lab=A4} +N 1680 -890 1680 -830 { lab=A4} +N 1680 -1010 1680 -950 { lab=A4} +N 1450 -770 1450 -710 { lab=A3} +N 1450 -890 1450 -830 { lab=A3} +N 1450 -1010 1450 -950 { lab=A3} +N 1430 -980 1430 -100 { lab=OUT} +N 1220 -980 1220 -100 { lab=OUT} +N 1010 -980 1010 -100 { lab=OUT} +N 790 -980 790 -100 { lab=OUT} +N 1660 -1100 1720 -1100 { lab=OUT} +N 1660 -1100 1660 -980 { lab=OUT} +N 1430 -1100 1490 -1100 { lab=OUT} +N 1430 -1100 1430 -980 { lab=OUT} +N 1220 -1100 1280 -1100 { lab=OUT} +N 1220 -1100 1220 -980 { lab=OUT} +N 1010 -1100 1070 -1100 { lab=OUT} +N 1010 -1100 1010 -980 { lab=OUT} +N 1680 -1140 1680 -1070 { lab=A4} +N 1450 -1140 1450 -1070 { lab=A3} +N 1240 -1140 1240 -1070 { lab=A2} +N 1030 -1140 1030 -1070 { lab=A1} +N 820 -1140 820 -1010 { lab=A0} +N 750 -1110 1750 -1110 { lab=VPWR} +N 1750 -1110 1750 -1100 { lab=VPWR} +N 1520 -1110 1520 -1100 { lab=VPWR} +N 1310 -1110 1310 -1100 { lab=VPWR} +N 1100 -1110 1100 -1100 { lab=VPWR} +N 890 -1110 890 -1040 { lab=VPWR} +N 790 -100 1730 -100 { lab=OUT} +N 1240 -1010 1240 -950 { lab=A2} +C {devices/iopin.sym} 750 -1110 0 1 {name=VPWR lab=VPWR} +C {devices/ipin.sym} 1680 -1140 0 0 {name=A4 lab=A4} +C {devices/iopin.sym} 1730 -100 0 0 {name=OUT lab=OUT} +C {sky130_fd_pr/pfet_01v8.sym} 840 -1010 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1050 -1010 0 0 {name=M2 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1050 -1070 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1260 -1010 0 0 {name=M4 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1260 -1070 0 0 {name=M5 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1260 -890 0 0 {name=M6 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1260 -950 0 0 {name=M11 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -1010 0 0 {name=M12 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -1070 0 0 {name=M13 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -890 0 0 {name=M14 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -950 0 0 {name=M15 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -770 0 0 {name=M16 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -830 0 0 {name=M17 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -650 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1470 -710 0 0 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -1010 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -1070 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -890 0 0 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -950 0 0 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -770 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -830 0 0 {name=M25 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -650 0 0 {name=M26 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -710 0 0 {name=M27 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -530 0 0 {name=M28 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -590 0 0 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -410 0 0 {name=M30 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -470 0 0 {name=M31 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -290 0 0 {name=M32 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -350 0 0 {name=M33 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -170 0 0 {name=M34 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -230 0 0 {name=M35 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/ipin.sym} 1450 -1140 0 0 {name=A3 lab=A3} +C {devices/ipin.sym} 1240 -1140 0 0 {name=A2 lab=A2} +C {devices/ipin.sym} 1030 -1140 0 0 {name=A1 lab=A1} +C {devices/ipin.sym} 820 -1140 0 0 {name=A0 lab=A0}
diff --git a/xschem/sky130_hilas_DAC5bit01.sym b/xschem/sky130_hilas_DAC5bit01.sym new file mode 100644 index 0000000..cd8c3cd --- /dev/null +++ b/xschem/sky130_hilas_DAC5bit01.sym
@@ -0,0 +1,37 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -50 130 -50 {} +L 4 -130 50 130 50 {} +L 4 -130 -50 -130 50 {} +L 4 130 -50 130 50 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 4 -150 20 -130 20 {} +L 4 -150 40 -130 40 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +B 5 -152.5 -42.5 -147.5 -37.5 {name=A4 dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=A0 dir=in } +B 5 -152.5 -2.5 -147.5 2.5 {name=A3 dir=in } +B 5 -152.5 17.5 -147.5 22.5 {name=A2 dir=in } +B 5 -152.5 37.5 -147.5 42.5 {name=A1 dir=in } +B 5 147.5 -42.5 152.5 -37.5 {name=VPWR dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=OUT dir=inout } +T {DAC5bit01} -38.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -62 0 0 0.2 0.2 {} +T {A4} -125 -44 0 0 0.2 0.2 {} +T {A0} -125 -24 0 0 0.2 0.2 {} +T {A3} -125 -4 0 0 0.2 0.2 {} +T {A2} -125 16 0 0 0.2 0.2 {} +T {A1} -125 36 0 0 0.2 0.2 {} +T {VPWR} 125 -44 0 1 0.2 0.2 {} +T {OUT} 125 -24 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sch b/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sch new file mode 100644 index 0000000..1e17262 --- /dev/null +++ b/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sch
@@ -0,0 +1,164 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1260 -1370 1300 -1370 { lab=GATE1} +N 1140 -1370 1180 -1370 { lab=VTUN} +N 1140 -1380 1140 -1370 { lab=VTUN} +N 1110 -1430 1330 -1430 { lab=#net1} +N 1070 -1480 1070 -1460 { lab=#net2} +N 1370 -1400 1370 -1320 { lab=ROW2} +N 1180 -1370 1180 -1300 { lab=VTUN} +N 1070 -1400 1070 -1340 { lab=DRAIN2} +N 1000 -1430 1000 -1300 { lab=VINJ} +N 1260 -1630 1300 -1630 { lab=GATE1} +N 1140 -1630 1180 -1630 { lab=VTUN} +N 1140 -1640 1140 -1630 { lab=VTUN} +N 1110 -1690 1330 -1690 { lab=#net3} +N 1070 -1740 1070 -1720 { lab=#net4} +N 1370 -1660 1370 -1580 { lab=ROW1} +N 1370 -1720 1410 -1720 { lab=COMMONSOURCE} +N 1260 -1630 1260 -1370 { lab=GATE1} +N 1180 -1640 1180 -1630 { lab=VTUN} +N 1180 -1630 1180 -1370 { lab=VTUN} +N 1030 -1820 1030 -1300 { lab=COLSEL1} +N 1070 -1660 1070 -1600 { lab=DRAIN1} +N 1000 -1610 1000 -1540 { lab=VINJ} +N 1000 -1690 1070 -1690 { lab=VINJ} +N 1070 -1770 1080 -1770 { lab=VINJ} +N 1080 -1800 1080 -1770 { lab=VINJ} +N 1000 -1430 1080 -1430 { lab=VINJ} +N 1070 -1510 1080 -1510 { lab=VINJ} +N 1080 -1540 1080 -1510 { lab=VINJ} +N 1370 -1430 1390 -1430 { lab=VINJ} +N 1370 -1690 1390 -1690 { lab=VINJ} +N 1390 -1690 1390 -1610 { lab=VINJ} +N 1000 -1610 1390 -1610 { lab=VINJ} +N 1000 -1880 1000 -1800 { lab=VINJ} +N 1370 -1320 1470 -1320 { lab=ROW2} +N 1160 -1770 1160 -1750 { lab=VIN11} +N 1120 -1540 1120 -1490 { lab=VIN12} +N 1410 -1790 1410 -1720 { lab=COMMONSOURCE} +N 1410 -1720 1410 -1460 { lab=COMMONSOURCE} +N 1370 -1460 1410 -1460 { lab=COMMONSOURCE} +N 1390 -1610 1390 -1430 { lab=VINJ} +N 1370 -1580 1470 -1580 { lab=ROW1} +N 1610 -1450 1610 -1420 { lab=VGND} +N 1610 -1450 1650 -1450 { lab=VGND} +N 1260 -1820 1260 -1630 { lab=GATE1} +N 1000 -1800 1000 -1690 { lab=VINJ} +N 1000 -1540 1000 -1430 { lab=VINJ} +N 1000 -1690 1000 -1610 { lab=VINJ} +N 1000 -1540 1080 -1540 { lab=VINJ} +N 1000 -1800 1080 -1800 { lab=VINJ} +N 880 -1340 1070 -1340 { lab=DRAIN2} +N 880 -1600 1070 -1600 { lab=DRAIN1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1430 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1400 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1430 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1400 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1510 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1690 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1660 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1690 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1660 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1770 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 880 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 880 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/iopin.sym} 1260 -1820 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 1180 -1300 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 1030 -1820 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 1000 -1880 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 1410 -1790 0 0 {name=COMMONSOURCE lab=COMMONSOURCE} +C {devices/iopin.sym} 1470 -1580 0 0 {name=ROW1 lab=ROW1} +C {devices/iopin.sym} 1470 -1320 0 0 {name=ROW2 lab=ROW2} +C {devices/iopin.sym} 1160 -1770 0 0 {name=VIN11 lab=VIN11} +C {devices/iopin.sym} 1120 -1540 0 0 {name=VIN12 lab=VIN12} +C {devices/capa.sym} 1120 -1460 0 0 {name=C9 +value=10f +} +C {devices/capa.sym} 1160 -1720 0 0 {name=C10 +value=10f +} +C {devices/gnd.sym} 1610 -1420 0 0 {name=l199 lab=VGND} +C {devices/iopin.sym} 1640 -1450 0 0 {name=p199 lab=VGND}
diff --git a/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sym b/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sym new file mode 100644 index 0000000..0429ddc --- /dev/null +++ b/xschem/sky130_hilas_FGBiasWeakGate2x1cell.sym
@@ -0,0 +1,52 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -90 130 -90 {} +L 4 -130 90 130 90 {} +L 4 -130 -90 -130 90 {} +L 4 130 -90 130 90 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 -150 60 -130 60 {} +B 5 147.5 -82.5 152.5 -77.5 {name=VINJ dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=COLSEL1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=GATE1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=COMMONSOURCE dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=VIN11 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=DRAIN1 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=ROW1 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=VIN12 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=DRAIN2 dir=in } +B 5 147.5 57.5 152.5 62.5 {name=ROW2 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=VTUN dir=inout } +B 5 -152.5 57.5 -147.5 62.5 {name=VGND dir=inout} +T {FGBiasWeakGate2x1cell} -112.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -102 0 0 0.2 0.2 {} +T {VINJ} 125 -84 0 1 0.2 0.2 {} +T {COLSEL1} 125 -64 0 1 0.2 0.2 {} +T {GATE1} 125 -44 0 1 0.2 0.2 {} +T {COMMONSOURCE} 125 -24 0 1 0.2 0.2 {} +T {VIN11} 125 -4 0 1 0.2 0.2 {} +T {DRAIN1} -125 -84 0 0 0.2 0.2 {} +T {ROW1} 125 16 0 1 0.2 0.2 {} +T {VIN12} 125 36 0 1 0.2 0.2 {} +T {DRAIN2} -125 -64 0 0 0.2 0.2 {} +T {ROW2} 125 56 0 1 0.2 0.2 {} +T {VTUN} 125 76 0 1 0.2 0.2 {} +T {VGND} -95 56 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_FGcharacterization01.sch b/xschem/sky130_hilas_FGcharacterization01.sch new file mode 100644 index 0000000..d1cd85f --- /dev/null +++ b/xschem/sky130_hilas_FGcharacterization01.sch
@@ -0,0 +1,256 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1320 -1370 1320 -1360 { lab=GATE2} +N 1320 -1360 1360 -1360 { lab=GATE2} +N 1320 -1360 1320 -1290 { lab=GATE2} +N 1470 -1370 1470 -1360 { lab=GATE1} +N 1500 -1360 1510 -1360 { lab=GATE1} +N 1650 -1360 1690 -1360 { lab=VTUN} +N 1650 -1370 1650 -1360 { lab=VTUN} +N 1500 -1360 1500 -1310 { lab=GATE1} +N 1020 -1420 1560 -1420 { lab=#net1} +N 2390 -1580 2470 -1580 { lab=VINJ} +N 2180 -1580 2390 -1580 { lab=VINJ} +N 2240 -1550 2340 -1550 { lab=#net2} +N 2240 -1550 2240 -1520 { lab=#net2} +N 2200 -1520 2240 -1520 { lab=#net2} +N 2200 -1520 2200 -1360 { lab=#net2} +N 2380 -1430 2380 -1310 { lab=OUTPUT} +N 2380 -1430 2400 -1430 { lab=OUTPUT} +N 2380 -1280 2400 -1280 { lab=VGND} +N 2200 -1330 2230 -1330 { lab=VGND} +N 1800 -1280 1830 -1280 { lab=VGND} +N 1890 -1280 2340 -1280 { lab=#net3} +N 1890 -1310 1890 -1280 { lab=#net3} +N 1830 -1310 1890 -1310 { lab=#net3} +N 1950 -1330 1980 -1330 { lab=VGND} +N 2040 -1360 2040 -1330 { lab=#net4} +N 1980 -1360 2040 -1360 { lab=#net4} +N 1980 -1390 1980 -1360 { lab=#net4} +N 1830 -1390 1830 -1310 { lab=#net3} +N 1900 -1450 1980 -1450 { lab=#net5} +N 1900 -1580 1900 -1540 { lab=VINJ} +N 1900 -1480 1900 -1450 { lab=#net5} +N 1840 -1510 1860 -1510 { lab=VBIAS} +N 2020 -1420 2030 -1420 { lab=VREF} +N 1560 -1420 1790 -1420 { lab=#net1} +N 1640 -1580 1900 -1580 { lab=VINJ} +N 1640 -1580 1640 -1510 { lab=VINJ} +N 1600 -1510 1640 -1510 { lab=VINJ} +N 1690 -1390 1690 -1360 { lab=VTUN} +N 1560 -1510 1560 -1420 { lab=#net1} +N 1600 -1480 1600 -1460 { lab=SOURCE1} +N 1600 -1560 1600 -1540 { lab=DRAIN1} +N 1210 -1360 1210 -1320 { lab=GATE3} +N 1110 -1360 1110 -1320 { lab=GATE4} +N 1020 -1360 1020 -1320 { lab=GATE5} +N 2380 -1550 2390 -1550 { lab=VINJ} +N 2390 -1580 2390 -1550 { lab=VINJ} +N 2180 -1550 2200 -1550 { lab=VINJ} +N 2180 -1580 2180 -1550 { lab=VINJ} +N 1900 -1510 1910 -1510 { lab=VINJ} +N 1910 -1580 1910 -1510 { lab=VINJ} +N 1960 -1420 1980 -1420 { lab=VINJ} +N 1960 -1580 1960 -1420 { lab=VINJ} +N 1830 -1220 1830 -1200 { lab=VGND} +N 1830 -1220 1900 -1220 { lab=VGND} +N 1470 -1360 1500 -1360 { lab=GATE1} +N 2380 -1520 2380 -1430 { lab=OUTPUT} +N 1870 -1280 1890 -1280 { lab=#net3} +N 2020 -1330 2040 -1330 { lab=#net4} +N 1830 -1450 1900 -1450 { lab=#net5} +N 1960 -1580 2180 -1580 { lab=VINJ} +N 1900 -1580 1910 -1580 { lab=VINJ} +N 1830 -1420 1960 -1420 { lab=VINJ} +N 1910 -1580 1960 -1580 { lab=VINJ} +N 1830 -1250 1830 -1220 { lab=VGND} +N 2040 -1330 2160 -1330 { lab=#net4} +N 830 -1370 830 -1360 { lab=LARGECAPACITOR} +N 830 -1360 870 -1360 { lab=LARGECAPACITOR} +N 830 -1360 830 -1290 { lab=LARGECAPACITOR} +N 870 -1420 1020 -1420 { lab=#net1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1880 -1510 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1360 -1390 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2000 -1420 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1810 -1420 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1580 -1510 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1510 -1390 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2220 -1550 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1650 -1390 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {devices/ipin.sym} 1840 -1510 0 0 {name=Vbias lab=VBIAS} +C {devices/ipin.sym} 1600 -1560 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 1210 -1320 0 0 {name=GATE3 lab=GATE3} +C {devices/ipin.sym} 1320 -1320 0 0 {name=GATE2 lab=GATE2} +C {devices/iopin.sym} 1690 -1390 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 1600 -1460 0 0 {name=SOURCE1 lab=SOURCE1} +C {devices/iopin.sym} 2470 -1580 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 1500 -1310 0 1 {name=GATE1 lab=GATE1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2360 -1550 0 0 {name=M31 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2360 -1280 0 0 {name=M34 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1850 -1280 0 1 {name=M35 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2400 -1280 0 0 {name=l3 lab=VGND} +C {devices/iopin.sym} 2400 -1430 0 0 {name=OUTPUT lab=OUTPUT} +C {devices/iopin.sym} 2030 -1420 0 0 {name=VREF lab=VREF} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2180 -1330 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2380 -1250 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 2200 -1300 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 2230 -1330 0 0 {name=l7 lab=VGND} +C {devices/gnd.sym} 1830 -1200 0 0 {name=l8 lab=VGND} +C {devices/gnd.sym} 1800 -1280 0 0 {name=l9 lab=VGND} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2000 -1330 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1980 -1300 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} 1950 -1330 0 0 {name=l11 lab=VGND} +C {devices/capa.sym} 1210 -1390 0 0 {name=C2 +m=1 +value=1p +footprint=1206 +device="ceramic capacitor"} +C {devices/capa.sym} 1110 -1390 0 0 {name=C5 +m=1 +value=1p +footprint=1206 +device="ceramic capacitor"} +C {devices/capa.sym} 1020 -1390 0 0 {name=C6 +m=1 +value=1p +footprint=1206 +device="ceramic capacitor"} +C {devices/ipin.sym} 1110 -1320 0 0 {name=GATE4 lab=GATE4} +C {devices/ipin.sym} 1020 -1320 0 0 {name=VTUNOVERLAP01 lab=VTUNOVERLAP01} +C {devices/iopin.sym} 1890 -1220 0 0 {name=p1 lab=VGND} +C {sky130_fd_pr/cap_var_hvt.sym} 870 -1390 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {devices/ipin.sym} 830 -1320 0 0 {name=LARGECAPACITOR lab=LARGECAPACITOR}
diff --git a/xschem/sky130_hilas_FGcharacterization01.sym b/xschem/sky130_hilas_FGcharacterization01.sym new file mode 100644 index 0000000..bc6ee1b --- /dev/null +++ b/xschem/sky130_hilas_FGcharacterization01.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -70 130 -70 {} +L 4 -130 70 130 70 {} +L 4 -130 -70 -130 70 {} +L 4 130 -70 130 70 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 4 -150 20 -130 20 {} +L 4 -150 40 -130 40 {} +L 4 -150 60 -130 60 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +B 5 147.5 -62.5 152.5 -57.5 {name=VINJ dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=DRAIN1 dir=in } +B 5 -152.5 -42.5 -147.5 -37.5 {name=VBIAS dir=in } +B 5 147.5 -42.5 152.5 -37.5 {name=SOURCE1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=OUTPUT dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=VREF dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=VTUN dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=LARGECAPACITOR dir=in } +B 5 -152.5 -2.5 -147.5 2.5 {name=VTUNOVERLAP01 dir=in } +B 5 -152.5 17.5 -147.5 22.5 {name=GATE4 dir=in } +B 5 -152.5 37.5 -147.5 42.5 {name=GATE2 dir=in } +B 5 -152.5 57.5 -147.5 62.5 {name=GATE3 dir=in } +B 5 147.5 37.5 152.5 42.5 {name=GATE1 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=VGND dir=inout } +T {FGcharacterization01} -86.5 34 0 0 0.3 0.3 {} +T {@name} 135 -82 0 0 0.2 0.2 {} +T {VINJ} 125 -64 0 1 0.2 0.2 {} +T {DRAIN1} -125 -64 0 0 0.2 0.2 {} +T {VBIAS} -125 -44 0 0 0.2 0.2 {} +T {SOURCE1} 125 -44 0 1 0.2 0.2 {} +T {OUTPUT} 125 -24 0 1 0.2 0.2 {} +T {VREF} 125 -4 0 1 0.2 0.2 {} +T {VTUN} 125 16 0 1 0.2 0.2 {} +T {LARGECAPACITOR} -125 -24 0 0 0.2 0.2 {} +T {VTUNOVERLAP01} -125 -4 0 0 0.2 0.2 {} +T {GATE4} -125 16 0 0 0.2 0.2 {} +T {GATE2} -125 36 0 0 0.2 0.2 {} +T {GATE3} -125 56 0 0 0.2 0.2 {} +T {GATE1} 125 36 0 1 0.2 0.2 {} +T {VGND} 125 56 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_FGtrans2x1cell.sch b/xschem/sky130_hilas_FGtrans2x1cell.sch new file mode 100644 index 0000000..c8142de --- /dev/null +++ b/xschem/sky130_hilas_FGtrans2x1cell.sch
@@ -0,0 +1,331 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1260 -1380 1260 -1370 {lab=#net1} +N 1260 -1370 1300 -1370 {lab=#net1} +N 1140 -1370 1180 -1370 {lab=VTUN} +N 1140 -1380 1140 -1370 {lab=VTUN} +N 1110 -1430 1330 -1430 {lab=#net2} +N 1070 -1480 1070 -1460 {lab=#net3} +N 1260 -1370 1260 -1150 {lab=#net1} +N 1070 -1400 1070 -1340 {lab=DRAIN2} +N 1000 -1350 1000 -1260 {lab=VINJ} +N 1260 -1640 1260 -1630 {lab=#net4} +N 1260 -1630 1300 -1630 {lab=#net4} +N 1140 -1630 1180 -1630 {lab=VTUN} +N 1140 -1640 1140 -1630 {lab=VTUN} +N 1110 -1690 1330 -1690 {lab=#net5} +N 1070 -1740 1070 -1720 {lab=#net6} +N 1370 -1720 1410 -1720 {lab=COL1} +N 1260 -1630 1260 -1560 {lab=#net4} +N 1180 -1630 1180 -1370 {lab=VTUN} +N 1030 -1820 1030 -1300 {lab=COLSEL1} +N 1070 -1660 1070 -1600 {lab=DRAIN1} +N 1000 -1610 1000 -1540 {lab=VINJ} +N 1000 -1690 1070 -1690 {lab=VINJ} +N 1070 -1770 1080 -1770 {lab=VINJ} +N 1080 -1800 1080 -1770 {lab=VINJ} +N 1000 -1430 1080 -1430 {lab=VINJ} +N 1070 -1510 1080 -1510 {lab=VINJ} +N 1080 -1540 1080 -1510 {lab=VINJ} +N 1000 -1350 1390 -1350 {lab=VINJ} +N 1390 -1430 1390 -1350 {lab=VINJ} +N 1370 -1430 1390 -1430 {lab=VINJ} +N 1370 -1690 1390 -1690 {lab=VINJ} +N 1390 -1690 1390 -1610 {lab=VINJ} +N 1000 -1880 1000 -1800 {lab=VINJ} +N 1220 -1560 1260 -1560 {lab=#net4} +N 1220 -1560 1220 -1360 {lab=#net4} +N 1210 -1360 1220 -1360 {lab=#net4} +N 1210 -1360 1210 -1150 {lab=#net4} +N 980 -1020 1540 -1020 {lab=GATE1} +N 1060 -1210 1150 -1210 {lab=VIN1} +N 1010 -1150 1010 -1080 {lab=#net4} +N 1150 -1150 1150 -1080 {lab=#net4} +N 1500 -1150 1500 -1080 {lab=#net1} +N 1460 -1210 1500 -1210 {lab=VIN2} +N 1010 -1150 1150 -1150 {lab=#net4} +N 1350 -1150 1350 -1080 {lab=#net1} +N 1350 -1150 1500 -1150 {lab=#net1} +N 1150 -1150 1210 -1150 {lab=#net4} +N 1260 -1150 1350 -1150 {lab=#net1} +N 1060 -1230 1060 -1210 {lab=VIN1} +N 1460 -1230 1460 -1210 {lab=VIN2} +N 1540 -1180 1540 -1130 {lab=RUN} +N 1290 -1130 1540 -1130 {lab=RUN} +N 1190 -1130 1290 -1130 {lab=RUN} +N 940 -1070 940 -1050 {lab=RUN} +N 930 -1070 940 -1070 {lab=RUN} +N 940 -1050 970 -1050 {lab=RUN} +N 940 -1130 1190 -1130 {lab=RUN} +N 940 -1180 970 -1180 {lab=PROG} +N 1540 -1110 1540 -1050 {lab=PROG} +N 1310 -1110 1540 -1110 {lab=PROG} +N 970 -1180 970 -1140 {lab=PROG} +N 970 -1140 990 -1110 {lab=PROG} +N 1310 -1180 1310 -1110 {lab=PROG} +N 1290 -1050 1310 -1050 {lab=RUN} +N 1290 -1130 1290 -1050 {lab=RUN} +N 1190 -1180 1190 -1130 {lab=RUN} +N 1190 -1110 1190 -1050 {lab=PROG} +N 1370 -1050 1370 -1000 {lab=VINJ} +N 1350 -1050 1370 -1050 {lab=VINJ} +N 1030 -1010 1030 -1000 {lab=VINJ} +N 1010 -1050 1030 -1050 {lab=VINJ} +N 1370 -1180 1370 -1050 {lab=VINJ} +N 1350 -1180 1370 -1180 {lab=VINJ} +N 1030 -1180 1030 -1050 {lab=VINJ} +N 1010 -1180 1030 -1180 {lab=VINJ} +N 1120 -1050 1150 -1050 {lab=VGND} +N 1130 -1180 1150 -1180 {lab=VGND} +N 1480 -1180 1500 -1180 {lab=VGND} +N 1480 -1050 1500 -1050 {lab=VGND} +N 1000 -1610 1390 -1610 {lab=VINJ} +N 1030 -1000 1370 -1000 {lab=VINJ} +N 1370 -1400 1450 -1400 {lab=ROW2} +N 1410 -1720 1410 -1460 {lab=COL1} +N 1370 -1460 1410 -1460 {lab=COL1} +N 1370 -1660 1460 -1660 {lab=ROW1} +N 850 -1260 1000 -1260 {lab=VINJ} +N 850 -1260 850 -1010 {lab=VINJ} +N 850 -1010 1030 -1010 {lab=VINJ} +N 1740 -1320 1740 -1270 { lab=VGND} +N 930 -1340 1070 -1340 {lab=DRAIN2} +N 1410 -1770 1410 -1720 {lab=COL1} +N 1180 -1730 1180 -1630 {lab=VTUN} +N 930 -1600 1070 -1600 {lab=DRAIN1} +N 1000 -1800 1000 -1690 {lab=VINJ} +N 1000 -1540 1000 -1430 {lab=VINJ} +N 1000 -1430 1000 -1350 {lab=VINJ} +N 1010 -1210 1060 -1210 {lab=VIN1} +N 1350 -1210 1460 -1210 {lab=VIN2} +N 940 -1130 940 -1070 {lab=RUN} +N 970 -1110 990 -1110 {lab=PROG} +N 1190 -1110 1310 -1110 {lab=PROG} +N 990 -1110 1190 -1110 {lab=PROG} +N 1000 -1690 1000 -1610 {lab=VINJ} +N 1030 -1050 1030 -1010 {lab=VINJ} +N 1000 -1540 1080 -1540 {lab=VINJ} +N 1000 -1800 1080 -1800 {lab=VINJ} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1430 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1400 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1430 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1400 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1510 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1690 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1660 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1690 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1660 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1770 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 940 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 940 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 930 -1070 0 0 {name=RUN lab=RUN} +C {devices/ipin.sym} 940 -1180 0 0 {name=PROG lab=PROG} +C {devices/iopin.sym} 1180 -1730 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 1030 -1820 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 1000 -1880 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 1540 -1020 0 0 {name=GATE1 lab=GATE1} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1170 -1050 0 1 {name=M15 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1330 -1180 0 0 {name=M17 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/iopin.sym} 1060 -1230 0 0 {name=VIN1 lab=VIN1} +C {devices/iopin.sym} 1460 -1230 0 0 {name=VIN2 lab=VIN2} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1330 -1050 0 0 {name=M30 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 990 -1180 0 0 {name=M31 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 990 -1050 0 0 {name=M32 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1170 -1180 0 1 {name=M33 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1520 -1050 0 1 {name=M34 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1520 -1180 0 1 {name=M35 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1480 -1050 0 0 {name=l3 lab=VGND} +C {devices/gnd.sym} 1480 -1180 0 0 {name=l4 lab=VGND} +C {devices/gnd.sym} 1130 -1180 0 0 {name=l5 lab=VGND} +C {devices/gnd.sym} 1120 -1050 0 0 {name=l6 lab=VGND} +C {devices/iopin.sym} 1410 -1770 0 0 {name=COL1 lab=COL1} +C {devices/iopin.sym} 1450 -1400 0 0 {name=ROW1 lab=ROW2} +C {devices/iopin.sym} 1460 -1660 0 0 {name=ROW2 lab=ROW1} +C {devices/gnd.sym} 1740 -1270 0 0 {name=l199 lab=VGND} +C {devices/iopin.sym} 1730 -1320 0 0 {name=pground lab=VGND}
diff --git a/xschem/sky130_hilas_FGtrans2x1cell.sym b/xschem/sky130_hilas_FGtrans2x1cell.sym new file mode 100644 index 0000000..5df5af0 --- /dev/null +++ b/xschem/sky130_hilas_FGtrans2x1cell.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -90 130 -90 {} +L 4 -130 90 130 90 {} +L 4 -130 -90 -130 90 {} +L 4 130 -90 130 90 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 -150 70 -130 70 {} +B 5 147.5 -82.5 152.5 -77.5 {name=VINJ dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=COLSEL1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=COL1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=VTUN dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=ROW1 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=DRAIN1 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=ROW2 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=DRAIN2 dir=in } +B 5 147.5 37.5 152.5 42.5 {name=VIN2 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=VIN1 dir=inout } +B 5 -152.5 -42.5 -147.5 -37.5 {name=PROG dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=RUN dir=in } +B 5 147.5 77.5 152.5 82.5 {name=GATE1 dir=inout } +B 5 -152.5 67.5 -147.5 72.5 {name=VGND dir=inout } +T {FGtrans2x1} -43 -6 0 0 0.3 0.3 {} +T {@name} 135 -102 0 0 0.2 0.2 {} +T {VINJ} 125 -84 0 1 0.2 0.2 {} +T {COLSEL1} 125 -64 0 1 0.2 0.2 {} +T {COL1} 125 -44 0 1 0.2 0.2 {} +T {VTUN} 125 -24 0 1 0.2 0.2 {} +T {ROW1} 125 -4 0 1 0.2 0.2 {} +T {DRAIN1} -125 -84 0 0 0.2 0.2 {} +T {ROW2} 125 16 0 1 0.2 0.2 {} +T {DRAIN2} -125 -64 0 0 0.2 0.2 {} +T {VIN2} 125 36 0 1 0.2 0.2 {} +T {VIN1} 125 56 0 1 0.2 0.2 {} +T {PROG} -125 -44 0 0 0.2 0.2 {} +T {RUN} -125 -24 0 0 0.2 0.2 {} +T {GATE1} 125 76 0 1 0.2 0.2 {} +T {VGND} -95 66 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_LeftProtection.sch b/xschem/sky130_hilas_LeftProtection.sch new file mode 100644 index 0000000..e48390e --- /dev/null +++ b/xschem/sky130_hilas_LeftProtection.sch
@@ -0,0 +1,130 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1980 -1340 2010 -1340 { lab=IO25} +N 1980 -1260 2010 -1260 { lab=IO26} +N 1980 -1180 2010 -1180 { lab=IO27} +N 1980 -1100 2010 -1100 { lab=IO28} +N 1980 -1020 2010 -1020 { lab=IO29} +N 1980 -930 2010 -930 { lab=IO30} +N 1980 -850 2010 -850 { lab=IO31} +N 1980 -510 2010 -510 { lab=IO35} +N 1980 -670 2010 -670 { lab=IO33} +N 1980 -590 2010 -590 { lab=IO34} +N 2250 -1320 2270 -1320 { lab=PIN1} +N 2250 -1240 2270 -1240 { lab=PIN2} +N 2250 -740 2270 -740 { lab=PIN8} +N 2250 -650 2270 -650 { lab=PIN9} +N 2250 -570 2270 -570 { lab=PIN10} +N 2250 -830 2270 -830 { lab=PIN7} +N 2250 -910 2270 -910 { lab=PIN6} +N 2250 -1000 2270 -1000 { lab=PIN5} +N 2250 -1080 2270 -1080 { lab=PIN4} +N 2250 -1160 2270 -1160 { lab=PIN3} +N 2250 -460 2360 -460 { lab=VGND} +N 2360 -540 2360 -480 { lab=VGND} +N 2250 -1290 2360 -1290 { lab=VGND} +N 2250 -1210 2360 -1210 { lab=VGND} +N 2250 -1130 2360 -1130 { lab=VGND} +N 2250 -1050 2360 -1050 { lab=VGND} +N 2250 -970 2360 -970 { lab=VGND} +N 2250 -880 2360 -880 { lab=VGND} +N 2250 -800 2360 -800 { lab=VGND} +N 2250 -710 2360 -710 { lab=VGND} +N 2250 -620 2360 -620 { lab=VGND} +N 2250 -540 2360 -540 { lab=VGND} +N 2420 -590 2420 -570 { lab=VINJ} +N 2420 -520 2420 -510 { lab=VINJ} +N 2250 -510 2420 -510 { lab=VINJ} +N 2250 -1340 2420 -1340 { lab=VINJ} +N 2250 -1260 2420 -1260 { lab=VINJ} +N 2250 -1180 2420 -1180 { lab=VINJ} +N 2250 -1100 2420 -1100 { lab=VINJ} +N 2250 -1020 2420 -1020 { lab=VINJ} +N 2250 -930 2420 -930 { lab=VINJ} +N 2250 -850 2420 -850 { lab=VINJ} +N 2250 -670 2420 -670 { lab=VINJ} +N 2250 -590 2420 -590 { lab=VINJ} +N 1980 -350 2010 -350 { lab=IO37} +N 1980 -430 2010 -430 { lab=IO36} +N 2250 -410 2270 -410 { lab=PIN12} +N 2250 -330 2270 -330 { lab=PIN13} +N 2250 -300 2360 -300 { lab=VGND} +N 2360 -300 2360 -270 { lab=VGND} +N 2250 -380 2360 -380 { lab=VGND} +N 2420 -360 2420 -350 { lab=VINJ} +N 2250 -350 2420 -350 { lab=VINJ} +N 2250 -430 2420 -430 { lab=VINJ} +N 1980 -760 2010 -760 { lab=IO32} +N 2360 -1290 2360 -1210 { lab=VGND} +N 2360 -1210 2360 -1130 { lab=VGND} +N 2360 -1130 2360 -1050 { lab=VGND} +N 2360 -1050 2360 -970 { lab=VGND} +N 2360 -970 2360 -880 { lab=VGND} +N 2360 -880 2360 -800 { lab=VGND} +N 2360 -800 2360 -700 { lab=VGND} +N 2360 -700 2360 -620 { lab=VGND} +N 2360 -620 2360 -540 { lab=VGND} +N 2420 -1380 2420 -1340 { lab=VINJ} +N 2420 -1340 2420 -1260 { lab=VINJ} +N 2420 -1260 2420 -1180 { lab=VINJ} +N 2420 -1180 2420 -1100 { lab=VINJ} +N 2420 -1100 2420 -1020 { lab=VINJ} +N 2420 -1020 2420 -930 { lab=VINJ} +N 2420 -930 2420 -850 { lab=VINJ} +N 2420 -850 2420 -670 { lab=VINJ} +N 2420 -670 2420 -590 { lab=VINJ} +N 2250 -490 2270 -490 { lab=PIN11} +N 2420 -570 2420 -520 { lab=VINJ} +N 2420 -510 2420 -360 { lab=VINJ} +N 2360 -380 2360 -300 { lab=VGND} +N 2360 -480 2360 -460 { lab=VGND} +N 2360 -460 2360 -380 { lab=VGND} +N 2360 -270 2360 -260 { lab=VGND} +N 2360 -270 2400 -270 { lab=VGND} +N 2250 -760 2420 -760 { lab=VINJ} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1330 0 0 {name=x1} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1250 0 0 {name=x3} +C {devices/iopin.sym} 2270 -1320 0 0 {name=PIN1 lab=PIN1} +C {devices/iopin.sym} 1980 -1340 0 1 {name=IO25 lab=IO25} +C {devices/iopin.sym} 1980 -1260 0 1 {name=IO26 lab=IO26} +C {devices/iopin.sym} 2270 -490 0 0 {name=PIN11 lab=PIN11} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1170 0 0 {name=x4} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1090 0 0 {name=x5} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -840 0 0 {name=x6} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -500 0 0 {name=x7} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -660 0 0 {name=x8} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -580 0 0 {name=x9} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1010 0 0 {name=x10} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -920 0 0 {name=x11} +C {devices/iopin.sym} 1980 -1180 0 1 {name=IO27 lab=IO27} +C {devices/iopin.sym} 1980 -1100 0 1 {name=IO28 lab=IO28} +C {devices/iopin.sym} 1980 -1020 0 1 {name=IO29 lab=IO29} +C {devices/iopin.sym} 1980 -930 0 1 {name=IO30 lab=IO30} +C {devices/iopin.sym} 1980 -850 0 1 {name=IO31 lab=IO31} +C {devices/iopin.sym} 1980 -670 0 1 {name=IO33 lab=IO33} +C {devices/iopin.sym} 1980 -590 0 1 {name=IO34 lab=IO34} +C {devices/iopin.sym} 1980 -510 0 1 {name=IO35 lab=IO35} +C {devices/iopin.sym} 2270 -1240 0 0 {name=PIN2 lab=PIN2} +C {devices/iopin.sym} 2270 -1160 0 0 {name=PIN3 lab=PIN3} +C {devices/iopin.sym} 2270 -1080 0 0 {name=PIN4 lab=PIN4} +C {devices/iopin.sym} 2270 -1000 0 0 {name=PIN5 lab=PIN5} +C {devices/iopin.sym} 2270 -910 0 0 {name=PIN6 lab=PIN6} +C {devices/iopin.sym} 2270 -830 0 0 {name=PIN7 lab=PIN7} +C {devices/iopin.sym} 2270 -740 0 0 {name=PIN8 lab=PIN8} +C {devices/iopin.sym} 2270 -650 0 0 {name=PIN9 lab=PIN9} +C {devices/iopin.sym} 2270 -570 0 0 {name=PIN10 lab=PIN10} +C {devices/iopin.sym} 2420 -1380 0 0 {name=VINJ lab=VINJ} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -750 0 0 {name=x2} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -340 0 0 {name=x12} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -420 0 0 {name=x13} +C {devices/iopin.sym} 1980 -430 0 1 {name=IO36 lab=IO36} +C {devices/iopin.sym} 1980 -350 0 1 {name=IO37 lab=IO37} +C {devices/iopin.sym} 2270 -410 0 0 {name=PIN12 lab=PIN12} +C {devices/iopin.sym} 2270 -330 0 0 {name=PIN13 lab=PIN13} +C {devices/iopin.sym} 1980 -760 0 1 {name=IO32 lab=IO32} +C {devices/gnd.sym} 2360 -260 0 0 {name=l1 lab=VGND} +C {devices/iopin.sym} 2400 -270 0 0 {name=VGND lab=VGND}
diff --git a/xschem/sky130_hilas_LeftProtection.sym b/xschem/sky130_hilas_LeftProtection.sym new file mode 100644 index 0000000..3b4b661 --- /dev/null +++ b/xschem/sky130_hilas_LeftProtection.sym
@@ -0,0 +1,101 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 130 -280 130 20 {} +L 4 -40 20 130 20 {} +L 4 -40 -280 -40 20 {} +L 4 -40 -280 130 -280 {} +L 7 130 -270 150 -270 {} +L 7 -60 -250 -40 -250 {} +L 7 130 -270 150 -270 {} +L 7 -60 -230 -40 -230 {} +L 7 130 -250 150 -250 {} +L 7 -60 -210 -40 -210 {} +L 7 130 -210 150 -210 {} +L 7 -60 -190 -40 -190 {} +L 7 130 -190 150 -190 {} +L 7 -60 -170 -40 -170 {} +L 7 130 -170 150 -170 {} +L 7 -60 -150 -40 -150 {} +L 7 130 -150 150 -150 {} +L 7 -60 -130 -40 -130 {} +L 7 130 -130 150 -130 {} +L 7 -60 -110 -40 -110 {} +L 7 130 -110 150 -110 {} +L 7 -60 -90 -40 -90 {} +L 7 130 -90 150 -90 {} +L 7 -60 -70 -40 -70 {} +L 7 130 -70 150 -70 {} +L 7 -60 -50 -40 -50 {} +L 7 130 -50 150 -50 {} +L 7 -60 -30 -40 -30 {} +L 7 130 -30 150 -30 {} +L 7 -60 -10 -40 -10 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 -230 150 -230 {} +B 5 147.5 -272.5 152.5 -267.5 {name=VINJ dir=inout } +B 5 -62.5 -252.5 -57.5 -247.5 {name=IO25 dir=inout } +B 5 147.5 -252.5 152.5 -247.5 {name=PIN1 dir=inout } +B 5 -62.5 -232.5 -57.5 -227.5 {name=IO26 dir=inout } +B 5 147.5 -232.5 152.5 -227.5 {name=PIN2 dir=inout } +B 5 -62.5 -212.5 -57.5 -207.5 {name=IO27 dir=inout } +B 5 147.5 -212.5 152.5 -207.5 {name=PIN3 dir=inout } +B 5 -62.5 -192.5 -57.5 -187.5 {name=IO28 dir=inout } +B 5 147.5 -192.5 152.5 -187.5 {name=PIN4 dir=inout } +B 5 -62.5 -172.5 -57.5 -167.5 {name=IO29 dir=inout } +B 5 147.5 -172.5 152.5 -167.5 {name=PIN5 dir=inout } +B 5 -62.5 -152.5 -57.5 -147.5 {name=IO30 dir=inout } +B 5 147.5 -152.5 152.5 -147.5 {name=PIN6 dir=inout } +B 5 -62.5 -132.5 -57.5 -127.5 {name=IO31 dir=inout } +B 5 147.5 -132.5 152.5 -127.5 {name=PIN7 dir=inout } +B 5 -62.5 -112.5 -57.5 -107.5 {name=IO32 dir=inout } +B 5 147.5 -112.5 152.5 -107.5 {name=PIN8 dir=inout } +B 5 -62.5 -92.5 -57.5 -87.5 {name=IO33 dir=inout } +B 5 147.5 -92.5 152.5 -87.5 {name=PIN9 dir=inout } +B 5 -62.5 -72.5 -57.5 -67.5 {name=IO34 dir=inout } +B 5 147.5 -72.5 152.5 -67.5 {name=PIN10 dir=inout } +B 5 -62.5 -52.5 -57.5 -47.5 {name=IO35 dir=inout } +B 5 147.5 -52.5 152.5 -47.5 {name=PIN11 dir=inout } +B 5 -62.5 -32.5 -57.5 -27.5 {name=IO36 dir=inout } +B 5 147.5 -32.5 152.5 -27.5 {name=PIN12 dir=inout } +B 5 -62.5 -12.5 -57.5 -7.5 {name=IO37 dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=PIN13 dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=VGND dir=inout } +T {LeftProtection} -29.5 -276 0 0 0.3 0.3 {} +T {@name} 135 -292 0 0 0.2 0.2 {} +T {VINJ} 125 -274 0 1 0.2 0.2 {} +T {IO25} -5 -254 0 1 0.2 0.2 {} +T {PIN1} 125 -254 0 1 0.2 0.2 {} +T {IO26} -5 -234 0 1 0.2 0.2 {} +T {PIN2} 125 -234 0 1 0.2 0.2 {} +T {IO27} -5 -214 0 1 0.2 0.2 {} +T {PIN3} 125 -214 0 1 0.2 0.2 {} +T {IO28} -5 -194 0 1 0.2 0.2 {} +T {PIN4} 125 -194 0 1 0.2 0.2 {} +T {IO29} -5 -174 0 1 0.2 0.2 {} +T {PIN5} 125 -174 0 1 0.2 0.2 {} +T {IO30} -5 -154 0 1 0.2 0.2 {} +T {PIN6} 125 -154 0 1 0.2 0.2 {} +T {IO31} -5 -134 0 1 0.2 0.2 {} +T {PIN7} 125 -134 0 1 0.2 0.2 {} +T {IO32} -5 -114 0 1 0.2 0.2 {} +T {PIN8} 125 -114 0 1 0.2 0.2 {} +T {IO33} -5 -94 0 1 0.2 0.2 {} +T {PIN9} 125 -94 0 1 0.2 0.2 {} +T {IO34} -5 -74 0 1 0.2 0.2 {} +T {PIN10} 125 -74 0 1 0.2 0.2 {} +T {IO35} -5 -54 0 1 0.2 0.2 {} +T {PIN11} 125 -54 0 1 0.2 0.2 {} +T {IO36} -5 -34 0 1 0.2 0.2 {} +T {PIN12} 125 -34 0 1 0.2 0.2 {} +T {IO37} -5 -14 0 1 0.2 0.2 {} +T {PIN13} 125 -14 0 1 0.2 0.2 {} +T {VGND} 125 6 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_LevelShift4InputUp.sch b/xschem/sky130_hilas_LevelShift4InputUp.sch new file mode 100644 index 0000000..e7a7814 --- /dev/null +++ b/xschem/sky130_hilas_LevelShift4InputUp.sch
@@ -0,0 +1,721 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 2380 -1040 2380 -990 { lab=#net1} +N 2090 -1040 2120 -1040 { lab=#net2} +N 2320 -1040 2340 -1040 { lab=VGND} +N 2160 -1010 2160 -1000 { lab=VGND} +N 2160 -1040 2180 -1040 { lab=VGND} +N 1820 -1150 1820 -1080 { lab=#net1} +N 1750 -1050 1780 -1050 { lab=INPUT1} +N 1750 -1180 1780 -1180 { lab=INPUT1} +N 1820 -1180 1840 -1180 { lab=VPWR} +N 1840 -1210 1840 -1180 { lab=VPWR} +N 1820 -1210 1840 -1210 { lab=VPWR} +N 1650 -1210 1820 -1210 { lab=VPWR} +N 1820 -1020 1820 -1010 { lab=VGND} +N 1820 -1050 1840 -1050 { lab=VGND} +N 1820 -1130 1870 -1130 { lab=#net1} +N 1750 -1180 1750 -1050 { lab=INPUT1} +N 1730 -1110 1750 -1110 { lab=INPUT1} +N 1940 -1150 1940 -1080 { lab=#net2} +N 1870 -1050 1900 -1050 { lab=#net1} +N 1870 -1180 1900 -1180 { lab=#net1} +N 1940 -1180 1960 -1180 { lab=VPWR} +N 1960 -1210 1960 -1180 { lab=VPWR} +N 1940 -1210 1960 -1210 { lab=VPWR} +N 1940 -1020 1940 -1010 { lab=VGND} +N 1940 -1050 1960 -1050 { lab=VGND} +N 1940 -1130 1990 -1130 { lab=#net2} +N 1870 -1180 1870 -1050 { lab=#net1} +N 1830 -1210 1940 -1210 { lab=VPWR} +N 1870 -1050 1870 -950 { lab=#net1} +N 1870 -950 2000 -950 { lab=#net1} +N 2340 -1010 2340 -1000 { lab=VGND} +N 2120 -1240 2340 -1240 { lab=VINJ} +N 2160 -1240 2160 -1200 { lab=VINJ} +N 2340 -1240 2340 -1200 { lab=VINJ} +N 2140 -1210 2140 -1170 { lab=VINJ} +N 2140 -1170 2160 -1170 { lab=VINJ} +N 2340 -1170 2360 -1170 { lab=VINJ} +N 2360 -1210 2360 -1170 { lab=VINJ} +N 2340 -1210 2360 -1210 { lab=VINJ} +N 2160 -1140 2160 -1070 { lab=#net3} +N 2340 -1140 2340 -1070 { lab=OUTPUT1} +N 2210 -1170 2340 -1100 { lab=OUTPUT1} +N 2160 -1100 2300 -1170 { lab=#net3} +N 2340 -1100 2430 -1100 { lab=OUTPUT1} +N 2000 -950 2400 -950 { lab=#net1} +N 1990 -1130 2070 -1130 { lab=#net2} +N 2070 -1130 2070 -1040 { lab=#net2} +N 2070 -1040 2090 -1040 { lab=#net2} +N 2330 -1240 2600 -1240 { lab=VINJ} +N 1610 -1210 1650 -1210 { lab=VPWR} +N 2390 -720 2390 -670 { lab=#net4} +N 2100 -720 2130 -720 { lab=#net5} +N 2330 -720 2350 -720 { lab=VGND} +N 2170 -690 2170 -680 { lab=VGND} +N 2170 -720 2190 -720 { lab=VGND} +N 1830 -830 1830 -760 { lab=#net4} +N 1760 -730 1790 -730 { lab=INPUT2} +N 1760 -860 1790 -860 { lab=INPUT2} +N 1830 -860 1850 -860 { lab=VPWR} +N 1850 -890 1850 -860 { lab=VPWR} +N 1830 -890 1850 -890 { lab=VPWR} +N 1660 -890 1830 -890 { lab=VPWR} +N 1830 -700 1830 -690 { lab=VGND} +N 1830 -730 1850 -730 { lab=VGND} +N 1830 -810 1880 -810 { lab=#net4} +N 1760 -860 1760 -730 { lab=INPUT2} +N 1740 -790 1760 -790 { lab=INPUT2} +N 1950 -830 1950 -760 { lab=#net5} +N 1880 -730 1910 -730 { lab=#net4} +N 1880 -860 1910 -860 { lab=#net4} +N 1950 -860 1970 -860 { lab=VPWR} +N 1970 -890 1970 -860 { lab=VPWR} +N 1950 -890 1970 -890 { lab=VPWR} +N 1950 -700 1950 -690 { lab=VGND} +N 1950 -730 1970 -730 { lab=VGND} +N 1950 -810 2000 -810 { lab=#net5} +N 1880 -860 1880 -730 { lab=#net4} +N 1840 -890 1950 -890 { lab=VPWR} +N 1880 -730 1880 -630 { lab=#net4} +N 1880 -630 2010 -630 { lab=#net4} +N 2350 -690 2350 -680 { lab=VGND} +N 2130 -920 2350 -920 { lab=VINJ} +N 2170 -920 2170 -880 { lab=VINJ} +N 2350 -920 2350 -880 { lab=VINJ} +N 2150 -890 2170 -890 { lab=VINJ} +N 2150 -890 2150 -850 { lab=VINJ} +N 2150 -850 2170 -850 { lab=VINJ} +N 2350 -850 2370 -850 { lab=VINJ} +N 2370 -890 2370 -850 { lab=VINJ} +N 2350 -890 2370 -890 { lab=VINJ} +N 2170 -820 2170 -750 { lab=#net6} +N 2350 -820 2350 -750 { lab=OUTPUT2} +N 2220 -850 2350 -780 { lab=OUTPUT2} +N 2170 -780 2310 -850 { lab=#net6} +N 2350 -780 2440 -780 { lab=OUTPUT2} +N 2010 -630 2410 -630 { lab=#net4} +N 2000 -810 2080 -810 { lab=#net5} +N 2080 -810 2080 -720 { lab=#net5} +N 2080 -720 2100 -720 { lab=#net5} +N 1620 -890 1660 -890 { lab=VPWR} +N 1620 -1210 1620 -890 { lab=VPWR} +N 1620 -890 1620 -620 { lab=VPWR} +N 2600 -1240 2600 -920 { lab=VINJ} +N 2600 -920 2600 -620 { lab=VINJ} +N 2350 -920 2600 -920 { lab=VINJ} +N 2380 -400 2380 -350 { lab=#net7} +N 2090 -400 2120 -400 { lab=#net8} +N 2320 -400 2340 -400 { lab=VGND} +N 2160 -370 2160 -360 { lab=VGND} +N 2160 -400 2180 -400 { lab=VGND} +N 1820 -510 1820 -440 { lab=#net7} +N 1750 -410 1780 -410 { lab=INPUT3} +N 1750 -540 1780 -540 { lab=INPUT3} +N 1820 -540 1840 -540 { lab=VPWR} +N 1840 -570 1840 -540 { lab=VPWR} +N 1820 -570 1840 -570 { lab=VPWR} +N 1650 -570 1820 -570 { lab=VPWR} +N 1820 -380 1820 -370 { lab=VGND} +N 1820 -410 1840 -410 { lab=VGND} +N 1820 -490 1870 -490 { lab=#net7} +N 1750 -540 1750 -410 { lab=INPUT3} +N 1730 -470 1750 -470 { lab=INPUT3} +N 1940 -510 1940 -440 { lab=#net8} +N 1870 -410 1900 -410 { lab=#net7} +N 1870 -540 1900 -540 { lab=#net7} +N 1940 -540 1960 -540 { lab=VPWR} +N 1960 -570 1960 -540 { lab=VPWR} +N 1940 -570 1960 -570 { lab=VPWR} +N 1940 -380 1940 -370 { lab=VGND} +N 1940 -410 1960 -410 { lab=VGND} +N 1940 -490 1990 -490 { lab=#net8} +N 1870 -540 1870 -410 { lab=#net7} +N 1830 -570 1940 -570 { lab=VPWR} +N 1870 -410 1870 -310 { lab=#net7} +N 1870 -310 2000 -310 { lab=#net7} +N 2340 -370 2340 -360 { lab=VGND} +N 2120 -600 2340 -600 { lab=VINJ} +N 2160 -600 2160 -560 { lab=VINJ} +N 2340 -600 2340 -560 { lab=VINJ} +N 2140 -570 2160 -570 { lab=VINJ} +N 2140 -570 2140 -530 { lab=VINJ} +N 2140 -530 2160 -530 { lab=VINJ} +N 2340 -530 2360 -530 { lab=VINJ} +N 2360 -570 2360 -530 { lab=VINJ} +N 2340 -570 2360 -570 { lab=VINJ} +N 2160 -500 2160 -430 { lab=#net9} +N 2340 -500 2340 -430 { lab=OUTPUT3} +N 2210 -530 2340 -460 { lab=OUTPUT3} +N 2160 -460 2300 -530 { lab=#net9} +N 2340 -460 2430 -460 { lab=OUTPUT3} +N 2000 -310 2400 -310 { lab=#net7} +N 1990 -490 2070 -490 { lab=#net8} +N 2070 -490 2070 -400 { lab=#net8} +N 2070 -400 2090 -400 { lab=#net8} +N 2330 -600 2600 -600 { lab=VINJ} +N 2390 -80 2390 -30 { lab=#net10} +N 2100 -80 2130 -80 { lab=#net11} +N 2330 -80 2350 -80 { lab=VGND} +N 2170 -50 2170 -40 { lab=VGND} +N 2170 -80 2190 -80 { lab=VGND} +N 1830 -190 1830 -120 { lab=#net10} +N 1760 -90 1790 -90 { lab=INPUT4} +N 1760 -220 1790 -220 { lab=INPUT4} +N 1830 -220 1850 -220 { lab=VPWR} +N 1850 -250 1850 -220 { lab=VPWR} +N 1830 -250 1850 -250 { lab=VPWR} +N 1660 -250 1830 -250 { lab=VPWR} +N 1830 -60 1830 -50 { lab=VGND} +N 1830 -90 1850 -90 { lab=VGND} +N 1830 -170 1880 -170 { lab=#net10} +N 1760 -220 1760 -90 { lab=INPUT4} +N 1740 -150 1760 -150 { lab=INPUT4} +N 1950 -190 1950 -120 { lab=#net11} +N 1880 -90 1910 -90 { lab=#net10} +N 1880 -220 1910 -220 { lab=#net10} +N 1950 -220 1970 -220 { lab=VPWR} +N 1970 -250 1970 -220 { lab=VPWR} +N 1950 -250 1970 -250 { lab=VPWR} +N 1950 -60 1950 -50 { lab=VGND} +N 1950 -90 1970 -90 { lab=VGND} +N 1950 -170 2000 -170 { lab=#net11} +N 1880 -220 1880 -90 { lab=#net10} +N 1840 -250 1950 -250 { lab=VPWR} +N 1880 -90 1880 10 { lab=#net10} +N 1880 10 2010 10 { lab=#net10} +N 2350 -50 2350 -40 { lab=VGND} +N 2130 -280 2350 -280 { lab=VINJ} +N 2170 -280 2170 -240 { lab=VINJ} +N 2350 -280 2350 -240 { lab=VINJ} +N 2150 -250 2170 -250 { lab=VINJ} +N 2150 -250 2150 -210 { lab=VINJ} +N 2150 -210 2170 -210 { lab=VINJ} +N 2350 -210 2370 -210 { lab=VINJ} +N 2370 -250 2370 -210 { lab=VINJ} +N 2350 -250 2370 -250 { lab=VINJ} +N 2170 -180 2170 -110 { lab=#net12} +N 2350 -180 2350 -110 { lab=OUTPUT4} +N 2220 -210 2350 -140 { lab=OUTPUT4} +N 2170 -140 2310 -210 { lab=#net12} +N 2350 -140 2440 -140 { lab=OUTPUT4} +N 2010 10 2410 10 { lab=#net10} +N 2000 -170 2080 -170 { lab=#net11} +N 2080 -170 2080 -80 { lab=#net11} +N 2080 -80 2100 -80 { lab=#net11} +N 1620 -250 1660 -250 { lab=VPWR} +N 1620 -570 1620 -250 { lab=VPWR} +N 2600 -600 2600 -280 { lab=VINJ} +N 2350 -280 2600 -280 { lab=VINJ} +N 2600 -630 2600 -610 { lab=VINJ} +N 2600 -620 2600 -600 { lab=VINJ} +N 1620 -620 1620 -570 { lab=VPWR} +N 1620 -570 1650 -570 { lab=VPWR} +N 2200 -1170 2210 -1170 { lab=OUTPUT1} +N 2210 -850 2220 -850 { lab=OUTPUT2} +N 2200 -530 2210 -530 { lab=OUTPUT3} +N 2210 -210 2220 -210 { lab=OUTPUT4} +N 2140 -1210 2160 -1210 { lab=VINJ} +N 2390 -30 2390 10 { lab=#net10} +N 2380 -350 2380 -310 { lab=#net7} +N 2390 -670 2390 -630 { lab=#net4} +N 2380 -990 2380 -950 { lab=#net1} +N 2090 110 2110 110 {} +N 2110 110 2110 140 {} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2140 -1040 0 0 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2180 -1170 0 1 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2360 -1040 0 1 {name=M16 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2320 -1040 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} 2180 -1040 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} 2160 -1000 0 0 {name=l12 lab=VGND} +C {devices/iopin.sym} 2430 -1100 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {devices/ipin.sym} 1730 -1110 0 0 {name=INPUT1 lab=INPUT1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2320 -1170 0 0 {name=M19 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1840 -1050 0 0 {name=l13 lab=VGND} +C {devices/gnd.sym} 1820 -1010 0 0 {name=l14 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -1050 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1800 -1180 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/ipin.sym} 1610 -1210 0 0 {name=VPWR lab=VPWR} +C {devices/gnd.sym} 1960 -1050 0 0 {name=l15 lab=VGND} +C {devices/gnd.sym} 1940 -1010 0 0 {name=l16 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1920 -1050 0 0 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1920 -1180 0 0 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 2340 -1000 0 0 {name=l17 lab=VGND} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2150 -720 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2190 -850 0 1 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2370 -720 0 1 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2330 -720 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 2190 -720 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 2170 -680 0 0 {name=l3 lab=VGND} +C {devices/iopin.sym} 2440 -780 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/ipin.sym} 1740 -790 0 0 {name=INPUT2 lab=INPUT2} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2330 -850 0 0 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1850 -730 0 0 {name=l4 lab=VGND} +C {devices/gnd.sym} 1830 -690 0 0 {name=l5 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1810 -730 0 0 {name=M5 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1810 -860 0 0 {name=M6 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1970 -730 0 0 {name=l6 lab=VGND} +C {devices/gnd.sym} 1950 -690 0 0 {name=l7 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1930 -730 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1930 -860 0 0 {name=M8 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 2350 -680 0 0 {name=l8 lab=VGND} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2140 -400 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2180 -530 0 1 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2360 -400 0 1 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2320 -400 0 0 {name=l9 lab=VGND} +C {devices/gnd.sym} 2180 -400 0 0 {name=l18 lab=VGND} +C {devices/gnd.sym} 2160 -360 0 0 {name=l19 lab=VGND} +C {devices/iopin.sym} 2430 -460 0 0 {name=OUTPUT3 lab=OUTPUT3} +C {devices/ipin.sym} 1730 -470 0 0 {name=INPUT3 lab=INPUT3} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2320 -530 0 0 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1840 -410 0 0 {name=l20 lab=VGND} +C {devices/gnd.sym} 1820 -370 0 0 {name=l21 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -410 0 0 {name=M15 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1800 -540 0 0 {name=M17 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1960 -410 0 0 {name=l22 lab=VGND} +C {devices/gnd.sym} 1940 -370 0 0 {name=l23 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1920 -410 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1920 -540 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 2340 -360 0 0 {name=l24 lab=VGND} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2150 -80 0 0 {name=M25 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2190 -210 0 1 {name=M26 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2370 -80 0 1 {name=M27 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2330 -80 0 0 {name=l25 lab=VGND} +C {devices/gnd.sym} 2190 -80 0 0 {name=l26 lab=VGND} +C {devices/gnd.sym} 2170 -40 0 0 {name=l27 lab=VGND} +C {devices/iopin.sym} 2440 -140 0 0 {name=OUTPUT4 lab=OUTPUT4} +C {devices/ipin.sym} 1740 -150 0 0 {name=INPUT4 lab=INPUT4} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2330 -210 0 0 {name=M28 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1850 -90 0 0 {name=l28 lab=VGND} +C {devices/gnd.sym} 1830 -50 0 0 {name=l29 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1810 -90 0 0 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1810 -220 0 0 {name=M30 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1970 -90 0 0 {name=l30 lab=VGND} +C {devices/gnd.sym} 1950 -50 0 0 {name=l31 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 1930 -90 0 0 {name=M31 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1930 -220 0 0 {name=M32 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 2350 -40 0 0 {name=l32 lab=VGND} +C {devices/iopin.sym} 2130 -1240 0 1 {name=VINJ lab=VINJ} +C {devices/gnd.sym} 2110 140 0 0 {name=l33 lab=VGND} +C {devices/iopin.sym} 2100 110 0 0 {name=VGND lab=VGND}
diff --git a/xschem/sky130_hilas_LevelShift4InputUp.sym b/xschem/sky130_hilas_LevelShift4InputUp.sym new file mode 100644 index 0000000..9e6063b --- /dev/null +++ b/xschem/sky130_hilas_LevelShift4InputUp.sym
@@ -0,0 +1,49 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -50 130 -50 {} +L 4 -130 50 130 50 {} +L 4 -130 -50 -130 50 {} +L 4 130 -50 130 50 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 4 -150 20 -130 20 {} +L 4 -150 40 -130 40 {} +L 4 0 50 0 70 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +B 5 147.5 -42.5 152.5 -37.5 {name=VINJ dir=inout } +B 5 -152.5 -42.5 -147.5 -37.5 {name=VPWR dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=INPUT1 dir=in } +B 5 147.5 -22.5 152.5 -17.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -2.5 -147.5 2.5 {name=INPUT2 dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=OUTPUT2 dir=inout } +B 5 -152.5 17.5 -147.5 22.5 {name=INPUT3 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=OUTPUT3 dir=inout } +B 5 -152.5 37.5 -147.5 42.5 {name=INPUT4 dir=in } +B 5 147.5 37.5 152.5 42.5 {name=OUTPUT4 dir=inout } +B 5 -2.5 67.5 2.5 72.5 {name=VGND dir=inout} +T {LevelShift4InputUp} -79 -6 0 0 0.3 0.3 {} +T {@name} 135 -62 0 0 0.2 0.2 {} +T {VINJ} 125 -44 0 1 0.2 0.2 {} +T {VPWR} -125 -44 0 0 0.2 0.2 {} +T {INPUT1} -125 -24 0 0 0.2 0.2 {} +T {OUTPUT1} 125 -24 0 1 0.2 0.2 {} +T {INPUT2} -125 -4 0 0 0.2 0.2 {} +T {OUTPUT2} 125 -4 0 1 0.2 0.2 {} +T {INPUT3} -125 16 0 0 0.2 0.2 {} +T {OUTPUT3} 125 16 0 1 0.2 0.2 {} +T {INPUT4} -125 36 0 0 0.2 0.2 {} +T {OUTPUT4} 125 36 0 1 0.2 0.2 {} +T {VGND} -15 36 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_RightProtection.sch b/xschem/sky130_hilas_RightProtection.sch new file mode 100644 index 0000000..b191961 --- /dev/null +++ b/xschem/sky130_hilas_RightProtection.sch
@@ -0,0 +1,63 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1980 -1340 2010 -1340 { lab=IO07} +N 1980 -1260 2010 -1260 { lab=IO08} +N 1980 -1180 2010 -1180 { lab=IO09} +N 1980 -1100 2010 -1100 { lab=IO10} +N 1980 -1020 2010 -1020 { lab=IO11} +N 1980 -930 2010 -930 { lab=IO12} +N 1980 -850 2010 -850 { lab=ANALOG06} +N 2250 -1320 2270 -1320 { lab=PIN1} +N 2260 -1240 2270 -1240 { lab=PIN2} +N 2250 -1240 2260 -1240 { lab=PIN2} +N 2250 -830 2270 -830 { lab=PIN7} +N 2250 -910 2270 -910 { lab=PIN6} +N 2250 -1000 2270 -1000 { lab=PIN5} +N 2250 -1080 2270 -1080 { lab=PIN4} +N 2250 -1160 2270 -1160 { lab=PIN3} +N 2360 -1290 2360 -480 { lab=VGND} +N 2250 -1290 2360 -1290 { lab=VGND} +N 2250 -1210 2360 -1210 { lab=VGND} +N 2250 -1130 2360 -1130 { lab=VGND} +N 2250 -1050 2360 -1050 { lab=VGND} +N 2250 -970 2360 -970 { lab=VGND} +N 2250 -880 2360 -880 { lab=VGND} +N 2250 -800 2360 -800 { lab=VGND} +N 2420 -1380 2420 -570 { lab=VINJ} +N 2250 -1340 2420 -1340 { lab=VINJ} +N 2250 -1260 2420 -1260 { lab=VINJ} +N 2250 -1180 2420 -1180 { lab=VINJ} +N 2250 -1100 2420 -1100 { lab=VINJ} +N 2250 -1020 2420 -1020 { lab=VINJ} +N 2250 -930 2420 -930 { lab=VINJ} +N 2250 -850 2420 -850 { lab=VINJ} +N 2360 -770 2370 -770 { lab=VGND} +N 2340 -750 2360 -750 { lab=VGND} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1330 0 0 {name=x1} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1250 0 0 {name=x3} +C {devices/iopin.sym} 2270 -1320 0 0 {name=PIN1 lab=PIN1} +C {devices/iopin.sym} 1980 -1340 0 1 {name=IO07 lab=IO07} +C {devices/iopin.sym} 1980 -1260 0 1 {name=IO08 lab=IO08} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1170 0 0 {name=x4} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1090 0 0 {name=x5} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -840 0 0 {name=x6} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1010 0 0 {name=x10} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -920 0 0 {name=x11} +C {devices/iopin.sym} 1980 -1180 0 1 {name=IO09 lab=IO09} +C {devices/iopin.sym} 1980 -1100 0 1 {name=IO10 lab=IO10} +C {devices/iopin.sym} 1980 -1020 0 1 {name=IO11 lab=IO11} +C {devices/iopin.sym} 1980 -930 0 1 {name=IO12 lab=IO12} +C {devices/iopin.sym} 1980 -850 0 1 {name=IO13 lab=IO13} +C {devices/iopin.sym} 2270 -1240 0 0 {name=PIN2 lab=PIN2} +C {devices/iopin.sym} 2270 -1160 0 0 {name=PIN3 lab=PIN3} +C {devices/iopin.sym} 2270 -1080 0 0 {name=PIN4 lab=PIN4} +C {devices/iopin.sym} 2270 -1000 0 0 {name=PIN5 lab=PIN5} +C {devices/iopin.sym} 2270 -910 0 0 {name=PIN6 lab=PIN6} +C {devices/iopin.sym} 2270 -830 0 0 {name=PIN7 lab=PIN7} +C {devices/iopin.sym} 2420 -1380 0 0 {name=VINJ lab=VINJ} +C {devices/gnd.sym} 2370 -770 0 0 {name=l1 lab=VGND} +C {devices/iopin.sym} 2340 -750 0 1 {name=VGND lab=VGND}
diff --git a/xschem/sky130_hilas_RightProtection.sym b/xschem/sky130_hilas_RightProtection.sym new file mode 100644 index 0000000..36d6188 --- /dev/null +++ b/xschem/sky130_hilas_RightProtection.sym
@@ -0,0 +1,64 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 40 -160 40 20 {} +L 4 -130 20 40 20 {} +L 4 -130 -160 -130 20 {} +L 4 -130 -160 40 -160 {} +L 7 40 -150 60 -150 {} +L 7 -150 -120 -130 -120 {} +L 7 40 -130 60 -130 {} +L 7 -150 -100 -130 -100 {} +L 7 40 -110 60 -110 {} +L 7 -150 -80 -130 -80 {} +L 7 40 -90 60 -90 {} +L 7 -150 -60 -130 -60 {} +L 7 40 -70 60 -70 {} +L 7 -150 -40 -130 -40 {} +L 7 40 -50 60 -50 {} +L 7 -150 -20 -130 -20 {} +L 7 40 -30 60 -30 {} +L 7 -150 0 -130 0 {} +L 7 40 -10 60 -10 {} +L 7 40 10 60 10 {} +B 5 57.5 -152.5 62.5 -147.5 {name=VINJ dir=inout } +B 5 -152.5 -122.5 -147.5 -117.5 {name=IO07 dir=inout } +B 5 57.5 -132.5 62.5 -127.5 {name=PIN1 dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=IO08 dir=inout } +B 5 57.5 -112.5 62.5 -107.5 {name=PIN2 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=IO09 dir=inout } +B 5 57.5 -92.5 62.5 -87.5 {name=PIN3 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=IO10 dir=inout } +B 5 57.5 -72.5 62.5 -67.5 {name=PIN4 dir=inout } +B 5 -152.5 -42.5 -147.5 -37.5 {name=IO11 dir=inout } +B 5 57.5 -52.5 62.5 -47.5 {name=PIN5 dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=IO12 dir=inout } +B 5 57.5 -32.5 62.5 -27.5 {name=PIN6 dir=inout } +B 5 -152.5 -2.5 -147.5 2.5 {name=IO13 dir=inout } +B 5 57.5 -12.5 62.5 -7.5 {name=PIN7 dir=inout } +B 5 57.5 7.5 62.5 12.5 {name=VGND dir=inout } +T {RightProtection} -124 -156 0 0 0.3 0.3 {} +T {@name} 45 -172 0 0 0.2 0.2 {} +T {VINJ} 35 -154 0 1 0.2 0.2 {} +T {IO07} -95 -124 0 1 0.2 0.2 {} +T {PIN1} 35 -134 0 1 0.2 0.2 {} +T {IO08} -95 -104 0 1 0.2 0.2 {} +T {PIN2} 35 -114 0 1 0.2 0.2 {} +T {IO09} -95 -84 0 1 0.2 0.2 {} +T {PIN3} 35 -94 0 1 0.2 0.2 {} +T {IO10} -95 -64 0 1 0.2 0.2 {} +T {PIN4} 35 -74 0 1 0.2 0.2 {} +T {IO11} -95 -44 0 1 0.2 0.2 {} +T {PIN5} 35 -54 0 1 0.2 0.2 {} +T {IO12} -95 -24 0 1 0.2 0.2 {} +T {PIN6} 35 -34 0 1 0.2 0.2 {} +T {IO13} -95 -4 0 1 0.2 0.2 {} +T {PIN7} 35 -14 0 1 0.2 0.2 {} +T {VGND} 35 6 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TA2Cell_1FG.sch b/xschem/sky130_hilas_TA2Cell_1FG.sch new file mode 100644 index 0000000..7a0963f --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_1FG.sch
@@ -0,0 +1,610 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1260 -1370 1300 -1370 { lab=GATE2} +N 1140 -1370 1180 -1370 { lab=VTUN} +N 1140 -1380 1140 -1370 { lab=VTUN} +N 1110 -1430 1330 -1430 { lab=#net1} +N 1070 -1480 1070 -1460 { lab=#net2} +N 1370 -1400 1370 -1320 { lab=#net3} +N 1070 -1400 1070 -1340 { lab=DRAIN2} +N 1070 -1340 1450 -1340 { lab=DRAIN2} +N 1000 -1350 1000 -1300 { lab=VINJ} +N 1260 -1630 1300 -1630 { lab=GATE2} +N 1140 -1630 1180 -1630 { lab=VTUN} +N 1140 -1640 1140 -1630 { lab=VTUN} +N 1110 -1690 1330 -1690 { lab=#net4} +N 1070 -1740 1070 -1720 { lab=#net5} +N 1260 -1630 1260 -1370 { lab=GATE2} +N 1180 -1640 1180 -1630 { lab=VTUN} +N 1180 -1630 1180 -1370 { lab=VTUN} +N 1030 -1820 1030 -1300 { lab=COLSEL2} +N 1070 -1660 1070 -1600 { lab=DRAIN1} +N 1070 -1600 1450 -1600 { lab=DRAIN1} +N 1000 -1610 1000 -1540 { lab=VINJ} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 820 -1430 { lab=#net6} +N 560 -1480 560 -1460 { lab=#net7} +N 900 -1460 900 -1300 { lab=VPWR} +N 860 -1400 860 -1290 { lab=#net8} +N 860 -1460 900 -1460 { lab=VPWR} +N 750 -1370 750 -1300 { lab=GATE1} +N 670 -1370 670 -1280 { lab=VTUN} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 560 -1340 1070 -1340 { lab=DRAIN2} +N 490 -1350 490 -1300 { lab=VINJ} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 820 -1690 { lab=#net9} +N 560 -1740 560 -1720 { lab=#net10} +N 900 -1720 900 -1460 { lab=VPWR} +N 860 -1660 860 -1580 { lab=#net11} +N 860 -1720 900 -1720 { lab=VPWR} +N 750 -1630 750 -1370 { lab=GATE1} +N 670 -1630 670 -1370 { lab=VTUN} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 560 -1600 1070 -1600 { lab=DRAIN1} +N 490 -1610 490 -1540 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 560 -1600 { lab=DRAIN1} +N 490 -1830 490 -1800 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1780 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 1000 -1690 1070 -1690 { lab=VINJ} +N 1070 -1770 1080 -1770 { lab=VINJ} +N 1080 -1800 1080 -1770 { lab=VINJ} +N 1000 -1430 1080 -1430 { lab=VINJ} +N 1070 -1510 1080 -1510 { lab=VINJ} +N 1080 -1540 1080 -1510 { lab=VINJ} +N 1000 -1350 1390 -1350 { lab=VINJ} +N 1390 -1430 1390 -1350 { lab=VINJ} +N 1370 -1430 1390 -1430 { lab=VINJ} +N 1370 -1690 1390 -1690 { lab=VINJ} +N 1390 -1690 1390 -1610 { lab=VINJ} +N 1000 -1610 1390 -1610 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1300 { lab=COLSEL1} +N 520 -1840 550 -1840 { lab=COLSEL1} +N 900 -1830 920 -1830 { lab=VPWR} +N 670 -1840 670 -1630 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 1000 -1880 1000 -1800 { lab=VINJ} +N 470 -1880 1000 -1880 { lab=VINJ} +N 470 -1850 470 -1820 { lab=VINJ} +N 470 -1850 480 -1850 { lab=VINJ} +N 1810 -1780 1830 -1780 { lab=#net12} +N 1870 -1780 1890 -1780 { lab=VPWR} +N 1890 -1810 1890 -1780 { lab=VPWR} +N 1740 -1810 1890 -1810 { lab=VPWR} +N 1740 -1810 1740 -1780 { lab=VPWR} +N 1740 -1780 1760 -1780 { lab=VPWR} +N 1870 -1740 1870 -1720 { lab=OUTPUT1} +N 1870 -1740 1910 -1740 { lab=OUTPUT1} +N 1760 -1730 1760 -1670 { lab=#net12} +N 1710 -1690 1830 -1690 { lab=#net13} +N 1710 -1720 1710 -1690 { lab=#net13} +N 1640 -1640 1720 -1640 { lab=#net3} +N 1640 -1670 1640 -1640 { lab=#net3} +N 1590 -1640 1600 -1640 { lab=VGND} +N 1590 -1640 1590 -1610 { lab=VGND} +N 1590 -1610 1660 -1610 { lab=VGND} +N 1660 -1610 1770 -1610 { lab=VGND} +N 1770 -1640 1770 -1610 { lab=VGND} +N 1760 -1640 1770 -1640 { lab=VGND} +N 1870 -1690 1880 -1690 { lab=VGND} +N 1880 -1690 1880 -1660 { lab=VGND} +N 1770 -1660 1880 -1660 { lab=VGND} +N 1770 -1660 1770 -1640 { lab=VGND} +N 1660 -1690 1670 -1690 { lab=VGND} +N 1660 -1660 1660 -1610 { lab=VGND} +N 1660 -1660 1670 -1660 { lab=VGND} +N 1920 -1500 1940 -1500 { lab=#net14} +N 1980 -1500 2000 -1500 { lab=VPWR} +N 2000 -1530 2000 -1500 { lab=VPWR} +N 1850 -1530 2000 -1530 { lab=VPWR} +N 1850 -1530 1850 -1500 { lab=VPWR} +N 1850 -1500 1870 -1500 { lab=VPWR} +N 1980 -1460 1980 -1440 { lab=OUTPUT2} +N 1980 -1460 2020 -1460 { lab=OUTPUT2} +N 1870 -1440 1870 -1390 { lab=#net14} +N 1820 -1410 1940 -1410 { lab=#net15} +N 1820 -1440 1820 -1410 { lab=#net15} +N 1750 -1360 1830 -1360 { lab=#net16} +N 1750 -1390 1750 -1360 { lab=#net16} +N 1700 -1360 1710 -1360 { lab=VGND} +N 1700 -1360 1700 -1330 { lab=VGND} +N 1700 -1330 1770 -1330 { lab=VGND} +N 1840 -1330 1880 -1330 { lab=VGND} +N 1880 -1360 1880 -1330 { lab=VGND} +N 1870 -1360 1880 -1360 { lab=VGND} +N 1980 -1410 1990 -1410 { lab=VGND} +N 1990 -1410 1990 -1380 { lab=VGND} +N 1880 -1380 1990 -1380 { lab=VGND} +N 1880 -1380 1880 -1360 { lab=VGND} +N 1770 -1410 1780 -1410 { lab=VGND} +N 1770 -1380 1770 -1330 { lab=VGND} +N 1770 -1380 1780 -1380 { lab=VGND} +N 670 -1280 1180 -1280 { lab=VTUN} +N 860 -1580 860 -1570 { lab=#net11} +N 860 -1290 1500 -1290 { lab=#net8} +N 1370 -1580 1370 -1460 { lab=#net11} +N 1220 -1370 1220 -1360 { lab=#net17} +N 860 -1580 1370 -1580 { lab=#net11} +N 1370 -1320 1470 -1320 { lab=#net3} +N 900 -1860 900 -1830 { lab=VPWR} +N 900 -1860 1740 -1860 { lab=VPWR} +N 1740 -1860 1740 -1810 { lab=VPWR} +N 1470 -1670 1640 -1670 { lab=#net3} +N 1680 -1440 1820 -1440 { lab=#net15} +N 1600 -1390 1750 -1390 { lab=#net16} +N 1720 -1470 1730 -1470 { lab=VIN22} +N 1540 -1420 1560 -1420 { lab=VIN21} +N 1540 -1420 1540 -1360 { lab=VIN21} +N 1540 -1360 1550 -1360 { lab=VIN21} +N 1500 -1500 1500 -1290 { lab=#net8} +N 1600 -1500 1680 -1500 { lab=#net8} +N 1600 -1500 1600 -1450 { lab=#net8} +N 1390 -1610 1510 -1610 { lab=VINJ} +N 1510 -1610 1510 -1520 { lab=VINJ} +N 1620 -1520 1660 -1520 { lab=VINJ} +N 1660 -1520 1660 -1470 { lab=VINJ} +N 1660 -1470 1680 -1470 { lab=VINJ} +N 1600 -1420 1620 -1420 { lab=VINJ} +N 1620 -1520 1620 -1420 { lab=VINJ} +N 2000 -1530 2060 -1530 { lab=VPWR} +N 2060 -1810 2060 -1530 { lab=VPWR} +N 1890 -1810 2060 -1810 { lab=VPWR} +N 1760 -1730 1810 -1730 { lab=#net12} +N 1810 -1780 1810 -1730 { lab=#net12} +N 1870 -1440 1920 -1440 { lab=#net14} +N 1920 -1500 1920 -1440 { lab=#net14} +N 1160 -1770 1160 -1750 { lab=VIN11} +N 1120 -1540 1120 -1490 { lab=VIN12} +N 1840 -1330 1840 -1290 { lab=VGND} +N 1260 -1820 1260 -1630 { lab=GATE2} +N 420 -1340 560 -1340 { lab=DRAIN2} +N 900 -1830 900 -1720 { lab=VPWR} +N 490 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1780 { lab=VINJ} +N 490 -1800 490 -1690 { lab=VINJ} +N 490 -1540 490 -1430 { lab=VINJ} +N 1000 -1800 1000 -1690 { lab=VINJ} +N 1000 -1540 1000 -1430 { lab=VINJ} +N 1000 -1430 1000 -1350 { lab=VINJ} +N 1000 -1690 1000 -1610 { lab=VINJ} +N 490 -1430 490 -1350 { lab=VINJ} +N 490 -1690 490 -1610 { lab=VINJ} +N 470 -1880 470 -1850 { lab=VINJ} +N 1870 -1750 1870 -1740 { lab=OUTPUT1} +N 1660 -1690 1660 -1660 { lab=VGND} +N 1980 -1470 1980 -1460 { lab=OUTPUT2} +N 1770 -1410 1770 -1380 { lab=VGND} +N 1470 -1670 1470 -1320 { lab=#net3} +N 1500 -1500 1600 -1500 { lab=#net8} +N 1510 -1520 1620 -1520 { lab=VINJ} +N 1760 -1750 1760 -1730 { lab=#net12} +N 1800 -1780 1810 -1780 { lab=#net12} +N 1870 -1470 1870 -1440 { lab=#net14} +N 1910 -1500 1920 -1500 { lab=#net14} +N 1770 -1330 1840 -1330 { lab=VGND} +N 1180 -1370 1180 -1280 { lab=VTUN} +N 1000 -1540 1080 -1540 { lab=VINJ} +N 1370 -1660 1370 -1580 { lab=#net11} +N 1370 -1720 1710 -1720 { lab=#net13} +N 1000 -1800 1080 -1800 { lab=VINJ} +N 490 -1540 570 -1540 { lab=VINJ} +N 750 -1830 750 -1630 { lab=GATE1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1430 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1400 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1430 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1400 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1510 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1690 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1660 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1690 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1660 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1770 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/iopin.sym} 920 -1830 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 1030 -1820 0 0 {name=COLSEL2 lab=COLSEL2} +C {devices/iopin.sym} 1260 -1820 0 0 {name=GATE2 lab=GATE2} +C {sky130_fd_pr/pfet_01v8.sym} 1850 -1780 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1780 -1780 0 1 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1690 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1740 -1640 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1620 -1640 0 1 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1690 -1690 0 1 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1910 -1740 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {sky130_fd_pr/pfet_01v8.sym} 1960 -1500 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1890 -1500 0 1 {name=M25 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1960 -1410 0 0 {name=M26 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1360 0 0 {name=M27 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1730 -1360 0 1 {name=M28 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -1410 0 1 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 2020 -1460 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/iopin.sym} 1160 -1770 0 0 {name=VIN11 lab=VIN11} +C {devices/iopin.sym} 1550 -1360 0 0 {name=VIN21 lab=VIN21} +C {devices/iopin.sym} 1120 -1540 0 0 {name=VIN12 lab=VIN12} +C {devices/iopin.sym} 1730 -1470 0 0 {name=VIN22 lab=VIN22} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1580 -1420 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1700 -1470 0 1 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1800 -1330 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 1710 -1610 0 0 {name=l2 lab=VGND} +C {devices/capa.sym} 1120 -1460 0 0 {name=C9 +value=10f +} +C {devices/capa.sym} 1160 -1720 0 0 {name=C10 +value=10f +} +C {devices/iopin.sym} 1840 -1290 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_TA2Cell_1FG.sym b/xschem/sky130_hilas_TA2Cell_1FG.sym new file mode 100644 index 0000000..07efc33 --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_1FG.sym
@@ -0,0 +1,64 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -130 130 -130 {} +L 4 -130 130 130 130 {} +L 4 -130 -130 -130 130 {} +L 4 130 -130 130 130 {} +L 4 -150 -120 -130 -120 {} +L 4 -150 -100 -130 -100 {} +L 4 -150 100 -130 100 {} +L 7 130 -120 150 -120 {} +L 7 130 -100 150 -100 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 130 100 150 100 {} +L 7 130 120 150 120 {} +B 5 147.5 -122.5 152.5 -117.5 {name=VINJ dir=inout } +B 5 147.5 -102.5 152.5 -97.5 {name=VTUN dir=inout } +B 5 147.5 -82.5 152.5 -77.5 {name=COLSEL1 dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=VPWR dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=GATE1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=GATE2 dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=COLSEL2 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=VIN11 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -122.5 -147.5 -117.5 {name=DRAIN1 dir=in } +B 5 147.5 57.5 152.5 62.5 {name=VIN12 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=VIN22 dir=inout } +B 5 147.5 97.5 152.5 102.5 {name=OUTPUT2 dir=inout } +B 5 147.5 117.5 152.5 122.5 {name=VIN21 dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=DRAIN2 dir=in } +B 5 -152.5 97.5 -147.5 102.5 {name=VGND dir=inout} +T {TA2Cell_1FG} -67.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -142 0 0 0.2 0.2 {} +T {VINJ} 125 -124 0 1 0.2 0.2 {} +T {VTUN} 125 -104 0 1 0.2 0.2 {} +T {COLSEL1} 125 -84 0 1 0.2 0.2 {} +T {VPWR} 125 -64 0 1 0.2 0.2 {} +T {GATE1} 125 -44 0 1 0.2 0.2 {} +T {GATE2} 125 -24 0 1 0.2 0.2 {} +T {COLSEL2} 125 -4 0 1 0.2 0.2 {} +T {VIN11} 125 16 0 1 0.2 0.2 {} +T {OUTPUT1} 125 36 0 1 0.2 0.2 {} +T {DRAIN1} -125 -124 0 0 0.2 0.2 {} +T {VIN12} 125 56 0 1 0.2 0.2 {} +T {VIN22} 125 76 0 1 0.2 0.2 {} +T {OUTPUT2} 125 96 0 1 0.2 0.2 {} +T {VIN21} 125 116 0 1 0.2 0.2 {} +T {DRAIN2} -125 -104 0 0 0.2 0.2 {} +T {VGND} -125 96 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TA2Cell_1FG_Strong.sch b/xschem/sky130_hilas_TA2Cell_1FG_Strong.sch new file mode 100644 index 0000000..afcbc6f --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_1FG_Strong.sch
@@ -0,0 +1,776 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1260 -1380 1260 -1370 { lab=#net1} +N 1260 -1370 1300 -1370 { lab=#net1} +N 1140 -1370 1180 -1370 { lab=VTUN} +N 1140 -1380 1140 -1370 { lab=VTUN} +N 1110 -1430 1330 -1430 { lab=#net2} +N 1070 -1480 1070 -1460 { lab=#net3} +N 1370 -1400 1370 -1320 { lab=#net4} +N 1260 -1370 1260 -1150 { lab=#net1} +N 1070 -1400 1070 -1340 { lab=DRAIN2} +N 1070 -1340 1450 -1340 { lab=DRAIN2} +N 1000 -1350 1000 -1300 { lab=VINJ} +N 1260 -1640 1260 -1630 { lab=#net5} +N 1260 -1630 1300 -1630 { lab=#net5} +N 1140 -1630 1180 -1630 { lab=VTUN} +N 1140 -1640 1140 -1630 { lab=VTUN} +N 1110 -1690 1330 -1690 { lab=#net6} +N 1070 -1740 1070 -1720 { lab=#net7} +N 1260 -1630 1260 -1560 { lab=#net5} +N 1180 -1640 1180 -1630 { lab=VTUN} +N 1180 -1630 1180 -1370 { lab=VTUN} +N 1030 -1820 1030 -1300 { lab=GATESEL2} +N 1070 -1660 1070 -1600 { lab=DRAIN1} +N 1070 -1600 1450 -1600 { lab=DRAIN1} +N 1000 -1610 1000 -1540 { lab=VINJ} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 820 -1430 { lab=#net8} +N 560 -1480 560 -1460 { lab=#net9} +N 900 -1460 900 -1300 { lab=VPWR} +N 860 -1400 860 -1290 { lab=#net10} +N 860 -1460 900 -1460 { lab=VPWR} +N 750 -1370 750 -1300 { lab=GATE1} +N 670 -1370 670 -1280 { lab=VTUN} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 560 -1340 1070 -1340 { lab=DRAIN2} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 820 -1690 { lab=#net11} +N 560 -1740 560 -1720 { lab=#net12} +N 900 -1720 900 -1460 { lab=VPWR} +N 860 -1660 860 -1580 { lab=#net13} +N 860 -1720 900 -1720 { lab=VPWR} +N 750 -1630 750 -1370 { lab=GATE1} +N 670 -1630 670 -1370 { lab=VTUN} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 560 -1600 1070 -1600 { lab=DRAIN1} +N 490 -1610 490 -1540 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 560 -1600 { lab=DRAIN1} +N 490 -1830 490 -1800 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1780 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 1000 -1690 1070 -1690 { lab=VINJ} +N 1070 -1770 1080 -1770 { lab=VINJ} +N 1080 -1800 1080 -1770 { lab=VINJ} +N 1000 -1430 1080 -1430 { lab=VINJ} +N 1070 -1510 1080 -1510 { lab=VINJ} +N 1080 -1540 1080 -1510 { lab=VINJ} +N 1000 -1350 1390 -1350 { lab=VINJ} +N 1390 -1430 1390 -1350 { lab=VINJ} +N 1370 -1430 1390 -1430 { lab=VINJ} +N 1370 -1690 1390 -1690 { lab=VINJ} +N 1390 -1690 1390 -1610 { lab=VINJ} +N 1000 -1610 1390 -1610 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1300 { lab=GATESEL1} +N 520 -1840 550 -1840 { lab=GATESEL1} +N 900 -1830 920 -1830 { lab=VPWR} +N 670 -1840 670 -1630 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 1000 -1880 1000 -1800 { lab=VINJ} +N 470 -1880 1000 -1880 { lab=VINJ} +N 470 -1850 470 -1820 { lab=VINJ} +N 470 -1850 480 -1850 { lab=VINJ} +N 1810 -1780 1830 -1780 { lab=#net14} +N 1870 -1780 1890 -1780 { lab=VPWR} +N 1890 -1810 1890 -1780 { lab=VPWR} +N 1740 -1810 1890 -1810 { lab=VPWR} +N 1740 -1810 1740 -1780 { lab=VPWR} +N 1740 -1780 1760 -1780 { lab=VPWR} +N 1870 -1740 1870 -1720 { lab=OUTPUT1} +N 1870 -1740 1910 -1740 { lab=OUTPUT1} +N 1760 -1730 1760 -1670 { lab=#net14} +N 1710 -1690 1830 -1690 { lab=#net15} +N 1710 -1720 1710 -1690 { lab=#net15} +N 1640 -1640 1720 -1640 { lab=#net4} +N 1640 -1670 1640 -1640 { lab=#net4} +N 1590 -1640 1600 -1640 { lab=VGND} +N 1590 -1640 1590 -1610 { lab=VGND} +N 1590 -1610 1660 -1610 { lab=VGND} +N 1660 -1610 1770 -1610 { lab=VGND} +N 1770 -1640 1770 -1610 { lab=VGND} +N 1760 -1640 1770 -1640 { lab=VGND} +N 1870 -1690 1880 -1690 { lab=VGND} +N 1880 -1690 1880 -1660 { lab=VGND} +N 1770 -1660 1880 -1660 { lab=VGND} +N 1770 -1660 1770 -1640 { lab=VGND} +N 1660 -1690 1670 -1690 { lab=VGND} +N 1660 -1660 1660 -1610 { lab=VGND} +N 1660 -1660 1670 -1660 { lab=VGND} +N 1920 -1500 1940 -1500 { lab=#net16} +N 1980 -1500 2000 -1500 { lab=VPWR} +N 2000 -1530 2000 -1500 { lab=VPWR} +N 1850 -1530 2000 -1530 { lab=VPWR} +N 1850 -1530 1850 -1500 { lab=VPWR} +N 1850 -1500 1870 -1500 { lab=VPWR} +N 1980 -1460 1980 -1440 { lab=OUTPUT2} +N 1980 -1460 2020 -1460 { lab=OUTPUT2} +N 1870 -1440 1870 -1390 { lab=#net16} +N 1820 -1410 1940 -1410 { lab=#net17} +N 1820 -1440 1820 -1410 { lab=#net17} +N 1750 -1360 1830 -1360 { lab=#net18} +N 1750 -1390 1750 -1360 { lab=#net18} +N 1700 -1360 1710 -1360 { lab=VGND} +N 1700 -1360 1700 -1330 { lab=VGND} +N 1700 -1330 1770 -1330 { lab=VGND} +N 1770 -1330 1880 -1330 { lab=VGND} +N 1880 -1360 1880 -1330 { lab=VGND} +N 1870 -1360 1880 -1360 { lab=VGND} +N 1980 -1410 1990 -1410 { lab=VGND} +N 1990 -1410 1990 -1380 { lab=VGND} +N 1880 -1380 1990 -1380 { lab=VGND} +N 1880 -1380 1880 -1360 { lab=VGND} +N 1770 -1410 1780 -1410 { lab=VGND} +N 1770 -1380 1770 -1330 { lab=VGND} +N 1770 -1380 1780 -1380 { lab=VGND} +N 670 -1280 1180 -1280 { lab=VTUN} +N 860 -1580 860 -1570 { lab=#net13} +N 860 -1290 1500 -1290 { lab=#net10} +N 1370 -1580 1370 -1460 { lab=#net13} +N 1220 -1560 1260 -1560 { lab=#net5} +N 1220 -1560 1220 -1360 { lab=#net5} +N 1210 -1360 1220 -1360 { lab=#net5} +N 1210 -1360 1210 -1150 { lab=#net5} +N 980 -1020 1540 -1020 { lab=GATE2} +N 1060 -1210 1150 -1210 { lab=VIN11} +N 1010 -1150 1010 -1080 { lab=#net5} +N 1150 -1150 1150 -1080 { lab=#net5} +N 1500 -1150 1500 -1080 { lab=#net1} +N 1460 -1210 1500 -1210 { lab=VIN12} +N 1010 -1150 1150 -1150 { lab=#net5} +N 1350 -1150 1350 -1080 { lab=#net1} +N 1350 -1150 1500 -1150 { lab=#net1} +N 1150 -1150 1210 -1150 { lab=#net5} +N 1260 -1150 1350 -1150 { lab=#net1} +N 1060 -1230 1060 -1210 { lab=VIN11} +N 1460 -1230 1460 -1210 { lab=VIN12} +N 1540 -1180 1540 -1130 { lab=RUN} +N 1290 -1130 1540 -1130 { lab=RUN} +N 1190 -1130 1290 -1130 { lab=RUN} +N 940 -1070 940 -1050 { lab=RUN} +N 930 -1070 940 -1070 { lab=RUN} +N 940 -1050 970 -1050 { lab=RUN} +N 940 -1130 1190 -1130 { lab=RUN} +N 940 -1180 970 -1180 { lab=PROG} +N 1540 -1110 1540 -1050 { lab=PROG} +N 1310 -1110 1540 -1110 { lab=PROG} +N 970 -1180 970 -1140 { lab=PROG} +N 970 -1140 990 -1110 { lab=PROG} +N 1310 -1180 1310 -1110 { lab=PROG} +N 1290 -1050 1310 -1050 { lab=RUN} +N 1290 -1130 1290 -1050 { lab=RUN} +N 1190 -1180 1190 -1130 { lab=RUN} +N 1190 -1110 1190 -1050 { lab=PROG} +N 860 -1580 1370 -1580 { lab=#net13} +N 1370 -1320 1470 -1320 { lab=#net4} +N 900 -1860 900 -1830 { lab=VPWR} +N 900 -1860 1740 -1860 { lab=VPWR} +N 1740 -1860 1740 -1810 { lab=VPWR} +N 1470 -1670 1640 -1670 { lab=#net4} +N 1680 -1440 1820 -1440 { lab=#net17} +N 1600 -1390 1750 -1390 { lab=#net18} +N 1720 -1470 1730 -1470 { lab=VIN22} +N 1540 -1420 1560 -1420 { lab=VIN21} +N 1540 -1420 1540 -1360 { lab=VIN21} +N 1540 -1360 1550 -1360 { lab=VIN21} +N 1500 -1500 1500 -1290 { lab=#net10} +N 1600 -1500 1680 -1500 { lab=#net10} +N 1600 -1500 1600 -1450 { lab=#net10} +N 1030 -1000 1370 -1000 { lab=VINJ} +N 1370 -1050 1370 -1000 { lab=VINJ} +N 1350 -1050 1370 -1050 { lab=VINJ} +N 1030 -1050 1030 -1000 { lab=VINJ} +N 1010 -1050 1030 -1050 { lab=VINJ} +N 1370 -1180 1370 -1050 { lab=VINJ} +N 1350 -1180 1370 -1180 { lab=VINJ} +N 1030 -1180 1030 -1050 { lab=VINJ} +N 1010 -1180 1030 -1180 { lab=VINJ} +N 1390 -1610 1510 -1610 { lab=VINJ} +N 1510 -1610 1510 -1520 { lab=VINJ} +N 1620 -1520 1660 -1520 { lab=VINJ} +N 1660 -1520 1660 -1470 { lab=VINJ} +N 1660 -1470 1680 -1470 { lab=VINJ} +N 1600 -1420 1620 -1420 { lab=VINJ} +N 1620 -1520 1620 -1420 { lab=VINJ} +N 2000 -1530 2060 -1530 { lab=VPWR} +N 2060 -1810 2060 -1530 { lab=VPWR} +N 1890 -1810 2060 -1810 { lab=VPWR} +N 1120 -1050 1150 -1050 { lab=VGND} +N 1130 -1180 1150 -1180 { lab=VGND} +N 1480 -1180 1500 -1180 { lab=VGND} +N 1480 -1050 1500 -1050 { lab=VGND} +N 1760 -1730 1810 -1730 { lab=#net14} +N 1810 -1780 1810 -1730 { lab=#net14} +N 1870 -1440 1920 -1440 { lab=#net16} +N 1920 -1500 1920 -1440 { lab=#net16} +N 1690 -1210 1740 -1210 { lab=VGND} +N 1690 -1210 1690 -1180 { lab=VGND} +N 420 -1340 560 -1340 { lab=DRAIN2} +N 900 -1830 900 -1720 { lab=VPWR} +N 490 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1780 { lab=VINJ} +N 490 -1800 490 -1690 { lab=VINJ} +N 490 -1540 490 -1430 { lab=VINJ} +N 1000 -1800 1000 -1690 { lab=VINJ} +N 1000 -1540 1000 -1430 { lab=VINJ} +N 1000 -1430 1000 -1350 { lab=VINJ} +N 1000 -1690 1000 -1610 { lab=VINJ} +N 490 -1430 490 -1350 { lab=VINJ} +N 490 -1690 490 -1610 { lab=VINJ} +N 470 -1880 470 -1850 { lab=VINJ} +N 1870 -1750 1870 -1740 { lab=OUTPUT1} +N 1660 -1690 1660 -1660 { lab=VGND} +N 1980 -1470 1980 -1460 { lab=OUTPUT2} +N 1770 -1410 1770 -1380 { lab=VGND} +N 1010 -1210 1060 -1210 { lab=VIN11} +N 1350 -1210 1460 -1210 { lab=VIN12} +N 940 -1130 940 -1070 { lab=RUN} +N 970 -1110 990 -1110 { lab=PROG} +N 1190 -1110 1310 -1110 { lab=PROG} +N 990 -1110 1190 -1110 { lab=PROG} +N 1470 -1670 1470 -1320 { lab=#net4} +N 1500 -1500 1600 -1500 { lab=#net10} +N 490 -1000 1030 -1000 { lab=VINJ} +N 1510 -1520 1620 -1520 { lab=VINJ} +N 1760 -1750 1760 -1730 { lab=#net14} +N 1800 -1780 1810 -1780 { lab=#net14} +N 1870 -1470 1870 -1440 { lab=#net16} +N 1910 -1500 1920 -1500 { lab=#net16} +N 1180 -1370 1180 -1280 { lab=VTUN} +N 1000 -1540 1080 -1540 { lab=VINJ} +N 1370 -1660 1370 -1580 { lab=#net13} +N 1370 -1720 1710 -1720 { lab=#net15} +N 1000 -1800 1080 -1800 { lab=VINJ} +N 490 -1350 490 -1000 { lab=VINJ} +N 490 -1540 570 -1540 { lab=VINJ} +N 750 -1830 750 -1630 { lab=GATE1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1430 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1400 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1430 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1400 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1510 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1350 -1690 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1300 -1660 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1090 -1690 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1140 -1660 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1050 -1770 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 930 -1070 0 0 {name=RUN lab=RUN} +C {devices/ipin.sym} 940 -1180 0 0 {name=PROG lab=PROG} +C {devices/iopin.sym} 920 -1830 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=GATESEL1 lab=GATESEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 1030 -1820 0 0 {name=GATESEL2 lab=GATESEL2} +C {devices/iopin.sym} 1540 -1020 0 0 {name=GATE2 lab=GATE2} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1170 -1050 0 1 {name=M15 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1330 -1180 0 0 {name=M17 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1850 -1780 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1780 -1780 0 1 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1690 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1740 -1640 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1620 -1640 0 1 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1690 -1690 0 1 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1910 -1740 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {sky130_fd_pr/pfet_01v8.sym} 1960 -1500 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1890 -1500 0 1 {name=M25 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1960 -1410 0 0 {name=M26 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1360 0 0 {name=M27 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1730 -1360 0 1 {name=M28 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -1410 0 1 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 2020 -1460 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/iopin.sym} 1060 -1230 0 0 {name=VIN11 lab=VIN11} +C {devices/iopin.sym} 1550 -1360 0 0 {name=VIN21 lab=VIN21} +C {devices/iopin.sym} 1460 -1230 0 0 {name=VIN12 lab=VIN12} +C {devices/iopin.sym} 1730 -1470 0 0 {name=VIN22 lab=VIN22} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1330 -1050 0 0 {name=M30 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 990 -1180 0 0 {name=M31 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 990 -1050 0 0 {name=M32 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1170 -1180 0 1 {name=M33 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1520 -1050 0 1 {name=M34 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1520 -1180 0 1 {name=M35 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1580 -1420 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1700 -1470 0 1 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1800 -1330 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 1710 -1610 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 1480 -1050 0 0 {name=l3 lab=VGND} +C {devices/gnd.sym} 1480 -1180 0 0 {name=l4 lab=VGND} +C {devices/gnd.sym} 1130 -1180 0 0 {name=l5 lab=VGND} +C {devices/gnd.sym} 1120 -1050 0 0 {name=l6 lab=VGND} +C {devices/gnd.sym} 1690 -1180 0 0 {name=l7 lab=VGND} +C {devices/iopin.sym} 1730 -1210 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_TA2Cell_1FG_Strong.sym b/xschem/sky130_hilas_TA2Cell_1FG_Strong.sym new file mode 100644 index 0000000..ab22acb --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_1FG_Strong.sym
@@ -0,0 +1,70 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -130 130 -130 {} +L 4 -130 130 130 130 {} +L 4 -130 -130 -130 130 {} +L 4 130 -130 130 130 {} +L 4 -150 -120 -130 -120 {} +L 4 -150 -100 -130 -100 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 110 -130 110 {} +L 7 130 -120 150 -120 {} +L 7 130 -100 150 -100 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 130 100 150 100 {} +L 7 130 120 150 120 {} +B 5 147.5 -122.5 152.5 -117.5 {name=VINJ dir=inout } +B 5 147.5 -102.5 152.5 -97.5 {name=VTUN dir=inout } +B 5 147.5 -82.5 152.5 -77.5 {name=GATESEL1 dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=VPWR dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=GATE1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=GATESEL2 dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -122.5 -147.5 -117.5 {name=DRAIN1 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=VIN22 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=OUTPUT2 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=VIN21 dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=DRAIN2 dir=in } +B 5 147.5 77.5 152.5 82.5 {name=VIN11 dir=inout } +B 5 147.5 97.5 152.5 102.5 {name=VIN12 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=PROG dir=in } +B 5 -152.5 -62.5 -147.5 -57.5 {name=RUN dir=in } +B 5 147.5 117.5 152.5 122.5 {name=GATE2 dir=inout } +B 5 -152.5 107.5 -147.5 112.5 {name=VGND dir=inout} +T {TA2Cell_1FG_Strong} -99 -6 0 0 0.3 0.3 {} +T {@name} 135 -142 0 0 0.2 0.2 {} +T {VINJ} 125 -124 0 1 0.2 0.2 {} +T {VTUN} 125 -104 0 1 0.2 0.2 {} +T {GATESEL1} 125 -84 0 1 0.2 0.2 {} +T {VPWR} 125 -64 0 1 0.2 0.2 {} +T {GATE1} 125 -44 0 1 0.2 0.2 {} +T {GATESEL2} 125 -24 0 1 0.2 0.2 {} +T {OUTPUT1} 125 -4 0 1 0.2 0.2 {} +T {DRAIN1} -125 -124 0 0 0.2 0.2 {} +T {VIN22} 125 16 0 1 0.2 0.2 {} +T {OUTPUT2} 125 36 0 1 0.2 0.2 {} +T {VIN21} 125 56 0 1 0.2 0.2 {} +T {DRAIN2} -125 -104 0 0 0.2 0.2 {} +T {VIN11} 125 76 0 1 0.2 0.2 {} +T {VIN12} 125 96 0 1 0.2 0.2 {} +T {PROG} -125 -84 0 0 0.2 0.2 {} +T {RUN} -125 -64 0 0 0.2 0.2 {} +T {GATE2} 125 116 0 1 0.2 0.2 {} +T {VGND} -125 106 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TA2Cell_NoFG.sch b/xschem/sky130_hilas_TA2Cell_NoFG.sch new file mode 100644 index 0000000..d135ee0 --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_NoFG.sch
@@ -0,0 +1,507 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 820 -1430 { lab=#net1} +N 560 -1480 560 -1460 { lab=#net2} +N 900 -1460 900 -1300 { lab=VPWR} +N 860 -1400 860 -1290 { lab=#net3} +N 860 -1460 900 -1460 { lab=VPWR} +N 750 -1370 750 -1300 { lab=GATE1} +N 670 -1370 670 -1280 { lab=VTUN} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 560 -1340 960 -1340 { lab=DRAIN2} +N 490 -1350 490 -1300 { lab=VINJ} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 820 -1690 { lab=#net4} +N 560 -1740 560 -1720 { lab=#net5} +N 900 -1720 900 -1460 { lab=VPWR} +N 860 -1660 860 -1580 { lab=#net6} +N 860 -1720 900 -1720 { lab=VPWR} +N 750 -1630 750 -1370 { lab=GATE1} +N 670 -1630 670 -1370 { lab=VTUN} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 560 -1600 960 -1600 { lab=DRAIN1} +N 490 -1610 490 -1540 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 560 -1600 { lab=DRAIN1} +N 490 -1830 490 -1800 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1780 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1300 { lab=COLSEL1} +N 520 -1840 550 -1840 { lab=COLSEL1} +N 900 -1830 920 -1830 { lab=VPWR} +N 670 -1840 670 -1630 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 470 -1880 1280 -1880 { lab=VINJ} +N 470 -1850 470 -1820 { lab=VINJ} +N 470 -1850 480 -1850 { lab=VINJ} +N 1810 -1780 1830 -1780 { lab=#net7} +N 1870 -1780 1890 -1780 { lab=VPWR} +N 1890 -1810 1890 -1780 { lab=VPWR} +N 1740 -1810 1890 -1810 { lab=VPWR} +N 1740 -1810 1740 -1780 { lab=VPWR} +N 1740 -1780 1760 -1780 { lab=VPWR} +N 1870 -1740 1870 -1720 { lab=OUTPUT1} +N 1870 -1740 1910 -1740 { lab=OUTPUT1} +N 1760 -1730 1760 -1670 { lab=#net7} +N 1710 -1690 1830 -1690 { lab=#net8} +N 1710 -1720 1710 -1690 { lab=#net8} +N 1640 -1640 1720 -1640 { lab=#net9} +N 1640 -1670 1640 -1640 { lab=#net9} +N 1590 -1640 1600 -1640 { lab=VGND} +N 1590 -1640 1590 -1610 { lab=VGND} +N 1590 -1610 1660 -1610 { lab=VGND} +N 1660 -1610 1770 -1610 { lab=VGND} +N 1770 -1640 1770 -1610 { lab=VGND} +N 1760 -1640 1770 -1640 { lab=VGND} +N 1870 -1690 1880 -1690 { lab=VGND} +N 1880 -1690 1880 -1660 { lab=VGND} +N 1770 -1660 1880 -1660 { lab=VGND} +N 1770 -1660 1770 -1640 { lab=VGND} +N 1660 -1690 1670 -1690 { lab=VGND} +N 1660 -1660 1660 -1610 { lab=VGND} +N 1660 -1660 1670 -1660 { lab=VGND} +N 1920 -1500 1940 -1500 { lab=#net10} +N 1980 -1500 2000 -1500 { lab=VPWR} +N 2000 -1530 2000 -1500 { lab=VPWR} +N 1850 -1530 2000 -1530 { lab=VPWR} +N 1850 -1530 1850 -1500 { lab=VPWR} +N 1850 -1500 1870 -1500 { lab=VPWR} +N 1980 -1460 1980 -1440 { lab=OUTPUT2} +N 1980 -1460 2020 -1460 { lab=OUTPUT2} +N 1870 -1440 1870 -1390 { lab=#net10} +N 1820 -1410 1940 -1410 { lab=#net11} +N 1820 -1440 1820 -1410 { lab=#net11} +N 1750 -1360 1830 -1360 { lab=#net12} +N 1750 -1390 1750 -1360 { lab=#net12} +N 1700 -1360 1710 -1360 { lab=VGND} +N 1700 -1360 1700 -1330 { lab=VGND} +N 1700 -1330 1770 -1330 { lab=VGND} +N 1850 -1330 1880 -1330 { lab=VGND} +N 1880 -1360 1880 -1330 { lab=VGND} +N 1870 -1360 1880 -1360 { lab=VGND} +N 1980 -1410 1990 -1410 { lab=VGND} +N 1990 -1410 1990 -1380 { lab=VGND} +N 1880 -1380 1990 -1380 { lab=VGND} +N 1880 -1380 1880 -1360 { lab=VGND} +N 1770 -1410 1780 -1410 { lab=VGND} +N 1770 -1380 1770 -1330 { lab=VGND} +N 1770 -1380 1780 -1380 { lab=VGND} +N 860 -1580 860 -1570 { lab=#net6} +N 860 -1290 1500 -1290 { lab=#net3} +N 1310 -1580 1370 -1580 { lab=#net6} +N 900 -1860 900 -1830 { lab=VPWR} +N 900 -1860 1740 -1860 { lab=VPWR} +N 1740 -1860 1740 -1810 { lab=VPWR} +N 1680 -1440 1820 -1440 { lab=#net11} +N 1600 -1390 1750 -1390 { lab=#net12} +N 1720 -1470 1730 -1470 { lab=VIN22} +N 1540 -1420 1560 -1420 { lab=VIN21} +N 1540 -1420 1540 -1360 { lab=VIN21} +N 1540 -1360 1550 -1360 { lab=VIN21} +N 1600 -1500 1680 -1500 { lab=#net3} +N 1600 -1500 1600 -1450 { lab=#net3} +N 1620 -1520 1660 -1520 { lab=VINJ} +N 1660 -1520 1660 -1470 { lab=VINJ} +N 1660 -1470 1680 -1470 { lab=VINJ} +N 1600 -1420 1620 -1420 { lab=VINJ} +N 1620 -1520 1620 -1420 { lab=VINJ} +N 2000 -1530 2060 -1530 { lab=VPWR} +N 2060 -1810 2060 -1530 { lab=VPWR} +N 1890 -1810 2060 -1810 { lab=VPWR} +N 1760 -1730 1810 -1730 { lab=#net7} +N 1810 -1780 1810 -1730 { lab=#net7} +N 1870 -1440 1920 -1440 { lab=#net10} +N 1920 -1500 1920 -1440 { lab=#net10} +N 1410 -1670 1640 -1670 { lab=#net9} +N 1530 -1750 1540 -1750 { lab=VIN12} +N 1350 -1700 1370 -1700 { lab=VIN11} +N 1350 -1700 1350 -1640 { lab=VIN11} +N 1350 -1640 1360 -1640 { lab=VIN11} +N 1410 -1780 1490 -1780 { lab=#net6} +N 1410 -1780 1410 -1730 { lab=#net6} +N 1430 -1800 1470 -1800 { lab=VINJ} +N 1470 -1800 1470 -1750 { lab=VINJ} +N 1470 -1750 1490 -1750 { lab=VINJ} +N 1410 -1700 1430 -1700 { lab=VINJ} +N 1430 -1800 1430 -1700 { lab=VINJ} +N 1500 -1500 1500 -1290 { lab=#net3} +N 1310 -1780 1310 -1580 { lab=#net6} +N 1280 -1800 1280 -1520 { lab=VINJ} +N 1280 -1520 1620 -1520 { lab=VINJ} +N 1280 -1800 1430 -1800 { lab=VINJ} +N 1850 -1330 1850 -1210 { lab=VGND} +N 420 -1340 560 -1340 { lab=DRAIN2} +N 900 -1830 900 -1720 { lab=VPWR} +N 490 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1780 { lab=VINJ} +N 490 -1800 490 -1690 { lab=VINJ} +N 490 -1540 490 -1430 { lab=VINJ} +N 490 -1430 490 -1350 { lab=VINJ} +N 490 -1690 490 -1610 { lab=VINJ} +N 470 -1880 470 -1850 { lab=VINJ} +N 1870 -1750 1870 -1740 { lab=OUTPUT1} +N 1480 -1720 1710 -1720 { lab=#net8} +N 1660 -1690 1660 -1660 { lab=VGND} +N 1980 -1470 1980 -1460 { lab=OUTPUT2} +N 1770 -1410 1770 -1380 { lab=VGND} +N 1500 -1500 1600 -1500 { lab=#net3} +N 1760 -1750 1760 -1730 { lab=#net7} +N 1800 -1780 1810 -1780 { lab=#net7} +N 1870 -1470 1870 -1440 { lab=#net10} +N 1910 -1500 1920 -1500 { lab=#net10} +N 1310 -1780 1410 -1780 { lab=#net6} +N 860 -1580 1310 -1580 { lab=#net6} +N 1280 -1880 1280 -1800 { lab=VINJ} +N 1770 -1330 1850 -1330 { lab=VGND} +N 490 -1540 570 -1540 { lab=VINJ} +N 750 -1830 750 -1630 { lab=GATE1} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/iopin.sym} 920 -1830 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {sky130_fd_pr/pfet_01v8.sym} 1850 -1780 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1780 -1780 0 1 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1690 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1740 -1640 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1620 -1640 0 1 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1690 -1690 0 1 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1910 -1740 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {sky130_fd_pr/pfet_01v8.sym} 1960 -1500 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1890 -1500 0 1 {name=M25 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1960 -1410 0 0 {name=M26 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1360 0 0 {name=M27 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1730 -1360 0 1 {name=M28 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -1410 0 1 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 2020 -1460 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/iopin.sym} 1550 -1360 0 0 {name=VIN21 lab=VIN21} +C {devices/iopin.sym} 1730 -1470 0 0 {name=VIN22 lab=VIN22} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1580 -1420 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1700 -1470 0 1 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1800 -1330 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 1710 -1610 0 0 {name=l2 lab=VGND} +C {devices/iopin.sym} 1360 -1640 0 0 {name=VIN11 lab=VIN11} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1390 -1700 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1510 -1750 0 1 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/iopin.sym} 1540 -1750 0 0 {name=VIN12 lab=VIN12} +C {devices/iopin.sym} 1850 -1210 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_TA2Cell_NoFG.sym b/xschem/sky130_hilas_TA2Cell_NoFG.sym new file mode 100644 index 0000000..697c3ca --- /dev/null +++ b/xschem/sky130_hilas_TA2Cell_NoFG.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -110 130 -110 {} +L 4 -130 110 130 110 {} +L 4 -130 -110 -130 110 {} +L 4 130 -110 130 110 {} +L 4 -150 -100 -130 -100 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 80 -130 80 {} +L 7 130 -100 150 -100 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 130 100 150 100 {} +B 5 147.5 -102.5 152.5 -97.5 {name=VINJ dir=inout } +B 5 147.5 -82.5 152.5 -77.5 {name=COLSEL1 dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=VTUN dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=VPWR dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=GATE1 dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=VIN12 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=OUTPUT1 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=VIN11 dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=DRAIN1 dir=in } +B 5 147.5 57.5 152.5 62.5 {name=VIN22 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=OUTPUT2 dir=inout } +B 5 147.5 97.5 152.5 102.5 {name=VIN21 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=DRAIN2 dir=in } +B 5 -152.5 77.5 -147.5 82.5 {name=VGND dir=inout} +T {TA2Cell_NoFG} -72 -6 0 0 0.3 0.3 {} +T {@name} 135 -122 0 0 0.2 0.2 {} +T {VINJ} 125 -104 0 1 0.2 0.2 {} +T {COLSEL1} 125 -84 0 1 0.2 0.2 {} +T {VTUN} 125 -64 0 1 0.2 0.2 {} +T {VPWR} 125 -44 0 1 0.2 0.2 {} +T {GATE1} 125 -24 0 1 0.2 0.2 {} +T {VIN12} 125 -4 0 1 0.2 0.2 {} +T {OUTPUT1} 125 16 0 1 0.2 0.2 {} +T {VIN11} 125 36 0 1 0.2 0.2 {} +T {DRAIN1} -125 -104 0 0 0.2 0.2 {} +T {VIN22} 125 56 0 1 0.2 0.2 {} +T {OUTPUT2} 125 76 0 1 0.2 0.2 {} +T {VIN21} 125 96 0 1 0.2 0.2 {} +T {DRAIN2} -125 -84 0 0 0.2 0.2 {} +T {VGND} -125 76 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TA2SignalBiasCell.sch b/xschem/sky130_hilas_TA2SignalBiasCell.sch new file mode 100644 index 0000000..2db1f36 --- /dev/null +++ b/xschem/sky130_hilas_TA2SignalBiasCell.sch
@@ -0,0 +1,387 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1810 -1780 1830 -1780 { lab=#net1} +N 1870 -1780 1890 -1780 { lab=VPWR} +N 1890 -1810 1890 -1780 { lab=VPWR} +N 1740 -1810 1890 -1810 { lab=VPWR} +N 1740 -1810 1740 -1780 { lab=VPWR} +N 1740 -1780 1760 -1780 { lab=VPWR} +N 1870 -1740 1870 -1720 { lab=VOUT_AMP1} +N 1870 -1740 1910 -1740 { lab=VOUT_AMP1} +N 1760 -1730 1760 -1670 { lab=#net1} +N 1710 -1690 1830 -1690 { lab=#net2} +N 1710 -1720 1710 -1690 { lab=#net2} +N 1640 -1640 1720 -1640 { lab=#net3} +N 1640 -1670 1640 -1640 { lab=#net3} +N 1590 -1640 1600 -1640 { lab=VGND} +N 1590 -1640 1590 -1610 { lab=VGND} +N 1590 -1610 1660 -1610 { lab=VGND} +N 1660 -1610 1770 -1610 { lab=VGND} +N 1770 -1640 1770 -1610 { lab=VGND} +N 1760 -1640 1770 -1640 { lab=VGND} +N 1870 -1690 1880 -1690 { lab=VGND} +N 1880 -1690 1880 -1660 { lab=VGND} +N 1770 -1660 1880 -1660 { lab=VGND} +N 1770 -1660 1770 -1640 { lab=VGND} +N 1660 -1690 1670 -1690 { lab=VGND} +N 1660 -1660 1660 -1610 { lab=VGND} +N 1660 -1660 1670 -1660 { lab=VGND} +N 1920 -1500 1940 -1500 { lab=#net4} +N 1980 -1500 2000 -1500 { lab=VPWR} +N 2000 -1530 2000 -1500 { lab=VPWR} +N 1850 -1530 2000 -1530 { lab=VPWR} +N 1850 -1520 1850 -1500 { lab=VPWR} +N 1850 -1500 1870 -1500 { lab=VPWR} +N 1980 -1460 1980 -1440 { lab=VOUT_AMP2} +N 1980 -1460 2020 -1460 { lab=VOUT_AMP2} +N 1870 -1440 1870 -1390 { lab=#net4} +N 1820 -1410 1940 -1410 { lab=#net5} +N 1820 -1440 1820 -1410 { lab=#net5} +N 1750 -1360 1830 -1360 { lab=#net6} +N 1750 -1390 1750 -1360 { lab=#net6} +N 1700 -1360 1710 -1360 { lab=VGND} +N 1700 -1360 1700 -1330 { lab=VGND} +N 1700 -1330 1770 -1330 { lab=VGND} +N 1840 -1330 1880 -1330 { lab=VGND} +N 1880 -1360 1880 -1330 { lab=VGND} +N 1870 -1360 1880 -1360 { lab=VGND} +N 1980 -1410 1990 -1410 { lab=VGND} +N 1990 -1410 1990 -1380 { lab=VGND} +N 1880 -1380 1990 -1380 { lab=VGND} +N 1880 -1380 1880 -1360 { lab=VGND} +N 1770 -1410 1780 -1410 { lab=VGND} +N 1770 -1380 1770 -1330 { lab=VGND} +N 1770 -1380 1780 -1380 { lab=VGND} +N 1740 -1840 1740 -1810 { lab=VPWR} +N 1680 -1440 1820 -1440 { lab=#net5} +N 1600 -1390 1750 -1390 { lab=#net6} +N 1720 -1470 1730 -1470 { lab=VIN22} +N 1540 -1420 1560 -1420 { lab=VIN21} +N 1540 -1420 1540 -1360 { lab=VIN21} +N 1540 -1360 1550 -1360 { lab=VIN21} +N 1600 -1500 1680 -1500 { lab=#net7} +N 1600 -1500 1600 -1450 { lab=#net7} +N 1620 -1520 1660 -1520 { lab=VPWR} +N 1660 -1520 1660 -1470 { lab=VPWR} +N 1660 -1470 1680 -1470 { lab=VPWR} +N 1600 -1420 1620 -1420 { lab=VPWR} +N 1620 -1520 1620 -1420 { lab=VPWR} +N 2000 -1530 2060 -1530 { lab=VPWR} +N 2060 -1810 2060 -1530 { lab=VPWR} +N 1890 -1810 2060 -1810 { lab=VPWR} +N 1760 -1730 1810 -1730 { lab=#net1} +N 1810 -1780 1810 -1730 { lab=#net1} +N 1870 -1440 1920 -1440 { lab=#net4} +N 1920 -1500 1920 -1440 { lab=#net4} +N 1410 -1670 1640 -1670 { lab=#net3} +N 1530 -1750 1540 -1750 { lab=VIN12} +N 1350 -1700 1370 -1700 { lab=VIN11} +N 1350 -1700 1350 -1640 { lab=VIN11} +N 1350 -1640 1360 -1640 { lab=VIN11} +N 1410 -1780 1490 -1780 { lab=#net8} +N 1410 -1780 1410 -1730 { lab=#net8} +N 1430 -1800 1470 -1800 { lab=VPWR} +N 1470 -1800 1470 -1750 { lab=VPWR} +N 1470 -1750 1490 -1750 { lab=VPWR} +N 1410 -1700 1430 -1700 { lab=VPWR} +N 1430 -1800 1430 -1700 { lab=VPWR} +N 1740 -1860 1750 -1860 { lab=VPWR} +N 1660 -1520 1850 -1520 { lab=VPWR} +N 1500 -1560 1520 -1560 { lab=VPWR} +N 1520 -1530 1520 -1520 { lab=VPWR} +N 1500 -1530 1520 -1530 { lab=VPWR} +N 1330 -1840 1740 -1840 { lab=VPWR} +N 1330 -1840 1330 -1810 { lab=VPWR} +N 1310 -1810 1330 -1810 { lab=VPWR} +N 1440 -1530 1460 -1530 { lab=VBIAS2} +N 1240 -1810 1270 -1810 { lab=VBIAS1} +N 1330 -1810 1330 -1800 { lab=VPWR} +N 1840 -1330 1840 -1280 { lab=VGND} +N 1870 -1750 1870 -1740 { lab=VOUT_AMP1} +N 1480 -1720 1710 -1720 { lab=#net2} +N 1660 -1690 1660 -1660 { lab=VGND} +N 1980 -1470 1980 -1460 { lab=VOUT_AMP2} +N 1770 -1410 1770 -1380 { lab=VGND} +N 1500 -1500 1600 -1500 { lab=#net7} +N 1520 -1520 1620 -1520 { lab=VPWR} +N 1760 -1750 1760 -1730 { lab=#net1} +N 1800 -1780 1810 -1780 { lab=#net1} +N 1870 -1470 1870 -1440 { lab=#net4} +N 1910 -1500 1920 -1500 { lab=#net4} +N 1310 -1780 1410 -1780 { lab=#net8} +N 1330 -1800 1430 -1800 { lab=VPWR} +N 1850 -1530 1850 -1520 { lab=VPWR} +N 1510 -1520 1520 -1520 { lab=VPWR} +N 1520 -1560 1520 -1530 { lab=VPWR} +N 1740 -1860 1740 -1840 { lab=VPWR} +N 1310 -1840 1330 -1840 { lab=VPWR} +N 1320 -1800 1330 -1800 { lab=VPWR} +N 1770 -1330 1840 -1330 { lab=VGND} +C {devices/iopin.sym} 1750 -1860 0 0 {name=VPWR lab=VPWR} +C {sky130_fd_pr/pfet_01v8.sym} 1850 -1780 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1780 -1780 0 1 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1690 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1740 -1640 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1620 -1640 0 1 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1690 -1690 0 1 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1910 -1740 0 0 {name=OUTPUT1 lab=VOUT_AMP1} +C {sky130_fd_pr/pfet_01v8.sym} 1960 -1500 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1890 -1500 0 1 {name=M25 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1960 -1410 0 0 {name=M26 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1850 -1360 0 0 {name=M27 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1730 -1360 0 1 {name=M28 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1800 -1410 0 1 {name=M29 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 2020 -1460 0 0 {name=VOUT_AMP2 lab=VOUT_AMP2} +C {devices/iopin.sym} 1550 -1360 0 0 {name=VIN21 lab=VIN21} +C {devices/iopin.sym} 1730 -1470 0 0 {name=VIN22 lab=VIN22} +C {devices/gnd.sym} 1800 -1330 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 1710 -1610 0 0 {name=l2 lab=VGND} +C {devices/iopin.sym} 1360 -1640 0 0 {name=VIN11 lab=VIN11} +C {devices/iopin.sym} 1540 -1750 0 0 {name=VIN12 lab=VIN12} +C {sky130_fd_pr/pfet_01v8.sym} 1510 -1750 0 1 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1700 -1470 0 1 {name=M4 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1390 -1700 0 0 {name=M5 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1580 -1420 0 0 {name=M6 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1480 -1530 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1290 -1810 0 0 {name=M8 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1240 -1810 0 1 {name=VBIAS1 lab=VBIAS1} +C {devices/iopin.sym} 1440 -1530 0 1 {name=VBIAS2 lab=VBIAS2} +C {devices/iopin.sym} 1840 -1280 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_TA2SignalBiasCell.sym b/xschem/sky130_hilas_TA2SignalBiasCell.sym new file mode 100644 index 0000000..3b3597f --- /dev/null +++ b/xschem/sky130_hilas_TA2SignalBiasCell.sym
@@ -0,0 +1,46 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -90 130 -90 {} +L 4 -130 90 130 90 {} +L 4 -130 -90 -130 90 {} +L 4 130 -90 130 90 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 -40 90 -40 110 {} +B 5 147.5 -82.5 152.5 -77.5 {name=VPWR dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=VBIAS1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=VIN12 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=VOUT_AMP1 dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=VIN11 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=VBIAS2 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=VIN22 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=VOUT_AMP2 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=VIN21 dir=inout } +B 5 -42.5 107.5 -37.5 112.5 {name=VGND dir=inout } +T {TA2SignalBiasCell} -94.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -102 0 0 0.2 0.2 {} +T {VPWR} 125 -84 0 1 0.2 0.2 {} +T {VBIAS1} 125 -64 0 1 0.2 0.2 {} +T {VIN12} 125 -44 0 1 0.2 0.2 {} +T {VOUT_AMP1} 125 -24 0 1 0.2 0.2 {} +T {VIN11} 125 -4 0 1 0.2 0.2 {} +T {VBIAS2} 125 16 0 1 0.2 0.2 {} +T {VIN22} 125 36 0 1 0.2 0.2 {} +T {VOUT_AMP2} 125 56 0 1 0.2 0.2 {} +T {VIN21} 125 76 0 1 0.2 0.2 {} +T {VGND} -25 76 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_Tgate4Double01.sch b/xschem/sky130_hilas_Tgate4Double01.sch new file mode 100644 index 0000000..f27c407 --- /dev/null +++ b/xschem/sky130_hilas_Tgate4Double01.sch
@@ -0,0 +1,504 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 900 -1460 1240 -1460 { lab=INPUT2_2} +N 900 -1240 1240 -1240 { lab=INPUT1_2} +N 1110 -1400 1110 -1300 { lab=OUTPUT2} +N 900 -1400 900 -1300 { lab=OUTPUT2} +N 900 -1400 1110 -1400 { lab=OUTPUT2} +N 1110 -1400 1310 -1400 { lab=OUTPUT2} +N 1070 -1430 1070 -1320 { lab=#net1} +N 820 -1320 1070 -1320 { lab=#net1} +N 860 -1320 860 -1270 { lab=#net1} +N 1020 -1270 1070 -1270 { lab=SELECT2} +N 1020 -1370 1020 -1270 { lab=SELECT2} +N 820 -1370 1020 -1370 { lab=SELECT2} +N 860 -1430 860 -1370 { lab=SELECT2} +N 900 -1270 930 -1270 { lab=VPWR} +N 930 -1430 930 -1270 { lab=VPWR} +N 900 -1430 930 -1430 { lab=VPWR} +N 930 -1480 930 -1430 { lab=VPWR} +N 740 -1480 930 -1480 { lab=VPWR} +N 520 -1480 740 -1480 { lab=VPWR} +N 600 -1370 820 -1370 { lab=SELECT2} +N 740 -1320 820 -1320 { lab=#net1} +N 740 -1420 740 -1320 { lab=#net1} +N 740 -1290 760 -1290 { lab=VGND} +N 740 -1260 740 -1240 { lab=VGND} +N 700 -1370 700 -1290 { lab=SELECT2} +N 700 -1450 700 -1370 { lab=SELECT2} +N 430 -1480 520 -1480 { lab=VPWR} +N 740 -1450 770 -1450 { lab=VPWR} +N 770 -1480 770 -1450 { lab=VPWR} +N 1110 -1430 1140 -1430 { lab=VGND} +N 1110 -1270 1130 -1270 { lab=VGND} +N 900 -1730 1240 -1730 { lab=INPUT2_1} +N 900 -1510 1240 -1510 { lab=INPUT1_1} +N 1110 -1670 1110 -1570 { lab=OUTPUT1} +N 900 -1670 900 -1570 { lab=OUTPUT1} +N 900 -1670 1110 -1670 { lab=OUTPUT1} +N 1110 -1670 1310 -1670 { lab=OUTPUT1} +N 1070 -1700 1070 -1590 { lab=#net2} +N 820 -1590 1070 -1590 { lab=#net2} +N 860 -1590 860 -1540 { lab=#net2} +N 1020 -1540 1070 -1540 { lab=SELECT1} +N 1020 -1640 1020 -1540 { lab=SELECT1} +N 820 -1640 1020 -1640 { lab=SELECT1} +N 860 -1700 860 -1640 { lab=SELECT1} +N 900 -1540 930 -1540 { lab=VPWR} +N 930 -1700 930 -1540 { lab=VPWR} +N 900 -1700 930 -1700 { lab=VPWR} +N 930 -1750 930 -1700 { lab=VPWR} +N 740 -1750 930 -1750 { lab=VPWR} +N 520 -1750 740 -1750 { lab=VPWR} +N 600 -1640 820 -1640 { lab=SELECT1} +N 740 -1590 820 -1590 { lab=#net2} +N 740 -1690 740 -1590 { lab=#net2} +N 740 -1560 760 -1560 { lab=VGND} +N 740 -1530 740 -1510 { lab=VGND} +N 700 -1640 700 -1560 { lab=SELECT1} +N 700 -1720 700 -1640 { lab=SELECT1} +N 430 -1750 520 -1750 { lab=VPWR} +N 740 -1720 770 -1720 { lab=VPWR} +N 770 -1750 770 -1720 { lab=VPWR} +N 1110 -1700 1140 -1700 { lab=VGND} +N 1110 -1540 1130 -1540 { lab=VGND} +N 900 -910 1240 -910 { lab=INPUT2_4} +N 900 -690 1240 -690 { lab=INPUT1_4} +N 1110 -850 1110 -750 { lab=OUTPUT4} +N 900 -850 900 -750 { lab=OUTPUT4} +N 900 -850 1110 -850 { lab=OUTPUT4} +N 1110 -850 1310 -850 { lab=OUTPUT4} +N 1070 -880 1070 -770 { lab=#net3} +N 820 -770 1070 -770 { lab=#net3} +N 860 -770 860 -720 { lab=#net3} +N 1020 -720 1070 -720 { lab=SELECT4} +N 1020 -820 1020 -720 { lab=SELECT4} +N 820 -820 1020 -820 { lab=SELECT4} +N 860 -880 860 -820 { lab=SELECT4} +N 900 -720 930 -720 { lab=VPWR} +N 930 -880 930 -720 { lab=VPWR} +N 900 -880 930 -880 { lab=VPWR} +N 930 -930 930 -880 { lab=VPWR} +N 740 -930 930 -930 { lab=VPWR} +N 520 -930 740 -930 { lab=VPWR} +N 600 -820 820 -820 { lab=SELECT4} +N 740 -770 820 -770 { lab=#net3} +N 740 -870 740 -770 { lab=#net3} +N 740 -740 760 -740 { lab=VGND} +N 700 -820 700 -740 { lab=SELECT4} +N 700 -900 700 -820 { lab=SELECT4} +N 430 -930 520 -930 { lab=VPWR} +N 740 -900 770 -900 { lab=VPWR} +N 770 -930 770 -900 { lab=VPWR} +N 1110 -880 1140 -880 { lab=VGND} +N 1110 -720 1130 -720 { lab=VGND} +N 900 -1180 1240 -1180 { lab=INPUT2_3} +N 900 -960 1240 -960 { lab=INPUT1_3} +N 1110 -1120 1110 -1020 { lab=OUTPUT3} +N 900 -1120 900 -1020 { lab=OUTPUT3} +N 900 -1120 1110 -1120 { lab=OUTPUT3} +N 1110 -1120 1310 -1120 { lab=OUTPUT3} +N 1070 -1150 1070 -1040 { lab=#net4} +N 820 -1040 1070 -1040 { lab=#net4} +N 860 -1040 860 -990 { lab=#net4} +N 1020 -990 1070 -990 { lab=SELECT3} +N 1020 -1090 1020 -990 { lab=SELECT3} +N 820 -1090 1020 -1090 { lab=SELECT3} +N 860 -1150 860 -1090 { lab=SELECT3} +N 900 -990 930 -990 { lab=VPWR} +N 930 -1150 930 -990 { lab=VPWR} +N 900 -1150 930 -1150 { lab=VPWR} +N 930 -1200 930 -1150 { lab=VPWR} +N 740 -1200 930 -1200 { lab=VPWR} +N 520 -1200 740 -1200 { lab=VPWR} +N 600 -1090 820 -1090 { lab=SELECT3} +N 740 -1040 820 -1040 { lab=#net4} +N 740 -1140 740 -1040 { lab=#net4} +N 740 -1010 760 -1010 { lab=VGND} +N 740 -980 740 -960 { lab=VGND} +N 700 -1090 700 -1010 { lab=SELECT3} +N 700 -1170 700 -1090 { lab=SELECT3} +N 430 -1200 520 -1200 { lab=VPWR} +N 740 -1170 770 -1170 { lab=VPWR} +N 770 -1200 770 -1170 { lab=VPWR} +N 1110 -1150 1140 -1150 { lab=VGND} +N 1110 -990 1130 -990 { lab=VGND} +N 430 -1780 430 -930 { lab=VPWR} +N 420 -1780 430 -1780 { lab=VPWR} +N 540 -590 740 -590 { lab=VGND} +N 740 -710 740 -560 { lab=VGND} +C {devices/ipin.sym} 600 -1370 0 0 {name=SELECT2 lab=SELECT2} +C {devices/iopin.sym} 420 -1780 0 1 {name=VPWR lab=VPWR} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1430 0 0 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1430 0 0 {name=M21 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1240 -1240 0 0 {name=INPUT1_2 lab=INPUT1_2} +C {devices/iopin.sym} 1310 -1400 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/iopin.sym} 1240 -1460 0 0 {name=INPUT2_2 lab=INPUT2_2} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1270 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1450 0 0 {name=M2 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1290 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1270 0 0 {name=M4 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1140 -1430 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 1130 -1270 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 740 -1240 0 0 {name=l3 lab=VGND} +C {devices/gnd.sym} 760 -1290 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 600 -1640 0 0 {name=SELECT1 lab=SELECT1} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1700 0 0 {name=M5 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1700 0 0 {name=M6 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1240 -1510 0 0 {name=INPUT1_1 lab=INPUT1_1} +C {devices/iopin.sym} 1310 -1670 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {devices/iopin.sym} 1240 -1730 0 0 {name=INPUT2_1 lab=INPUT2_1} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1540 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1720 0 0 {name=M8 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1560 0 0 {name=M9 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1540 0 0 {name=M10 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1140 -1700 0 0 {name=l5 lab=VGND} +C {devices/gnd.sym} 1130 -1540 0 0 {name=l6 lab=VGND} +C {devices/gnd.sym} 740 -1510 0 0 {name=l7 lab=VGND} +C {devices/gnd.sym} 760 -1560 0 0 {name=l8 lab=VGND} +C {devices/ipin.sym} 600 -820 0 0 {name=SELECT4 lab=SELECT4} +C {sky130_fd_pr/pfet_01v8.sym} 880 -880 0 0 {name=M11 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -880 0 0 {name=M12 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1240 -690 0 0 {name=INPUT1_4 lab=INPUT1_4} +C {devices/iopin.sym} 1310 -850 0 0 {name=OUTPUT4 lab=OUTPUT4} +C {devices/iopin.sym} 1240 -910 0 0 {name=INPUT2_4 lab=INPUT2_4} +C {sky130_fd_pr/pfet_01v8.sym} 880 -720 0 0 {name=M13 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -900 0 0 {name=M14 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -740 0 0 {name=M15 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -720 0 0 {name=M16 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1140 -880 0 0 {name=l9 lab=VGND} +C {devices/gnd.sym} 1130 -720 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} 740 -560 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} 760 -740 0 0 {name=l12 lab=VGND} +C {devices/ipin.sym} 600 -1090 0 0 {name=SELECT3 lab=SELECT3} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1150 0 0 {name=M17 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1150 0 0 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1240 -960 0 0 {name=INPUT1_3 lab=INPUT1_3} +C {devices/iopin.sym} 1310 -1120 0 0 {name=OUTPUT3 lab=OUTPUT3} +C {devices/iopin.sym} 1240 -1180 0 0 {name=INPUT2_3 lab=INPUT2_3} +C {sky130_fd_pr/pfet_01v8.sym} 880 -990 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1170 0 0 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1010 0 0 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -990 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1140 -1150 0 0 {name=l13 lab=VGND} +C {devices/gnd.sym} 1130 -990 0 0 {name=l14 lab=VGND} +C {devices/gnd.sym} 740 -960 0 0 {name=l15 lab=VGND} +C {devices/gnd.sym} 760 -1010 0 0 {name=l16 lab=VGND} +C {devices/iopin.sym} 530 -590 0 0 {name=p1 lab=VGND} +C {devices/lab_pin.sym} 740 -650 0 0 {name=l17 sig_type=std_logic lab=VGND}
diff --git a/xschem/sky130_hilas_Tgate4Double01.sym b/xschem/sky130_hilas_Tgate4Double01.sym new file mode 100644 index 0000000..a165039 --- /dev/null +++ b/xschem/sky130_hilas_Tgate4Double01.sym
@@ -0,0 +1,70 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -130 130 -130 {} +L 4 -130 130 130 130 {} +L 4 -130 -130 -130 130 {} +L 4 130 -130 130 130 {} +L 4 -150 -120 -130 -120 {} +L 4 -150 -100 -130 -100 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 90 -130 90 {} +L 7 130 -120 150 -120 {} +L 7 130 -100 150 -100 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 130 100 150 100 {} +L 7 130 120 150 120 {} +B 5 147.5 -122.5 152.5 -117.5 {name=VPWR dir=inout } +B 5 147.5 -102.5 152.5 -97.5 {name=INPUT2_1 dir=inout } +B 5 147.5 -82.5 152.5 -77.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -122.5 -147.5 -117.5 {name=SELECT1 dir=in } +B 5 147.5 -62.5 152.5 -57.5 {name=INPUT1_1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=INPUT2_2 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=OUTPUT2 dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=SELECT2 dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=INPUT1_2 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=INPUT2_3 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=OUTPUT3 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=SELECT3 dir=in } +B 5 147.5 57.5 152.5 62.5 {name=INPUT1_3 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=INPUT2_4 dir=inout } +B 5 147.5 97.5 152.5 102.5 {name=OUTPUT4 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=SELECT4 dir=in } +B 5 147.5 117.5 152.5 122.5 {name=INPUT1_4 dir=inout } +B 5 -152.5 87.5 -147.5 92.5 {name=VGND dir=in } +T {Tgate4Double01} -81 -6 0 0 0.3 0.3 {} +T {@name} 135 -142 0 0 0.2 0.2 {} +T {VPWR} 125 -124 0 1 0.2 0.2 {} +T {INPUT2_1} 125 -104 0 1 0.2 0.2 {} +T {OUTPUT1} 125 -84 0 1 0.2 0.2 {} +T {SELECT1} -125 -124 0 0 0.2 0.2 {} +T {INPUT1_1} 125 -64 0 1 0.2 0.2 {} +T {INPUT2_2} 125 -44 0 1 0.2 0.2 {} +T {OUTPUT2} 125 -24 0 1 0.2 0.2 {} +T {SELECT2} -125 -104 0 0 0.2 0.2 {} +T {INPUT1_2} 125 -4 0 1 0.2 0.2 {} +T {INPUT2_3} 125 16 0 1 0.2 0.2 {} +T {OUTPUT3} 125 36 0 1 0.2 0.2 {} +T {SELECT3} -125 -84 0 0 0.2 0.2 {} +T {INPUT1_3} 125 56 0 1 0.2 0.2 {} +T {INPUT2_4} 125 76 0 1 0.2 0.2 {} +T {OUTPUT4} 125 96 0 1 0.2 0.2 {} +T {SELECT4} -125 -64 0 0 0.2 0.2 {} +T {INPUT1_4} 125 116 0 1 0.2 0.2 {} +T {VGND} -125 86 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_Tgate4Single01.sch b/xschem/sky130_hilas_Tgate4Single01.sch new file mode 100644 index 0000000..ed7c074 --- /dev/null +++ b/xschem/sky130_hilas_Tgate4Single01.sch
@@ -0,0 +1,355 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 900 -1240 1240 -1240 { lab=INPUT1_2} +N 1110 -1400 1110 -1300 { lab=OUTPUT2} +N 900 -1400 900 -1300 { lab=OUTPUT2} +N 900 -1400 1110 -1400 { lab=OUTPUT2} +N 1110 -1400 1310 -1400 { lab=OUTPUT2} +N 860 -1320 860 -1270 { lab=#net1} +N 1020 -1270 1070 -1270 { lab=SELECT2} +N 1020 -1370 1020 -1270 { lab=SELECT2} +N 900 -1270 930 -1270 { lab=VPWR} +N 930 -1480 930 -1270 { lab=VPWR} +N 770 -1480 930 -1480 { lab=VPWR} +N 700 -1370 1020 -1370 { lab=SELECT2} +N 740 -1320 860 -1320 { lab=#net1} +N 740 -1420 740 -1320 { lab=#net1} +N 740 -1290 760 -1290 { lab=VGND} +N 740 -1260 740 -1240 { lab=VGND} +N 700 -1370 700 -1290 { lab=SELECT2} +N 700 -1450 700 -1370 { lab=SELECT2} +N 430 -1480 770 -1480 { lab=VPWR} +N 740 -1450 770 -1450 { lab=VPWR} +N 770 -1480 770 -1450 { lab=VPWR} +N 1110 -1270 1130 -1270 { lab=VGND} +N 900 -1510 1240 -1510 { lab=INPUT1_1} +N 1110 -1670 1110 -1570 { lab=OUTPUT1} +N 900 -1670 900 -1570 { lab=OUTPUT1} +N 900 -1670 1110 -1670 { lab=OUTPUT1} +N 1110 -1670 1310 -1670 { lab=OUTPUT1} +N 860 -1590 860 -1540 { lab=#net2} +N 1020 -1540 1070 -1540 { lab=SELECT1} +N 1020 -1640 1020 -1540 { lab=SELECT1} +N 900 -1540 930 -1540 { lab=VPWR} +N 930 -1750 930 -1540 { lab=VPWR} +N 770 -1750 930 -1750 { lab=VPWR} +N 700 -1640 1020 -1640 { lab=SELECT1} +N 740 -1590 860 -1590 { lab=#net2} +N 740 -1690 740 -1590 { lab=#net2} +N 740 -1560 760 -1560 { lab=VGND} +N 740 -1530 740 -1510 { lab=VGND} +N 700 -1640 700 -1560 { lab=SELECT1} +N 700 -1720 700 -1640 { lab=SELECT1} +N 430 -1750 770 -1750 { lab=VPWR} +N 740 -1720 770 -1720 { lab=VPWR} +N 770 -1750 770 -1720 { lab=VPWR} +N 1110 -1540 1130 -1540 { lab=VGND} +N 900 -690 1240 -690 { lab=INPUT1_4} +N 1110 -850 1110 -750 { lab=OUTPUT4} +N 900 -850 900 -750 { lab=OUTPUT4} +N 900 -850 1110 -850 { lab=OUTPUT4} +N 1110 -850 1310 -850 { lab=OUTPUT4} +N 860 -770 860 -720 { lab=#net3} +N 1020 -720 1070 -720 { lab=SELECT4} +N 1020 -820 1020 -720 { lab=SELECT4} +N 900 -720 930 -720 { lab=VPWR} +N 930 -930 930 -720 { lab=VPWR} +N 770 -930 930 -930 { lab=VPWR} +N 700 -820 1020 -820 { lab=SELECT4} +N 740 -770 860 -770 { lab=#net3} +N 740 -870 740 -770 { lab=#net3} +N 740 -740 760 -740 { lab=VGND} +N 740 -680 740 -640 { lab=VGND} +N 700 -820 700 -740 { lab=SELECT4} +N 700 -900 700 -820 { lab=SELECT4} +N 430 -930 770 -930 { lab=VPWR} +N 740 -900 770 -900 { lab=VPWR} +N 770 -930 770 -900 { lab=VPWR} +N 1110 -720 1130 -720 { lab=VGND} +N 900 -960 1240 -960 { lab=INPUT1_3} +N 1110 -1120 1110 -1020 { lab=OUTPUT3} +N 900 -1120 900 -1020 { lab=OUTPUT3} +N 900 -1120 1110 -1120 { lab=OUTPUT3} +N 1110 -1120 1310 -1120 { lab=OUTPUT3} +N 860 -1040 860 -990 { lab=#net4} +N 1020 -990 1070 -990 { lab=SELECT3} +N 1020 -1090 1020 -990 { lab=SELECT3} +N 900 -990 930 -990 { lab=VPWR} +N 930 -1200 930 -990 { lab=VPWR} +N 770 -1200 930 -1200 { lab=VPWR} +N 700 -1090 1020 -1090 { lab=SELECT3} +N 740 -1140 740 -1040 { lab=#net4} +N 740 -1010 760 -1010 { lab=VGND} +N 740 -980 740 -960 { lab=VGND} +N 700 -1090 700 -1010 { lab=SELECT3} +N 700 -1170 700 -1090 { lab=SELECT3} +N 430 -1200 770 -1200 { lab=VPWR} +N 740 -1170 770 -1170 { lab=VPWR} +N 770 -1200 770 -1170 { lab=VPWR} +N 1110 -990 1130 -990 { lab=VGND} +N 430 -1200 430 -930 { lab=VPWR} +N 420 -1780 430 -1780 { lab=VPWR} +N 600 -1370 700 -1370 { lab=SELECT2} +N 430 -1750 430 -1480 { lab=VPWR} +N 600 -1640 700 -1640 { lab=SELECT1} +N 430 -1780 430 -1750 { lab=VPWR} +N 600 -820 700 -820 { lab=SELECT4} +N 600 -1090 700 -1090 { lab=SELECT3} +N 430 -1480 430 -1200 { lab=VPWR} +N 740 -1040 860 -1040 { lab=#net4} +N 680 -680 740 -680 { lab=VGND} +N 740 -710 740 -680 { lab=VGND} +C {devices/ipin.sym} 600 -1370 0 0 {name=SELECT2 lab=SELECT2} +C {devices/iopin.sym} 420 -1780 0 1 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 1240 -1240 0 0 {name=INPUT1_2 lab=INPUT1_2} +C {devices/iopin.sym} 1310 -1400 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1270 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1450 0 0 {name=M2 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1290 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1270 0 0 {name=M4 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1130 -1270 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 740 -1240 0 0 {name=l3 lab=VGND} +C {devices/gnd.sym} 760 -1290 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 600 -1640 0 0 {name=SELECT1 lab=SELECT1} +C {devices/iopin.sym} 1240 -1510 0 0 {name=INPUT1_1 lab=INPUT1_1} +C {devices/iopin.sym} 1310 -1670 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {sky130_fd_pr/pfet_01v8.sym} 880 -1540 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1720 0 0 {name=M8 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1560 0 0 {name=M9 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -1540 0 0 {name=M10 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1130 -1540 0 0 {name=l6 lab=VGND} +C {devices/gnd.sym} 740 -1510 0 0 {name=l7 lab=VGND} +C {devices/gnd.sym} 760 -1560 0 0 {name=l8 lab=VGND} +C {devices/ipin.sym} 600 -820 0 0 {name=SELECT4 lab=SELECT4} +C {devices/iopin.sym} 1240 -690 0 0 {name=INPUT1_4 lab=INPUT1_4} +C {devices/iopin.sym} 1310 -850 0 0 {name=OUTPUT4 lab=OUTPUT4} +C {sky130_fd_pr/pfet_01v8.sym} 880 -720 0 0 {name=M13 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -900 0 0 {name=M14 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -740 0 0 {name=M15 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -720 0 0 {name=M16 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1130 -720 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} 740 -640 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} 760 -740 0 0 {name=l12 lab=VGND} +C {devices/ipin.sym} 600 -1090 0 0 {name=SELECT3 lab=SELECT3} +C {devices/iopin.sym} 1240 -960 0 0 {name=INPUT1_3 lab=INPUT1_3} +C {devices/iopin.sym} 1310 -1120 0 0 {name=OUTPUT3 lab=OUTPUT3} +C {sky130_fd_pr/pfet_01v8.sym} 880 -990 0 0 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 720 -1170 0 0 {name=M22 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 720 -1010 0 0 {name=M23 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1090 -990 0 0 {name=M24 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1130 -990 0 0 {name=l14 lab=VGND} +C {devices/gnd.sym} 740 -960 0 0 {name=l15 lab=VGND} +C {devices/gnd.sym} 760 -1010 0 0 {name=l16 lab=VGND} +C {devices/iopin.sym} 690 -680 2 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_Tgate4Single01.sym b/xschem/sky130_hilas_Tgate4Single01.sym new file mode 100644 index 0000000..e620b8f --- /dev/null +++ b/xschem/sky130_hilas_Tgate4Single01.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -90 130 -90 {} +L 4 -130 90 130 90 {} +L 4 -130 -90 -130 90 {} +L 4 130 -90 130 90 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 60 -130 60 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +B 5 147.5 -82.5 152.5 -77.5 {name=VPWR dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=SELECT1 dir=in } +B 5 147.5 -42.5 152.5 -37.5 {name=INPUT1_1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=OUTPUT2 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=SELECT2 dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=INPUT1_2 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=OUTPUT3 dir=inout } +B 5 -152.5 -42.5 -147.5 -37.5 {name=SELECT3 dir=in } +B 5 147.5 37.5 152.5 42.5 {name=INPUT1_3 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=OUTPUT4 dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=SELECT4 dir=in } +B 5 147.5 77.5 152.5 82.5 {name=INPUT1_4 dir=inout } +B 5 -152.5 57.5 -147.5 62.5 {name=VGND dir=inout } +T {Tgate4Single01} -81 -6 0 0 0.3 0.3 {} +T {@name} 135 -102 0 0 0.2 0.2 {} +T {VPWR} 125 -84 0 1 0.2 0.2 {} +T {OUTPUT1} 125 -64 0 1 0.2 0.2 {} +T {SELECT1} -125 -84 0 0 0.2 0.2 {} +T {INPUT1_1} 125 -44 0 1 0.2 0.2 {} +T {OUTPUT2} 125 -24 0 1 0.2 0.2 {} +T {SELECT2} -125 -64 0 0 0.2 0.2 {} +T {INPUT1_2} 125 -4 0 1 0.2 0.2 {} +T {OUTPUT3} 125 16 0 1 0.2 0.2 {} +T {SELECT3} -125 -44 0 0 0.2 0.2 {} +T {INPUT1_3} 125 36 0 1 0.2 0.2 {} +T {OUTPUT4} 125 56 0 1 0.2 0.2 {} +T {SELECT4} -125 -24 0 0 0.2 0.2 {} +T {INPUT1_4} 125 76 0 1 0.2 0.2 {} +T {VGND} -125 56 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TopLevelTestStructure.sch b/xschem/sky130_hilas_TopLevelTestStructure.sch new file mode 100644 index 0000000..68d00a4 --- /dev/null +++ b/xschem/sky130_hilas_TopLevelTestStructure.sch
@@ -0,0 +1,611 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 800 -10 800 440 { lab=VTUN} +N -500 -10 -500 430 { lab=#net1} +N 820 -10 820 440 { lab=VINJ} +N -500 60 -470 60 { lab=#net1} +N -500 260 -470 260 { lab=#net1} +N 760 20 820 20 { lab=VINJ} +N 760 230 820 230 { lab=VINJ} +N 760 80 800 80 { lab=VTUN} +N 760 250 800 250 { lab=VTUN} +N 840 -10 840 440 { lab=VPWR} +N 760 290 840 290 { lab=VPWR} +N 760 330 780 330 { lab=#net2} +N 780 330 780 460 { lab=#net2} +N -150 -10 -150 430 { lab=DRAINOUT} +N -170 60 -150 60 { lab=DRAINOUT} +N -170 260 -150 260 { lab=DRAINOUT} +N 300 20 460 20 { lab=#net3} +N -130 30 -130 80 { lab=#net3} +N -170 80 -130 80 { lab=#net3} +N 300 140 460 140 { lab=#net4} +N -130 140 -130 150 { lab=#net4} +N -170 140 -130 140 { lab=#net4} +N 300 110 460 110 { lab=#net5} +N -130 110 -130 120 { lab=#net5} +N -170 120 -130 120 { lab=#net5} +N 310 60 460 60 { lab=#net6} +N 310 70 310 100 { lab=#net6} +N -170 100 -120 100 { lab=#net6} +N -170 280 -130 280 { lab=#net7} +N -130 250 -130 280 { lab=#net7} +N -170 340 -130 340 { lab=#net8} +N -170 320 -130 320 { lab=#net9} +N -130 290 -110 290 { lab=#net10} +N -130 290 -130 300 { lab=#net10} +N -170 300 -130 300 { lab=#net10} +N 860 -10 860 500 { lab=GATE1} +N 900 -10 900 500 { lab=GATE2} +N 760 310 860 310 { lab=GATE1} +N 760 140 860 140 { lab=GATE1} +N 920 -10 920 500 { lab=#net11} +N 880 -10 880 120 { lab=#net12} +N 880 150 880 500 { lab=#net12} +N 760 40 880 40 { lab=#net12} +N 760 270 880 270 { lab=#net12} +N 760 60 920 60 { lab=#net11} +N 870 120 880 150 { lab=#net12} +N 870 120 880 120 { lab=#net12} +N 820 440 820 550 { lab=VINJ} +N 820 550 820 720 { lab=VINJ} +N 800 440 800 660 { lab=VTUN} +N 760 650 800 650 { lab=VTUN} +N 760 580 820 580 { lab=VINJ} +N 820 720 820 740 { lab=VINJ} +N 800 660 800 720 { lab=VTUN} +N 820 740 820 760 { lab=VINJ} +N 780 760 820 760 { lab=VINJ} +N 770 630 790 630 { lab=GATENFET1} +N 430 690 460 690 { lab=GENERALGATE02} +N 430 670 460 670 { lab=GATEANDCAP1} +N 430 650 460 650 { lab=CAP2} +N 430 610 460 610 { lab=LARGECAPACITOR} +N 430 590 460 590 { lab=VREFCHAR} +N 430 570 460 570 { lab=DRAININJECT} +N 800 -520 800 -70 { lab=VTUN} +N 820 -520 820 -70 { lab=VINJ} +N 860 -520 860 -10 { lab=GATE1} +N 900 -520 900 -10 { lab=GATE2} +N 920 -520 920 -10 { lab=#net11} +N 880 -520 880 -10 { lab=#net12} +N 800 -70 800 -10 { lab=VTUN} +N 820 -70 820 -10 { lab=VINJ} +N -150 -450 -150 -10 { lab=DRAINOUT} +N -150 -610 -150 -450 { lab=DRAINOUT} +N -170 -350 -150 -350 { lab=DRAINOUT} +N 300 -270 460 -270 { lab=#net13} +N 300 -290 460 -290 { lab=#net14} +N -170 -290 -130 -290 { lab=#net14} +N -170 -270 -130 -270 { lab=#net13} +N -500 -350 -500 -10 { lab=#net1} +N -500 -350 -470 -350 { lab=#net1} +N 430 -610 430 -550 { lab=#net15} +N 410 -610 410 -530 { lab=#net16} +N 430 -550 460 -550 { lab=#net15} +N 410 -530 460 -530 { lab=#net16} +N -170 -330 -130 -330 { lab=#net17} +N 300 -590 300 -330 { lab=#net17} +N 300 -590 460 -590 { lab=#net17} +N -170 -310 -110 -310 { lab=#net18} +N 320 -570 320 -310 { lab=#net18} +N 320 -570 460 -570 { lab=#net18} +N 800 -620 800 -520 { lab=VTUN} +N 820 -620 820 -520 { lab=VINJ} +N 860 -620 860 -520 { lab=GATE1} +N 880 -620 880 -520 { lab=#net12} +N 900 -620 900 -520 { lab=GATE2} +N 920 -620 920 -520 { lab=#net11} +N 760 -590 820 -590 { lab=VINJ} +N 760 -570 800 -570 { lab=VTUN} +N 760 -290 820 -290 { lab=VINJ} +N 760 -270 800 -270 { lab=VTUN} +N 760 -250 880 -250 { lab=#net12} +N 760 -550 880 -550 { lab=#net12} +N 760 -490 920 -490 { lab=#net11} +N 760 -170 920 -170 { lab=#net11} +N 760 -510 860 -510 { lab=GATE1} +N 760 -210 860 -210 { lab=GATE1} +N 760 -190 900 -190 { lab=GATE2} +N 760 -350 900 -350 { lab=GATE2} +N 780 -620 780 -230 { lab=VPWR} +N 760 -230 780 -230 { lab=VPWR} +N 760 -530 780 -530 { lab=VPWR} +N 1030 -440 1030 -260 { lab=OUTPUTTA1} +N 1030 -260 1050 -260 { lab=OUTPUTTA1} +N 1030 -300 1050 -300 { lab=OUTPUTTA1} +N 1030 -340 1050 -340 { lab=OUTPUTTA1} +N 1030 -380 1050 -380 { lab=OUTPUTTA1} +N 780 -400 1050 -400 { lab=VPWR} +N 1050 -240 1050 -60 { lab=#net19} +N 760 -70 780 -70 { lab=#net19} +N 780 -70 940 -60 { lab=#net19} +N 940 -60 1050 -60 { lab=#net19} +N 760 -130 940 -120 { lab=#net20} +N 940 -120 1010 -120 { lab=#net20} +N 1010 -280 1010 -120 { lab=#net20} +N 1010 -280 1050 -280 { lab=#net20} +N 1020 -460 1020 -360 { lab=#net21} +N 760 -470 1020 -460 { lab=#net21} +N 760 -430 990 -420 { lab=#net22} +N 1020 -360 1050 -360 { lab=#net21} +N 1010 -320 1050 -320 { lab=#net22} +N 1010 -420 1010 -320 { lab=#net22} +N 990 -420 1010 -420 { lab=#net22} +N 1030 -440 1110 -440 { lab=OUTPUTTA1} +N 1110 -440 1130 -440 { lab=OUTPUTTA1} +N 760 670 1010 670 { lab=GENERALGATE01} +N 760 710 1010 710 { lab=GENERALGATE02} +N 960 -560 960 520 { lab=#net23} +N 980 -560 980 520 { lab=GENERALGATE01} +N 980 520 980 680 { lab=GENERALGATE01} +N 960 520 960 700 { lab=#net23} +N 840 440 840 580 { lab=VPWR} +N 840 580 1020 580 { lab=VPWR} +N 760 -50 940 -40 { lab=#net23} +N 940 -40 960 -40 { lab=#net23} +N 760 -90 940 -80 { lab=GENERALGATE01} +N 940 -80 980 -80 { lab=GENERALGATE01} +N 760 -110 940 -100 { lab=GENERALGATE01} +N 940 -100 980 -100 { lab=GENERALGATE01} +N 760 -150 940 -140 { lab=#net23} +N 940 -140 960 -140 { lab=#net23} +N 760 -450 940 -440 { lab=GENERALGATE01} +N 940 -440 980 -440 { lab=GENERALGATE01} +N 760 -370 940 -360 { lab=GENERALGATE01} +N 940 -360 980 -360 { lab=GENERALGATE01} +N 760 -390 940 -380 { lab=#net23} +N 940 -380 960 -380 { lab=#net23} +N 760 -410 960 -410 { lab=#net23} +N 860 540 1020 540 { lab=GATE1} +N 860 500 860 540 { lab=GATE1} +N 880 500 880 520 { lab=#net12} +N 900 500 900 510 { lab=GATE2} +N 900 510 940 510 { lab=GATE2} +N 1000 500 1020 500 { lab=GATE2} +N 940 510 1000 500 { lab=GATE2} +N -1820 -340 -1820 510 { lab=GATEANDCAP1} +N -1820 -280 -1780 -280 { lab=GATEANDCAP1} +N -1820 -260 -1780 -260 { lab=GATEANDCAP1} +N -1820 -240 -1780 -240 { lab=GATEANDCAP1} +N -1820 -220 -1780 -220 { lab=GATEANDCAP1} +N -1820 -200 -1780 -200 { lab=GATEANDCAP1} +N -1820 -180 -1780 -180 { lab=GATEANDCAP1} +N -1820 70 -1780 70 { lab=GATEANDCAP1} +N -1820 90 -1780 90 { lab=GATEANDCAP1} +N -1820 110 -1780 110 { lab=GATEANDCAP1} +N -1820 130 -1780 130 { lab=GATEANDCAP1} +N -1820 320 -1780 320 { lab=GATEANDCAP1} +N -1820 440 -1780 440 { lab=GATEANDCAP1} +N -1440 -310 -1440 510 { lab=VPWR} +N -1400 -310 -1400 510 { lab=SOURCEP} +N -1360 -310 -1360 500 { lab=SOURCEN} +N -1480 -240 -1440 -240 { lab=VPWR} +N -1480 110 -1440 110 { lab=VPWR} +N -1480 460 -1440 460 { lab=VPWR} +N -1480 -220 -1400 -220 { lab=SOURCEP} +N -1480 -200 -1360 -200 { lab=SOURCEN} +N -1480 -140 -1400 -140 { lab=SOURCEP} +N -1480 -120 -1360 -120 { lab=SOURCEN} +N -1480 -60 -1400 -60 { lab=SOURCEP} +N -1480 -40 -1360 -40 { lab=SOURCEN} +N -1480 130 -1400 130 { lab=SOURCEP} +N -1480 150 -1360 150 { lab=SOURCEN} +N -1480 230 -1400 230 { lab=SOURCEP} +N -1480 210 -1360 210 { lab=SOURCEN} +N -1480 360 -1360 360 { lab=SOURCEN} +N -1480 480 -1400 480 { lab=SOURCEP} +N 320 670 430 670 { lab=GATEANDCAP1} +N -470 690 -80 690 { lab=GATEANDCAP1} +N -540 690 -470 690 { lab=GATEANDCAP1} +N -1820 690 -1190 690 { lab=GATEANDCAP1} +N -1820 510 -1820 690 { lab=GATEANDCAP1} +N -1480 -280 -1320 -280 { lab=DRAIN1P} +N -1480 -260 -1320 -260 { lab=DRAIN1N} +N -1480 -180 -1320 -180 { lab=DRAIN2P} +N -1480 -160 -1320 -160 { lab=DRAIN2N} +N -1480 -100 -1320 -100 { lab=DRAIN3P} +N -1480 -80 -1320 -80 { lab=DRAIN3N} +N -1480 70 -1320 70 { lab=DRAIN4P} +N -1480 90 -1320 90 { lab=DRAIN4N} +N -1480 170 -1320 170 { lab=DRAIN5P} +N -1480 190 -1320 190 { lab=DRAIN5N} +N -1480 320 -1320 320 { lab=DRAIN6N} +N -1480 440 -1320 440 { lab=DRAIN6P} +N -1360 -330 -1360 -310 { lab=SOURCEN} +N -1400 -360 -1400 -310 { lab=SOURCEP} +N -1440 -400 -1440 -310 { lab=VPWR} +N 410 -640 410 -610 { lab=#net16} +N 440 270 460 270 { lab=#net24} +N 440 230 460 230 { lab=#net25} +N 440 350 460 350 { lab=#net26} +N 1000 560 1000 580 { lab=VPWR} +N 1000 560 1590 560 { lab=VPWR} +N 1590 560 1590 690 { lab=VPWR} +N 1580 690 1590 690 { lab=VPWR} +N 960 700 960 720 { lab=#net23} +N 1270 720 1280 720 { lab=DIG25} +N 1580 700 1590 700 { lab=VPWR} +N 1590 670 1590 700 { lab=VPWR} +N 370 650 430 650 { lab=CAP2} +N 320 650 370 650 { lab=CAP2} +N 390 610 430 610 { lab=LARGECAPACITOR} +N 320 610 390 610 { lab=LARGECAPACITOR} +N 1580 720 1610 720 { lab=DACOUTPUT} +N 760 350 1000 330 { lab=DIG21} +N 760 370 1000 350 { lab=DIG22} +N 760 390 1000 370 { lab=DIG23} +N 760 410 1000 390 { lab=DIG24} +N 440 80 460 80 { lab=ROWTERM2} +N -1030 690 -540 690 { lab=GATEANDCAP1} +N -1200 690 -1000 690 { lab=GATEANDCAP1} +N -550 -350 -500 -350 { lab=#net1} +N -550 -330 -470 -330 { lab=#net27} +N -550 -310 -470 -310 { lab=#net28} +N -550 -290 -470 -290 { lab=#net29} +N -550 -270 -470 -270 { lab=#net30} +N -560 60 -500 60 { lab=#net1} +N -560 80 -470 80 { lab=#net31} +N -560 100 -470 100 { lab=#net32} +N -560 120 -470 120 { lab=#net33} +N -560 140 -470 140 { lab=#net34} +N -560 260 -500 260 { lab=#net1} +N -560 280 -470 280 { lab=#net35} +N -560 300 -470 300 { lab=#net36} +N -560 320 -470 320 { lab=#net37} +N -560 340 -470 340 { lab=#net38} +N -880 -420 -880 260 { lab=VPWR} +N 1350 -400 1390 -400 { lab=DIG16} +N 1390 -680 1390 -400 { lab=DIG16} +N 1370 -680 1390 -680 { lab=DIG16} +N 1350 -380 1400 -380 { lab=DIG15} +N 1400 -700 1400 -380 { lab=DIG15} +N 1370 -700 1400 -700 { lab=DIG15} +N 1350 -360 1410 -360 { lab=DIG14} +N 1410 -720 1410 -360 { lab=DIG14} +N 1370 -720 1410 -720 { lab=DIG14} +N 1350 -340 1420 -340 { lab=DIG13} +N 1420 -740 1420 -340 { lab=DIG13} +N 1370 -740 1420 -740 { lab=DIG13} +N -1170 -500 -1150 -500 { lab=DIG01} +N -1150 -500 -1150 -420 { lab=DIG01} +N -1170 -520 -1140 -520 { lab=DIG02} +N -1140 -520 -1140 -420 { lab=DIG02} +N -1170 -540 -1130 -540 { lab=DIG03} +N -1130 -540 -1130 -420 { lab=DIG03} +N -1170 -560 -1120 -560 { lab=DIG04} +N -1120 -560 -1120 -420 { lab=DIG04} +N -1170 -580 -1110 -580 { lab=DIG05} +N -1110 -580 -1110 -420 { lab=DIG05} +N -1170 -600 -1110 -600 { lab=DIG06} +N -1110 -600 -1100 -600 { lab=DIG06} +N -1100 -600 -1100 -420 { lab=DIG06} +N -1170 -620 -1090 -620 { lab=DIG07} +N -1090 -620 -1090 -420 { lab=DIG07} +N -1170 -640 -1080 -640 { lab=DIG08} +N -1080 -640 -1080 -420 { lab=DIG08} +N -1170 -660 -1070 -660 { lab=DIG09} +N -1070 -660 -1070 -420 { lab=DIG09} +N -1170 -680 -1060 -680 { lab=DIG10} +N -1060 -680 -1060 -420 { lab=DIG10} +N -1170 -700 -1050 -700 { lab=DIG11} +N -1050 -700 -1050 -420 { lab=DIG11} +N -1170 -720 -1040 -720 { lab=DIG12} +N -1040 -720 -1040 -420 { lab=DIG12} +N -1040 -330 -850 -330 { lab=DIG12} +N -1040 -420 -1040 -330 { lab=DIG12} +N -1050 -310 -850 -310 { lab=DIG11} +N -1050 -420 -1050 -310 { lab=DIG11} +N -1060 -290 -850 -290 { lab=DIG10} +N -1060 -420 -1060 -290 { lab=DIG10} +N -1070 -270 -850 -270 { lab=DIG09} +N -1070 -420 -1070 -270 { lab=DIG09} +N -1080 -420 -1080 20 { lab=DIG08} +N -1090 -420 -1090 20 { lab=DIG07} +N -1100 -420 -1100 20 { lab=DIG06} +N -1110 -420 -1110 20 { lab=DIG05} +N -1120 -420 -1120 20 { lab=DIG04} +N -1130 -420 -1130 20 { lab=DIG03} +N -1140 -420 -1140 20 { lab=DIG02} +N -1150 -420 -1150 20 { lab=DIG01} +N -1070 80 -860 80 { lab=DIG08} +N -1070 100 -860 100 { lab=DIG07} +N -1070 120 -860 120 { lab=DIG06} +N -1070 140 -860 140 { lab=DIG05} +N -880 60 -860 60 { lab=VPWR} +N -880 260 -860 260 { lab=VPWR} +N -1060 280 -860 280 { lab=DIG04} +N -1060 300 -860 300 { lab=DIG03} +N -1060 320 -860 320 { lab=DIG02} +N -1060 340 -860 340 { lab=DIG01} +N -1150 20 -1150 270 { lab=DIG01} +N -1140 20 -1140 260 { lab=DIG02} +N -1130 20 -1130 270 { lab=DIG03} +N -1120 20 -1120 270 { lab=DIG04} +N -1080 20 -1080 80 { lab=DIG08} +N -1080 80 -1070 80 { lab=DIG08} +N -1090 20 -1090 100 { lab=DIG07} +N -1090 100 -1070 100 { lab=DIG07} +N -1100 20 -1100 120 { lab=DIG06} +N -1100 120 -1070 120 { lab=DIG06} +N -1110 20 -1110 140 { lab=DIG05} +N -1110 140 -1070 140 { lab=DIG05} +N -1120 280 -1060 280 { lab=DIG04} +N -1120 270 -1120 280 { lab=DIG04} +N -1130 300 -1060 300 { lab=DIG03} +N -1140 320 -1060 320 { lab=DIG02} +N -1150 340 -1060 340 { lab=DIG01} +N -1130 270 -1130 300 { lab=DIG03} +N -1140 260 -1140 320 { lab=DIG02} +N -1150 270 -1150 340 { lab=DIG01} +N 1500 100 1500 560 { lab=VPWR} +N 1500 -860 1500 90 { lab=VPWR} +N -880 -860 1070 -860 { lab=VPWR} +N -880 -860 -880 -420 { lab=VPWR} +N -880 -350 -850 -350 { lab=VPWR} +N 90 -860 90 -740 { lab=VPWR} +N 410 -660 410 -640 { lab=#net16} +N 390 -660 410 -660 { lab=#net16} +N 430 -680 430 -610 { lab=#net15} +N 390 -680 430 -680 { lab=#net15} +N -500 -610 -500 -350 { lab=#net1} +N -140 -810 460 -810 { lab=#net1} +N 460 -810 460 -740 { lab=#net1} +N 390 -740 460 -740 { lab=#net1} +N 390 -720 850 -720 { lab=#net11} +N 390 -700 790 -700 { lab=#net12} +N 920 -730 920 -620 { lab=#net11} +N 850 -720 920 -720 { lab=#net11} +N 880 -700 880 -620 { lab=#net12} +N 790 -700 880 -700 { lab=#net12} +N 1000 330 1160 330 { lab=DIG21} +N 1000 350 1160 350 { lab=DIG22} +N 1000 370 1160 370 { lab=DIG23} +N 1000 390 1160 390 { lab=DIG24} +N 1260 760 1280 760 { lab=DIG27} +N 1260 780 1280 780 { lab=DIG26} +N 1260 720 1280 720 { lab=DIG25} +N 1260 740 1280 740 { lab=DIG28} +N 1260 700 1280 700 { lab=DIG29} +N -10 -660 80 -660 { lab=DIG17} +N -10 -680 80 -680 { lab=DIG18} +N -10 -700 80 -700 { lab=DIG19} +N -10 -720 80 -720 { lab=DIG20} +N 80 -720 90 -720 { lab=DIG20} +N 70 -700 90 -700 { lab=DIG19} +N 80 -680 90 -680 { lab=DIG18} +N 80 -660 90 -660 { lab=DIG17} +N -500 -810 -140 -810 { lab=#net1} +N -500 -810 -500 -610 { lab=#net1} +N -130 -330 300 -330 { lab=#net17} +N -110 -310 320 -310 { lab=#net18} +N -130 -290 300 -290 { lab=#net14} +N -130 -270 300 -270 { lab=#net13} +N -130 20 300 20 { lab=#net3} +N -120 100 310 100 { lab=#net6} +N -130 110 300 110 { lab=#net5} +N -130 140 300 140 { lab=#net4} +N 1080 -860 1500 -860 { lab=VPWR} +N 1070 -860 1080 -860 { lab=VPWR} +N 370 460 370 480 { lab=VPWR} +N 370 390 370 410 { lab=VPWR} +N 370 320 370 340 { lab=VPWR} +N 370 250 370 270 { lab=VPWR} +N 370 230 440 230 { lab=#net25} +N 450 250 460 250 { lab=#net7} +N 450 180 450 250 { lab=#net7} +N -130 180 450 180 { lab=#net7} +N -130 180 -130 230 { lab=#net7} +N -130 230 -130 250 { lab=#net7} +N 390 270 440 270 { lab=#net24} +N 370 300 390 300 { lab=#net24} +N 440 290 460 290 { lab=#net10} +N 440 190 450 290 { lab=#net10} +N -120 190 440 190 { lab=#net10} +N -120 190 -120 290 { lab=#net10} +N 440 330 460 330 { lab=#net9} +N 430 200 440 330 { lab=#net9} +N -100 200 430 200 { lab=#net9} +N -100 200 -100 320 { lab=#net9} +N -120 320 -100 320 { lab=#net9} +N -130 320 -120 320 { lab=#net9} +N 420 310 460 310 { lab=#net39} +N 380 250 380 510 { lab=VPWR} +N 370 250 380 250 { lab=VPWR} +N 370 320 380 320 { lab=VPWR} +N 370 390 380 390 { lab=VPWR} +N 370 460 380 460 { lab=VPWR} +N 430 370 460 370 { lab=#net8} +N 420 210 430 370 { lab=#net8} +N -80 210 420 210 { lab=#net8} +N -80 210 -80 340 { lab=#net8} +N -130 340 -80 340 { lab=#net8} +N 390 270 390 300 { lab=#net24} +N 370 370 400 370 { lab=#net39} +N 400 310 400 370 { lab=#net39} +N 400 310 420 310 { lab=#net39} +N 410 350 440 350 { lab=#net26} +N 410 350 410 420 { lab=#net26} +N 370 440 410 440 { lab=#net26} +N 410 420 410 440 { lab=#net26} +N -40 670 -20 670 { lab=GATEANDCAP1} +N -20 660 -20 690 { lab=GATEANDCAP1} +N -80 690 -20 690 { lab=GATEANDCAP1} +N -40 650 -30 650 { lab=CAP2} +N -30 230 -30 640 { lab=CAP2} +N -30 230 70 230 { lab=CAP2} +N -20 300 -20 660 { lab=GATEANDCAP1} +N -20 300 70 300 { lab=GATEANDCAP1} +N -30 650 320 650 { lab=CAP2} +N -20 670 320 670 { lab=GATEANDCAP1} +N -10 370 70 370 { lab=GENERALGATE02} +N -10 370 -10 680 { lab=GENERALGATE02} +N -10 690 370 690 { lab=GENERALGATE02} +N -0 440 70 440 { lab=GENERALGATE01} +N -0 440 0 720 { lab=GENERALGATE01} +N 0 720 370 720 { lab=GENERALGATE01} +N 780 -860 780 -620 { lab=VPWR} +N -880 260 -880 490 { lab=VPWR} +N -880 490 -880 500 { lab=VPWR} +N -880 500 380 500 { lab=VPWR} +N 370 690 430 690 { lab=GENERALGATE02} +N 430 680 430 700 { lab=GENERALGATE02} +N 430 710 740 710 { lab=GENERALGATE02} +N 370 720 710 720 { lab=GENERALGATE01} +N 800 720 800 740 { lab=VTUN} +N 780 740 800 740 { lab=VTUN} +N 740 710 760 710 { lab=GENERALGATE02} +N 710 720 780 720 { lab=GENERALGATE01} +N 780 680 780 720 { lab=GENERALGATE01} +N 1500 90 1500 100 { lab=VPWR} +N -1780 -60 -1780 -30 { lab=VGND} +N -710 370 -710 400 { lab=VGND} +N -710 170 -710 200 { lab=VGND} +N -700 -240 -700 -210 { lab=VGND} +N 240 -630 240 -600 { lab=VGND} +N 430 -360 460 -360 { lab=VGND} +N 430 -70 460 -70 { lab=VGND} +N 760 570 760 590 { lab=VINJ} +N 440 460 440 590 { lab=VREFCHAR} +N 760 610 830 610 { lab=CHAROUTPUT} +N 760 630 830 630 { lab=GATENFET1} +N 780 670 780 680 { lab=GENERALGATE01} +N 980 670 980 680 { lab=GENERALGATE01} +N 430 700 430 710 { lab=GENERALGATE02} +N 760 690 840 690 { lab=VGND} +N -10 680 -10 690 { lab=GENERALGATE02} +N -30 640 -30 650 { lab=CAP2} +N 430 630 460 630 { lab=CAP2} +N 430 630 430 650 { lab=CAP2} +N 1350 -260 1380 -260 { lab=VGND} +N -320 -240 -320 -210 { lab=VGND} +N -320 370 -320 380 { lab=VGND} +N -710 380 -320 380 { lab=VGND} +N -710 170 -320 170 { lab=VGND} +N 760 470 780 470 { lab=#net2} +N 440 450 440 460 { lab=VREFCHAR} +N 570 430 590 430 { lab=VGND} +N 570 430 570 440 { lab=VGND} +N 560 440 570 440 { lab=VGND} +N 440 470 460 470 { lab=VREFCHAR} +N 760 510 770 510 { lab=VGND} +N 760 160 1000 180 { lab=COLUMN1} +N 780 460 780 470 { lab=#net2} +N 760 120 1000 110 { lab=COLUMN2} +N 760 100 900 100 { lab=GATE2} +N 590 430 640 430 { lab=VGND} +N -130 20 -130 30 { lab=#net3} +N 310 60 310 70 { lab=#net6} +N 460 100 460 110 { lab=#net5} +N 760 180 780 180 { lab=VGND} +N 760 490 760 510 { lab=VGND} +N -1480 250 -1460 250 { lab=VGND} +N -1460 340 -1460 380 { lab=VGND} +N -1480 340 -1460 340 { lab=VGND} +C {sky130_hilas_swc4x2cell.sym} 610 100 0 0 {name=x1} +C {sky130_hilas_drainSelect01.sym} -320 100 0 0 {name=x2} +C {sky130_hilas_WTA4Stage01.sym} 610 320 0 0 {name=x3} +C {sky130_hilas_TA2Cell_1FG_Strong.sym} 610 -470 0 0 {name=x4} +C {sky130_hilas_TA2Cell_1FG.sym} 610 -170 0 0 {name=x6} +C {sky130_hilas_Tgate4Single01.sym} 1200 -320 0 1 {name=x7} +C {sky130_hilas_Trans2med.sym} -1630 160 0 0 {name=x8} +C {sky130_hilas_Trans4small.sym} -1630 -160 0 0 {name=x9} +C {sky130_hilas_nFETLarge.sym} -1630 340 0 0 {name=x10} +C {sky130_hilas_pFETLarge.sym} -1630 460 0 0 {name=x11} +C {sky130_hilas_FGcharacterization01.sym} 610 630 0 0 {name=x12} +C {sky130_hilas_DAC5bit01.sym} 1430 740 0 0 {name=x14} +C {sky130_hilas_drainSelect01.sym} -320 300 0 0 {name=x16} +C {sky130_hilas_nFETLarge.sym} 610 490 0 0 {name=x17} +C {sky130_hilas_drainSelect01.sym} -320 -310 0 0 {name=x18} +C {devices/iopin.sym} 780 740 0 1 {name=Vtun lab=VTUN} +C {devices/iopin.sym} 780 760 0 1 {name=Vinj lab=VINJ} +C {devices/iopin.sym} 830 630 0 0 {name=GateNFET1 lab=GATENFET1} +C {devices/iopin.sym} 830 610 0 0 {name=CharOutput lab=CHAROUTPUT} +C {devices/iopin.sym} 430 570 0 1 {name=DrainInject lab=DRAININJECT} +C {devices/iopin.sym} 430 590 0 1 {name=VrefChar lab=VREFCHAR} +C {devices/iopin.sym} 320 610 0 1 {name=LargeCapacitor lab=LARGECAPACITOR} +C {devices/iopin.sym} -40 650 0 1 {name=Cap2 lab=CAP2} +C {devices/iopin.sym} -40 670 0 1 {name=GateAndCap1 lab=GATEANDCAP1} +C {devices/iopin.sym} 1010 670 0 0 {name=GeneralGate01 lab=GENERALGATE01} +C {devices/iopin.sym} 1010 710 0 0 {name=GeneralGate02 lab=GENERALGATE02} +C {devices/iopin.sym} 1130 -440 0 0 {name=OutputTA1 lab=OUTPUTTA1} +C {devices/iopin.sym} 1020 580 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 1020 540 0 0 {name=Gate1 lab=GATE1} +C {devices/iopin.sym} 1020 500 0 0 {name=Gate2 lab=GATE2} +C {devices/iopin.sym} -1320 -280 0 0 {name=Drain1p lab=DRAIN1P} +C {devices/iopin.sym} -1320 -260 0 0 {name=Drain1n lab=DRAIN1N} +C {devices/iopin.sym} -1320 -180 0 0 {name=Drain2p lab=DRAIN2P} +C {devices/iopin.sym} -1320 -160 0 0 {name=Drain2n lab=DRAIN2N} +C {devices/iopin.sym} -1320 -100 0 0 {name=Drain3p lab=DRAIN3P} +C {devices/iopin.sym} -1320 -80 0 0 {name=Drain3n lab=DRAIN3N} +C {devices/iopin.sym} -1320 70 0 0 {name=Drain4p lab=DRAIN4P} +C {devices/iopin.sym} -1320 90 0 0 {name=Drain4n lab=DRAIN4N} +C {devices/iopin.sym} -1320 170 0 0 {name=Drain5p lab=DRAIN5P} +C {devices/iopin.sym} -1320 190 0 0 {name=Drain5n lab=DRAIN5N} +C {devices/iopin.sym} -1320 440 0 0 {name=Drain6p lab=DRAIN6P} +C {devices/iopin.sym} -1320 320 0 0 {name=Drain16n lab=DRAIN6N} +C {devices/iopin.sym} -1360 -330 0 0 {name=SourceN lab=SOURCEN} +C {devices/iopin.sym} -1400 -360 0 0 {name=SourceP lab=SOURCEP} +C {devices/iopin.sym} -1440 -400 0 0 {name=Well lab=VPWR} +C {devices/iopin.sym} -150 -610 0 0 {name=DrainOut lab=DRAINOUT} +C {devices/iopin.sym} 440 80 0 1 {name=RowTerm2 lab=ROWTERM2} +C {devices/iopin.sym} 1000 180 0 0 {name=Column1 lab=COLUMN1} +C {devices/iopin.sym} 1000 110 0 0 {name=Column2 lab=COLUMN2} +C {devices/iopin.sym} 1600 720 0 0 {name=DacOutput lab=DACOUTPUT} +C {sky130_hilas_LevelShift4InputUp.sym} -700 -310 0 0 {name=x5} +C {sky130_hilas_LevelShift4InputUp.sym} -710 100 0 0 {name=x13} +C {sky130_hilas_LevelShift4InputUp.sym} -710 300 0 0 {name=x15} +C {devices/iopin.sym} -1170 -500 0 1 {name=Dig01 lab=DIG01} +C {devices/iopin.sym} -1170 -520 0 1 {name=Dig02 lab=DIG02} +C {devices/iopin.sym} -1170 -540 0 1 {name=Dig03 lab=DIG03} +C {devices/iopin.sym} -1170 -560 0 1 {name=Dig04 lab=DIG04} +C {devices/iopin.sym} -1170 -580 0 1 {name=Dig05 lab=DIG05} +C {devices/iopin.sym} -1170 -600 0 1 {name=Dig06 lab=DIG06} +C {devices/iopin.sym} -1170 -620 0 1 {name=Dig07 lab=DIG07} +C {devices/iopin.sym} -1170 -640 0 1 {name=Dig08 lab=DIG08} +C {devices/iopin.sym} -1170 -660 0 1 {name=Dig09 lab=DIG09} +C {devices/iopin.sym} -1170 -680 0 1 {name=Dig10 lab=DIG10} +C {devices/iopin.sym} -1170 -700 0 1 {name=Dig11 lab=DIG11} +C {devices/iopin.sym} -1170 -720 0 1 {name=Dig12 lab=DIG12} +C {devices/iopin.sym} 1370 -680 0 1 {name=Dig16 lab=DIG16} +C {devices/iopin.sym} 1370 -700 0 1 {name=Dig15 lab=DIG15} +C {devices/iopin.sym} 1370 -720 0 1 {name=Dig14 lab=DIG14} +C {devices/iopin.sym} 1370 -740 0 1 {name=Dig13 lab=DIG13} +C {sky130_hilas_LevelShift4InputUp.sym} 240 -700 0 0 {name=x19} +C {devices/iopin.sym} 1160 330 0 0 {name=Dig21 lab=DIG21} +C {devices/iopin.sym} 1160 350 0 0 {name=Dig22 lab=DIG22} +C {devices/iopin.sym} 1160 370 0 0 {name=Dig23 lab=DIG23} +C {devices/iopin.sym} 1160 390 0 0 {name=Dig24 lab=DIG24} +C {sky130_hilas_pFETLarge.sym} 220 460 0 0 {name=x20} +C {devices/iopin.sym} 1260 720 0 1 {name=Dig25 lab=DIG25} +C {devices/iopin.sym} 1260 780 0 1 {name=Dig26 lab=DIG26} +C {devices/iopin.sym} 1260 760 0 1 {name=Dig27 lab=DIG27} +C {devices/iopin.sym} 1260 740 0 1 {name=Dig28 lab=DIG28} +C {devices/iopin.sym} 1260 700 0 1 {name=Dig29 lab=DIG29} +C {devices/iopin.sym} -10 -660 0 1 {name=Dig17 lab=DIG17} +C {devices/iopin.sym} -10 -680 0 1 {name=Dig18 lab=DIG18} +C {devices/iopin.sym} -10 -700 0 1 {name=Dig19 lab=DIG19} +C {devices/iopin.sym} -10 -720 0 1 {name=Dig20 lab=DIG20} +C {sky130_hilas_pFETLarge.sym} 220 390 0 0 {name=x21} +C {sky130_hilas_pFETLarge.sym} 220 320 0 0 {name=x22} +C {sky130_hilas_pFETLarge.sym} 220 250 0 0 {name=x23} +C {devices/gnd.sym} -1780 -30 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} -700 -210 0 0 {name=l3 lab=VGND} +C {devices/gnd.sym} -710 200 0 0 {name=l4 lab=VGND} +C {devices/gnd.sym} -710 400 0 0 {name=l5 lab=VGND} +C {devices/gnd.sym} 240 -600 0 0 {name=l6 lab=VGND} +C {devices/gnd.sym} 430 -360 0 0 {name=l7 lab=VGND} +C {devices/gnd.sym} 430 -70 0 0 {name=l8 lab=VGND} +C {devices/gnd.sym} 590 430 0 0 {name=l9 lab=VGND} +C {devices/gnd.sym} 840 690 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} 1380 -260 0 0 {name=l12 lab=VGND} +C {devices/gnd.sym} -320 -210 0 0 {name=l13 lab=VGND} +C {devices/gnd.sym} 770 510 0 0 {name=l1 lab=VGND} +C {devices/iopin.sym} 640 430 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 780 180 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} -1460 250 0 0 {name=l14 lab=VGND} +C {devices/gnd.sym} -1460 380 0 0 {name=l15 lab=VGND}
diff --git a/xschem/sky130_hilas_TopLevelTestStructure.sym b/xschem/sky130_hilas_TopLevelTestStructure.sym new file mode 100644 index 0000000..c5456a8 --- /dev/null +++ b/xschem/sky130_hilas_TopLevelTestStructure.sym
@@ -0,0 +1,214 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +template="name=x1" +} +V {} +S {} +E {} +L 4 230 220 810 220 {} +L 4 180 -60 760 -60 {} +L 4 180 220 230 220 {} +L 4 180 -60 180 220 {} +L 4 810 220 820 220 {} +L 4 820 -40 820 220 {} +L 4 760 -60 820 -60 {} +L 4 820 -60 820 -40 {} +L 7 240 220 240 240 {} +L 7 720 220 720 240 {} +L 7 760 220 760 240 {} +L 7 780 220 780 240 {} +L 7 800 220 800 240 {} +L 7 260 220 260 240 {} +L 7 740 220 740 240 {} +L 7 620 220 620 240 {} +L 7 600 220 600 240 {} +L 7 560 220 560 240 {} +L 7 280 220 280 240 {} +L 7 300 220 300 240 {} +L 7 320 220 320 240 {} +L 7 540 220 540 240 {} +L 7 590 -80 590 -60 {} +L 7 340 220 340 240 {} +L 7 360 220 360 240 {} +L 7 380 220 380 240 {} +L 7 400 220 400 240 {} +L 7 480 220 480 240 {} +L 7 580 220 580 240 {} +L 7 820 70 840 70 {} +L 7 820 170 840 170 {} +L 7 160 -50 180 -50 {} +L 7 160 -30 180 -30 {} +L 7 160 -10 180 -10 {} +L 7 160 10 180 10 {} +L 7 160 30 180 30 {} +L 7 160 50 180 50 {} +L 7 160 70 180 70 {} +L 7 160 90 180 90 {} +L 7 160 110 180 110 {} +L 7 390 -80 390 -60 {} +L 7 160 130 180 130 {} +L 7 530 -80 530 -60 {} +L 7 160 150 180 150 {} +L 7 550 -80 550 -60 {} +L 7 160 170 180 170 {} +L 7 160 190 180 190 {} +L 7 640 220 640 240 {} +L 7 660 220 660 240 {} +L 7 680 220 680 240 {} +L 7 700 220 700 240 {} +L 7 820 130 840 130 {} +L 7 160 210 180 210 {} +L 7 510 -80 510 -60 {} +L 7 490 -80 490 -60 {} +L 7 410 -80 410 -60 {} +L 7 820 150 840 150 {} +L 7 430 -80 430 -60 {} +L 7 570 -80 570 -60 {} +L 7 470 -80 470 -60 {} +L 7 820 -10 840 -10 {} +L 7 820 10 840 10 {} +L 7 820 30 840 30 {} +L 7 420 220 420 240 {} +L 7 820 50 840 50 {} +L 7 500 220 500 240 {} +L 7 820 110 840 110 {} +L 7 520 220 520 240 {} +L 7 450 -80 450 -60 {} +L 7 460 220 460 240 {} +L 7 820 -30 840 -30 {} +L 7 440 220 440 240 {} +L 7 820 90 840 90 {} +B 5 237.5 237.5 242.5 242.5 {name=DIG13 dir=inout } +B 5 797.5 237.5 802.5 242.5 {name=DIG20 dir=inout } +B 5 777.5 237.5 782.5 242.5 {name=DIG14 dir=inout } +B 5 757.5 237.5 762.5 242.5 {name=DIG12 dir=inout } +B 5 717.5 237.5 722.5 242.5 {name=DIG15 dir=inout } +B 5 737.5 237.5 742.5 242.5 {name=DIG19 dir=inout } +B 5 577.5 237.5 582.5 242.5 {name=DIG11 dir=inout } +B 5 617.5 237.5 622.5 242.5 {name=DIG18 dir=inout } +B 5 597.5 237.5 602.5 242.5 {name=DIG16 dir=inout } +B 5 537.5 237.5 542.5 242.5 {name=DIG10 dir=inout } +B 5 557.5 237.5 562.5 242.5 {name=DIG17 dir=inout } +B 5 277.5 237.5 282.5 242.5 {name=DIG09 dir=inout } +B 5 297.5 237.5 302.5 242.5 {name=DIG08 dir=inout } +B 5 317.5 237.5 322.5 242.5 {name=DIG07 dir=inout } +B 5 587.5 -82.5 592.5 -77.5 {name=DRAINOUT dir=inout } +B 5 337.5 237.5 342.5 242.5 {name=DIG06 dir=inout } +B 5 357.5 237.5 362.5 242.5 {name=DIG05 dir=inout } +B 5 377.5 237.5 382.5 242.5 {name=DIG04 dir=inout } +B 5 397.5 237.5 402.5 242.5 {name=DIG03 dir=inout } +B 5 477.5 237.5 482.5 242.5 {name=DIG02 dir=inout } +B 5 257.5 237.5 262.5 242.5 {name=DIG01 dir=inout } +B 5 837.5 67.5 842.5 72.5 {name=OUTPUTTA1 dir=inout } +B 5 837.5 167.5 842.5 172.5 {name=VPWR dir=inout } +B 5 157.5 -52.5 162.5 -47.5 {name=SOURCEP dir=inout } +B 5 157.5 -32.5 162.5 -27.5 {name=SOURCEN dir=inout } +B 5 157.5 -12.5 162.5 -7.5 {name=DRAIN1P dir=inout } +B 5 157.5 7.5 162.5 12.5 {name=DRAIN1N dir=inout } +B 5 157.5 27.5 162.5 32.5 {name=DRAIN2P dir=inout } +B 5 157.5 47.5 162.5 52.5 {name=DRAIN2N dir=inout } +B 5 157.5 67.5 162.5 72.5 {name=DRAIN3P dir=inout } +B 5 157.5 87.5 162.5 92.5 {name=DRAIN3N dir=inout } +B 5 157.5 107.5 162.5 112.5 {name=DRAIN4P dir=inout } +B 5 387.5 -82.5 392.5 -77.5 {name=ROWTERM2 dir=inout } +B 5 157.5 127.5 162.5 132.5 {name=DRAIN4N dir=inout } +B 5 547.5 -82.5 552.5 -77.5 {name=COLUMN2 dir=inout } +B 5 157.5 147.5 162.5 152.5 {name=DRAIN5P dir=inout } +B 5 527.5 -82.5 532.5 -77.5 {name=COLUMN1 dir=inout } +B 5 157.5 167.5 162.5 172.5 {name=DRAIN5N dir=inout } +B 5 157.5 187.5 162.5 192.5 {name=DRAIN6N dir=inout } +B 5 637.5 237.5 642.5 242.5 {name=DIG21 dir=inout } +B 5 657.5 237.5 662.5 242.5 {name=DIG22 dir=inout } +B 5 677.5 237.5 682.5 242.5 {name=DIG23 dir=inout } +B 5 697.5 237.5 702.5 242.5 {name=DIG24 dir=inout } +B 5 837.5 127.5 842.5 132.5 {name=VGND dir=inout } +B 5 157.5 207.5 162.5 212.5 {name=DRAIN6P dir=inout } +B 5 507.5 -82.5 512.5 -77.5 {name=GATE2 dir=inout } +B 5 487.5 -82.5 492.5 -77.5 {name=GATE1 dir=inout } +B 5 467.5 -82.5 472.5 -77.5 {name=DRAININJECT dir=inout } +B 5 837.5 147.5 842.5 152.5 {name=VPWR dir=inout } +B 5 427.5 -82.5 432.5 -77.5 {name=VREFCHAR dir=inout } +B 5 567.5 -82.5 572.5 -77.5 {name=LARGECAPACITOR dir=inout } +B 5 407.5 -82.5 412.5 -77.5 {name=CHAROUTPUT dir=inout } +B 5 837.5 -12.5 842.5 -7.5 {name=CAP2 dir=inout } +B 5 837.5 7.5 842.5 12.5 {name=GENERALGATE01 dir=inout } +B 5 837.5 27.5 842.5 32.5 {name=GATEANDCAP1 dir=inout } +B 5 417.5 237.5 422.5 242.5 {name=DIG29 dir=inout } +B 5 837.5 47.5 842.5 52.5 {name=GENERALGATE02 dir=inout } +B 5 497.5 237.5 502.5 242.5 {name=DIG25 dir=inout } +B 5 837.5 107.5 842.5 112.5 {name=DACOUTPUT dir=inout } +B 5 517.5 237.5 522.5 242.5 {name=DIG28 dir=inout } +B 5 447.5 -82.5 452.5 -77.5 {name=VTUN dir=inout } +B 5 457.5 237.5 462.5 242.5 {name=DIG27 dir=inout } +B 5 837.5 -32.5 842.5 -27.5 {name=VINJ dir=inout } +B 5 437.5 237.5 442.5 242.5 {name=DIG26 dir=inout } +B 5 837.5 87.5 842.5 92.5 {name=GATENFET1 dir=inout } +T {TopLevelTestStructure} 409 54 0 0 0.3 0.3 {} +T {@name} 825 -72 0 0 0.2 0.2 {} +T {DIG13} 485 216 1 1 0.2 0.2 {} +T {DIG20} 625 216 1 1 0.2 0.2 {} +T {DIG14} 505 216 1 1 0.2 0.2 {} +T {DIG12} 465 216 1 1 0.2 0.2 {} +T {DIG15} 525 216 1 1 0.2 0.2 {} +T {DIG19} 605 216 1 1 0.2 0.2 {} +T {DIG11} 445 216 1 1 0.2 0.2 {} +T {DIG18} 585 216 1 1 0.2 0.2 {} +T {DIG16} 545 216 1 1 0.2 0.2 {} +T {DIG10} 425 216 1 1 0.2 0.2 {} +T {DIG17} 565 216 1 1 0.2 0.2 {} +T {DIG09} 405 216 1 1 0.2 0.2 {} +T {DIG08} 385 216 1 1 0.2 0.2 {} +T {DIG07} 365 216 1 1 0.2 0.2 {} +T {DRAINOUT} 595 -14 1 1 0.2 0.2 {} +T {DIG06} 345 216 1 1 0.2 0.2 {} +T {DIG05} 325 216 1 1 0.2 0.2 {} +T {DIG04} 305 216 1 1 0.2 0.2 {} +T {DIG03} 285 216 1 1 0.2 0.2 {} +T {DIG02} 265 216 1 1 0.2 0.2 {} +T {DIG01} 245 216 1 1 0.2 0.2 {} +T {OUTPUTTA1} 815 66 0 1 0.2 0.2 {} +T {VPWR} 815 166 0 1 0.2 0.2 {} +T {SOURCEP} 225 -54 0 1 0.2 0.2 {} +T {SOURCEN} 225 -34 0 1 0.2 0.2 {} +T {DRAIN1P} 225 -14 0 1 0.2 0.2 {} +T {DRAIN1N} 225 6 0 1 0.2 0.2 {} +T {DRAIN2P} 225 26 0 1 0.2 0.2 {} +T {DRAIN2N} 225 46 0 1 0.2 0.2 {} +T {DRAIN3P} 225 66 0 1 0.2 0.2 {} +T {DRAIN3N} 225 86 0 1 0.2 0.2 {} +T {DRAIN4P} 225 106 0 1 0.2 0.2 {} +T {ROWTERM2} 575 -4 1 1 0.2 0.2 {} +T {DRAIN4N} 225 126 0 1 0.2 0.2 {} +T {COLUMN2} 555 -14 1 1 0.2 0.2 {} +T {DRAIN5P} 225 146 0 1 0.2 0.2 {} +T {COLUMN1} 535 -14 1 1 0.2 0.2 {} +T {DRAIN5N} 225 166 0 1 0.2 0.2 {} +T {DRAIN6N} 225 186 0 1 0.2 0.2 {} +T {DIG21} 645 216 1 1 0.2 0.2 {} +T {DIG22} 665 216 1 1 0.2 0.2 {} +T {DIG23} 685 216 1 1 0.2 0.2 {} +T {DIG24} 705 216 1 1 0.2 0.2 {} +T {VGND} 815 126 0 1 0.2 0.2 {} +T {DRAIN6P} 225 206 0 1 0.2 0.2 {} +T {GATE2} 515 -24 1 1 0.2 0.2 {} +T {GATE1} 495 -24 1 1 0.2 0.2 {} +T {DRAININJECT} 475 -4 1 1 0.2 0.2 {} +T {VPWR} 815 146 0 1 0.2 0.2 {} +T {VREFCHAR} 435 -14 1 1 0.2 0.2 {} +T {LARGECAPACITOR} 395 26 1 1 0.2 0.2 {} +T {CHAROUTPUT} 415 6 1 1 0.2 0.2 {} +T {CAP2} 815 -14 0 1 0.2 0.2 {} +T {GENERALGATE01} 815 6 0 1 0.2 0.2 {} +T {GATEANDCAP1} 815 26 0 1 0.2 0.2 {} +T {DIG29} 805 216 1 1 0.2 0.2 {} +T {GENERALGATE02} 815 46 0 1 0.2 0.2 {} +T {DIG25} 725 216 1 1 0.2 0.2 {} +T {DACOUTPUT} 815 106 0 1 0.2 0.2 {} +T {DIG28} 785 216 1 1 0.2 0.2 {} +T {VTUN} 455 -34 1 1 0.2 0.2 {} +T {DIG27} 765 216 1 1 0.2 0.2 {} +T {VINJ} 815 -34 0 1 0.2 0.2 {} +T {DIG26} 745 216 1 1 0.2 0.2 {} +T {GATENFET1} 815 86 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_TopProtection.sch b/xschem/sky130_hilas_TopProtection.sch new file mode 100644 index 0000000..415439a --- /dev/null +++ b/xschem/sky130_hilas_TopProtection.sch
@@ -0,0 +1,92 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1980 -1340 2010 -1340 { lab=ANALOG00} +N 1980 -1260 2010 -1260 { lab=ANALOG01} +N 1910 -760 1950 -760 { lab=ANALOG07} +N 1980 -1180 2010 -1180 { lab=ANALOG02} +N 1980 -1100 2010 -1100 { lab=ANALOG03} +N 1980 -1020 2010 -1020 { lab=ANALOG04} +N 1980 -930 2010 -930 { lab=ANALOG05} +N 1980 -850 2010 -850 { lab=ANALOG06} +N 1980 -560 2010 -560 { lab=ANALOG10} +N 1980 -720 2010 -720 { lab=ANALOG08} +N 1980 -640 2010 -640 { lab=ANALOG09} +N 2250 -770 2270 -770 { lab=VTUN} +N 2250 -1320 2270 -1320 { lab=PIN1} +N 2260 -1240 2270 -1240 { lab=PIN2} +N 2250 -1240 2260 -1240 { lab=PIN2} +N 2250 -700 2270 -700 { lab=PIN8} +N 2250 -620 2270 -620 { lab=PIN9} +N 2250 -540 2270 -540 { lab=PIN10} +N 2250 -830 2270 -830 { lab=PIN7} +N 2250 -910 2270 -910 { lab=PIN6} +N 2250 -1000 2270 -1000 { lab=PIN5} +N 2250 -1080 2270 -1080 { lab=PIN4} +N 2250 -1160 2270 -1160 { lab=PIN3} +N 2250 -510 2360 -510 { lab=VGND} +N 2360 -510 2360 -480 { lab=VGND} +N 2360 -1290 2360 -480 { lab=VGND} +N 2250 -1290 2360 -1290 { lab=VGND} +N 2250 -1210 2360 -1210 { lab=VGND} +N 2250 -1130 2360 -1130 { lab=VGND} +N 2250 -1050 2360 -1050 { lab=VGND} +N 2250 -970 2360 -970 { lab=VGND} +N 2250 -880 2360 -880 { lab=VGND} +N 2250 -800 2360 -800 { lab=VGND} +N 2250 -750 2360 -750 { lab=VGND} +N 2250 -670 2360 -670 { lab=VGND} +N 2250 -590 2360 -590 { lab=VGND} +N 2420 -1380 2420 -570 { lab=VINJ} +N 2420 -570 2420 -560 { lab=VINJ} +N 2250 -560 2420 -560 { lab=VINJ} +N 2250 -1340 2420 -1340 { lab=VINJ} +N 2250 -1260 2420 -1260 { lab=VINJ} +N 2250 -1180 2420 -1180 { lab=VINJ} +N 2250 -1100 2420 -1100 { lab=VINJ} +N 2250 -1020 2420 -1020 { lab=VINJ} +N 2250 -930 2420 -930 { lab=VINJ} +N 2250 -850 2420 -850 { lab=VINJ} +N 2250 -720 2420 -720 { lab=VINJ} +N 2250 -640 2420 -640 { lab=VINJ} +N 2360 -480 2410 -480 { lab=VGND} +N 2360 -480 2360 -450 { lab=VGND} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1330 0 0 {name=x1} +C {sky130_hilas_polyresistorGND.sym} 2100 -770 0 0 {name=x2} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1250 0 0 {name=x3} +C {devices/iopin.sym} 2270 -1320 0 0 {name=PIN1 lab=PIN1} +C {devices/iopin.sym} 1980 -1340 0 1 {name=ANALOG00 lab=ANALOG00} +C {devices/iopin.sym} 1980 -1260 0 1 {name=ANALOG01 lab=ANALOG01} +C {devices/iopin.sym} 2270 -770 0 0 {name=VTUN lab=VTUN} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1170 0 0 {name=x4} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1090 0 0 {name=x5} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -840 0 0 {name=x6} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -550 0 0 {name=x7} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -710 0 0 {name=x8} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -630 0 0 {name=x9} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -1010 0 0 {name=x10} +C {sky130_hilas_VinjDiodeProtect01.sym} 2160 -920 0 0 {name=x11} +C {devices/iopin.sym} 1980 -1180 0 1 {name=ANALOG02 lab=ANALOG02} +C {devices/iopin.sym} 1980 -1100 0 1 {name=ANALOG03 lab=ANALOG03} +C {devices/iopin.sym} 1980 -1020 0 1 {name=ANALOG04 lab=ANALOG04} +C {devices/iopin.sym} 1980 -930 0 1 {name=ANALOG05 lab=ANALOG05} +C {devices/iopin.sym} 1980 -850 0 1 {name=ANALOG06 lab=ANALOG06} +C {devices/iopin.sym} 1910 -760 0 1 {name=ANALOG07 lab=ANALOG07} +C {devices/iopin.sym} 1980 -720 0 1 {name=ANALOG08 lab=ANALOG08} +C {devices/iopin.sym} 1980 -640 0 1 {name=ANALOG09 lab=ANALOG09} +C {devices/iopin.sym} 1980 -560 0 1 {name=ANALOG10 lab=ANALOG10} +C {devices/iopin.sym} 2270 -1240 0 0 {name=PIN2 lab=PIN2} +C {devices/iopin.sym} 2270 -1160 0 0 {name=PIN3 lab=PIN3} +C {devices/iopin.sym} 2270 -1080 0 0 {name=PIN4 lab=PIN4} +C {devices/iopin.sym} 2270 -1000 0 0 {name=PIN5 lab=PIN5} +C {devices/iopin.sym} 2270 -910 0 0 {name=PIN6 lab=PIN6} +C {devices/iopin.sym} 2270 -830 0 0 {name=PIN7 lab=PIN7} +C {devices/iopin.sym} 2270 -700 0 0 {name=PIN8 lab=PIN8} +C {devices/iopin.sym} 2270 -620 0 0 {name=PIN9 lab=PIN9} +C {devices/iopin.sym} 2270 -540 0 0 {name=PIN10 lab=PIN10} +C {devices/iopin.sym} 2420 -1380 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 2410 -480 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 2360 -450 0 0 {name=l1 lab=VGND}
diff --git a/xschem/sky130_hilas_TopProtection.sym b/xschem/sky130_hilas_TopProtection.sym new file mode 100644 index 0000000..2960421 --- /dev/null +++ b/xschem/sky130_hilas_TopProtection.sym
@@ -0,0 +1,88 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -240 -130 40 {} +L 4 30 -240 30 40 {} +L 4 -130 40 30 40 {} +L 4 -130 -240 30 -240 {} +L 7 30 -230 50 -230 {} +L 7 -150 -210 -130 -210 {} +L 7 30 -210 50 -210 {} +L 7 -150 -190 -130 -190 {} +L 7 30 -190 50 -190 {} +L 7 -150 -170 -130 -170 {} +L 7 30 -170 50 -170 {} +L 7 -150 -150 -130 -150 {} +L 7 30 -150 50 -150 {} +L 7 -150 -130 -130 -130 {} +L 7 30 -50 50 -50 {} +L 7 -150 -110 -130 -110 {} +L 7 30 -110 50 -110 {} +L 7 -150 -90 -130 -90 {} +L 7 30 -90 50 -90 {} +L 7 30 -70 50 -70 {} +L 7 -150 -70 -130 -70 {} +L 7 -150 -50 -130 -50 {} +L 7 -150 -30 -130 -30 {} +L 7 -150 -10 -130 -10 {} +L 7 30 -30 50 -30 {} +L 7 30 -130 50 -130 {} +L 7 30 -10 50 -10 {} +L 7 30 10 50 10 {} +B 5 47.5 -232.5 52.5 -227.5 {name=VINJ dir=inout } +B 5 -152.5 -212.5 -147.5 -207.5 {name=ANALOG00 dir=inout } +B 5 47.5 -212.5 52.5 -207.5 {name=PIN1 dir=inout } +B 5 -152.5 -192.5 -147.5 -187.5 {name=ANALOG01 dir=inout } +B 5 47.5 -192.5 52.5 -187.5 {name=PIN2 dir=inout } +B 5 -152.5 -172.5 -147.5 -167.5 {name=ANALOG02 dir=inout } +B 5 47.5 -172.5 52.5 -167.5 {name=PIN3 dir=inout } +B 5 -152.5 -152.5 -147.5 -147.5 {name=ANALOG03 dir=inout } +B 5 47.5 -152.5 52.5 -147.5 {name=PIN4 dir=inout } +B 5 -152.5 -132.5 -147.5 -127.5 {name=ANALOG04 dir=inout } +B 5 47.5 -132.5 52.5 -127.5 {name=PIN5 dir=inout } +B 5 -152.5 -112.5 -147.5 -107.5 {name=ANALOG05 dir=inout } +B 5 47.5 -112.5 52.5 -107.5 {name=PIN6 dir=inout } +B 5 -152.5 -92.5 -147.5 -87.5 {name=ANALOG06 dir=inout } +B 5 47.5 -92.5 52.5 -87.5 {name=PIN7 dir=inout } +B 5 47.5 -72.5 52.5 -67.5 {name=VTUN dir=inout } +B 5 -152.5 -72.5 -147.5 -67.5 {name=ANALOG07 dir=inout } +B 5 -152.5 -52.5 -147.5 -47.5 {name=ANALOG08 dir=inout } +B 5 47.5 -52.5 52.5 -47.5 {name=PIN8 dir=inout } +B 5 -152.5 -32.5 -147.5 -27.5 {name=ANALOG09 dir=inout } +B 5 47.5 -32.5 52.5 -27.5 {name=PIN9 dir=inout } +B 5 -152.5 -12.5 -147.5 -7.5 {name=ANALOG10 dir=inout } +B 5 47.5 -12.5 52.5 -7.5 {name=PIN10 dir=inout } +B 5 47.5 7.5 52.5 12.5 {name=VGND dir=inout } +T {TopProtection} -115 14 0 0 0.3 0.3 {} +T {@name} 35 -252 0 0 0.2 0.2 {} +T {VINJ} 25 -234 0 1 0.2 0.2 {} +T {ANALOG00} -65 -214 0 1 0.2 0.2 {} +T {PIN1} 25 -214 0 1 0.2 0.2 {} +T {ANALOG01} -65 -194 0 1 0.2 0.2 {} +T {PIN2} 25 -194 0 1 0.2 0.2 {} +T {ANALOG02} -65 -174 0 1 0.2 0.2 {} +T {PIN3} 25 -174 0 1 0.2 0.2 {} +T {ANALOG03} -65 -154 0 1 0.2 0.2 {} +T {PIN4} 25 -154 0 1 0.2 0.2 {} +T {ANALOG04} -65 -134 0 1 0.2 0.2 {} +T {PIN5} 25 -134 0 1 0.2 0.2 {} +T {ANALOG05} -65 -114 0 1 0.2 0.2 {} +T {PIN6} 25 -114 0 1 0.2 0.2 {} +T {ANALOG06} -65 -94 0 1 0.2 0.2 {} +T {PIN7} 25 -94 0 1 0.2 0.2 {} +T {VTUN} 25 -74 0 1 0.2 0.2 {} +T {ANALOG07} -65 -74 0 1 0.2 0.2 {} +T {ANALOG08} -65 -54 0 1 0.2 0.2 {} +T {PIN8} 25 -54 0 1 0.2 0.2 {} +T {ANALOG09} -65 -34 0 1 0.2 0.2 {} +T {PIN9} 25 -34 0 1 0.2 0.2 {} +T {ANALOG10} -65 -14 0 1 0.2 0.2 {} +T {PIN10} 25 -14 0 1 0.2 0.2 {} +T {VGND} 25 6 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_Trans2med.sch b/xschem/sky130_hilas_Trans2med.sch new file mode 100644 index 0000000..64f8716 --- /dev/null +++ b/xschem/sky130_hilas_Trans2med.sch
@@ -0,0 +1,100 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1030 -1170 1110 -1170 { lab=DRAIN1N} +N 1030 -1140 1050 -1140 { lab=VGND} +N 1030 -1030 1050 -1030 { lab=VGND} +N 950 -1140 990 -1140 { lab=GATE1N} +N 960 -1030 990 -1030 { lab=GATE2N} +N 1380 -1150 1420 -1150 { lab=GATE1P} +N 1380 -1030 1420 -1030 { lab=GATE2P} +N 1460 -1150 1510 -1150 { lab=WELL} +N 1460 -1030 1490 -1030 { lab=WELL} +N 1490 -1150 1490 -910 { lab=WELL} +N 1030 -1060 1100 -1060 { lab=DRAIN2N} +N 1460 -1180 1540 -1180 { lab=DRAIN1P} +N 1460 -1060 1530 -1060 { lab=DRAIN2P} +N 1460 -1120 1540 -1120 { lab=SOURCE1P} +N 1460 -1000 1530 -1000 { lab=SOURCE2P} +N 1030 -1110 1110 -1110 { lab=SOURCE1N} +N 1030 -1000 1110 -1000 { lab=SOURCE2N} +N 1220 -1030 1220 -950 {} +N 1050 -1030 1220 -1030 {} +N 1050 -1140 1230 -1140 {} +N 1230 -1140 1230 -1030 {} +N 1220 -1030 1230 -1030 {} +C {devices/ipin.sym} 960 -1030 0 0 {name=GATE2N lab=GATE2N} +C {devices/iopin.sym} 1510 -1150 0 0 {name=WELL lab=WELL} +C {devices/iopin.sym} 1530 -1000 0 0 {name=SOURCE2P lab=SOURCE2P} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -1150 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1010 -1140 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1050 -1140 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 950 -1140 0 0 {name=GATE1N lab=GATE1N} +C {devices/iopin.sym} 1110 -1170 0 0 {name=DRAIN1N lab=DRAIN1N} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -1030 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1010 -1030 0 0 {name=M10 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1050 -1030 0 0 {name=l6 lab=VGND} +C {devices/iopin.sym} 1100 -1060 0 0 {name=DRAIN2N lab=DRAIN2N} +C {devices/ipin.sym} 1380 -1030 0 0 {name=GATE2P lab=GATE2P} +C {devices/iopin.sym} 1540 -1120 0 0 {name=SOURCE1P lab=SOURCE1P} +C {devices/ipin.sym} 1380 -1150 0 0 {name=GATE1P lab=GATE1P} +C {devices/iopin.sym} 1540 -1180 0 0 {name=DRAIN1P lab=DRAIN1P} +C {devices/iopin.sym} 1530 -1060 0 0 {name=DRAIN2P lab=DRAIN2P} +C {devices/iopin.sym} 1100 -1000 0 0 {name=SOURCE2N lab=SOURCE2N} +C {devices/iopin.sym} 1110 -1110 0 0 {name=SOURCE1N lab=SOURCE1N} +C {devices/iopin.sym} 1220 -950 0 0 {name=VGND lab=VGND}
diff --git a/xschem/sky130_hilas_Trans2med.sym b/xschem/sky130_hilas_Trans2med.sym new file mode 100644 index 0000000..3d17463 --- /dev/null +++ b/xschem/sky130_hilas_Trans2med.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -100 130 -100 {} +L 4 -130 100 130 100 {} +L 4 -130 -100 -130 100 {} +L 4 130 -100 130 100 {} +L 4 -150 -90 -130 -90 {} +L 4 -150 -70 -130 -70 {} +L 4 -150 -50 -130 -50 {} +L 4 -150 -30 -130 -30 {} +L 7 130 -90 150 -90 {} +L 7 130 -70 150 -70 {} +L 7 130 -50 150 -50 {} +L 7 130 -30 150 -30 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 30 150 30 {} +L 7 130 50 150 50 {} +L 7 130 70 150 70 {} +L 7 130 90 150 90 {} +B 5 147.5 -92.5 152.5 -87.5 {name=DRAIN1P dir=inout } +B 5 147.5 -72.5 152.5 -67.5 {name=DRAIN1N dir=inout } +B 5 147.5 -52.5 152.5 -47.5 {name=WELL dir=inout } +B 5 -152.5 -92.5 -147.5 -87.5 {name=GATE1P dir=in } +B 5 -152.5 -72.5 -147.5 -67.5 {name=GATE1N dir=in } +B 5 147.5 -32.5 152.5 -27.5 {name=SOURCE1P dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=SOURCE1N dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=DRAIN2N dir=inout } +B 5 147.5 27.5 152.5 32.5 {name=DRAIN2P dir=inout } +B 5 -152.5 -52.5 -147.5 -47.5 {name=GATE2P dir=in } +B 5 -152.5 -32.5 -147.5 -27.5 {name=GATE2N dir=in } +B 5 147.5 47.5 152.5 52.5 {name=SOURCE2N dir=inout } +B 5 147.5 67.5 152.5 72.5 {name=SOURCE2P dir=inout } +B 5 147.5 87.5 152.5 92.5 {name=VGND dir=inout } +T {Trans2med} -117 -6 0 0 0.3 0.3 {} +T {@name} 135 -112 0 0 0.2 0.2 {} +T {DRAIN1P} 125 -94 0 1 0.2 0.2 {} +T {DRAIN1N} 125 -74 0 1 0.2 0.2 {} +T {WELL} 125 -54 0 1 0.2 0.2 {} +T {GATE1P} -125 -94 0 0 0.2 0.2 {} +T {GATE1N} -125 -74 0 0 0.2 0.2 {} +T {SOURCE1P} 125 -34 0 1 0.2 0.2 {} +T {SOURCE1N} 125 -14 0 1 0.2 0.2 {} +T {DRAIN2N} 125 6 0 1 0.2 0.2 {} +T {DRAIN2P} 125 26 0 1 0.2 0.2 {} +T {GATE2P} -125 -54 0 0 0.2 0.2 {} +T {GATE2N} -125 -34 0 0 0.2 0.2 {} +T {SOURCE2N} 125 46 0 1 0.2 0.2 {} +T {SOURCE2P} 125 66 0 1 0.2 0.2 {} +T {VGND} 125 86 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_Trans4small.sch b/xschem/sky130_hilas_Trans4small.sch new file mode 100644 index 0000000..0bff38c --- /dev/null +++ b/xschem/sky130_hilas_Trans4small.sch
@@ -0,0 +1,140 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1030 -1170 1110 -1170 { lab=NFET_DRAIN1} +N 1030 -1140 1050 -1140 { lab=VGND} +N 1040 -900 1060 -900 { lab=VGND} +N 1030 -1030 1050 -1030 { lab=VGND} +N 950 -1140 990 -1140 { lab=NFET_GATE1} +N 960 -1030 990 -1030 { lab=NFET_GATE2} +N 970 -900 1000 -900 { lab=NFET_GATE3} +N 1380 -1150 1420 -1150 { lab=PFET_GATE1} +N 1380 -1030 1420 -1030 { lab=PFET_GATE2} +N 1390 -910 1420 -910 { lab=PFET_GATE3} +N 1460 -1150 1510 -1150 { lab=WELL} +N 1460 -1030 1490 -1030 { lab=WELL} +N 1460 -910 1490 -910 { lab=WELL} +N 1490 -1150 1490 -910 { lab=WELL} +N 1040 -930 1100 -930 { lab=NFET_DRAIN3} +N 1030 -1060 1100 -1060 { lab=NFET_DRAIN2} +N 1460 -1180 1540 -1180 { lab=PFET_DRAIN1} +N 1460 -940 1530 -940 { lab=PFET_DRAIN3} +N 1460 -1060 1530 -1060 { lab=PFET_DRAIN2} +N 1460 -1120 1540 -1120 { lab=PFET_SOURCE1} +N 1460 -1000 1530 -1000 { lab=PFET_SOURCE2} +N 1460 -880 1530 -880 { lab=PFET_SOURCE3} +N 1030 -1110 1110 -1110 { lab=NFET_SOURCE1} +N 1030 -1000 1110 -1000 { lab=NFET_SOURCE2} +N 1040 -870 1100 -870 { lab=NFET_SOURCE3} +N 1210 -1230 1360 -1230 { lab=VGND} +C {devices/ipin.sym} 960 -1030 0 0 {name=NFET_GATE2 lab=NFET_GATE2} +C {devices/iopin.sym} 1510 -1150 0 0 {name=WELL lab=WELL} +C {devices/iopin.sym} 1530 -1000 0 0 {name=PFET_SOURCE2 lab=PFET_SOURCE2} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -1150 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -910 0 0 {name=M2 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1010 -1140 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1020 -900 0 0 {name=M4 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1060 -900 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 1050 -1140 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 950 -1140 0 0 {name=NFET_GATE1 lab=NFET_GATE1} +C {devices/iopin.sym} 1110 -1170 0 0 {name=NFET_DRAIN1 lab=NFET_DRAIN1} +C {devices/iopin.sym} 1530 -880 0 0 {name=PFET_SOURCE3 lab=PFET_SOURCE3} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -1030 0 0 {name=M7 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {sky130_fd_pr/nfet_01v8.sym} 1010 -1030 0 0 {name=M10 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1050 -1030 0 0 {name=l6 lab=VGND} +C {devices/ipin.sym} 1390 -910 0 0 {name=PFET_GATE3 lab=PFET_GATE3} +C {devices/iopin.sym} 1100 -930 0 0 {name=NFET_DRAIN3 lab=NFET_DRAIN3} +C {devices/iopin.sym} 1100 -1060 0 0 {name=NFET_DRAIN2 lab=NFET_DRAIN2} +C {devices/ipin.sym} 1380 -1030 0 0 {name=PFET_GATE2 lab=PFET_GATE2} +C {devices/iopin.sym} 1540 -1120 0 0 {name=PFET_SOURCE1 lab=PFET_SOURCE1} +C {devices/ipin.sym} 1380 -1150 0 0 {name=PFET_GATE1 lab=PFET_GATE1} +C {devices/ipin.sym} 970 -900 0 0 {name=NFET_GATE3 lab=NFET_GATE3} +C {devices/iopin.sym} 1540 -1180 0 0 {name=PFET_DRAIN1 lab=PFET_DRAIN1} +C {devices/iopin.sym} 1530 -940 0 0 {name=PFET_DRAIN3 lab=PFET_DRAIN3} +C {devices/iopin.sym} 1530 -1060 0 0 {name=PFET_DRAIN2 lab=PFET_DRAIN2} +C {devices/iopin.sym} 1100 -1000 0 0 {name=NFET_SOURCE2 lab=NFET_SOURCE2} +C {devices/iopin.sym} 1100 -870 0 0 {name=NFET_SOURCE3 lab=NFET_SOURCE3} +C {devices/iopin.sym} 1110 -1110 0 0 {name=NFET_SOURCE1 lab=NFET_SOURCE1} +C {devices/iopin.sym} 1350 -1230 0 0 {name=p1 lab=VGND} +C {devices/lab_pin.sym} 1210 -1230 0 0 {name=l1 sig_type=std_logic lab=VGND}
diff --git a/xschem/sky130_hilas_Trans4small.sym b/xschem/sky130_hilas_Trans4small.sym new file mode 100644 index 0000000..0675f74 --- /dev/null +++ b/xschem/sky130_hilas_Trans4small.sym
@@ -0,0 +1,76 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -130 130 -130 {} +L 4 -130 130 130 130 {} +L 4 -130 -130 -130 130 {} +L 4 130 -130 130 130 {} +L 4 -150 -120 -130 -120 {} +L 4 -150 -100 -130 -100 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 100 -130 100 {} +L 7 130 -120 150 -120 {} +L 7 130 -100 150 -100 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +L 7 130 100 150 100 {} +L 7 130 120 150 120 {} +B 5 147.5 -122.5 152.5 -117.5 {name=PFET_DRAIN1 dir=inout } +B 5 147.5 -102.5 152.5 -97.5 {name=NFET_DRAIN1 dir=inout } +B 5 -152.5 -122.5 -147.5 -117.5 {name=PFET_GATE1 dir=in } +B 5 147.5 -82.5 152.5 -77.5 {name=WELL dir=inout } +B 5 -152.5 -102.5 -147.5 -97.5 {name=NFET_GATE1 dir=in } +B 5 147.5 -62.5 152.5 -57.5 {name=PFET_SOURCE1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=NFET_SOURCE1 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=PFET_DRAIN2 dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=NFET_DRAIN2 dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=NFET_GATE2 dir=in } +B 5 -152.5 -62.5 -147.5 -57.5 {name=PFET_GATE2 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=PFET_SOURCE2 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=NFET_SOURCE2 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=PFET_DRAIN3 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=NFET_DRAIN3 dir=inout } +B 5 -152.5 -42.5 -147.5 -37.5 {name=PFET_GATE3 dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=NFET_GATE3 dir=in } +B 5 147.5 97.5 152.5 102.5 {name=PFET_SOURCE3 dir=inout } +B 5 147.5 117.5 152.5 122.5 {name=NFET_SOURCE3 dir=inout } +B 5 -152.5 97.5 -147.5 102.5 {name=VGND dir=inout } +T {Trans4small} -47.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -142 0 0 0.2 0.2 {} +T {PFET_DRAIN1} 125 -124 0 1 0.2 0.2 {} +T {NFET_DRAIN1} 125 -104 0 1 0.2 0.2 {} +T {PFET_GATE1} -125 -124 0 0 0.2 0.2 {} +T {WELL} 125 -84 0 1 0.2 0.2 {} +T {NFET_GATE1} -125 -104 0 0 0.2 0.2 {} +T {PFET_SOURCE1} 125 -64 0 1 0.2 0.2 {} +T {NFET_SOURCE1} 125 -44 0 1 0.2 0.2 {} +T {PFET_DRAIN2} 125 -24 0 1 0.2 0.2 {} +T {NFET_DRAIN2} 125 -4 0 1 0.2 0.2 {} +T {NFET_GATE2} -125 -84 0 0 0.2 0.2 {} +T {PFET_GATE2} -125 -64 0 0 0.2 0.2 {} +T {PFET_SOURCE2} 125 16 0 1 0.2 0.2 {} +T {NFET_SOURCE2} 125 36 0 1 0.2 0.2 {} +T {PFET_DRAIN3} 125 56 0 1 0.2 0.2 {} +T {NFET_DRAIN3} 125 76 0 1 0.2 0.2 {} +T {PFET_GATE3} -125 -44 0 0 0.2 0.2 {} +T {NFET_GATE3} -125 -24 0 0 0.2 0.2 {} +T {PFET_SOURCE3} 125 96 0 1 0.2 0.2 {} +T {NFET_SOURCE3} 125 116 0 1 0.2 0.2 {} +T {VGND} -125 96 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_VinjDecode2to4.sch b/xschem/sky130_hilas_VinjDecode2to4.sch new file mode 100644 index 0000000..d5a3330 --- /dev/null +++ b/xschem/sky130_hilas_VinjDecode2to4.sch
@@ -0,0 +1,616 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 2280 -1270 2280 -1220 { lab=#net1} +N 2280 -1320 2300 -1320 { lab=VINJ} +N 2300 -1350 2300 -1320 { lab=VINJ} +N 2110 -1350 2300 -1350 { lab=VINJ} +N 2280 -1160 2280 -1150 { lab=VGND} +N 2280 -1190 2300 -1190 { lab=VGND} +N 2280 -1270 2330 -1270 { lab=#net1} +N 2220 -1260 2220 -1190 { lab=IN1} +N 2220 -1190 2240 -1190 { lab=IN1} +N 2200 -1260 2220 -1260 { lab=IN1} +N 2220 -1320 2240 -1320 { lab=IN1} +N 2520 -1270 2520 -1220 { lab=#net2} +N 2520 -1320 2540 -1320 { lab=VINJ} +N 2540 -1350 2540 -1320 { lab=VINJ} +N 2520 -1160 2520 -1150 { lab=VGND} +N 2520 -1190 2540 -1190 { lab=VGND} +N 2520 -1270 2570 -1270 { lab=#net2} +N 2460 -1260 2460 -1190 { lab=IN2} +N 2460 -1190 2480 -1190 { lab=IN2} +N 2440 -1260 2460 -1260 { lab=IN2} +N 2460 -1320 2480 -1320 { lab=IN2} +N 2760 -1270 2760 -1220 { lab=#net3} +N 2760 -1320 2780 -1320 { lab=VINJ} +N 2780 -1350 2780 -1320 { lab=VINJ} +N 2760 -1160 2760 -1150 { lab=VGND} +N 2760 -1190 2780 -1190 { lab=VGND} +N 2760 -1270 2810 -1270 { lab=#net3} +N 2700 -1260 2700 -1190 { lab=ENABLE} +N 2700 -1190 2720 -1190 { lab=ENABLE} +N 2680 -1260 2700 -1260 { lab=ENABLE} +N 2700 -1320 2720 -1320 { lab=ENABLE} +N 2300 -1350 2540 -1350 { lab=VINJ} +N 2540 -1350 2780 -1350 { lab=VINJ} +N 2810 -1270 2810 40 { lab=#net3} +N 2430 -1070 3050 -1070 { lab=VINJ} +N 3050 -1350 3050 -1070 { lab=VINJ} +N 2780 -1350 3050 -1350 { lab=VINJ} +N 2220 -940 2220 -650 { lab=IN1} +N 2330 -1270 2330 -360 { lab=#net1} +N 2460 -940 2460 -340 { lab=IN2} +N 2570 -1270 2570 -650 { lab=#net2} +N 2410 -830 2410 -820 { lab=VGND} +N 2650 -860 2670 -860 { lab=VGND} +N 2850 -860 2870 -860 { lab=VGND} +N 2610 -940 2610 -840 { lab=IN2} +N 2370 -940 2370 -840 { lab=IN1} +N 2410 -1070 2430 -1070 { lab=VINJ} +N 2410 -1010 2670 -1010 { lab=#net5} +N 3050 -770 3050 -470 { lab=VINJ} +N 3050 -1070 3050 -770 { lab=VINJ} +N 2650 -830 2650 -820 { lab=VGND} +N 2850 -830 2850 -820 { lab=VGND} +N 2430 -770 3050 -770 { lab=VINJ} +N 2410 -530 2410 -520 { lab=VGND} +N 2410 -540 2430 -540 { lab=VGND} +N 2650 -560 2670 -560 { lab=VGND} +N 2850 -560 2870 -560 { lab=VGND} +N 2610 -650 2610 -540 { lab=#net2} +N 2370 -650 2370 -540 { lab=IN1} +N 2410 -770 2430 -770 { lab=VINJ} +N 2410 -710 2670 -710 { lab=#net7} +N 2650 -530 2650 -520 { lab=VGND} +N 2850 -530 2850 -520 { lab=VGND} +N 2430 -470 3050 -470 { lab=VINJ} +N 2410 -230 2410 -220 { lab=VGND} +N 2410 -260 2430 -260 { lab=VGND} +N 2650 -260 2670 -260 { lab=VGND} +N 2850 -260 2870 -260 { lab=VGND} +N 2610 -340 2610 -240 { lab=IN2} +N 2370 -360 2370 -240 { lab=#net1} +N 2410 -470 2430 -470 { lab=VINJ} +N 2410 -410 2670 -410 { lab=#net9} +N 3050 -170 3050 -140 { lab=VINJ} +N 3050 -470 3050 -170 { lab=VINJ} +N 2650 -230 2650 -220 { lab=VGND} +N 2850 -230 2850 -220 { lab=VGND} +N 2430 -170 3050 -170 { lab=VINJ} +N 2410 70 2410 80 { lab=VGND} +N 2410 40 2430 40 { lab=VGND} +N 2650 40 2670 40 { lab=VGND} +N 2850 40 2870 40 { lab=VGND} +N 2610 -30 2610 60 { lab=#net2} +N 2370 -30 2370 60 { lab=#net1} +N 2410 -170 2430 -170 { lab=VINJ} +N 2410 -110 2670 -110 { lab=#net11} +N 2650 70 2650 80 { lab=VGND} +N 2850 70 2850 80 { lab=VGND} +N 2220 -940 2370 -940 { lab=IN1} +N 2460 -940 2610 -940 { lab=IN2} +N 2570 -650 2570 -30 { lab=#net2} +N 2220 -650 2370 -650 { lab=IN1} +N 2570 -650 2610 -650 { lab=#net2} +N 2330 -360 2330 -30 { lab=#net1} +N 2330 -30 2370 -30 { lab=#net1} +N 2330 -360 2370 -360 { lab=#net1} +N 2460 -340 2610 -340 { lab=IN2} +N 2570 -30 2610 -30 { lab=#net2} +N 2410 -1040 2430 -1040 { lab=VINJ} +N 2430 -1070 2430 -1040 { lab=VINJ} +N 2410 -740 2430 -740 { lab=VINJ} +N 2430 -770 2430 -740 { lab=VINJ} +N 2410 -440 2430 -440 { lab=VINJ} +N 2430 -470 2430 -440 { lab=VINJ} +N 2410 -560 2430 -560 { lab=OUTPUT01} +N 2430 -590 2430 -560 { lab=OUTPUT01} +N 2410 -140 2430 -140 { lab=VINJ} +N 2430 -170 2430 -140 { lab=VINJ} +N 2650 -80 2670 -80 { lab=#net11} +N 2670 -110 2670 -80 { lab=#net11} +N 2850 -20 2870 -20 { lab=#net10} +N 2870 -50 2870 -20 { lab=#net10} +N 2850 -320 2870 -320 { lab=#net8} +N 2870 -350 2870 -320 { lab=#net8} +N 2650 -380 2670 -380 { lab=#net9} +N 2670 -410 2670 -380 { lab=#net9} +N 2850 -620 2870 -620 { lab=#net6} +N 2870 -650 2870 -620 { lab=#net6} +N 2650 -680 2670 -680 { lab=#net7} +N 2670 -710 2670 -680 { lab=#net7} +N 2850 -920 2870 -920 { lab=#net4} +N 2870 -950 2870 -920 { lab=#net4} +N 2650 -980 2670 -980 { lab=#net5} +N 2670 -1010 2670 -980 { lab=#net5} +N 2410 -860 2430 -860 { lab=VGND} +N 2430 -860 2430 -840 { lab=VGND} +N 2850 80 2990 80 { lab=VGND} +N 2280 -1290 2280 -1270 { lab=#net1} +N 2220 -1320 2220 -1260 { lab=IN1} +N 2520 -1290 2520 -1270 { lab=#net2} +N 2460 -1320 2460 -1260 { lab=IN2} +N 2760 -1290 2760 -1270 { lab=#net3} +N 2700 -1320 2700 -1260 { lab=ENABLE} +N 2410 -890 2950 -890 { lab=OUTPUT00} +N 2650 -950 2870 -950 { lab=#net4} +N 2430 -590 2950 -590 { lab=OUTPUT01} +N 2650 -650 2870 -650 { lab=#net6} +N 2410 -290 2950 -290 { lab=OUTPUT10} +N 2650 -350 2870 -350 { lab=#net8} +N 2410 10 2950 10 { lab=OUTPUT11} +N 2650 -50 2870 -50 { lab=#net10} +N 2220 -1190 2220 -940 { lab=IN1} +N 2370 -1040 2370 -940 { lab=IN1} +N 2460 -1190 2460 -940 { lab=IN2} +N 2610 -980 2610 -940 { lab=IN2} +N 2370 -740 2370 -650 { lab=IN1} +N 2610 -680 2610 -650 { lab=#net2} +N 2370 -140 2370 -30 { lab=#net1} +N 2370 -440 2370 -360 { lab=#net1} +N 2610 -380 2610 -340 { lab=IN2} +N 2610 -80 2610 -30 { lab=#net2} +N 2410 -590 2430 -590 { lab=OUTPUT01} +C {devices/iopin.sym} 2950 -890 0 0 {name=OUTPUT00 lab=OUTPUT00} +C {devices/ipin.sym} 2110 -1350 0 0 {name=VINJ lab=VINJ} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2830 -860 0 0 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2830 -920 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2630 -980 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2390 -1040 0 0 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 2200 -1260 0 0 {name=IN1 lab=IN1} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2260 -1190 0 0 {name=M18 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2260 -1320 0 0 {name=M19 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2300 -1190 0 0 {name=l13 lab=VGND} +C {devices/gnd.sym} 2280 -1150 0 0 {name=l14 lab=VGND} +C {devices/ipin.sym} 2440 -1260 0 0 {name=IN2 lab=IN2} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2500 -1190 0 0 {name=M20 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2500 -1320 0 0 {name=M21 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2540 -1190 0 0 {name=l15 lab=VGND} +C {devices/gnd.sym} 2520 -1150 0 0 {name=l16 lab=VGND} +C {devices/ipin.sym} 2680 -1260 0 0 {name=ENABLE lab=ENABLE} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2740 -1190 0 0 {name=M22 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2740 -1320 0 0 {name=M23 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2780 -1190 0 0 {name=l17 lab=VGND} +C {devices/gnd.sym} 2760 -1150 0 0 {name=l18 lab=VGND} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2630 -860 0 0 {name=M16 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2390 -860 0 0 {name=M24 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2410 -820 0 0 {name=l19 lab=VGND} +C {devices/gnd.sym} 2430 -840 0 0 {name=l20 lab=VGND} +C {devices/gnd.sym} 2670 -860 0 0 {name=l21 lab=VGND} +C {devices/gnd.sym} 2870 -860 0 0 {name=l22 lab=VGND} +C {devices/gnd.sym} 2650 -820 0 0 {name=l23 lab=VGND} +C {devices/gnd.sym} 2850 -820 0 0 {name=l24 lab=VGND} +C {devices/iopin.sym} 2950 -590 0 0 {name=OUTPUT01 lab=OUTPUT01} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2830 -560 0 0 {name=M25 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2830 -620 0 0 {name=M26 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2630 -680 0 0 {name=M27 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2390 -740 0 0 {name=M28 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2630 -560 0 0 {name=M29 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2390 -560 0 0 {name=M32 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2410 -520 0 0 {name=l25 lab=VGND} +C {devices/gnd.sym} 2430 -540 0 0 {name=l26 lab=VGND} +C {devices/gnd.sym} 2670 -560 0 0 {name=l27 lab=VGND} +C {devices/gnd.sym} 2870 -560 0 0 {name=l28 lab=VGND} +C {devices/gnd.sym} 2650 -520 0 0 {name=l29 lab=VGND} +C {devices/gnd.sym} 2850 -520 0 0 {name=l30 lab=VGND} +C {devices/iopin.sym} 2950 -290 0 0 {name=OUTPUT10 lab=OUTPUT10} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2830 -260 0 0 {name=M33 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2830 -320 0 0 {name=M34 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2630 -380 0 0 {name=M36 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2390 -440 0 0 {name=M37 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2630 -260 0 0 {name=M38 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2390 -260 0 0 {name=M39 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2410 -220 0 0 {name=l31 lab=VGND} +C {devices/gnd.sym} 2430 -260 0 0 {name=l32 lab=VGND} +C {devices/gnd.sym} 2670 -260 0 0 {name=l33 lab=VGND} +C {devices/gnd.sym} 2870 -260 0 0 {name=l34 lab=VGND} +C {devices/gnd.sym} 2650 -220 0 0 {name=l35 lab=VGND} +C {devices/gnd.sym} 2850 -220 0 0 {name=l36 lab=VGND} +C {devices/iopin.sym} 2950 10 0 0 {name=OUTPUT11 lab=OUTPUT11} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2830 40 0 0 {name=M40 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2830 -20 0 0 {name=M41 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2630 -80 0 0 {name=M42 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2390 -140 0 0 {name=M43 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2630 40 0 0 {name=M44 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2390 40 0 0 {name=M45 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 2410 80 0 0 {name=l37 lab=VGND} +C {devices/gnd.sym} 2430 40 0 0 {name=l38 lab=VGND} +C {devices/gnd.sym} 2670 40 0 0 {name=l39 lab=VGND} +C {devices/gnd.sym} 2870 40 0 0 {name=l40 lab=VGND} +C {devices/gnd.sym} 2650 80 0 0 {name=l41 lab=VGND} +C {devices/gnd.sym} 2850 80 0 0 {name=l42 lab=VGND} +C {devices/iopin.sym} 2990 80 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_VinjDecode2to4.sym b/xschem/sky130_hilas_VinjDecode2to4.sym new file mode 100644 index 0000000..3b1d08a --- /dev/null +++ b/xschem/sky130_hilas_VinjDecode2to4.sym
@@ -0,0 +1,43 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -40 130 -40 {} +L 4 -130 40 130 40 {} +L 4 -130 -40 -130 40 {} +L 4 130 -40 130 40 {} +L 4 -150 -30 -130 -30 {} +L 4 -150 -10 -130 -10 {} +L 4 -150 10 -130 10 {} +L 4 -150 30 -130 30 {} +L 4 -40 40 -40 60 {} +L 7 130 -30 150 -30 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 30 150 30 {} +B 5 -152.5 -32.5 -147.5 -27.5 {name=VINJ dir=in } +B 5 -152.5 -12.5 -147.5 -7.5 {name=IN1 dir=in } +B 5 -152.5 7.5 -147.5 12.5 {name=IN2 dir=in } +B 5 -152.5 27.5 -147.5 32.5 {name=ENABLE dir=in } +B 5 147.5 -32.5 152.5 -27.5 {name=OUTPUT00 dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=OUTPUT01 dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=OUTPUT10 dir=inout } +B 5 147.5 27.5 152.5 32.5 {name=OUTPUT11 dir=inout } +B 5 -42.5 57.5 -37.5 62.5 {name=VGND dir=inout} +T {Decode2to4} -63 -6 0 0 0.3 0.3 {} +T {@name} 135 -52 0 0 0.2 0.2 {} +T {VINJ} -125 -34 0 0 0.2 0.2 {} +T {IN1} -125 -14 0 0 0.2 0.2 {} +T {IN2} -125 6 0 0 0.2 0.2 {} +T {ENABLE} -125 26 0 0 0.2 0.2 {} +T {OUTPUT00} 125 -34 0 1 0.2 0.2 {} +T {OUTPUT01} 125 -14 0 1 0.2 0.2 {} +T {OUTPUT10} 125 6 0 1 0.2 0.2 {} +T {OUTPUT11} 125 26 0 1 0.2 0.2 {} +T {VGND} -55 26 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_VinjDiodeProtect01.sch b/xschem/sky130_hilas_VinjDiodeProtect01.sch new file mode 100644 index 0000000..99d5c5d --- /dev/null +++ b/xschem/sky130_hilas_VinjDiodeProtect01.sch
@@ -0,0 +1,32 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1250 -1170 1330 -1170 {lab=OUTPUT} +N 1210 -1170 1250 -1170 {lab=OUTPUT} +N 1250 -1170 1250 -1150 { lab=OUTPUT} +N 1250 -1260 1250 -1230 { lab=VINJ} +N 1250 -1090 1250 -1070 { lab=VGND} +N 1250 -1080 1310 -1080 { lab=VGND} +N 1170 -1170 1210 -1170 { lab=OUTPUT} +N 1140 -1230 1170 -1230 {} +C {devices/gnd.sym} 1250 -1070 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 1140 -1230 0 0 {name=INPUT lab=INPUT} +C {devices/iopin.sym} 1250 -1260 0 0 {name=VINJ lab=VINJ} +C {sky130_fd_pr/diode.sym} 1250 -1200 0 0 {name=D1 +model=diode_pw2nd_05v5 +area=1 +} +C {sky130_fd_pr/diode.sym} 1250 -1120 0 0 {name=D2 +model=diode_pw2nd_05v5 +area=1 +} +C {devices/iopin.sym} 1330 -1170 0 0 {name=OUTPUT lab=OUTPUT} +C {devices/iopin.sym} 1300 -1080 0 0 {name=p1 lab=VGND} +C {devices/res.sym} 1170 -1200 0 0 {name=R1 +value=100 +footprint=1206 +device=resistor +m=1}
diff --git a/xschem/sky130_hilas_VinjDiodeProtect01.sym b/xschem/sky130_hilas_VinjDiodeProtect01.sym new file mode 100644 index 0000000..1f43ba9 --- /dev/null +++ b/xschem/sky130_hilas_VinjDiodeProtect01.sym
@@ -0,0 +1,30 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -20 -130 20 {} +L 4 70 -20 70 20 {} +L 4 -150 -10 -130 -10 {} +L 4 -130 20 -130 50 {} +L 4 70 20 70 50 {} +L 4 -130 -20 70 -20 {} +L 4 -130 50 70 50 {} +L 7 70 -10 90 -10 {} +L 7 70 10 90 10 {} +L 7 70 40 90 40 {} +B 5 87.5 -12.5 92.5 -7.5 {name=VINJ dir=inout } +B 5 87.5 7.5 92.5 12.5 {name=OUTPUT dir=inout } +B 5 -152.5 -12.5 -147.5 -7.5 {name=INPUT dir=in } +B 5 87.5 37.5 92.5 42.5 {name=VGND dir=inout } +T {VinjDiodeProtect01} -119 24 0 0 0.3 0.3 {} +T {@name} 75 -32 0 0 0.2 0.2 {} +T {VINJ} 65 -14 0 1 0.2 0.2 {} +T {OUTPUT} 65 6 0 1 0.2 0.2 {} +T {INPUT} -125 -14 0 0 0.2 0.2 {} +T {VGND} 65 36 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_WTA4Stage01.sch b/xschem/sky130_hilas_WTA4Stage01.sch new file mode 100644 index 0000000..e50f5d1 --- /dev/null +++ b/xschem/sky130_hilas_WTA4Stage01.sch
@@ -0,0 +1,476 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 750 -850 790 -850 { lab=GATE1} +N 630 -850 670 -850 { lab=VTUN} +N 630 -860 630 -850 { lab=VTUN} +N 600 -910 820 -910 { lab=#net1} +N 560 -960 560 -940 { lab=#net2} +N 900 -940 900 -780 { lab=VPWR} +N 860 -800 940 -800 { lab=OUTPUT4} +N 860 -880 860 -800 { lab=OUTPUT4} +N 860 -940 900 -940 { lab=VPWR} +N 750 -850 750 -780 { lab=GATE1} +N 670 -850 670 -780 { lab=VTUN} +N 560 -880 560 -820 { lab=DRAIN4} +N 560 -820 940 -820 { lab=DRAIN4} +N 490 -830 490 -780 { lab=VINJ} +N 750 -1110 790 -1110 { lab=GATE1} +N 630 -1110 670 -1110 { lab=VTUN} +N 630 -1120 630 -1110 { lab=VTUN} +N 600 -1170 820 -1170 { lab=#net3} +N 560 -1220 560 -1200 { lab=#net4} +N 900 -1200 900 -940 { lab=VPWR} +N 860 -1060 940 -1060 { lab=OUTPUT3} +N 860 -1140 860 -1060 { lab=OUTPUT3} +N 860 -1200 900 -1200 { lab=VPWR} +N 750 -1110 750 -850 { lab=GATE1} +N 670 -1110 670 -850 { lab=VTUN} +N 560 -1140 560 -1080 { lab=DRAIN3} +N 560 -1080 940 -1080 { lab=DRAIN3} +N 490 -1090 490 -1020 { lab=VINJ} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 820 -1430 { lab=#net5} +N 560 -1480 560 -1460 { lab=#net6} +N 900 -1460 900 -1200 { lab=VPWR} +N 860 -1320 940 -1320 { lab=OUTPUT2} +N 860 -1400 860 -1320 { lab=OUTPUT2} +N 860 -1460 900 -1460 { lab=VPWR} +N 750 -1370 750 -1110 { lab=GATE1} +N 670 -1370 670 -1110 { lab=VTUN} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 560 -1340 940 -1340 { lab=DRAIN2} +N 490 -1350 490 -1280 { lab=VINJ} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 820 -1690 { lab=#net7} +N 560 -1740 560 -1720 { lab=#net8} +N 900 -1720 900 -1460 { lab=VPWR} +N 860 -1580 940 -1580 { lab=OUTPUT1} +N 860 -1660 860 -1580 { lab=OUTPUT1} +N 860 -1720 900 -1720 { lab=VPWR} +N 750 -1630 750 -1370 { lab=GATE1} +N 670 -1630 670 -1370 { lab=VTUN} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 560 -1600 940 -1600 { lab=DRAIN1} +N 490 -1610 490 -1540 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 560 -1600 { lab=DRAIN1} +N 490 -1830 490 -1800 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1780 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 490 -1170 560 -1170 { lab=VINJ} +N 560 -1250 570 -1250 { lab=VINJ} +N 570 -1280 570 -1250 { lab=VINJ} +N 490 -910 570 -910 { lab=VINJ} +N 560 -990 570 -990 { lab=VINJ} +N 570 -1020 570 -990 { lab=VINJ} +N 490 -830 880 -830 { lab=VINJ} +N 880 -910 880 -830 { lab=VINJ} +N 860 -910 880 -910 { lab=VINJ} +N 860 -1170 880 -1170 { lab=VINJ} +N 880 -1170 880 -1090 { lab=VINJ} +N 490 -1090 880 -1090 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -780 { lab=COLSEL1} +N 520 -1840 550 -1840 { lab=COLSEL1} +N 900 -1830 920 -1830 { lab=VPWR} +N 670 -1840 670 -1630 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 60 -1520 280 -1520 { lab=WTAMIDDLENODE} +N 20 -1550 100 -1550 { lab=INPUT1} +N 20 -1600 20 -1550 { lab=INPUT1} +N 20 -1490 20 -1480 { lab=VGND} +N 140 -1550 160 -1550 { lab=VGND} +N 140 -1580 860 -1580 { lab=OUTPUT1} +N 60 -1260 280 -1260 { lab=WTAMIDDLENODE} +N 20 -1290 100 -1290 { lab=INPUT2} +N 20 -1340 20 -1290 { lab=INPUT2} +N 20 -1230 20 -1220 { lab=VGND} +N 140 -1290 160 -1290 { lab=VGND} +N 60 -1000 280 -1000 { lab=WTAMIDDLENODE} +N 20 -1030 100 -1030 { lab=INPUT3} +N 20 -1080 20 -1030 { lab=INPUT3} +N 20 -970 20 -960 { lab=VGND} +N 140 -1030 160 -1030 { lab=VGND} +N 140 -1060 860 -1060 { lab=OUTPUT3} +N 60 -740 280 -740 { lab=WTAMIDDLENODE} +N 20 -770 100 -770 { lab=INPUT4} +N 20 -820 20 -770 { lab=INPUT4} +N 20 -680 20 -650 { lab=VGND} +N 140 -770 160 -770 { lab=VGND} +N 140 -800 860 -800 { lab=OUTPUT4} +N 140 -1610 140 -1580 { lab=OUTPUT1} +N 280 -1770 280 -1520 { lab=WTAMIDDLENODE} +N 280 -1520 280 -1260 { lab=WTAMIDDLENODE} +N 280 -1000 280 -740 { lab=WTAMIDDLENODE} +N 140 -1350 140 -1320 { lab=OUTPUT2} +N 140 -1100 140 -1060 { lab=OUTPUT3} +N 140 -830 140 -800 { lab=OUTPUT4} +N -10 -740 20 -740 { lab=VGND} +N -10 -740 -10 -730 { lab=VGND} +N -10 -1000 20 -1000 { lab=VGND} +N -10 -1000 -10 -990 { lab=VGND} +N -10 -1260 20 -1260 { lab=VGND} +N -10 -1260 -10 -1250 { lab=VGND} +N -10 -1520 20 -1520 { lab=VGND} +N -10 -1520 -10 -1510 { lab=VGND} +N 420 -820 560 -820 { lab=DRAIN4} +N 420 -1080 560 -1080 { lab=DRAIN3} +N 420 -1340 560 -1340 { lab=DRAIN2} +N 900 -1830 900 -1720 { lab=VPWR} +N 490 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1780 { lab=VINJ} +N 490 -1800 490 -1690 { lab=VINJ} +N 490 -1540 490 -1430 { lab=VINJ} +N 490 -1280 490 -1170 { lab=VINJ} +N 490 -1020 490 -910 { lab=VINJ} +N 490 -910 490 -830 { lab=VINJ} +N 490 -1170 490 -1090 { lab=VINJ} +N 490 -1430 490 -1350 { lab=VINJ} +N 490 -1690 490 -1610 { lab=VINJ} +N 280 -1260 280 -1000 { lab=WTAMIDDLENODE} +N 490 -1020 570 -1020 { lab=VINJ} +N 490 -1280 570 -1280 { lab=VINJ} +N 490 -1540 570 -1540 { lab=VINJ} +N 750 -1830 750 -1630 { lab=GATE1} +N 140 -1320 860 -1320 { lab=OUTPUT2} +N 20 -680 120 -680 { lab=VGND} +N 20 -710 20 -680 { lab=VGND} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -910 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -880 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -910 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -880 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -990 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1170 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1140 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1170 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1140 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1250 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 20 -1600 0 0 {name=INPUT1 lab=INPUT1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 430 -1080 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 430 -820 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/iopin.sym} 920 -1830 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {sky130_fd_pr/nfet_01v8.sym} 120 -1550 0 0 {name=M13 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 160 -1550 0 0 {name=l1 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 40 -1520 0 1 {name=M14 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 20 -1480 0 0 {name=l2 lab=VGND} +C {devices/iopin.sym} 140 -1610 0 0 {name=OUTPUT1 lab=OUTPUT1} +C {devices/ipin.sym} 20 -1340 0 0 {name=INPUT2 lab=INPUT2} +C {sky130_fd_pr/nfet_01v8.sym} 120 -1290 0 0 {name=M15 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 160 -1290 0 0 {name=l3 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 40 -1260 0 1 {name=M16 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 20 -1220 0 0 {name=l4 lab=VGND} +C {devices/iopin.sym} 140 -1350 0 0 {name=OUTPUT2 lab=OUTPUT2} +C {devices/ipin.sym} 20 -1080 0 0 {name=INPUT3 lab=INPUT3} +C {sky130_fd_pr/nfet_01v8.sym} 120 -1030 0 0 {name=M17 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 160 -1030 0 0 {name=l5 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 40 -1000 0 1 {name=M18 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 20 -960 0 0 {name=l6 lab=VGND} +C {devices/iopin.sym} 140 -1100 0 0 {name=OUTPUT3 lab=OUTPUT3} +C {devices/ipin.sym} 20 -820 0 0 {name=INPUT4 lab=INPUT4} +C {sky130_fd_pr/nfet_01v8.sym} 120 -770 0 0 {name=M19 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 160 -770 0 0 {name=l7 lab=VGND} +C {sky130_fd_pr/nfet_01v8.sym} 40 -740 0 1 {name=M20 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 20 -650 0 0 {name=l8 lab=VGND} +C {devices/iopin.sym} 140 -830 0 0 {name=OUTPUT4 lab=OUTPUT4} +C {devices/iopin.sym} 280 -1770 0 0 {name=WTAMIDDLENODE lab=WTAMIDDLENODE} +C {devices/gnd.sym} -10 -1510 0 0 {name=l9 lab=VGND} +C {devices/gnd.sym} -10 -1250 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} -10 -990 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} -10 -730 0 0 {name=l12 lab=VGND} +C {devices/iopin.sym} 110 -680 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_WTA4Stage01.sym b/xschem/sky130_hilas_WTA4Stage01.sym new file mode 100644 index 0000000..49c2b07 --- /dev/null +++ b/xschem/sky130_hilas_WTA4Stage01.sym
@@ -0,0 +1,73 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -100 130 -100 {} +L 4 -130 100 130 100 {} +L 4 -130 -100 -130 100 {} +L 4 130 -100 130 100 {} +L 4 -150 -90 -130 -90 {} +L 4 -150 -70 -130 -70 {} +L 4 -150 -50 -130 -50 {} +L 4 -150 -30 -130 -30 {} +L 4 -150 -10 -130 -10 {} +L 4 -150 10 -130 10 {} +L 4 -150 30 -130 30 {} +L 4 -150 50 -130 50 {} +L 4 -50 100 -50 120 {} +L 7 130 -90 150 -90 {} +L 7 130 -70 150 -70 {} +L 7 130 -50 150 -50 {} +L 7 130 -30 150 -30 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 30 150 30 {} +L 7 130 50 150 50 {} +L 7 130 70 150 70 {} +L 7 130 90 150 90 {} +B 5 147.5 -92.5 152.5 -87.5 {name=VINJ dir=inout } +B 5 147.5 -72.5 152.5 -67.5 {name=VTUN dir=inout } +B 5 147.5 -52.5 152.5 -47.5 {name=COLSEL1 dir=inout } +B 5 147.5 -32.5 152.5 -27.5 {name=VPWR dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=GATE1 dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=WTAMIDDLENODE dir=inout } +B 5 147.5 27.5 152.5 32.5 {name=OUTPUT1 dir=inout } +B 5 -152.5 -92.5 -147.5 -87.5 {name=INPUT1 dir=in } +B 5 -152.5 -72.5 -147.5 -67.5 {name=DRAIN1 dir=in } +B 5 147.5 47.5 152.5 52.5 {name=OUTPUT2 dir=inout } +B 5 -152.5 -52.5 -147.5 -47.5 {name=INPUT2 dir=in } +B 5 -152.5 -32.5 -147.5 -27.5 {name=DRAIN2 dir=in } +B 5 147.5 67.5 152.5 72.5 {name=OUTPUT3 dir=inout } +B 5 -152.5 -12.5 -147.5 -7.5 {name=INPUT3 dir=in } +B 5 -152.5 7.5 -147.5 12.5 {name=DRAIN3 dir=in } +B 5 147.5 87.5 152.5 92.5 {name=OUTPUT4 dir=inout } +B 5 -152.5 27.5 -147.5 32.5 {name=INPUT4 dir=in } +B 5 -152.5 47.5 -147.5 52.5 {name=DRAIN4 dir=in } +B 5 -52.5 117.5 -47.5 122.5 {name=VGND dir=inout} +T {WTA4Input} -48.5 -26 0 0 0.3 0.3 {} +T {@name} 135 -112 0 0 0.2 0.2 {} +T {VINJ} 125 -94 0 1 0.2 0.2 {} +T {VTUN} 125 -74 0 1 0.2 0.2 {} +T {COLSEL1} 125 -54 0 1 0.2 0.2 {} +T {VPWR} 125 -34 0 1 0.2 0.2 {} +T {GATE1} 125 -14 0 1 0.2 0.2 {} +T {WTAMIDDLENODE} 125 6 0 1 0.2 0.2 {} +T {OUTPUT1} 125 26 0 1 0.2 0.2 {} +T {INPUT1} -125 -94 0 0 0.2 0.2 {} +T {DRAIN1} -125 -74 0 0 0.2 0.2 {} +T {OUTPUT2} 125 46 0 1 0.2 0.2 {} +T {INPUT2} -125 -54 0 0 0.2 0.2 {} +T {DRAIN2} -125 -34 0 0 0.2 0.2 {} +T {OUTPUT3} 125 66 0 1 0.2 0.2 {} +T {INPUT3} -125 -14 0 0 0.2 0.2 {} +T {DRAIN3} -125 6 0 0 0.2 0.2 {} +T {OUTPUT4} 125 86 0 1 0.2 0.2 {} +T {INPUT4} -125 26 0 0 0.2 0.2 {} +T {DRAIN4} -125 46 0 0 0.2 0.2 {} +T {VGND} -75 86 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_capacitorArray01.sch b/xschem/sky130_hilas_capacitorArray01.sch new file mode 100644 index 0000000..c94f477 --- /dev/null +++ b/xschem/sky130_hilas_capacitorArray01.sch
@@ -0,0 +1,406 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 790 -910 820 -910 { lab=#net1} +N 750 -860 750 -850 { lab=GATE} +N 750 -850 790 -850 { lab=GATE} +N 630 -910 790 -910 { lab=#net1} +N 630 -850 670 -850 { lab=VTUN} +N 630 -860 630 -850 { lab=VTUN} +N 600 -910 630 -910 { lab=#net1} +N 560 -960 560 -940 { lab=#net2} +N 900 -1040 900 -830 { lab=CAPTERM1} +N 440 -800 940 -800 { lab=#net3} +N 900 -830 900 -780 { lab=CAPTERM1} +N 860 -880 860 -800 { lab=#net3} +N 860 -940 900 -940 { lab=CAPTERM1} +N 750 -850 750 -780 { lab=GATE} +N 750 -1040 750 -850 { lab=GATE} +N 670 -860 670 -850 { lab=VTUN} +N 670 -850 670 -780 { lab=VTUN} +N 670 -1040 670 -850 { lab=VTUN} +N 520 -1040 520 -990 { lab=GATESELECT} +N 520 -1040 520 -780 { lab=GATESELECT} +N 560 -880 560 -820 { lab=DRAIN4} +N 440 -820 560 -820 { lab=DRAIN4} +N 560 -820 710 -820 { lab=DRAIN4} +N 710 -820 810 -820 { lab=DRAIN4} +N 810 -820 880 -820 { lab=DRAIN4} +N 880 -820 940 -820 { lab=DRAIN4} +N 490 -1040 490 -780 { lab=VINJ} +N 490 -1020 560 -1020 { lab=VINJ} +N 790 -1170 820 -1170 { lab=#net4} +N 750 -1120 750 -1110 { lab=GATE} +N 750 -1110 790 -1110 { lab=GATE} +N 630 -1170 790 -1170 { lab=#net4} +N 630 -1110 670 -1110 { lab=VTUN} +N 630 -1120 630 -1110 { lab=VTUN} +N 600 -1170 630 -1170 { lab=#net4} +N 560 -1220 560 -1200 { lab=#net5} +N 900 -1300 900 -1090 { lab=CAPTERM1} +N 440 -1060 940 -1060 { lab=#net6} +N 900 -1090 900 -1040 { lab=CAPTERM1} +N 860 -1140 860 -1060 { lab=#net6} +N 860 -1200 900 -1200 { lab=CAPTERM1} +N 750 -1110 750 -1040 { lab=GATE} +N 750 -1300 750 -1110 { lab=GATE} +N 670 -1120 670 -1110 { lab=VTUN} +N 670 -1110 670 -1040 { lab=VTUN} +N 670 -1300 670 -1110 { lab=VTUN} +N 520 -1300 520 -1250 { lab=GATESELECT} +N 520 -1300 520 -1040 { lab=GATESELECT} +N 560 -1140 560 -1080 { lab=DRAIN3} +N 440 -1080 560 -1080 { lab=DRAIN3} +N 560 -1080 710 -1080 { lab=DRAIN3} +N 710 -1080 810 -1080 { lab=DRAIN3} +N 810 -1080 880 -1080 { lab=DRAIN3} +N 880 -1080 940 -1080 { lab=DRAIN3} +N 490 -1300 490 -1040 { lab=VINJ} +N 490 -1280 560 -1280 { lab=VINJ} +N 790 -1430 820 -1430 { lab=#net7} +N 750 -1380 750 -1370 { lab=GATE} +N 750 -1370 790 -1370 { lab=GATE} +N 630 -1430 790 -1430 { lab=#net7} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 630 -1430 { lab=#net7} +N 560 -1480 560 -1460 { lab=#net8} +N 900 -1560 900 -1350 { lab=CAPTERM1} +N 440 -1320 940 -1320 { lab=#net9} +N 900 -1350 900 -1300 { lab=CAPTERM1} +N 860 -1400 860 -1320 { lab=#net9} +N 860 -1460 900 -1460 { lab=CAPTERM1} +N 750 -1370 750 -1300 { lab=GATE} +N 750 -1560 750 -1370 { lab=GATE} +N 670 -1380 670 -1370 { lab=VTUN} +N 670 -1370 670 -1300 { lab=VTUN} +N 670 -1560 670 -1370 { lab=VTUN} +N 520 -1560 520 -1510 { lab=GATESELECT} +N 520 -1560 520 -1300 { lab=GATESELECT} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 440 -1340 560 -1340 { lab=DRAIN2} +N 560 -1340 710 -1340 { lab=DRAIN2} +N 710 -1340 810 -1340 { lab=DRAIN2} +N 810 -1340 880 -1340 { lab=DRAIN2} +N 880 -1340 940 -1340 { lab=DRAIN2} +N 490 -1560 490 -1300 { lab=VINJ} +N 490 -1540 560 -1540 { lab=VINJ} +N 790 -1690 820 -1690 { lab=#net10} +N 750 -1640 750 -1630 { lab=GATE} +N 750 -1630 790 -1630 { lab=GATE} +N 630 -1690 790 -1690 { lab=#net10} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 630 -1690 { lab=#net10} +N 560 -1740 560 -1720 { lab=#net11} +N 900 -1820 900 -1610 { lab=CAPTERM1} +N 440 -1580 940 -1580 { lab=#net12} +N 900 -1610 900 -1560 { lab=CAPTERM1} +N 860 -1660 860 -1580 { lab=#net12} +N 860 -1720 900 -1720 { lab=CAPTERM1} +N 750 -1630 750 -1560 { lab=GATE} +N 750 -1820 750 -1630 { lab=GATE} +N 670 -1640 670 -1630 { lab=VTUN} +N 670 -1630 670 -1560 { lab=VTUN} +N 670 -1820 670 -1630 { lab=VTUN} +N 520 -1820 520 -1770 { lab=GATESELECT} +N 520 -1820 520 -1560 { lab=GATESELECT} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 440 -1600 560 -1600 { lab=DRAIN1} +N 560 -1600 710 -1600 { lab=DRAIN1} +N 710 -1600 810 -1600 { lab=DRAIN1} +N 810 -1600 880 -1600 { lab=DRAIN1} +N 880 -1600 940 -1600 { lab=DRAIN1} +N 490 -1820 490 -1560 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 440 -1600 { lab=DRAIN1} +N 420 -1580 450 -1580 { lab=#net12} +N 420 -1340 450 -1340 { lab=DRAIN2} +N 420 -1320 450 -1320 { lab=#net9} +N 420 -1600 450 -1600 { lab=DRAIN1} +N 420 -1080 450 -1080 { lab=DRAIN3} +N 420 -1060 450 -1060 { lab=#net6} +N 420 -820 450 -820 { lab=DRAIN4} +N 420 -800 450 -800 { lab=#net3} +N 900 -1830 900 -1810 { lab=CAPTERM1} +N 750 -1830 750 -1810 { lab=GATE} +N 670 -1830 670 -1810 { lab=VTUN} +N 520 -1830 520 -1810 { lab=GATESELECT} +N 490 -1850 490 -1820 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 540 -1540 570 -1540 { lab=VINJ} +N 490 -1170 560 -1170 { lab=VINJ} +N 560 -1250 570 -1250 { lab=VINJ} +N 570 -1280 570 -1250 { lab=VINJ} +N 540 -1280 570 -1280 { lab=VINJ} +N 490 -910 570 -910 { lab=VINJ} +N 560 -990 570 -990 { lab=VINJ} +N 570 -1020 570 -990 { lab=VINJ} +N 540 -1020 570 -1020 { lab=VINJ} +N 490 -830 880 -830 { lab=VINJ} +N 880 -910 880 -830 { lab=VINJ} +N 860 -910 880 -910 { lab=VINJ} +N 860 -1170 880 -1170 { lab=VINJ} +N 880 -1170 880 -1090 { lab=VINJ} +N 490 -1090 880 -1090 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1830 { lab=GATESELECT} +N 520 -1840 550 -1840 { lab=GATESELECT} +N 900 -1830 920 -1830 { lab=CAPTERM1} +N 670 -1840 670 -1830 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N -390 -1870 -390 -790 { lab=CAPTERM2} +N -390 -1870 -360 -1870 { lab=CAPTERM2} +N -100 -1060 50 -1060 { lab=#net6} +N -100 -1120 50 -1120 { lab=CAPTERM2} +N -140 -1320 10 -1320 { lab=#net9} +N -140 -1380 10 -1380 { lab=CAPTERM2} +N 100 -1320 250 -1320 { lab=#net9} +N 100 -1380 250 -1380 { lab=CAPTERM2} +N 10 -1380 100 -1380 { lab=CAPTERM2} +N 10 -1320 100 -1320 { lab=#net9} +N -190 -1580 -40 -1580 { lab=#net12} +N -190 -1640 -40 -1640 { lab=CAPTERM2} +N 50 -1580 200 -1580 { lab=#net12} +N 50 -1640 200 -1640 { lab=CAPTERM2} +N -40 -1640 50 -1640 { lab=CAPTERM2} +N -40 -1580 50 -1580 { lab=#net12} +N -190 -1640 -40 -1640 { lab=CAPTERM2} +N -190 -1700 -40 -1700 { lab=#net12} +N 50 -1640 200 -1640 { lab=CAPTERM2} +N 50 -1700 200 -1700 { lab=#net12} +N -40 -1700 50 -1700 { lab=#net12} +N -40 -1640 50 -1640 { lab=CAPTERM2} +N -30 -800 420 -800 { lab=#net3} +N -390 -860 -30 -860 { lab=CAPTERM2} +N 60 -1060 430 -1060 { lab=#net6} +N -30 -1320 420 -1320 { lab=#net9} +N -110 -1580 420 -1580 { lab=#net12} +N 50 -1060 60 -1060 { lab=#net6} +N -390 -1120 -100 -1120 { lab=CAPTERM2} +N -390 -1380 -140 -1380 { lab=CAPTERM2} +N -390 -1640 -190 -1640 { lab=CAPTERM2} +N 200 -1700 260 -1700 { lab=#net12} +N 260 -1700 260 -1580 { lab=#net12} +N 240 -1890 280 -1890 {} +N 240 -1890 240 -1870 {} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -910 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -880 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -910 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -880 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -990 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1170 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1140 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1170 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1140 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1250 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 430 -1080 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 430 -820 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/iopin.sym} 920 -1830 0 0 {name=CAPTERM1 lab=CAPTERM1} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE lab=GATE} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=GATESELECT lab=GATESELECT} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} -360 -1870 0 0 {name=CAPTERM2 lab=CAPTERM2} +C {sky130_fd_pr/cap_mim_m3_1.sym} -30 -830 0 0 {name=C9 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -100 -1090 0 0 {name=C10 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 50 -1090 0 0 {name=C11 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -140 -1350 0 0 {name=C12 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -20 -1350 0 0 {name=C13 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 100 -1350 0 0 {name=C14 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 220 -1350 0 0 {name=C15 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -190 -1610 0 0 {name=C16 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -70 -1610 0 0 {name=C17 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 50 -1610 0 0 {name=C18 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 170 -1610 0 0 {name=C19 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -190 -1670 0 0 {name=C20 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} -70 -1670 0 0 {name=C21 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 50 -1670 0 0 {name=C22 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 170 -1670 0 0 {name=C23 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} +C {devices/iopin.sym} 280 -1890 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 240 -1870 0 0 {name=l1 lab=VGND}
diff --git a/xschem/sky130_hilas_capacitorArray01.sym b/xschem/sky130_hilas_capacitorArray01.sym new file mode 100644 index 0000000..e398fc9 --- /dev/null +++ b/xschem/sky130_hilas_capacitorArray01.sym
@@ -0,0 +1,49 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -70 130 -70 {} +L 4 -130 70 130 70 {} +L 4 -130 -70 -130 70 {} +L 4 130 -70 130 70 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +B 5 147.5 -62.5 152.5 -57.5 {name=VGND dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=CAPTERM2 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=VINJ dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=VTUN dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=GATESELECT dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=GATE dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=CAPTERM1 dir=inout } +B 5 -152.5 -62.5 -147.5 -57.5 {name=DRAIN1 dir=in } +B 5 -152.5 -42.5 -147.5 -37.5 {name=DRAIN2 dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=DRAIN3 dir=in } +B 5 -152.5 -2.5 -147.5 2.5 {name=DRAIN4 dir=in } +T {capacitorArray01} -108.5 24 0 0 0.3 0.3 {} +T {@name} 135 -82 0 0 0.2 0.2 {} +T {VGND} 125 -64 0 1 0.2 0.2 {} +T {CAPTERM2} 125 -44 0 1 0.2 0.2 {} +T {VINJ} 125 -24 0 1 0.2 0.2 {} +T {VTUN} 125 -4 0 1 0.2 0.2 {} +T {GATESELECT} 125 16 0 1 0.2 0.2 {} +T {GATE} 125 36 0 1 0.2 0.2 {} +T {CAPTERM1} 125 56 0 1 0.2 0.2 {} +T {DRAIN1} -125 -64 0 0 0.2 0.2 {} +T {DRAIN2} -125 -44 0 0 0.2 0.2 {} +T {DRAIN3} -125 -24 0 0 0.2 0.2 {} +T {DRAIN4} -125 -4 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_cellAttempt01.sch b/xschem/sky130_hilas_cellAttempt01.sch new file mode 100644 index 0000000..d953f4f --- /dev/null +++ b/xschem/sky130_hilas_cellAttempt01.sch
@@ -0,0 +1,361 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 790 -910 820 -910 { lab=#net1} +N 750 -860 750 -850 { lab=GATE1} +N 750 -850 790 -850 { lab=GATE1} +N 630 -910 790 -910 { lab=#net1} +N 630 -850 670 -850 { lab=VTUN} +N 630 -860 630 -850 { lab=VTUN} +N 600 -910 630 -910 { lab=#net1} +N 560 -960 560 -940 { lab=#net2} +N 900 -1040 900 -830 { lab=COL1} +N 440 -800 940 -800 { lab=ROW4} +N 900 -830 900 -780 { lab=COL1} +N 860 -880 860 -800 { lab=ROW4} +N 860 -940 900 -940 { lab=COL1} +N 750 -850 750 -780 { lab=GATE1} +N 750 -1040 750 -850 { lab=GATE1} +N 670 -860 670 -850 { lab=VTUN} +N 670 -850 670 -780 { lab=VTUN} +N 670 -1040 670 -850 { lab=VTUN} +N 520 -1040 520 -990 { lab=COLSEL1} +N 520 -1040 520 -780 { lab=COLSEL1} +N 560 -880 560 -820 { lab=DRAIN4} +N 440 -820 560 -820 { lab=DRAIN4} +N 560 -820 710 -820 { lab=DRAIN4} +N 710 -820 810 -820 { lab=DRAIN4} +N 810 -820 880 -820 { lab=DRAIN4} +N 880 -820 940 -820 { lab=DRAIN4} +N 490 -1040 490 -780 { lab=VINJ} +N 490 -1020 560 -1020 { lab=VINJ} +N 790 -1170 820 -1170 { lab=#net3} +N 750 -1120 750 -1110 { lab=GATE1} +N 750 -1110 790 -1110 { lab=GATE1} +N 630 -1170 790 -1170 { lab=#net3} +N 630 -1110 670 -1110 { lab=VTUN} +N 630 -1120 630 -1110 { lab=VTUN} +N 600 -1170 630 -1170 { lab=#net3} +N 560 -1220 560 -1200 { lab=#net4} +N 900 -1300 900 -1090 { lab=COL1} +N 440 -1060 940 -1060 { lab=ROW3} +N 900 -1090 900 -1040 { lab=COL1} +N 860 -1140 860 -1060 { lab=ROW3} +N 860 -1200 900 -1200 { lab=COL1} +N 750 -1110 750 -1040 { lab=GATE1} +N 750 -1300 750 -1110 { lab=GATE1} +N 670 -1120 670 -1110 { lab=VTUN} +N 670 -1110 670 -1040 { lab=VTUN} +N 670 -1300 670 -1110 { lab=VTUN} +N 520 -1300 520 -1250 { lab=COLSEL1} +N 520 -1300 520 -1040 { lab=COLSEL1} +N 560 -1140 560 -1080 { lab=DRAIN3} +N 440 -1080 560 -1080 { lab=DRAIN3} +N 560 -1080 710 -1080 { lab=DRAIN3} +N 710 -1080 810 -1080 { lab=DRAIN3} +N 810 -1080 880 -1080 { lab=DRAIN3} +N 880 -1080 940 -1080 { lab=DRAIN3} +N 490 -1300 490 -1040 { lab=VINJ} +N 490 -1280 560 -1280 { lab=VINJ} +N 790 -1430 820 -1430 { lab=#net5} +N 750 -1380 750 -1370 { lab=GATE1} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1430 790 -1430 { lab=#net5} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 630 -1430 { lab=#net5} +N 560 -1480 560 -1460 { lab=#net6} +N 900 -1560 900 -1350 { lab=COL1} +N 440 -1320 940 -1320 { lab=ROW2} +N 900 -1350 900 -1300 { lab=COL1} +N 860 -1400 860 -1320 { lab=ROW2} +N 860 -1460 900 -1460 { lab=COL1} +N 750 -1370 750 -1300 { lab=GATE1} +N 750 -1560 750 -1370 { lab=GATE1} +N 670 -1380 670 -1370 { lab=VTUN} +N 670 -1370 670 -1300 { lab=VTUN} +N 670 -1560 670 -1370 { lab=VTUN} +N 520 -1560 520 -1510 { lab=COLSEL1} +N 520 -1560 520 -1300 { lab=COLSEL1} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 440 -1340 560 -1340 { lab=DRAIN2} +N 560 -1340 710 -1340 { lab=DRAIN2} +N 710 -1340 810 -1340 { lab=DRAIN2} +N 810 -1340 880 -1340 { lab=DRAIN2} +N 880 -1340 940 -1340 { lab=DRAIN2} +N 490 -1560 490 -1300 { lab=VINJ} +N 490 -1540 560 -1540 { lab=VINJ} +N 790 -1690 820 -1690 { lab=#net7} +N 750 -1640 750 -1630 { lab=GATE1} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1690 790 -1690 { lab=#net7} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 630 -1690 { lab=#net7} +N 560 -1740 560 -1720 { lab=#net8} +N 900 -1820 900 -1610 { lab=COL1} +N 440 -1580 940 -1580 { lab=ROW1} +N 900 -1610 900 -1560 { lab=COL1} +N 860 -1660 860 -1580 { lab=ROW1} +N 860 -1720 900 -1720 { lab=COL1} +N 750 -1630 750 -1560 { lab=GATE1} +N 750 -1820 750 -1630 { lab=GATE1} +N 670 -1640 670 -1630 { lab=VTUN} +N 670 -1630 670 -1560 { lab=VTUN} +N 670 -1820 670 -1630 { lab=VTUN} +N 520 -1820 520 -1770 { lab=COLSEL1} +N 520 -1820 520 -1560 { lab=COLSEL1} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 440 -1600 560 -1600 { lab=DRAIN1} +N 560 -1600 710 -1600 { lab=DRAIN1} +N 710 -1600 810 -1600 { lab=DRAIN1} +N 810 -1600 880 -1600 { lab=DRAIN1} +N 880 -1600 940 -1600 { lab=DRAIN1} +N 490 -1820 490 -1560 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 440 -1600 { lab=DRAIN1} +N 420 -1580 450 -1580 { lab=ROW1} +N 420 -1340 450 -1340 { lab=DRAIN2} +N 420 -1320 450 -1320 { lab=ROW2} +N 420 -1600 450 -1600 { lab=DRAIN1} +N 420 -1080 450 -1080 { lab=DRAIN3} +N 420 -1060 450 -1060 { lab=ROW3} +N 420 -820 450 -820 { lab=DRAIN4} +N 420 -800 450 -800 { lab=ROW4} +N 900 -1830 900 -1810 { lab=COL1} +N 750 -1830 750 -1810 { lab=GATE1} +N 670 -1830 670 -1810 { lab=VTUN} +N 520 -1830 520 -1810 { lab=COLSEL1} +N 490 -1850 490 -1820 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 540 -1540 570 -1540 { lab=VINJ} +N 490 -1170 560 -1170 { lab=VINJ} +N 560 -1250 570 -1250 { lab=VINJ} +N 570 -1280 570 -1250 { lab=VINJ} +N 540 -1280 570 -1280 { lab=VINJ} +N 490 -910 570 -910 { lab=VINJ} +N 560 -990 570 -990 { lab=VINJ} +N 570 -1020 570 -990 { lab=VINJ} +N 540 -1020 570 -1020 { lab=VINJ} +N 490 -830 880 -830 { lab=VINJ} +N 880 -910 880 -830 { lab=VINJ} +N 860 -910 880 -910 { lab=VINJ} +N 860 -1170 880 -1170 { lab=VINJ} +N 880 -1170 880 -1090 { lab=VINJ} +N 490 -1090 880 -1090 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1830 { lab=COLSEL1} +N 520 -1840 550 -1840 { lab=COLSEL1} +N 900 -1830 920 -1830 { lab=COL1} +N 670 -1840 670 -1830 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 360 -1760 380 -1760 {} +N 360 -1760 360 -1730 {} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -910 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -880 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -910 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -880 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -990 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1170 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1140 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1170 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1140 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1250 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1580 0 0 {name=ROW1 lab=ROW1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 430 -1320 0 0 {name=ROW2 lab=ROW2} +C {devices/ipin.sym} 430 -1080 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 430 -1060 0 0 {name=ROW3 lab=ROW3} +C {devices/ipin.sym} 430 -820 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/ipin.sym} 430 -800 0 0 {name=DRAIN5 lab=ROW4} +C {devices/iopin.sym} 920 -1830 0 0 {name=COL1 lab=COL1} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 380 -1760 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 360 -1730 0 0 {name=l1 lab=VGND}
diff --git a/xschem/sky130_hilas_cellAttempt01.sym b/xschem/sky130_hilas_cellAttempt01.sym new file mode 100644 index 0000000..6ef2efa --- /dev/null +++ b/xschem/sky130_hilas_cellAttempt01.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -80 130 -80 {} +L 4 -130 80 130 80 {} +L 4 -130 -80 -130 80 {} +L 4 130 -80 130 80 {} +L 4 -150 -70 -130 -70 {} +L 4 -150 -50 -130 -50 {} +L 4 -150 -30 -130 -30 {} +L 4 -150 -10 -130 -10 {} +L 4 -150 10 -130 10 {} +L 4 -150 30 -130 30 {} +L 4 -150 50 -130 50 {} +L 4 -150 70 -130 70 {} +L 7 130 -70 150 -70 {} +L 7 130 -50 150 -50 {} +L 7 130 -30 150 -30 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 30 150 30 {} +B 5 147.5 -72.5 152.5 -67.5 {name=VINJ dir=inout } +B 5 147.5 -52.5 152.5 -47.5 {name=COLSEL1 dir=inout } +B 5 147.5 -32.5 152.5 -27.5 {name=VTUN dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=COL1 dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=GATE1 dir=inout } +B 5 147.5 27.5 152.5 32.5 {name=VGND dir=inout } +B 5 -152.5 -72.5 -147.5 -67.5 {name=DRAIN1 dir=in } +B 5 -152.5 -52.5 -147.5 -47.5 {name=ROW1 dir=in } +B 5 -152.5 -32.5 -147.5 -27.5 {name=DRAIN2 dir=in } +B 5 -152.5 -12.5 -147.5 -7.5 {name=ROW2 dir=in } +B 5 -152.5 7.5 -147.5 12.5 {name=DRAIN3 dir=in } +B 5 -152.5 27.5 -147.5 32.5 {name=ROW3 dir=in } +B 5 -152.5 47.5 -147.5 52.5 {name=DRAIN4 dir=in } +B 5 -152.5 67.5 -147.5 72.5 {name=ROW4 dir=in } +T {cellAttempt01} -55 34 0 0 0.3 0.3 {} +T {@name} 135 -92 0 0 0.2 0.2 {} +T {VINJ} 125 -74 0 1 0.2 0.2 {} +T {COLSEL1} 125 -54 0 1 0.2 0.2 {} +T {VTUN} 125 -34 0 1 0.2 0.2 {} +T {COL1} 125 -14 0 1 0.2 0.2 {} +T {GATE1} 125 6 0 1 0.2 0.2 {} +T {VGND} 125 26 0 1 0.2 0.2 {} +T {DRAIN1} -125 -74 0 0 0.2 0.2 {} +T {ROW1} -125 -54 0 0 0.2 0.2 {} +T {DRAIN2} -125 -34 0 0 0.2 0.2 {} +T {ROW2} -125 -14 0 0 0.2 0.2 {} +T {DRAIN3} -125 6 0 0 0.2 0.2 {} +T {ROW3} -125 26 0 0 0.2 0.2 {} +T {DRAIN4} -125 46 0 0 0.2 0.2 {} +T {ROW4} -125 66 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_drainSelect01.sch b/xschem/sky130_hilas_drainSelect01.sch new file mode 100644 index 0000000..fa1388e --- /dev/null +++ b/xschem/sky130_hilas_drainSelect01.sch
@@ -0,0 +1,459 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 550 -2140 550 -1920 { lab=VINJ} +N 720 -2060 720 -2010 { lab=#net1} +N 1170 -2140 1210 -2140 { lab=DRAIN_MUX} +N 1060 -2080 1060 -2010 { lab=DRAIN1} +N 1060 -2080 1320 -2080 { lab=DRAIN1} +N 1170 -2160 1170 -2140 { lab=DRAIN_MUX} +N 1250 -2110 1250 -2060 { lab=#net1} +N 1000 -2060 1250 -2060 { lab=#net1} +N 660 -1980 680 -1980 { lab=SELECT1} +N 660 -2110 680 -2110 { lab=SELECT1} +N 1000 -1980 1020 -1980 { lab=#net1} +N 1000 -2060 1000 -1980 { lab=#net1} +N 1080 -1980 1080 -1920 { lab=VINJ} +N 1060 -1980 1080 -1980 { lab=VINJ} +N 1080 -2110 1080 -1980 { lab=VINJ} +N 1060 -2110 1080 -2110 { lab=VINJ} +N 720 -2110 740 -2110 { lab=VINJ} +N 1190 -2110 1210 -2110 { lab=VGND} +N 1060 -1950 1060 -1920 { lab=VINJ} +N 1170 -2160 1460 -2160 { lab=DRAIN_MUX} +N 740 -2140 740 -2110 { lab=VINJ} +N 550 -2140 740 -2140 { lab=VINJ} +N 1060 -1920 1080 -1920 { lab=VINJ} +N 550 -1920 1060 -1920 { lab=VINJ} +N 720 -1950 720 -1940 { lab=VGND} +N 720 -1980 740 -1980 { lab=VGND} +N 720 -2060 1000 -2060 { lab=#net1} +N 660 -2110 660 -1980 { lab=SELECT1} +N 660 -2160 660 -2110 { lab=SELECT1} +N 660 -2160 1020 -2160 { lab=SELECT1} +N 1020 -2160 1020 -2110 { lab=SELECT1} +N 720 -1760 720 -1710 { lab=#net2} +N 1170 -1840 1210 -1840 { lab=DRAIN_MUX} +N 1060 -1780 1060 -1710 { lab=DRAIN2} +N 1060 -1780 1320 -1780 { lab=DRAIN2} +N 1170 -1860 1170 -1840 { lab=DRAIN_MUX} +N 1250 -1810 1250 -1760 { lab=#net2} +N 1000 -1760 1250 -1760 { lab=#net2} +N 660 -1680 680 -1680 { lab=SELECT2} +N 660 -1810 680 -1810 { lab=SELECT2} +N 1000 -1680 1020 -1680 { lab=#net2} +N 1000 -1760 1000 -1680 { lab=#net2} +N 1080 -1680 1080 -1620 { lab=VINJ} +N 1060 -1680 1080 -1680 { lab=VINJ} +N 1080 -1810 1080 -1680 { lab=VINJ} +N 1060 -1810 1080 -1810 { lab=VINJ} +N 720 -1810 740 -1810 { lab=VINJ} +N 1190 -1810 1210 -1810 { lab=VGND} +N 1060 -1650 1060 -1620 { lab=VINJ} +N 1170 -1860 1460 -1860 { lab=DRAIN_MUX} +N 740 -1840 740 -1810 { lab=VINJ} +N 550 -1840 740 -1840 { lab=VINJ} +N 1060 -1620 1080 -1620 { lab=VINJ} +N 550 -1620 1060 -1620 { lab=VINJ} +N 720 -1650 720 -1640 { lab=VGND} +N 720 -1680 740 -1680 { lab=VGND} +N 720 -1760 1000 -1760 { lab=#net2} +N 660 -1810 660 -1680 { lab=SELECT2} +N 660 -1860 660 -1810 { lab=SELECT2} +N 660 -1860 1020 -1860 { lab=SELECT2} +N 1020 -1860 1020 -1810 { lab=SELECT2} +N 720 -1470 720 -1420 { lab=#net3} +N 1170 -1550 1210 -1550 { lab=DRAIN_MUX} +N 1060 -1490 1060 -1420 { lab=DRAIN3} +N 1060 -1490 1320 -1490 { lab=DRAIN3} +N 1170 -1570 1170 -1550 { lab=DRAIN_MUX} +N 1250 -1520 1250 -1470 { lab=#net3} +N 1000 -1470 1250 -1470 { lab=#net3} +N 660 -1390 680 -1390 { lab=SELECT3} +N 660 -1520 680 -1520 { lab=SELECT3} +N 1000 -1390 1020 -1390 { lab=#net3} +N 1000 -1470 1000 -1390 { lab=#net3} +N 1080 -1390 1080 -1330 { lab=VINJ} +N 1060 -1390 1080 -1390 { lab=VINJ} +N 1080 -1520 1080 -1390 { lab=VINJ} +N 1060 -1520 1080 -1520 { lab=VINJ} +N 720 -1520 740 -1520 { lab=VINJ} +N 1190 -1520 1210 -1520 { lab=VGND} +N 1060 -1360 1060 -1330 { lab=VINJ} +N 1170 -1570 1460 -1570 { lab=DRAIN_MUX} +N 740 -1550 740 -1520 { lab=VINJ} +N 550 -1550 740 -1550 { lab=VINJ} +N 1060 -1330 1080 -1330 { lab=VINJ} +N 550 -1330 1060 -1330 { lab=VINJ} +N 720 -1360 720 -1350 { lab=VGND} +N 720 -1390 740 -1390 { lab=VGND} +N 720 -1470 1000 -1470 { lab=#net3} +N 660 -1520 660 -1390 { lab=SELECT3} +N 660 -1570 660 -1520 { lab=SELECT3} +N 660 -1570 1020 -1570 { lab=SELECT3} +N 1020 -1570 1020 -1520 { lab=SELECT3} +N 720 -1170 720 -1120 { lab=#net4} +N 1170 -1250 1210 -1250 { lab=DRAIN_MUX} +N 1060 -1190 1060 -1120 { lab=DRAIN4} +N 1060 -1190 1320 -1190 { lab=DRAIN4} +N 1170 -1270 1170 -1250 { lab=DRAIN_MUX} +N 1250 -1220 1250 -1170 { lab=#net4} +N 1000 -1170 1250 -1170 { lab=#net4} +N 660 -1090 680 -1090 { lab=SELECT4} +N 660 -1220 680 -1220 { lab=SELECT4} +N 1000 -1090 1020 -1090 { lab=#net4} +N 1000 -1170 1000 -1090 { lab=#net4} +N 1080 -1090 1080 -1030 { lab=VINJ} +N 1060 -1090 1080 -1090 { lab=VINJ} +N 1080 -1220 1080 -1090 { lab=VINJ} +N 1060 -1220 1080 -1220 { lab=VINJ} +N 720 -1220 740 -1220 { lab=VINJ} +N 1190 -1220 1210 -1220 { lab=VGND} +N 1060 -1060 1060 -1030 { lab=VINJ} +N 1170 -1270 1460 -1270 { lab=DRAIN_MUX} +N 740 -1250 740 -1220 { lab=VINJ} +N 550 -1250 740 -1250 { lab=VINJ} +N 1060 -1030 1080 -1030 { lab=VINJ} +N 550 -1030 1060 -1030 { lab=VINJ} +N 720 -1060 720 -1050 { lab=VGND} +N 720 -1090 740 -1090 { lab=VGND} +N 720 -1170 1000 -1170 { lab=#net4} +N 660 -1220 660 -1090 { lab=SELECT4} +N 660 -1270 660 -1220 { lab=SELECT4} +N 660 -1270 1020 -1270 { lab=SELECT4} +N 1020 -1270 1020 -1220 { lab=SELECT4} +N 550 -2190 550 -2140 { lab=VINJ} +N 540 -2190 550 -2190 { lab=VINJ} +N 550 -1330 550 -1250 { lab=VINJ} +N 550 -1250 550 -1030 { lab=VINJ} +N 1460 -1570 1460 -1270 { lab=DRAIN_MUX} +N 1460 -2160 1460 -1860 { lab=DRAIN_MUX} +N 1460 -2160 1510 -2160 { lab=DRAIN_MUX} +N 720 -1050 800 -1050 { lab=VGND} +N 1060 -2140 1170 -2140 { lab=DRAIN_MUX} +N 720 -2080 720 -2060 { lab=#net1} +N 650 -2110 660 -2110 { lab=SELECT1} +N 650 -1980 660 -1980 { lab=SELECT1} +N 1060 -1840 1170 -1840 { lab=DRAIN_MUX} +N 550 -1920 550 -1840 { lab=VINJ} +N 550 -1840 550 -1620 { lab=VINJ} +N 720 -1780 720 -1760 { lab=#net2} +N 650 -1810 660 -1810 { lab=SELECT2} +N 650 -1680 660 -1680 { lab=SELECT2} +N 1060 -1550 1170 -1550 { lab=DRAIN_MUX} +N 1460 -1860 1460 -1570 { lab=DRAIN_MUX} +N 550 -1620 550 -1550 { lab=VINJ} +N 550 -1550 550 -1330 { lab=VINJ} +N 720 -1490 720 -1470 { lab=#net3} +N 650 -1520 660 -1520 { lab=SELECT3} +N 650 -1390 660 -1390 { lab=SELECT3} +N 1060 -1250 1170 -1250 { lab=DRAIN_MUX} +N 720 -1190 720 -1170 { lab=#net4} +N 650 -1220 660 -1220 { lab=SELECT4} +N 650 -1090 660 -1090 { lab=SELECT4} +C {devices/ipin.sym} 650 -2110 0 0 {name=SELECT1 lab=SELECT1} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 700 -1980 0 0 {name=M15 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -2110 0 0 {name=M17 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/iopin.sym} 1510 -2160 0 0 {name=DRAIN_MUX lab=DRAIN_MUX} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1980 0 0 {name=M30 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 700 -2110 0 0 {name=M31 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1230 -2110 0 1 {name=M35 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1190 -2110 0 0 {name=l4 lab=VGND} +C {devices/gnd.sym} 740 -1980 0 0 {name=l5 lab=VGND} +C {devices/gnd.sym} 720 -1940 0 0 {name=l6 lab=VGND} +C {devices/iopin.sym} 1320 -2080 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 540 -2190 0 0 {name=VINJ lab=VINJ} +C {devices/ipin.sym} 650 -1810 0 0 {name=SELECT2 lab=SELECT2} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 700 -1680 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1810 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1680 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 700 -1810 0 0 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1230 -1810 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1190 -1810 0 0 {name=l1 lab=VGND} +C {devices/gnd.sym} 740 -1680 0 0 {name=l2 lab=VGND} +C {devices/gnd.sym} 720 -1640 0 0 {name=l3 lab=VGND} +C {devices/iopin.sym} 1320 -1780 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 650 -1520 0 0 {name=SELECT3 lab=SELECT3} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 700 -1390 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1520 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1390 0 0 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 700 -1520 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1230 -1520 0 1 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1190 -1520 0 0 {name=l7 lab=VGND} +C {devices/gnd.sym} 740 -1390 0 0 {name=l8 lab=VGND} +C {devices/gnd.sym} 720 -1350 0 0 {name=l9 lab=VGND} +C {devices/iopin.sym} 1320 -1490 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 650 -1220 0 0 {name=SELECT4 lab=SELECT4} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 700 -1090 0 0 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1220 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1090 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 700 -1220 0 0 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1230 -1220 0 1 {name=M16 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_g5v0d10v5 +spiceprefix=X +} +C {devices/gnd.sym} 1190 -1220 0 0 {name=l10 lab=VGND} +C {devices/gnd.sym} 740 -1090 0 0 {name=l11 lab=VGND} +C {devices/gnd.sym} 720 -1050 0 0 {name=l12 lab=VGND} +C {devices/iopin.sym} 1320 -1190 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/iopin.sym} 790 -1050 0 0 {name=p1 lab=VGND}
diff --git a/xschem/sky130_hilas_drainSelect01.sym b/xschem/sky130_hilas_drainSelect01.sym new file mode 100644 index 0000000..f0c7ba6 --- /dev/null +++ b/xschem/sky130_hilas_drainSelect01.sym
@@ -0,0 +1,49 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -50 130 -50 {} +L 4 -130 50 130 50 {} +L 4 -130 -50 -130 50 {} +L 4 130 -50 130 50 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 4 -150 20 -130 20 {} +L 4 -150 40 -130 40 {} +L 4 0 50 0 70 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +B 5 -152.5 -42.5 -147.5 -37.5 {name=VINJ dir=in } +B 5 147.5 -42.5 152.5 -37.5 {name=DRAIN_MUX dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=SELECT1 dir=in } +B 5 147.5 -22.5 152.5 -17.5 {name=DRAIN1 dir=inout } +B 5 -152.5 -2.5 -147.5 2.5 {name=SELECT2 dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=DRAIN2 dir=inout } +B 5 -152.5 17.5 -147.5 22.5 {name=SELECT3 dir=in } +B 5 147.5 17.5 152.5 22.5 {name=DRAIN3 dir=inout } +B 5 -152.5 37.5 -147.5 42.5 {name=SELECT4 dir=in } +B 5 147.5 37.5 152.5 42.5 {name=DRAIN4 dir=inout } +B 5 -2.5 67.5 2.5 72.5 {name=VGND dir=inout} +T {drainSelect01} -56.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -62 0 0 0.2 0.2 {} +T {VINJ} -125 -44 0 0 0.2 0.2 {} +T {DRAIN_MUX} 125 -44 0 1 0.2 0.2 {} +T {SELECT1} -125 -24 0 0 0.2 0.2 {} +T {DRAIN1} 125 -24 0 1 0.2 0.2 {} +T {SELECT2} -125 -4 0 0 0.2 0.2 {} +T {DRAIN2} 125 -4 0 1 0.2 0.2 {} +T {SELECT3} -125 16 0 0 0.2 0.2 {} +T {DRAIN3} 125 16 0 1 0.2 0.2 {} +T {SELECT4} -125 36 0 0 0.2 0.2 {} +T {DRAIN4} 125 36 0 1 0.2 0.2 {} +T {VGND} -15 36 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_nFETLarge.sch b/xschem/sky130_hilas_nFETLarge.sch new file mode 100644 index 0000000..395e476 --- /dev/null +++ b/xschem/sky130_hilas_nFETLarge.sch
@@ -0,0 +1,30 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1030 -1170 1110 -1170 {lab=DRAIN} +N 1030 -1140 1050 -1140 {lab=VGND} +N 950 -1140 990 -1140 {lab=GATE} +N 1030 -1110 1110 -1110 {lab=SOURCE} +N 1050 -1140 1110 -1140 {} +C {sky130_fd_pr/nfet_01v8.sym} 1010 -1140 0 0 {name=M3 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=nfet_01v8 +spiceprefix=X +} +C {devices/gnd.sym} 1050 -1140 0 0 {name=l4 lab=VGND} +C {devices/ipin.sym} 950 -1140 0 0 {name=GATE lab=GATE} +C {devices/iopin.sym} 1110 -1170 0 0 {name=DRAIN1N lab=DRAIN} +C {devices/iopin.sym} 1110 -1110 0 0 {name=SOURCE lab=SOURCE} +C {devices/iopin.sym} 1110 -1140 0 0 {name=VGND lab=VGND}
diff --git a/xschem/sky130_hilas_nFETLarge.sym b/xschem/sky130_hilas_nFETLarge.sym new file mode 100644 index 0000000..5d8734e --- /dev/null +++ b/xschem/sky130_hilas_nFETLarge.sym
@@ -0,0 +1,28 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -30 130 -30 {} +L 4 -130 30 130 30 {} +L 4 -130 -30 -130 30 {} +L 4 130 -30 130 30 {} +L 4 -150 -20 -130 -20 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +B 5 147.5 -22.5 152.5 -17.5 {name=DRAIN dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=GATE dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=VGND dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=SOURCE dir=inout } +T {nFETLarge} -117 -6 0 0 0.3 0.3 {} +T {@name} 135 -42 0 0 0.2 0.2 {} +T {DRAIN} 125 -24 0 1 0.2 0.2 {} +T {GATE} -125 -24 0 0 0.2 0.2 {} +T {VGND} 125 -4 0 1 0.2 0.2 {} +T {SOURCE} 125 16 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_pFETLarge.sch b/xschem/sky130_hilas_pFETLarge.sch new file mode 100644 index 0000000..7bd0c0c --- /dev/null +++ b/xschem/sky130_hilas_pFETLarge.sch
@@ -0,0 +1,28 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1380 -1150 1420 -1150 { lab=GATE} +N 1460 -1150 1510 -1150 { lab=WELL} +N 1460 -1180 1540 -1180 { lab=DRAIN} +N 1460 -1120 1540 -1120 { lab=SOURCE} +C {devices/iopin.sym} 1510 -1150 0 0 {name=WELL lab=WELL} +C {sky130_fd_pr/pfet_01v8.sym} 1440 -1150 0 0 {name=M1 +L=0.15 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_01v8 +spiceprefix=X +} +C {devices/iopin.sym} 1540 -1120 0 0 {name=SOURCE lab=SOURCE} +C {devices/ipin.sym} 1380 -1150 0 0 {name=GATE lab=GATE} +C {devices/iopin.sym} 1540 -1180 0 0 {name=DRAIN lab=DRAIN}
diff --git a/xschem/sky130_hilas_pFETLarge.sym b/xschem/sky130_hilas_pFETLarge.sym new file mode 100644 index 0000000..43de973 --- /dev/null +++ b/xschem/sky130_hilas_pFETLarge.sym
@@ -0,0 +1,28 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -30 130 -30 {} +L 4 -130 30 130 30 {} +L 4 -130 -30 -130 30 {} +L 4 130 -30 130 30 {} +L 4 -150 -20 -130 -20 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +B 5 147.5 -22.5 152.5 -17.5 {name=DRAIN dir=inout } +B 5 -152.5 -22.5 -147.5 -17.5 {name=GATE dir=in } +B 5 147.5 -2.5 152.5 2.5 {name=WELL dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=SOURCE dir=inout } +T {pFETLarge} -38.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -42 0 0 0.2 0.2 {} +T {DRAIN} 125 -24 0 1 0.2 0.2 {} +T {GATE} -125 -24 0 0 0.2 0.2 {} +T {WELL} 125 -4 0 1 0.2 0.2 {} +T {SOURCE} 125 16 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_polyresistorGND.sch b/xschem/sky130_hilas_polyresistorGND.sch new file mode 100644 index 0000000..bbd1c15 --- /dev/null +++ b/xschem/sky130_hilas_polyresistorGND.sch
@@ -0,0 +1,27 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 1050 -1170 1050 -1140 { lab=VGND} +N 1050 -1190 1050 -1170 { lab=VGND} +N 1050 -1260 1050 -1250 { lab=OUTPUT} +N 1050 -1260 1140 -1260 { lab=OUTPUT} +N 1050 -1170 1130 -1170 { lab=VGND} +N 1050 -1340 1050 -1320 {} +N 1010 -1340 1050 -1340 {} +C {devices/gnd.sym} 1050 -1140 0 0 {name=l4 lab=VGND} +C {devices/iopin.sym} 1140 -1260 0 0 {name=OUTPUT lab=OUTPUT} +C {devices/res.sym} 1050 -1220 0 0 {name=R1 +value=100k +footprint=1206 +device=resistor +m=1} +C {devices/iopin.sym} 1120 -1170 0 0 {name=p1 lab=VGND} +C {devices/res.sym} 1050 -1290 0 0 {name=R2 +value=100 +footprint=1206 +device=resistor +m=1} +C {devices/iopin.sym} 1010 -1340 0 1 {name=INPUT lab=INPUT}
diff --git a/xschem/sky130_hilas_polyresistorGND.sym b/xschem/sky130_hilas_polyresistorGND.sym new file mode 100644 index 0000000..20b99ea --- /dev/null +++ b/xschem/sky130_hilas_polyresistorGND.sym
@@ -0,0 +1,25 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +template="name=x1" +verilog_primitive=true +} +V {} +S {} +E {} +L 4 -130 -10 130 -10 {} +L 4 -130 30 130 30 {} +L 4 -130 -10 -130 30 {} +L 4 130 -10 130 30 {} +L 7 -150 10 -130 10 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +B 5 -152.5 7.5 -147.5 12.5 {name=INPUT dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=OUTPUT dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=VGND dir=inout } +T {polyresistorGND} -64 4 0 0 0.3 0.3 {} +T {@name} 135 -22 0 0 0.2 0.2 {} +T {INPUT} -95 6 0 1 0.2 0.2 {} +T {OUTPUT} 125 -4 0 1 0.2 0.2 {} +T {VGND} 125 16 0 1 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_swc4x1BiasCell.sch b/xschem/sky130_hilas_swc4x1BiasCell.sch new file mode 100644 index 0000000..997bd68 --- /dev/null +++ b/xschem/sky130_hilas_swc4x1BiasCell.sch
@@ -0,0 +1,361 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 790 -910 820 -910 { lab=#net1} +N 750 -860 750 -850 { lab=GATE1} +N 750 -850 790 -850 { lab=GATE1} +N 630 -910 790 -910 { lab=#net1} +N 630 -850 670 -850 { lab=VTUN} +N 630 -860 630 -850 { lab=VTUN} +N 600 -910 630 -910 { lab=#net1} +N 560 -960 560 -940 { lab=#net2} +N 900 -1040 900 -830 { lab=VPWR} +N 440 -800 940 -800 { lab=ROW4} +N 900 -830 900 -780 { lab=VPWR} +N 860 -880 860 -800 { lab=ROW4} +N 860 -940 900 -940 { lab=VPWR} +N 750 -850 750 -780 { lab=GATE1} +N 750 -1040 750 -850 { lab=GATE1} +N 670 -860 670 -850 { lab=VTUN} +N 670 -850 670 -780 { lab=VTUN} +N 670 -1040 670 -850 { lab=VTUN} +N 520 -1040 520 -990 { lab=COLSEL1} +N 520 -1040 520 -780 { lab=COLSEL1} +N 560 -880 560 -820 { lab=DRAIN4} +N 440 -820 560 -820 { lab=DRAIN4} +N 560 -820 710 -820 { lab=DRAIN4} +N 710 -820 810 -820 { lab=DRAIN4} +N 810 -820 880 -820 { lab=DRAIN4} +N 880 -820 940 -820 { lab=DRAIN4} +N 490 -1040 490 -780 { lab=VINJ} +N 490 -1020 560 -1020 { lab=VINJ} +N 790 -1170 820 -1170 { lab=#net3} +N 750 -1120 750 -1110 { lab=GATE1} +N 750 -1110 790 -1110 { lab=GATE1} +N 630 -1170 790 -1170 { lab=#net3} +N 630 -1110 670 -1110 { lab=VTUN} +N 630 -1120 630 -1110 { lab=VTUN} +N 600 -1170 630 -1170 { lab=#net3} +N 560 -1220 560 -1200 { lab=#net4} +N 900 -1300 900 -1090 { lab=VPWR} +N 440 -1060 940 -1060 { lab=ROW3} +N 900 -1090 900 -1040 { lab=VPWR} +N 860 -1140 860 -1060 { lab=ROW3} +N 860 -1200 900 -1200 { lab=VPWR} +N 750 -1110 750 -1040 { lab=GATE1} +N 750 -1300 750 -1110 { lab=GATE1} +N 670 -1120 670 -1110 { lab=VTUN} +N 670 -1110 670 -1040 { lab=VTUN} +N 670 -1300 670 -1110 { lab=VTUN} +N 520 -1300 520 -1250 { lab=COLSEL1} +N 520 -1300 520 -1040 { lab=COLSEL1} +N 560 -1140 560 -1080 { lab=DRAIN3} +N 440 -1080 560 -1080 { lab=DRAIN3} +N 560 -1080 710 -1080 { lab=DRAIN3} +N 710 -1080 810 -1080 { lab=DRAIN3} +N 810 -1080 880 -1080 { lab=DRAIN3} +N 880 -1080 940 -1080 { lab=DRAIN3} +N 490 -1300 490 -1040 { lab=VINJ} +N 490 -1280 560 -1280 { lab=VINJ} +N 790 -1430 820 -1430 { lab=#net5} +N 750 -1380 750 -1370 { lab=GATE1} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1430 790 -1430 { lab=#net5} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 630 -1430 { lab=#net5} +N 560 -1480 560 -1460 { lab=#net6} +N 900 -1560 900 -1350 { lab=VPWR} +N 440 -1320 940 -1320 { lab=ROW2} +N 900 -1350 900 -1300 { lab=VPWR} +N 860 -1400 860 -1320 { lab=ROW2} +N 860 -1460 900 -1460 { lab=VPWR} +N 750 -1370 750 -1300 { lab=GATE1} +N 750 -1560 750 -1370 { lab=GATE1} +N 670 -1380 670 -1370 { lab=VTUN} +N 670 -1370 670 -1300 { lab=VTUN} +N 670 -1560 670 -1370 { lab=VTUN} +N 520 -1560 520 -1510 { lab=COLSEL1} +N 520 -1560 520 -1300 { lab=COLSEL1} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 440 -1340 560 -1340 { lab=DRAIN2} +N 560 -1340 710 -1340 { lab=DRAIN2} +N 710 -1340 810 -1340 { lab=DRAIN2} +N 810 -1340 880 -1340 { lab=DRAIN2} +N 880 -1340 940 -1340 { lab=DRAIN2} +N 490 -1560 490 -1300 { lab=VINJ} +N 490 -1540 560 -1540 { lab=VINJ} +N 790 -1690 820 -1690 { lab=#net7} +N 750 -1640 750 -1630 { lab=GATE1} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1690 790 -1690 { lab=#net7} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 630 -1690 { lab=#net7} +N 560 -1740 560 -1720 { lab=#net8} +N 900 -1820 900 -1610 { lab=VPWR} +N 440 -1580 940 -1580 { lab=ROW1} +N 900 -1610 900 -1560 { lab=VPWR} +N 860 -1660 860 -1580 { lab=ROW1} +N 860 -1720 900 -1720 { lab=VPWR} +N 750 -1630 750 -1560 { lab=GATE1} +N 750 -1820 750 -1630 { lab=GATE1} +N 670 -1640 670 -1630 { lab=VTUN} +N 670 -1630 670 -1560 { lab=VTUN} +N 670 -1820 670 -1630 { lab=VTUN} +N 520 -1820 520 -1770 { lab=COLSEL1} +N 520 -1820 520 -1560 { lab=COLSEL1} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 440 -1600 560 -1600 { lab=DRAIN1} +N 560 -1600 710 -1600 { lab=DRAIN1} +N 710 -1600 810 -1600 { lab=DRAIN1} +N 810 -1600 880 -1600 { lab=DRAIN1} +N 880 -1600 940 -1600 { lab=DRAIN1} +N 490 -1820 490 -1560 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 440 -1600 { lab=DRAIN1} +N 420 -1580 450 -1580 { lab=ROW1} +N 420 -1340 450 -1340 { lab=DRAIN2} +N 420 -1320 450 -1320 { lab=ROW2} +N 420 -1600 450 -1600 { lab=DRAIN1} +N 420 -1080 450 -1080 { lab=DRAIN3} +N 420 -1060 450 -1060 { lab=ROW3} +N 420 -820 450 -820 { lab=DRAIN4} +N 420 -800 450 -800 { lab=ROW4} +N 900 -1830 900 -1810 { lab=VPWR} +N 750 -1830 750 -1810 { lab=GATE1} +N 670 -1830 670 -1810 { lab=VTUN} +N 520 -1830 520 -1810 { lab=COLSEL1} +N 490 -1850 490 -1820 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 540 -1540 570 -1540 { lab=VINJ} +N 490 -1170 560 -1170 { lab=VINJ} +N 560 -1250 570 -1250 { lab=VINJ} +N 570 -1280 570 -1250 { lab=VINJ} +N 540 -1280 570 -1280 { lab=VINJ} +N 490 -910 570 -910 { lab=VINJ} +N 560 -990 570 -990 { lab=VINJ} +N 570 -1020 570 -990 { lab=VINJ} +N 540 -1020 570 -1020 { lab=VINJ} +N 490 -830 880 -830 { lab=VINJ} +N 880 -910 880 -830 { lab=VINJ} +N 860 -910 880 -910 { lab=VINJ} +N 860 -1170 880 -1170 { lab=VINJ} +N 880 -1170 880 -1090 { lab=VINJ} +N 490 -1090 880 -1090 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1830 { lab=COLSEL1} +N 520 -1840 550 -1840 { lab=COLSEL1} +N 900 -1830 920 -1830 { lab=VPWR} +N 670 -1840 670 -1830 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 360 -1780 370 -1780 { lab=VGND} +N 360 -1780 360 -1740 { lab=VGND} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -910 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -880 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -910 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -880 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -990 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1170 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1140 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1170 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1140 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1250 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1580 0 0 {name=ROW1 lab=ROW1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 430 -1320 0 0 {name=ROW2 lab=ROW2} +C {devices/ipin.sym} 430 -1080 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 430 -1060 0 0 {name=ROW3 lab=ROW3} +C {devices/ipin.sym} 430 -820 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/ipin.sym} 430 -800 0 0 {name=DRAIN5 lab=ROW4} +C {devices/iopin.sym} 920 -1830 0 0 {name=VPWR lab=VPWR} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=COLSEL1 lab=COLSEL1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {devices/iopin.sym} 370 -1780 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 360 -1740 0 0 {name=l1 lab=VGND}
diff --git a/xschem/sky130_hilas_swc4x1BiasCell.sym b/xschem/sky130_hilas_swc4x1BiasCell.sym new file mode 100644 index 0000000..f6fb72a --- /dev/null +++ b/xschem/sky130_hilas_swc4x1BiasCell.sym
@@ -0,0 +1,58 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -80 130 -80 {} +L 4 -130 80 130 80 {} +L 4 -130 -80 -130 80 {} +L 4 130 -80 130 80 {} +L 4 -150 -70 -130 -70 {} +L 4 -150 -50 -130 -50 {} +L 4 -150 -30 -130 -30 {} +L 4 -150 -10 -130 -10 {} +L 4 -150 10 -130 10 {} +L 4 -150 30 -130 30 {} +L 4 -150 50 -130 50 {} +L 4 -150 70 -130 70 {} +L 7 130 -70 150 -70 {} +L 7 130 -50 150 -50 {} +L 7 130 -30 150 -30 {} +L 7 130 -10 150 -10 {} +L 7 130 10 150 10 {} +L 7 130 30 150 30 {} +B 5 147.5 -72.5 152.5 -67.5 {name=VINJ dir=inout } +B 5 147.5 -52.5 152.5 -47.5 {name=COLSEL1 dir=inout } +B 5 147.5 -32.5 152.5 -27.5 {name=VTUN dir=inout } +B 5 147.5 -12.5 152.5 -7.5 {name=VPWR dir=inout } +B 5 147.5 7.5 152.5 12.5 {name=GATE1 dir=inout } +B 5 147.5 27.5 152.5 32.5 {name=VGND dir=inout } +B 5 -152.5 -72.5 -147.5 -67.5 {name=DRAIN1 dir=in } +B 5 -152.5 -52.5 -147.5 -47.5 {name=ROW1 dir=in } +B 5 -152.5 -32.5 -147.5 -27.5 {name=DRAIN2 dir=in } +B 5 -152.5 -12.5 -147.5 -7.5 {name=ROW2 dir=in } +B 5 -152.5 7.5 -147.5 12.5 {name=DRAIN3 dir=in } +B 5 -152.5 27.5 -147.5 32.5 {name=ROW3 dir=in } +B 5 -152.5 47.5 -147.5 52.5 {name=DRAIN4 dir=in } +B 5 -152.5 67.5 -147.5 72.5 {name=ROW4 dir=in } +T {swc4x1BiasCell} -49.5 4 0 0 0.3 0.3 {} +T {@name} 135 -92 0 0 0.2 0.2 {} +T {VINJ} 125 -74 0 1 0.2 0.2 {} +T {COLSEL1} 125 -54 0 1 0.2 0.2 {} +T {VTUN} 125 -34 0 1 0.2 0.2 {} +T {VPWR} 125 -14 0 1 0.2 0.2 {} +T {GATE1} 125 6 0 1 0.2 0.2 {} +T {VGND} 125 26 0 1 0.2 0.2 {} +T {DRAIN1} -125 -74 0 0 0.2 0.2 {} +T {ROW1} -125 -54 0 0 0.2 0.2 {} +T {DRAIN2} -125 -34 0 0 0.2 0.2 {} +T {ROW2} -125 -14 0 0 0.2 0.2 {} +T {DRAIN3} -125 6 0 0 0.2 0.2 {} +T {ROW3} -125 26 0 0 0.2 0.2 {} +T {DRAIN4} -125 46 0 0 0.2 0.2 {} +T {ROW4} -125 66 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_hilas_swc4x2cell.sch b/xschem/sky130_hilas_swc4x2cell.sch new file mode 100644 index 0000000..ea20480 --- /dev/null +++ b/xschem/sky130_hilas_swc4x2cell.sch
@@ -0,0 +1,691 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {} +V {} +S {} +E {} +N 790 -910 820 -910 { lab=#net1} +N 750 -860 750 -850 { lab=GATE1} +N 750 -850 790 -850 { lab=GATE1} +N 630 -910 790 -910 { lab=#net1} +N 630 -850 670 -850 { lab=VTUN} +N 630 -860 630 -850 { lab=VTUN} +N 600 -910 630 -910 { lab=#net1} +N 560 -960 560 -940 { lab=#net2} +N 900 -1040 900 -830 { lab=COL1} +N 440 -800 940 -800 { lab=ROW4} +N 900 -830 900 -780 { lab=COL1} +N 860 -880 860 -800 { lab=ROW4} +N 860 -940 900 -940 { lab=COL1} +N 750 -850 750 -780 { lab=GATE1} +N 750 -1040 750 -850 { lab=GATE1} +N 670 -860 670 -850 { lab=VTUN} +N 670 -850 670 -780 { lab=VTUN} +N 670 -1040 670 -850 { lab=VTUN} +N 520 -1040 520 -990 { lab=GATESELECT1} +N 520 -1040 520 -780 { lab=GATESELECT1} +N 560 -880 560 -820 { lab=DRAIN4} +N 440 -820 560 -820 { lab=DRAIN4} +N 560 -820 710 -820 { lab=DRAIN4} +N 710 -820 810 -820 { lab=DRAIN4} +N 810 -820 880 -820 { lab=DRAIN4} +N 880 -820 940 -820 { lab=DRAIN4} +N 490 -1040 490 -780 { lab=VINJ} +N 490 -1020 560 -1020 { lab=VINJ} +N 790 -1170 820 -1170 { lab=#net3} +N 750 -1120 750 -1110 { lab=GATE1} +N 750 -1110 790 -1110 { lab=GATE1} +N 630 -1170 790 -1170 { lab=#net3} +N 630 -1110 670 -1110 { lab=VTUN} +N 630 -1120 630 -1110 { lab=VTUN} +N 600 -1170 630 -1170 { lab=#net3} +N 560 -1220 560 -1200 { lab=#net4} +N 900 -1300 900 -1090 { lab=COL1} +N 440 -1060 940 -1060 { lab=ROW3} +N 900 -1090 900 -1040 { lab=COL1} +N 860 -1140 860 -1060 { lab=ROW3} +N 860 -1200 900 -1200 { lab=COL1} +N 750 -1110 750 -1040 { lab=GATE1} +N 750 -1300 750 -1110 { lab=GATE1} +N 670 -1120 670 -1110 { lab=VTUN} +N 670 -1110 670 -1040 { lab=VTUN} +N 670 -1300 670 -1110 { lab=VTUN} +N 520 -1300 520 -1250 { lab=GATESELECT1} +N 520 -1300 520 -1040 { lab=GATESELECT1} +N 560 -1140 560 -1080 { lab=DRAIN3} +N 440 -1080 560 -1080 { lab=DRAIN3} +N 560 -1080 710 -1080 { lab=DRAIN3} +N 710 -1080 810 -1080 { lab=DRAIN3} +N 810 -1080 880 -1080 { lab=DRAIN3} +N 880 -1080 940 -1080 { lab=DRAIN3} +N 490 -1300 490 -1040 { lab=VINJ} +N 490 -1280 560 -1280 { lab=VINJ} +N 790 -1430 820 -1430 { lab=#net5} +N 750 -1380 750 -1370 { lab=GATE1} +N 750 -1370 790 -1370 { lab=GATE1} +N 630 -1430 790 -1430 { lab=#net5} +N 630 -1370 670 -1370 { lab=VTUN} +N 630 -1380 630 -1370 { lab=VTUN} +N 600 -1430 630 -1430 { lab=#net5} +N 560 -1480 560 -1460 { lab=#net6} +N 900 -1560 900 -1350 { lab=COL1} +N 440 -1320 940 -1320 { lab=ROW2} +N 900 -1350 900 -1300 { lab=COL1} +N 860 -1400 860 -1320 { lab=ROW2} +N 860 -1460 900 -1460 { lab=COL1} +N 750 -1370 750 -1300 { lab=GATE1} +N 750 -1560 750 -1370 { lab=GATE1} +N 670 -1380 670 -1370 { lab=VTUN} +N 670 -1370 670 -1300 { lab=VTUN} +N 670 -1560 670 -1370 { lab=VTUN} +N 520 -1560 520 -1510 { lab=GATESELECT1} +N 520 -1560 520 -1300 { lab=GATESELECT1} +N 560 -1400 560 -1340 { lab=DRAIN2} +N 440 -1340 560 -1340 { lab=DRAIN2} +N 560 -1340 710 -1340 { lab=DRAIN2} +N 710 -1340 810 -1340 { lab=DRAIN2} +N 810 -1340 880 -1340 { lab=DRAIN2} +N 880 -1340 940 -1340 { lab=DRAIN2} +N 490 -1560 490 -1300 { lab=VINJ} +N 490 -1540 560 -1540 { lab=VINJ} +N 790 -1690 820 -1690 { lab=#net7} +N 750 -1640 750 -1630 { lab=GATE1} +N 750 -1630 790 -1630 { lab=GATE1} +N 630 -1690 790 -1690 { lab=#net7} +N 630 -1630 670 -1630 { lab=VTUN} +N 630 -1640 630 -1630 { lab=VTUN} +N 600 -1690 630 -1690 { lab=#net7} +N 560 -1740 560 -1720 { lab=#net8} +N 900 -1820 900 -1610 { lab=COL1} +N 440 -1580 940 -1580 { lab=ROW1} +N 900 -1610 900 -1560 { lab=COL1} +N 860 -1660 860 -1580 { lab=ROW1} +N 860 -1720 900 -1720 { lab=COL1} +N 750 -1630 750 -1560 { lab=GATE1} +N 750 -1820 750 -1630 { lab=GATE1} +N 670 -1640 670 -1630 { lab=VTUN} +N 670 -1630 670 -1560 { lab=VTUN} +N 670 -1820 670 -1630 { lab=VTUN} +N 520 -1820 520 -1770 { lab=GATESELECT1} +N 520 -1820 520 -1560 { lab=GATESELECT1} +N 560 -1660 560 -1600 { lab=DRAIN1} +N 440 -1600 560 -1600 { lab=DRAIN1} +N 560 -1600 710 -1600 { lab=DRAIN1} +N 710 -1600 810 -1600 { lab=DRAIN1} +N 810 -1600 880 -1600 { lab=DRAIN1} +N 880 -1600 940 -1600 { lab=DRAIN1} +N 490 -1820 490 -1560 { lab=VINJ} +N 490 -1800 560 -1800 { lab=VINJ} +N 420 -1600 440 -1600 { lab=DRAIN1} +N 420 -1580 450 -1580 { lab=ROW1} +N 420 -1340 450 -1340 { lab=DRAIN2} +N 420 -1320 450 -1320 { lab=ROW2} +N 420 -1600 450 -1600 { lab=DRAIN1} +N 420 -1080 450 -1080 { lab=DRAIN3} +N 420 -1060 450 -1060 { lab=ROW3} +N 420 -820 450 -820 { lab=DRAIN4} +N 420 -800 450 -800 { lab=ROW4} +N 900 -1830 900 -1810 { lab=COL1} +N 750 -1830 750 -1810 { lab=GATE1} +N 670 -1830 670 -1810 { lab=VTUN} +N 520 -1830 520 -1810 { lab=GATESELECT1} +N 490 -1850 490 -1820 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 480 -1850 490 -1830 { lab=VINJ} +N 560 -1800 560 -1770 { lab=VINJ} +N 560 -1780 570 -1780 { lab=VINJ} +N 570 -1800 570 -1780 { lab=VINJ} +N 560 -1800 570 -1800 { lab=VINJ} +N 490 -1690 560 -1690 { lab=VINJ} +N 490 -1430 560 -1430 { lab=VINJ} +N 560 -1510 570 -1510 { lab=VINJ} +N 570 -1540 570 -1510 { lab=VINJ} +N 540 -1540 570 -1540 { lab=VINJ} +N 490 -1170 560 -1170 { lab=VINJ} +N 560 -1250 570 -1250 { lab=VINJ} +N 570 -1280 570 -1250 { lab=VINJ} +N 540 -1280 570 -1280 { lab=VINJ} +N 490 -910 570 -910 { lab=VINJ} +N 560 -990 570 -990 { lab=VINJ} +N 570 -1020 570 -990 { lab=VINJ} +N 540 -1020 570 -1020 { lab=VINJ} +N 490 -830 880 -830 { lab=VINJ} +N 880 -910 880 -830 { lab=VINJ} +N 860 -910 880 -910 { lab=VINJ} +N 860 -1170 880 -1170 { lab=VINJ} +N 880 -1170 880 -1090 { lab=VINJ} +N 490 -1090 880 -1090 { lab=VINJ} +N 860 -1430 880 -1430 { lab=VINJ} +N 880 -1430 880 -1350 { lab=VINJ} +N 490 -1350 880 -1350 { lab=VINJ} +N 860 -1690 880 -1690 { lab=VINJ} +N 880 -1690 880 -1610 { lab=VINJ} +N 490 -1610 880 -1610 { lab=VINJ} +N 520 -1840 520 -1830 { lab=GATESELECT1} +N 520 -1840 550 -1840 { lab=GATESELECT1} +N 900 -1830 920 -1830 { lab=COL1} +N 670 -1840 670 -1830 { lab=VTUN} +N 670 -1840 680 -1840 { lab=VTUN} +N 1290 -910 1320 -910 { lab=#net9} +N 1250 -860 1250 -850 { lab=GATE2} +N 1250 -850 1290 -850 { lab=GATE2} +N 1130 -910 1290 -910 { lab=#net9} +N 1130 -850 1170 -850 { lab=VTUN} +N 1130 -860 1130 -850 { lab=VTUN} +N 1100 -910 1130 -910 { lab=#net9} +N 1060 -960 1060 -940 { lab=#net10} +N 1400 -1040 1400 -830 { lab=COL2} +N 940 -800 1440 -800 { lab=ROW4} +N 1400 -830 1400 -780 { lab=COL2} +N 1360 -880 1360 -800 { lab=ROW4} +N 1360 -940 1400 -940 { lab=COL2} +N 1250 -850 1250 -780 { lab=GATE2} +N 1250 -1040 1250 -850 { lab=GATE2} +N 1170 -860 1170 -850 { lab=VTUN} +N 1170 -850 1170 -780 { lab=VTUN} +N 1170 -1040 1170 -850 { lab=VTUN} +N 1020 -1040 1020 -990 { lab=GATESELECT2} +N 1020 -1040 1020 -780 { lab=GATESELECT2} +N 1060 -880 1060 -820 { lab=DRAIN4} +N 940 -820 1060 -820 { lab=DRAIN4} +N 1060 -820 1210 -820 { lab=DRAIN4} +N 1210 -820 1310 -820 { lab=DRAIN4} +N 1310 -820 1380 -820 { lab=DRAIN4} +N 1380 -820 1440 -820 { lab=DRAIN4} +N 990 -1040 990 -780 { lab=VINJ} +N 990 -1020 1060 -1020 { lab=VINJ} +N 1290 -1170 1320 -1170 { lab=#net11} +N 1250 -1120 1250 -1110 { lab=GATE2} +N 1250 -1110 1290 -1110 { lab=GATE2} +N 1130 -1170 1290 -1170 { lab=#net11} +N 1130 -1110 1170 -1110 { lab=VTUN} +N 1130 -1120 1130 -1110 { lab=VTUN} +N 1100 -1170 1130 -1170 { lab=#net11} +N 1060 -1220 1060 -1200 { lab=#net12} +N 1400 -1300 1400 -1090 { lab=COL2} +N 940 -1060 1440 -1060 { lab=ROW3} +N 1400 -1090 1400 -1040 { lab=COL2} +N 1360 -1140 1360 -1060 { lab=ROW3} +N 1360 -1200 1400 -1200 { lab=COL2} +N 1250 -1110 1250 -1040 { lab=GATE2} +N 1250 -1300 1250 -1110 { lab=GATE2} +N 1170 -1120 1170 -1110 { lab=VTUN} +N 1170 -1110 1170 -1040 { lab=VTUN} +N 1170 -1300 1170 -1110 { lab=VTUN} +N 1020 -1300 1020 -1250 { lab=GATESELECT2} +N 1020 -1300 1020 -1040 { lab=GATESELECT2} +N 1060 -1140 1060 -1080 { lab=DRAIN3} +N 940 -1080 1060 -1080 { lab=DRAIN3} +N 1060 -1080 1210 -1080 { lab=DRAIN3} +N 1210 -1080 1310 -1080 { lab=DRAIN3} +N 1310 -1080 1380 -1080 { lab=DRAIN3} +N 1380 -1080 1440 -1080 { lab=DRAIN3} +N 990 -1300 990 -1040 { lab=VINJ} +N 990 -1280 1060 -1280 { lab=VINJ} +N 1290 -1430 1320 -1430 { lab=#net13} +N 1250 -1380 1250 -1370 { lab=GATE2} +N 1250 -1370 1290 -1370 { lab=GATE2} +N 1130 -1430 1290 -1430 { lab=#net13} +N 1130 -1370 1170 -1370 { lab=VTUN} +N 1130 -1380 1130 -1370 { lab=VTUN} +N 1100 -1430 1130 -1430 { lab=#net13} +N 1060 -1480 1060 -1460 { lab=#net14} +N 1400 -1560 1400 -1350 { lab=COL2} +N 940 -1320 1440 -1320 { lab=ROW2} +N 1400 -1350 1400 -1300 { lab=COL2} +N 1360 -1400 1360 -1320 { lab=ROW2} +N 1360 -1460 1400 -1460 { lab=COL2} +N 1250 -1370 1250 -1300 { lab=GATE2} +N 1250 -1560 1250 -1370 { lab=GATE2} +N 1170 -1380 1170 -1370 { lab=VTUN} +N 1170 -1370 1170 -1300 { lab=VTUN} +N 1170 -1560 1170 -1370 { lab=VTUN} +N 1020 -1560 1020 -1510 { lab=GATESELECT2} +N 1020 -1560 1020 -1300 { lab=GATESELECT2} +N 1060 -1400 1060 -1340 { lab=DRAIN2} +N 940 -1340 1060 -1340 { lab=DRAIN2} +N 1060 -1340 1210 -1340 { lab=DRAIN2} +N 1210 -1340 1310 -1340 { lab=DRAIN2} +N 1310 -1340 1380 -1340 { lab=DRAIN2} +N 1380 -1340 1440 -1340 { lab=DRAIN2} +N 990 -1560 990 -1300 { lab=VINJ} +N 990 -1540 1060 -1540 { lab=VINJ} +N 1290 -1690 1320 -1690 { lab=#net15} +N 1250 -1640 1250 -1630 { lab=GATE2} +N 1250 -1630 1290 -1630 { lab=GATE2} +N 1130 -1690 1290 -1690 { lab=#net15} +N 1130 -1630 1170 -1630 { lab=VTUN} +N 1130 -1640 1130 -1630 { lab=VTUN} +N 1100 -1690 1130 -1690 { lab=#net15} +N 1060 -1740 1060 -1720 { lab=#net16} +N 1400 -1820 1400 -1610 { lab=COL2} +N 940 -1580 1440 -1580 { lab=ROW1} +N 1400 -1610 1400 -1560 { lab=COL2} +N 1360 -1660 1360 -1580 { lab=ROW1} +N 1360 -1720 1400 -1720 { lab=COL2} +N 1250 -1630 1250 -1560 { lab=GATE2} +N 1250 -1820 1250 -1630 { lab=GATE2} +N 1170 -1640 1170 -1630 { lab=VTUN} +N 1170 -1630 1170 -1560 { lab=VTUN} +N 1170 -1820 1170 -1630 { lab=VTUN} +N 1020 -1820 1020 -1770 { lab=GATESELECT2} +N 1020 -1820 1020 -1560 { lab=GATESELECT2} +N 1060 -1660 1060 -1600 { lab=DRAIN1} +N 940 -1600 1060 -1600 { lab=DRAIN1} +N 1060 -1600 1210 -1600 { lab=DRAIN1} +N 1210 -1600 1310 -1600 { lab=DRAIN1} +N 1310 -1600 1380 -1600 { lab=DRAIN1} +N 1380 -1600 1440 -1600 { lab=DRAIN1} +N 990 -1820 990 -1560 { lab=VINJ} +N 990 -1800 1060 -1800 { lab=VINJ} +N 1400 -1830 1400 -1810 { lab=COL2} +N 1250 -1830 1250 -1810 { lab=GATE2} +N 1020 -1830 1020 -1810 { lab=GATESELECT2} +N 1060 -1800 1060 -1770 { lab=VINJ} +N 1060 -1780 1070 -1780 { lab=VINJ} +N 1070 -1800 1070 -1780 { lab=VINJ} +N 1060 -1800 1070 -1800 { lab=VINJ} +N 990 -1690 1060 -1690 { lab=VINJ} +N 990 -1430 1060 -1430 { lab=VINJ} +N 1060 -1510 1070 -1510 { lab=VINJ} +N 1070 -1540 1070 -1510 { lab=VINJ} +N 1040 -1540 1070 -1540 { lab=VINJ} +N 990 -1170 1060 -1170 { lab=VINJ} +N 1060 -1250 1070 -1250 { lab=VINJ} +N 1070 -1280 1070 -1250 { lab=VINJ} +N 1040 -1280 1070 -1280 { lab=VINJ} +N 990 -910 1070 -910 { lab=VINJ} +N 1060 -990 1070 -990 { lab=VINJ} +N 1070 -1020 1070 -990 { lab=VINJ} +N 1040 -1020 1070 -1020 { lab=VINJ} +N 990 -830 1380 -830 { lab=VINJ} +N 1380 -910 1380 -830 { lab=VINJ} +N 1360 -910 1380 -910 { lab=VINJ} +N 1360 -1170 1380 -1170 { lab=VINJ} +N 1380 -1170 1380 -1090 { lab=VINJ} +N 990 -1090 1380 -1090 { lab=VINJ} +N 1360 -1430 1380 -1430 { lab=VINJ} +N 1380 -1430 1380 -1350 { lab=VINJ} +N 990 -1350 1380 -1350 { lab=VINJ} +N 1360 -1690 1380 -1690 { lab=VINJ} +N 1380 -1690 1380 -1610 { lab=VINJ} +N 990 -1610 1380 -1610 { lab=VINJ} +N 1020 -1840 1020 -1830 { lab=GATESELECT2} +N 1020 -1840 1050 -1840 { lab=GATESELECT2} +N 1400 -1830 1420 -1830 { lab=COL2} +N 880 -1690 990 -1690 { lab=VINJ} +N 1170 -1870 1170 -1820 { lab=VTUN} +N 670 -1870 1170 -1870 { lab=VTUN} +N 670 -1870 670 -1840 { lab=VTUN} +N 340 -1780 370 -1780 {} +N 340 -1780 340 -1730 {} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -910 0 0 {name=M3 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -880 0 0 {name=C1 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -910 0 1 {name=M5 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -880 0 1 {name=C2 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -990 0 0 {name=M1 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1170 0 0 {name=M2 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1140 0 0 {name=C3 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1170 0 1 {name=M4 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1140 0 1 {name=C4 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1250 0 0 {name=M6 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1430 0 0 {name=M7 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1400 0 0 {name=C5 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1430 0 1 {name=M8 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1400 0 1 {name=C6 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1510 0 0 {name=M9 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 840 -1690 0 0 {name=M10 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 790 -1660 0 0 {name=C7 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 580 -1690 0 1 {name=M11 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 630 -1660 0 1 {name=C8 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 540 -1770 0 0 {name=M12 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/ipin.sym} 430 -1600 0 0 {name=DRAIN1 lab=DRAIN1} +C {devices/ipin.sym} 430 -1580 0 0 {name=ROW1 lab=ROW1} +C {devices/ipin.sym} 430 -1340 0 0 {name=DRAIN2 lab=DRAIN2} +C {devices/ipin.sym} 430 -1320 0 0 {name=ROW2 lab=ROW2} +C {devices/ipin.sym} 430 -1080 0 0 {name=DRAIN3 lab=DRAIN3} +C {devices/ipin.sym} 430 -1060 0 0 {name=ROW3 lab=ROW3} +C {devices/ipin.sym} 430 -820 0 0 {name=DRAIN4 lab=DRAIN4} +C {devices/ipin.sym} 430 -800 0 0 {name=DRAIN5 lab=ROW4} +C {devices/iopin.sym} 920 -1830 0 0 {name=COL1 lab=COL1} +C {devices/iopin.sym} 750 -1830 0 0 {name=GATE1 lab=GATE1} +C {devices/iopin.sym} 680 -1840 0 0 {name=VTUN lab=VTUN} +C {devices/iopin.sym} 550 -1840 0 0 {name=GATESELECT1 lab=GATESELECT1} +C {devices/iopin.sym} 480 -1850 0 0 {name=VINJ lab=VINJ} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1340 -910 0 0 {name=M13 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1290 -880 0 0 {name=C9 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1080 -910 0 1 {name=M14 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1130 -880 0 1 {name=C10 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -990 0 0 {name=M15 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1340 -1170 0 0 {name=M16 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1290 -1140 0 0 {name=C11 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1080 -1170 0 1 {name=M17 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1130 -1140 0 1 {name=C12 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1250 0 0 {name=M18 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1340 -1430 0 0 {name=M19 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1290 -1400 0 0 {name=C13 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1080 -1430 0 1 {name=M20 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1130 -1400 0 1 {name=C14 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1510 0 0 {name=M21 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1340 -1690 0 0 {name=M22 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1290 -1660 0 0 {name=C15 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1080 -1690 0 1 {name=M23 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {sky130_fd_pr/cap_var_hvt.sym} 1130 -1660 0 1 {name=C16 model=cap_var_hvt W=0.5 L=0.5 VM=1 spiceprefix=X} +C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1040 -1770 0 0 {name=M24 +L=0.5 +W=1 +nf=1 +mult=1 +ad="'int((nf+1)/2) * W/nf * 0.29'" +pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" +as="'int((nf+2)/2) * W/nf * 0.29'" +ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" +nrd="'0.29 / W'" nrs="'0.29 / W'" +sa=0 sb=0 sd=0 +model=pfet_g5v0d10v5 +spiceprefix=X +} +C {devices/iopin.sym} 1420 -1830 0 0 {name=COL2 lab=COL2} +C {devices/iopin.sym} 1250 -1830 0 0 {name=GATE2 lab=GATE2} +C {devices/iopin.sym} 1050 -1840 0 0 {name=GATESELECT2 lab=GATESELECT2} +C {devices/iopin.sym} 370 -1780 0 0 {name=VGND lab=VGND} +C {devices/gnd.sym} 340 -1730 0 0 {name=l1 lab=VGND}
diff --git a/xschem/sky130_hilas_swc4x2cell.sym b/xschem/sky130_hilas_swc4x2cell.sym new file mode 100644 index 0000000..4fdf0be --- /dev/null +++ b/xschem/sky130_hilas_swc4x2cell.sym
@@ -0,0 +1,67 @@ +v {xschem version=2.9.9 file_version=1.2 } +G {} +K {type=subcircuit +format="@name @pinlist @symname" +verilog_primitive=true +template="name=x1" +} +V {} +S {} +E {} +L 4 -130 -90 130 -90 {} +L 4 -130 90 130 90 {} +L 4 -130 -90 -130 90 {} +L 4 130 -90 130 90 {} +L 4 -150 -80 -130 -80 {} +L 4 -150 -60 -130 -60 {} +L 4 -150 -40 -130 -40 {} +L 4 -150 -20 -130 -20 {} +L 4 -150 0 -130 0 {} +L 4 -150 20 -130 20 {} +L 4 -150 40 -130 40 {} +L 4 -150 60 -130 60 {} +L 7 130 -80 150 -80 {} +L 7 130 -60 150 -60 {} +L 7 130 -40 150 -40 {} +L 7 130 -20 150 -20 {} +L 7 130 0 150 0 {} +L 7 130 20 150 20 {} +L 7 130 40 150 40 {} +L 7 130 60 150 60 {} +L 7 130 80 150 80 {} +B 5 147.5 -82.5 152.5 -77.5 {name=VINJ dir=inout } +B 5 147.5 -62.5 152.5 -57.5 {name=GATESELECT1 dir=inout } +B 5 147.5 -42.5 152.5 -37.5 {name=GATESELECT2 dir=inout } +B 5 147.5 -22.5 152.5 -17.5 {name=VTUN dir=inout } +B 5 147.5 -2.5 152.5 2.5 {name=GATE2 dir=inout } +B 5 147.5 17.5 152.5 22.5 {name=COL2 dir=inout } +B 5 147.5 37.5 152.5 42.5 {name=GATE1 dir=inout } +B 5 147.5 57.5 152.5 62.5 {name=COL1 dir=inout } +B 5 147.5 77.5 152.5 82.5 {name=VGND dir=inout } +B 5 -152.5 -82.5 -147.5 -77.5 {name=DRAIN1 dir=in } +B 5 -152.5 -62.5 -147.5 -57.5 {name=ROW1 dir=in } +B 5 -152.5 -42.5 -147.5 -37.5 {name=DRAIN2 dir=in } +B 5 -152.5 -22.5 -147.5 -17.5 {name=ROW2 dir=in } +B 5 -152.5 -2.5 -147.5 2.5 {name=DRAIN3 dir=in } +B 5 -152.5 17.5 -147.5 22.5 {name=ROW3 dir=in } +B 5 -152.5 37.5 -147.5 42.5 {name=DRAIN4 dir=in } +B 5 -152.5 57.5 -147.5 62.5 {name=ROW4 dir=in } +T {swc4x2cell} -61.5 14 0 0 0.3 0.3 {} +T {@name} 135 -102 0 0 0.2 0.2 {} +T {VINJ} 125 -84 0 1 0.2 0.2 {} +T {GATESELECT1} 125 -64 0 1 0.2 0.2 {} +T {GATESELECT2} 125 -44 0 1 0.2 0.2 {} +T {VTUN} 125 -24 0 1 0.2 0.2 {} +T {GATE2} 125 -4 0 1 0.2 0.2 {} +T {COL2} 125 16 0 1 0.2 0.2 {} +T {GATE1} 125 36 0 1 0.2 0.2 {} +T {COL1} 125 56 0 1 0.2 0.2 {} +T {VGND} 125 76 0 1 0.2 0.2 {} +T {DRAIN1} -125 -84 0 0 0.2 0.2 {} +T {ROW1} -125 -64 0 0 0.2 0.2 {} +T {DRAIN2} -125 -44 0 0 0.2 0.2 {} +T {ROW2} -125 -24 0 0 0.2 0.2 {} +T {DRAIN3} -125 -4 0 0 0.2 0.2 {} +T {ROW3} -125 16 0 0 0.2 0.2 {} +T {DRAIN4} -125 36 0 0 0.2 0.2 {} +T {ROW4} -125 56 0 0 0.2 0.2 {}