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 {}