adding tgate
diff --git a/mag/FG_pfet.mag b/mag/FG_pfet.mag
index 8547267..cb35cb6 100644
--- a/mag/FG_pfet.mag
+++ b/mag/FG_pfet.mag
@@ -1,7 +1,7 @@
 magic
 tech sky130B
 magscale 1 2
-timestamp 1647612247
+timestamp 1654453464
 << nwell >>
 rect -2563 3 -1710 540
 rect -1036 0 -310 534
@@ -88,18 +88,18 @@
 rect 1140 534 1314 542
 rect -874 496 -606 520
 rect -2218 460 -2036 490
-use sky130_fd_pr__pfet_g5v0d10v5_XFUK3A  sky130_fd_pr__pfet_g5v0d10v5_XFUK3A_0
-timestamp 1647612247
-transform 1 0 790 0 1 268
-box -424 -266 424 266
-use sky130_fd_pr__pfet_g5v0d10v5_TCBS39  sky130_fd_pr__pfet_g5v0d10v5_TCBS39_0
-timestamp 1647612247
-transform 1 0 -1924 0 1 268
-box -174 -166 174 166
 use sky130_fd_pr__pfet_g5v0d10v5_2PVZVF  sky130_fd_pr__pfet_g5v0d10v5_2PVZVF_0
-timestamp 1647612247
+timestamp 1647292059
 transform 1 0 -544 0 1 268
 box -174 -266 174 266
+use sky130_fd_pr__pfet_g5v0d10v5_TCBS39  sky130_fd_pr__pfet_g5v0d10v5_TCBS39_0
+timestamp 1647289276
+transform 1 0 -1924 0 1 268
+box -174 -166 174 166
+use sky130_fd_pr__pfet_g5v0d10v5_XFUK3A  sky130_fd_pr__pfet_g5v0d10v5_XFUK3A_0
+timestamp 1647286562
+transform 1 0 790 0 1 268
+box -424 -266 424 266
 << labels >>
 rlabel metal1 -806 520 -694 562 1 vd
 port 2 n analog bidirectional
diff --git a/mag/hv_tgate.mag b/mag/hv_tgate.mag
new file mode 100644
index 0000000..2080554
--- /dev/null
+++ b/mag/hv_tgate.mag
@@ -0,0 +1,335 @@
+magic
+tech sky130B
+magscale 1 2
+timestamp 1648694146
+<< nwell >>
+rect -5090 374 22294 1062
+rect -5090 350 42 374
+rect 62 350 22294 374
+rect -5090 306 22294 350
+<< pwell >>
+rect -5090 282 666 284
+rect -5090 -414 22154 282
+rect -5090 -416 666 -414
+rect -5090 -470 -98 -468
+<< mvpsubdiff >>
+rect -5058 -316 22056 -300
+rect -5058 -392 -5000 -316
+rect 22032 -392 22056 -316
+rect -5058 -408 22056 -392
+<< mvnsubdiff >>
+rect -5024 978 22228 996
+rect -5024 903 -4981 978
+rect -5024 902 60 903
+rect 22200 902 22228 978
+rect -5024 888 22228 902
+<< mvpsubdiffcont >>
+rect -5000 -392 22032 -316
+<< mvnsubdiffcont >>
+rect -4981 903 22200 978
+rect 60 902 22200 903
+<< locali >>
+rect -5024 978 22228 994
+rect -5024 902 -4982 978
+rect 22200 902 22228 978
+rect -5024 888 22228 902
+rect 44 886 22228 888
+rect -5016 -392 -5000 -316
+rect 22032 -392 22048 -316
+<< viali >>
+rect -4982 903 -4981 978
+rect -4981 903 22200 978
+rect -4982 902 60 903
+rect 60 902 22200 903
+rect -5000 -392 22032 -316
+<< metal1 >>
+rect -5090 978 22228 1046
+rect -5090 902 -5024 978
+rect -5090 886 22228 902
+rect -4990 582 -2990 886
+rect -2492 582 -492 886
+rect -412 796 22390 806
+rect -412 530 -386 796
+rect -5088 520 -5026 530
+rect -5088 438 -5084 520
+rect -5030 438 -5026 520
+rect -5088 430 -5026 438
+rect -2950 514 -2754 530
+rect -2950 446 -2840 514
+rect -2776 446 -2754 514
+rect -2950 430 -2754 446
+rect -2590 514 -2532 530
+rect -2590 446 -2584 514
+rect -2590 430 -2532 446
+rect -452 438 -386 530
+rect -308 646 22390 796
+rect -308 438 30 646
+rect 60 612 2080 618
+rect 60 542 66 612
+rect 2074 542 2080 612
+rect 60 536 2080 542
+rect -452 430 30 438
+rect 2110 434 2266 646
+rect 2296 612 4316 618
+rect 2296 542 2302 612
+rect 4310 542 4316 612
+rect 2296 536 4316 542
+rect 4346 434 4502 646
+rect 4532 612 6552 618
+rect 4532 542 4538 612
+rect 6546 542 6552 612
+rect 4532 536 6552 542
+rect 6582 434 6738 646
+rect 6768 612 8788 618
+rect 6768 542 6774 612
+rect 8782 542 8788 612
+rect 6768 536 8788 542
+rect 8818 434 8974 646
+rect 9004 612 11024 618
+rect 9004 542 9010 612
+rect 11018 542 11024 612
+rect 9004 536 11024 542
+rect 11054 434 11210 646
+rect 11240 612 13260 618
+rect 11240 542 11246 612
+rect 13254 542 13260 612
+rect 11240 536 13260 542
+rect 13290 434 13446 646
+rect 13476 612 15496 618
+rect 13476 542 13482 612
+rect 15490 542 15496 612
+rect 13476 536 15496 542
+rect 15526 434 15682 646
+rect 15712 612 17732 618
+rect 15712 542 15718 612
+rect 17726 542 17732 612
+rect 15712 536 17732 542
+rect 17762 434 17918 646
+rect 17948 612 19968 618
+rect 17948 542 17954 612
+rect 19962 542 19968 612
+rect 17948 536 19968 542
+rect 19998 434 20154 646
+rect 20184 612 22204 618
+rect 20184 542 20190 612
+rect 22198 542 22204 612
+rect 20184 536 22204 542
+rect 22234 434 22390 646
+rect -4964 336 -2990 378
+rect -4964 250 -4402 336
+rect -3934 250 -2990 336
+rect -4964 210 -2990 250
+rect -2854 346 -2754 430
+rect 22020 378 22390 384
+rect -2492 350 42 378
+rect -2492 346 56 350
+rect -2854 246 56 346
+rect -2492 219 56 246
+rect -2492 210 -504 219
+rect -5052 150 -4996 158
+rect -5052 58 -4996 66
+rect -2932 150 -2876 158
+rect -2932 58 -2876 66
+rect -2592 150 -2536 158
+rect -2592 58 -2536 66
+rect -472 150 -416 158
+rect -472 58 -416 66
+rect -4964 -310 -2964 6
+rect -2504 -310 -504 6
+rect -98 -92 56 219
+rect 88 210 22390 378
+rect 84 42 2092 46
+rect 84 -30 90 42
+rect 2088 -30 2092 42
+rect 84 -36 2092 -30
+rect 2120 -92 2274 154
+rect 2302 42 4310 46
+rect 2302 -30 2308 42
+rect 4306 -30 4310 42
+rect 2302 -36 4310 -30
+rect 4338 -92 4492 154
+rect 4520 42 6528 46
+rect 4520 -30 4526 42
+rect 6524 -30 6528 42
+rect 4520 -36 6528 -30
+rect 6556 -92 6710 154
+rect 6738 42 8746 46
+rect 6738 -30 6744 42
+rect 8742 -30 8746 42
+rect 6738 -36 8746 -30
+rect 8774 -92 8928 154
+rect 8956 42 10964 46
+rect 8956 -30 8962 42
+rect 10960 -30 10964 42
+rect 8956 -36 10964 -30
+rect 10992 -92 11146 154
+rect 11174 42 13182 46
+rect 11174 -30 11180 42
+rect 13178 -30 13182 42
+rect 11174 -36 13182 -30
+rect 13210 -92 13364 154
+rect 13392 42 15400 46
+rect 13392 -30 13398 42
+rect 15396 -30 15400 42
+rect 13392 -36 15400 -30
+rect 15428 -92 15582 154
+rect 15610 42 17618 46
+rect 15610 -30 15616 42
+rect 17614 -30 17618 42
+rect 15610 -36 17618 -30
+rect 17646 -92 17800 154
+rect 17828 42 19836 46
+rect 17828 -30 17834 42
+rect 19832 -30 19836 42
+rect 17828 -36 19836 -30
+rect 19864 -92 20018 154
+rect 20046 42 22054 46
+rect 20046 -30 20052 42
+rect 22050 -30 22054 42
+rect 20046 -36 22054 -30
+rect 22082 -92 22236 154
+rect -98 -252 22236 -92
+rect -5090 -316 22054 -310
+rect -5090 -392 -5000 -316
+rect 22032 -342 22054 -316
+rect -5090 -446 750 -392
+rect -5090 -470 22054 -446
+<< via1 >>
+rect -5024 902 -4982 978
+rect -4982 902 22200 978
+rect 22200 902 22228 978
+rect -5084 438 -5030 520
+rect -2840 446 -2776 514
+rect -2584 446 -2532 514
+rect -386 438 -308 796
+rect 66 542 2074 612
+rect 2302 542 4310 612
+rect 4538 542 6546 612
+rect 6774 542 8782 612
+rect 9010 542 11018 612
+rect 11246 542 13254 612
+rect 13482 542 15490 612
+rect 15718 542 17726 612
+rect 17954 542 19962 612
+rect 20190 542 22198 612
+rect -4402 250 -3934 336
+rect -5052 66 -4996 150
+rect -2932 66 -2876 150
+rect -2592 66 -2536 150
+rect -472 66 -416 150
+rect 90 -30 2088 42
+rect 2308 -30 4306 42
+rect 4526 -30 6524 42
+rect 6744 -30 8742 42
+rect 8962 -30 10960 42
+rect 11180 -30 13178 42
+rect 13398 -30 15396 42
+rect 15616 -30 17614 42
+rect 17834 -30 19832 42
+rect 20052 -30 22050 42
+rect 750 -392 22032 -342
+rect 22032 -392 22054 -342
+rect 750 -446 22054 -392
+<< metal2 >>
+rect -5090 978 22228 1046
+rect -5090 902 -5024 978
+rect -5090 886 22228 902
+rect -2694 796 -300 806
+rect -5090 520 -2770 530
+rect -5090 438 -5084 520
+rect -5030 514 -2770 520
+rect -5030 446 -2840 514
+rect -2776 446 -2770 514
+rect -5030 438 -2770 446
+rect -5090 430 -2770 438
+rect -2694 514 -386 796
+rect -2694 446 -2584 514
+rect -2532 446 -386 514
+rect -2694 438 -386 446
+rect -308 438 -300 796
+rect -2694 418 -300 438
+rect -126 612 22206 736
+rect -126 542 66 612
+rect 2074 542 2302 612
+rect 4310 542 4538 612
+rect 6546 542 6774 612
+rect 8782 542 9010 612
+rect 11018 542 11246 612
+rect 13254 542 13482 612
+rect 15490 542 15718 612
+rect 17726 542 17954 612
+rect 19962 542 20190 612
+rect 22198 542 22206 612
+rect -2694 384 -2492 418
+rect -4434 336 -2492 384
+rect -4434 250 -4402 336
+rect -3934 250 -2492 336
+rect -4434 204 -2492 250
+rect -5090 150 -2870 156
+rect -5090 66 -5052 150
+rect -4996 66 -2932 150
+rect -2876 66 -2870 150
+rect -5090 62 -2870 66
+rect -2938 60 -2870 62
+rect -2640 150 -410 156
+rect -2640 66 -2592 150
+rect -2536 66 -472 150
+rect -416 66 -410 150
+rect -2640 60 -410 66
+rect -2640 6 -2536 60
+rect -5090 -88 -2536 6
+rect -126 42 22206 542
+rect -126 -30 90 42
+rect 2088 -30 2308 42
+rect 4306 -30 4526 42
+rect 6524 -30 6744 42
+rect 8742 -30 8962 42
+rect 10960 -30 11180 42
+rect 13178 -30 13398 42
+rect 15396 -30 15616 42
+rect 17614 -30 17834 42
+rect 19832 -30 20052 42
+rect 22050 -30 22206 42
+rect -126 -128 22206 -30
+rect -5090 -152 22206 -128
+rect -5090 -416 660 -152
+rect 750 -342 22054 -300
+rect 750 -470 22054 -446
+use sky130_fd_pr__pfet_g5v0d10v5_WE88DU  sky130_fd_pr__pfet_g5v0d10v5_WE88DU_1
+timestamp 1648647696
+transform 0 1 -1492 -1 0 480
+box -174 -1100 174 1100
+use sky130_fd_pr__pfet_g5v0d10v5_WE88DU  sky130_fd_pr__pfet_g5v0d10v5_WE88DU_0
+timestamp 1648647696
+transform 0 1 -3990 -1 0 480
+box -174 -1100 174 1100
+use sky130_fd_pr__nfet_g5v0d10v5_QCNVDG  sky130_fd_pr__nfet_g5v0d10v5_QCNVDG_1
+timestamp 1648647171
+transform 0 1 -3964 -1 0 108
+box -108 -1088 108 1088
+use sky130_fd_pr__nfet_g5v0d10v5_QCNVDG  sky130_fd_pr__nfet_g5v0d10v5_QCNVDG_0
+timestamp 1648647171
+transform 0 1 -1504 -1 0 108
+box -108 -1088 108 1088
+use sky130_fd_pr__pfet_g5v0d10v5_FGV9HZ  sky130_fd_pr__pfet_g5v0d10v5_FGV9HZ_0
+timestamp 1648480518
+transform 0 1 11132 -1 0 480
+box -174 -11162 174 11162
+use sky130_fd_pr__nfet_g5v0d10v5_P8PKF4  sky130_fd_pr__nfet_g5v0d10v5_P8PKF4_0
+timestamp 1648480518
+transform 0 1 11069 -1 0 108
+box -108 -11069 108 11069
+<< labels >>
+rlabel metal1 -5080 -464 -5040 -426 1 VGND
+port 1 n ground default
+rlabel metal2 -5076 -238 -5036 -200 1 A
+port 2 n
+rlabel metal2 -5076 -58 -5036 -20 1 S_NOT
+port 3 n
+rlabel metal2 -5076 94 -5064 110 1 S
+port 4 n
+rlabel metal1 -5082 942 -5054 982 1 VHVPWR
+port 5 n power default
+rlabel metal1 22308 246 22382 322 1 B
+port 6 n
+<< end >>
diff --git a/mag/sky130_fd_pr__nfet_g5v0d10v5_DHXKC7.mag b/mag/sky130_fd_pr__nfet_g5v0d10v5_DHXKC7.mag
new file mode 100644
index 0000000..7597233
--- /dev/null
+++ b/mag/sky130_fd_pr__nfet_g5v0d10v5_DHXKC7.mag
@@ -0,0 +1,98 @@
+magic
+tech sky130B
+timestamp 1648515310
+<< pwell >>
+rect -139 -150 139 150
+<< mvnmos >>
+rect -25 -21 25 21
+<< mvndiff >>
+rect -54 15 -25 21
+rect -54 -15 -48 15
+rect -31 -15 -25 15
+rect -54 -21 -25 -15
+rect 25 15 54 21
+rect 25 -15 31 15
+rect 48 -15 54 15
+rect 25 -21 54 -15
+<< mvndiffc >>
+rect -48 -15 -31 15
+rect 31 -15 48 15
+<< mvpsubdiff >>
+rect -121 126 121 132
+rect -121 109 -67 126
+rect 67 109 121 126
+rect -121 103 121 109
+rect -121 78 -92 103
+rect -121 -78 -115 78
+rect -98 -78 -92 78
+rect 92 78 121 103
+rect -121 -103 -92 -78
+rect 92 -78 98 78
+rect 115 -78 121 78
+rect 92 -103 121 -78
+rect -121 -109 121 -103
+rect -121 -126 -67 -109
+rect 67 -126 121 -109
+rect -121 -132 121 -126
+<< mvpsubdiffcont >>
+rect -67 109 67 126
+rect -115 -78 -98 78
+rect 98 -78 115 78
+rect -67 -126 67 -109
+<< poly >>
+rect -25 57 25 65
+rect -25 40 -17 57
+rect 17 40 25 57
+rect -25 21 25 40
+rect -25 -40 25 -21
+rect -25 -57 -17 -40
+rect 17 -57 25 -40
+rect -25 -65 25 -57
+<< polycont >>
+rect -17 40 17 57
+rect -17 -57 17 -40
+<< locali >>
+rect -115 109 -67 126
+rect 67 109 115 126
+rect -115 78 -98 109
+rect 98 78 115 109
+rect -25 40 -17 57
+rect 17 40 25 57
+rect -48 15 -31 23
+rect -48 -23 -31 -15
+rect 31 15 48 23
+rect 31 -23 48 -15
+rect -25 -57 -17 -40
+rect 17 -57 25 -40
+rect -115 -109 -98 -78
+rect 98 -109 115 -78
+rect -115 -126 -67 -109
+rect 67 -126 115 -109
+<< viali >>
+rect -17 40 17 57
+rect -48 -15 -31 15
+rect 31 -15 48 15
+rect -17 -57 17 -40
+<< metal1 >>
+rect -23 57 23 60
+rect -23 40 -17 57
+rect 17 40 23 57
+rect -23 37 23 40
+rect -51 15 -28 21
+rect -51 -15 -48 15
+rect -31 -15 -28 15
+rect -51 -21 -28 -15
+rect 28 15 51 21
+rect 28 -15 31 15
+rect 48 -15 51 15
+rect 28 -21 51 -15
+rect -23 -40 23 -37
+rect -23 -57 -17 -40
+rect 17 -57 23 -40
+rect -23 -60 23 -57
+<< properties >>
+string gencell sky130_fd_pr__nfet_g5v0d10v5
+string FIXED_BBOX -106 -117 106 117
+string parameters w 0.420 l 0.50 m 1 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/mag/sky130_fd_pr__nfet_g5v0d10v5_P8PKF4.mag b/mag/sky130_fd_pr__nfet_g5v0d10v5_P8PKF4.mag
new file mode 100644
index 0000000..d9be91c
--- /dev/null
+++ b/mag/sky130_fd_pr__nfet_g5v0d10v5_P8PKF4.mag
@@ -0,0 +1,507 @@
+magic
+tech sky130B
+magscale 1 2
+timestamp 1648480518
+<< mvnmos >>
+rect -50 8981 50 10981
+rect -50 6763 50 8763
+rect -50 4545 50 6545
+rect -50 2327 50 4327
+rect -50 109 50 2109
+rect -50 -2109 50 -109
+rect -50 -4327 50 -2327
+rect -50 -6545 50 -4545
+rect -50 -8763 50 -6763
+rect -50 -10981 50 -8981
+<< mvndiff >>
+rect -108 10969 -50 10981
+rect -108 8993 -96 10969
+rect -62 8993 -50 10969
+rect -108 8981 -50 8993
+rect 50 10969 108 10981
+rect 50 8993 62 10969
+rect 96 8993 108 10969
+rect 50 8981 108 8993
+rect -108 8751 -50 8763
+rect -108 6775 -96 8751
+rect -62 6775 -50 8751
+rect -108 6763 -50 6775
+rect 50 8751 108 8763
+rect 50 6775 62 8751
+rect 96 6775 108 8751
+rect 50 6763 108 6775
+rect -108 6533 -50 6545
+rect -108 4557 -96 6533
+rect -62 4557 -50 6533
+rect -108 4545 -50 4557
+rect 50 6533 108 6545
+rect 50 4557 62 6533
+rect 96 4557 108 6533
+rect 50 4545 108 4557
+rect -108 4315 -50 4327
+rect -108 2339 -96 4315
+rect -62 2339 -50 4315
+rect -108 2327 -50 2339
+rect 50 4315 108 4327
+rect 50 2339 62 4315
+rect 96 2339 108 4315
+rect 50 2327 108 2339
+rect -108 2097 -50 2109
+rect -108 121 -96 2097
+rect -62 121 -50 2097
+rect -108 109 -50 121
+rect 50 2097 108 2109
+rect 50 121 62 2097
+rect 96 121 108 2097
+rect 50 109 108 121
+rect -108 -121 -50 -109
+rect -108 -2097 -96 -121
+rect -62 -2097 -50 -121
+rect -108 -2109 -50 -2097
+rect 50 -121 108 -109
+rect 50 -2097 62 -121
+rect 96 -2097 108 -121
+rect 50 -2109 108 -2097
+rect -108 -2339 -50 -2327
+rect -108 -4315 -96 -2339
+rect -62 -4315 -50 -2339
+rect -108 -4327 -50 -4315
+rect 50 -2339 108 -2327
+rect 50 -4315 62 -2339
+rect 96 -4315 108 -2339
+rect 50 -4327 108 -4315
+rect -108 -4557 -50 -4545
+rect -108 -6533 -96 -4557
+rect -62 -6533 -50 -4557
+rect -108 -6545 -50 -6533
+rect 50 -4557 108 -4545
+rect 50 -6533 62 -4557
+rect 96 -6533 108 -4557
+rect 50 -6545 108 -6533
+rect -108 -6775 -50 -6763
+rect -108 -8751 -96 -6775
+rect -62 -8751 -50 -6775
+rect -108 -8763 -50 -8751
+rect 50 -6775 108 -6763
+rect 50 -8751 62 -6775
+rect 96 -8751 108 -6775
+rect 50 -8763 108 -8751
+rect -108 -8993 -50 -8981
+rect -108 -10969 -96 -8993
+rect -62 -10969 -50 -8993
+rect -108 -10981 -50 -10969
+rect 50 -8993 108 -8981
+rect 50 -10969 62 -8993
+rect 96 -10969 108 -8993
+rect 50 -10981 108 -10969
+<< mvndiffc >>
+rect -96 8993 -62 10969
+rect 62 8993 96 10969
+rect -96 6775 -62 8751
+rect 62 6775 96 8751
+rect -96 4557 -62 6533
+rect 62 4557 96 6533
+rect -96 2339 -62 4315
+rect 62 2339 96 4315
+rect -96 121 -62 2097
+rect 62 121 96 2097
+rect -96 -2097 -62 -121
+rect 62 -2097 96 -121
+rect -96 -4315 -62 -2339
+rect 62 -4315 96 -2339
+rect -96 -6533 -62 -4557
+rect 62 -6533 96 -4557
+rect -96 -8751 -62 -6775
+rect 62 -8751 96 -6775
+rect -96 -10969 -62 -8993
+rect 62 -10969 96 -8993
+<< poly >>
+rect -50 11053 50 11069
+rect -50 11019 -34 11053
+rect 34 11019 50 11053
+rect -50 10981 50 11019
+rect -50 8943 50 8981
+rect -50 8909 -34 8943
+rect 34 8909 50 8943
+rect -50 8893 50 8909
+rect -50 8835 50 8851
+rect -50 8801 -34 8835
+rect 34 8801 50 8835
+rect -50 8763 50 8801
+rect -50 6725 50 6763
+rect -50 6691 -34 6725
+rect 34 6691 50 6725
+rect -50 6675 50 6691
+rect -50 6617 50 6633
+rect -50 6583 -34 6617
+rect 34 6583 50 6617
+rect -50 6545 50 6583
+rect -50 4507 50 4545
+rect -50 4473 -34 4507
+rect 34 4473 50 4507
+rect -50 4457 50 4473
+rect -50 4399 50 4415
+rect -50 4365 -34 4399
+rect 34 4365 50 4399
+rect -50 4327 50 4365
+rect -50 2289 50 2327
+rect -50 2255 -34 2289
+rect 34 2255 50 2289
+rect -50 2239 50 2255
+rect -50 2181 50 2197
+rect -50 2147 -34 2181
+rect 34 2147 50 2181
+rect -50 2109 50 2147
+rect -50 71 50 109
+rect -50 37 -34 71
+rect 34 37 50 71
+rect -50 21 50 37
+rect -50 -37 50 -21
+rect -50 -71 -34 -37
+rect 34 -71 50 -37
+rect -50 -109 50 -71
+rect -50 -2147 50 -2109
+rect -50 -2181 -34 -2147
+rect 34 -2181 50 -2147
+rect -50 -2197 50 -2181
+rect -50 -2255 50 -2239
+rect -50 -2289 -34 -2255
+rect 34 -2289 50 -2255
+rect -50 -2327 50 -2289
+rect -50 -4365 50 -4327
+rect -50 -4399 -34 -4365
+rect 34 -4399 50 -4365
+rect -50 -4415 50 -4399
+rect -50 -4473 50 -4457
+rect -50 -4507 -34 -4473
+rect 34 -4507 50 -4473
+rect -50 -4545 50 -4507
+rect -50 -6583 50 -6545
+rect -50 -6617 -34 -6583
+rect 34 -6617 50 -6583
+rect -50 -6633 50 -6617
+rect -50 -6691 50 -6675
+rect -50 -6725 -34 -6691
+rect 34 -6725 50 -6691
+rect -50 -6763 50 -6725
+rect -50 -8801 50 -8763
+rect -50 -8835 -34 -8801
+rect 34 -8835 50 -8801
+rect -50 -8851 50 -8835
+rect -50 -8909 50 -8893
+rect -50 -8943 -34 -8909
+rect 34 -8943 50 -8909
+rect -50 -8981 50 -8943
+rect -50 -11019 50 -10981
+rect -50 -11053 -34 -11019
+rect 34 -11053 50 -11019
+rect -50 -11069 50 -11053
+<< polycont >>
+rect -34 11019 34 11053
+rect -34 8909 34 8943
+rect -34 8801 34 8835
+rect -34 6691 34 6725
+rect -34 6583 34 6617
+rect -34 4473 34 4507
+rect -34 4365 34 4399
+rect -34 2255 34 2289
+rect -34 2147 34 2181
+rect -34 37 34 71
+rect -34 -71 34 -37
+rect -34 -2181 34 -2147
+rect -34 -2289 34 -2255
+rect -34 -4399 34 -4365
+rect -34 -4507 34 -4473
+rect -34 -6617 34 -6583
+rect -34 -6725 34 -6691
+rect -34 -8835 34 -8801
+rect -34 -8943 34 -8909
+rect -34 -11053 34 -11019
+<< locali >>
+rect -50 11019 -34 11053
+rect 34 11019 50 11053
+rect -96 10969 -62 10985
+rect -96 8977 -62 8993
+rect 62 10969 96 10985
+rect 62 8977 96 8993
+rect -50 8909 -34 8943
+rect 34 8909 50 8943
+rect -50 8801 -34 8835
+rect 34 8801 50 8835
+rect -96 8751 -62 8767
+rect -96 6759 -62 6775
+rect 62 8751 96 8767
+rect 62 6759 96 6775
+rect -50 6691 -34 6725
+rect 34 6691 50 6725
+rect -50 6583 -34 6617
+rect 34 6583 50 6617
+rect -96 6533 -62 6549
+rect -96 4541 -62 4557
+rect 62 6533 96 6549
+rect 62 4541 96 4557
+rect -50 4473 -34 4507
+rect 34 4473 50 4507
+rect -50 4365 -34 4399
+rect 34 4365 50 4399
+rect -96 4315 -62 4331
+rect -96 2323 -62 2339
+rect 62 4315 96 4331
+rect 62 2323 96 2339
+rect -50 2255 -34 2289
+rect 34 2255 50 2289
+rect -50 2147 -34 2181
+rect 34 2147 50 2181
+rect -96 2097 -62 2113
+rect -96 105 -62 121
+rect 62 2097 96 2113
+rect 62 105 96 121
+rect -50 37 -34 71
+rect 34 37 50 71
+rect -50 -71 -34 -37
+rect 34 -71 50 -37
+rect -96 -121 -62 -105
+rect -96 -2113 -62 -2097
+rect 62 -121 96 -105
+rect 62 -2113 96 -2097
+rect -50 -2181 -34 -2147
+rect 34 -2181 50 -2147
+rect -50 -2289 -34 -2255
+rect 34 -2289 50 -2255
+rect -96 -2339 -62 -2323
+rect -96 -4331 -62 -4315
+rect 62 -2339 96 -2323
+rect 62 -4331 96 -4315
+rect -50 -4399 -34 -4365
+rect 34 -4399 50 -4365
+rect -50 -4507 -34 -4473
+rect 34 -4507 50 -4473
+rect -96 -4557 -62 -4541
+rect -96 -6549 -62 -6533
+rect 62 -4557 96 -4541
+rect 62 -6549 96 -6533
+rect -50 -6617 -34 -6583
+rect 34 -6617 50 -6583
+rect -50 -6725 -34 -6691
+rect 34 -6725 50 -6691
+rect -96 -6775 -62 -6759
+rect -96 -8767 -62 -8751
+rect 62 -6775 96 -6759
+rect 62 -8767 96 -8751
+rect -50 -8835 -34 -8801
+rect 34 -8835 50 -8801
+rect -50 -8943 -34 -8909
+rect 34 -8943 50 -8909
+rect -96 -8993 -62 -8977
+rect -96 -10985 -62 -10969
+rect 62 -8993 96 -8977
+rect 62 -10985 96 -10969
+rect -50 -11053 -34 -11019
+rect 34 -11053 50 -11019
+<< viali >>
+rect -34 11019 34 11053
+rect -96 8993 -62 10969
+rect 62 8993 96 10969
+rect -34 8909 34 8943
+rect -34 8801 34 8835
+rect -96 6775 -62 8751
+rect 62 6775 96 8751
+rect -34 6691 34 6725
+rect -34 6583 34 6617
+rect -96 4557 -62 6533
+rect 62 4557 96 6533
+rect -34 4473 34 4507
+rect -34 4365 34 4399
+rect -96 2339 -62 4315
+rect 62 2339 96 4315
+rect -34 2255 34 2289
+rect -34 2147 34 2181
+rect -96 121 -62 2097
+rect 62 121 96 2097
+rect -34 37 34 71
+rect -34 -71 34 -37
+rect -96 -2097 -62 -121
+rect 62 -2097 96 -121
+rect -34 -2181 34 -2147
+rect -34 -2289 34 -2255
+rect -96 -4315 -62 -2339
+rect 62 -4315 96 -2339
+rect -34 -4399 34 -4365
+rect -34 -4507 34 -4473
+rect -96 -6533 -62 -4557
+rect 62 -6533 96 -4557
+rect -34 -6617 34 -6583
+rect -34 -6725 34 -6691
+rect -96 -8751 -62 -6775
+rect 62 -8751 96 -6775
+rect -34 -8835 34 -8801
+rect -34 -8943 34 -8909
+rect -96 -10969 -62 -8993
+rect 62 -10969 96 -8993
+rect -34 -11053 34 -11019
+<< metal1 >>
+rect -46 11053 46 11059
+rect -46 11019 -34 11053
+rect 34 11019 46 11053
+rect -46 11013 46 11019
+rect -102 10969 -56 10981
+rect -102 8993 -96 10969
+rect -62 8993 -56 10969
+rect -102 8981 -56 8993
+rect 56 10969 102 10981
+rect 56 8993 62 10969
+rect 96 8993 102 10969
+rect 56 8981 102 8993
+rect -46 8943 46 8949
+rect -46 8909 -34 8943
+rect 34 8909 46 8943
+rect -46 8903 46 8909
+rect -46 8835 46 8841
+rect -46 8801 -34 8835
+rect 34 8801 46 8835
+rect -46 8795 46 8801
+rect -102 8751 -56 8763
+rect -102 6775 -96 8751
+rect -62 6775 -56 8751
+rect -102 6763 -56 6775
+rect 56 8751 102 8763
+rect 56 6775 62 8751
+rect 96 6775 102 8751
+rect 56 6763 102 6775
+rect -46 6725 46 6731
+rect -46 6691 -34 6725
+rect 34 6691 46 6725
+rect -46 6685 46 6691
+rect -46 6617 46 6623
+rect -46 6583 -34 6617
+rect 34 6583 46 6617
+rect -46 6577 46 6583
+rect -102 6533 -56 6545
+rect -102 4557 -96 6533
+rect -62 4557 -56 6533
+rect -102 4545 -56 4557
+rect 56 6533 102 6545
+rect 56 4557 62 6533
+rect 96 4557 102 6533
+rect 56 4545 102 4557
+rect -46 4507 46 4513
+rect -46 4473 -34 4507
+rect 34 4473 46 4507
+rect -46 4467 46 4473
+rect -46 4399 46 4405
+rect -46 4365 -34 4399
+rect 34 4365 46 4399
+rect -46 4359 46 4365
+rect -102 4315 -56 4327
+rect -102 2339 -96 4315
+rect -62 2339 -56 4315
+rect -102 2327 -56 2339
+rect 56 4315 102 4327
+rect 56 2339 62 4315
+rect 96 2339 102 4315
+rect 56 2327 102 2339
+rect -46 2289 46 2295
+rect -46 2255 -34 2289
+rect 34 2255 46 2289
+rect -46 2249 46 2255
+rect -46 2181 46 2187
+rect -46 2147 -34 2181
+rect 34 2147 46 2181
+rect -46 2141 46 2147
+rect -102 2097 -56 2109
+rect -102 121 -96 2097
+rect -62 121 -56 2097
+rect -102 109 -56 121
+rect 56 2097 102 2109
+rect 56 121 62 2097
+rect 96 121 102 2097
+rect 56 109 102 121
+rect -46 71 46 77
+rect -46 37 -34 71
+rect 34 37 46 71
+rect -46 31 46 37
+rect -46 -37 46 -31
+rect -46 -71 -34 -37
+rect 34 -71 46 -37
+rect -46 -77 46 -71
+rect -102 -121 -56 -109
+rect -102 -2097 -96 -121
+rect -62 -2097 -56 -121
+rect -102 -2109 -56 -2097
+rect 56 -121 102 -109
+rect 56 -2097 62 -121
+rect 96 -2097 102 -121
+rect 56 -2109 102 -2097
+rect -46 -2147 46 -2141
+rect -46 -2181 -34 -2147
+rect 34 -2181 46 -2147
+rect -46 -2187 46 -2181
+rect -46 -2255 46 -2249
+rect -46 -2289 -34 -2255
+rect 34 -2289 46 -2255
+rect -46 -2295 46 -2289
+rect -102 -2339 -56 -2327
+rect -102 -4315 -96 -2339
+rect -62 -4315 -56 -2339
+rect -102 -4327 -56 -4315
+rect 56 -2339 102 -2327
+rect 56 -4315 62 -2339
+rect 96 -4315 102 -2339
+rect 56 -4327 102 -4315
+rect -46 -4365 46 -4359
+rect -46 -4399 -34 -4365
+rect 34 -4399 46 -4365
+rect -46 -4405 46 -4399
+rect -46 -4473 46 -4467
+rect -46 -4507 -34 -4473
+rect 34 -4507 46 -4473
+rect -46 -4513 46 -4507
+rect -102 -4557 -56 -4545
+rect -102 -6533 -96 -4557
+rect -62 -6533 -56 -4557
+rect -102 -6545 -56 -6533
+rect 56 -4557 102 -4545
+rect 56 -6533 62 -4557
+rect 96 -6533 102 -4557
+rect 56 -6545 102 -6533
+rect -46 -6583 46 -6577
+rect -46 -6617 -34 -6583
+rect 34 -6617 46 -6583
+rect -46 -6623 46 -6617
+rect -46 -6691 46 -6685
+rect -46 -6725 -34 -6691
+rect 34 -6725 46 -6691
+rect -46 -6731 46 -6725
+rect -102 -6775 -56 -6763
+rect -102 -8751 -96 -6775
+rect -62 -8751 -56 -6775
+rect -102 -8763 -56 -8751
+rect 56 -6775 102 -6763
+rect 56 -8751 62 -6775
+rect 96 -8751 102 -6775
+rect 56 -8763 102 -8751
+rect -46 -8801 46 -8795
+rect -46 -8835 -34 -8801
+rect 34 -8835 46 -8801
+rect -46 -8841 46 -8835
+rect -46 -8909 46 -8903
+rect -46 -8943 -34 -8909
+rect 34 -8943 46 -8909
+rect -46 -8949 46 -8943
+rect -102 -8993 -56 -8981
+rect -102 -10969 -96 -8993
+rect -62 -10969 -56 -8993
+rect -102 -10981 -56 -10969
+rect 56 -8993 102 -8981
+rect 56 -10969 62 -8993
+rect 96 -10969 102 -8993
+rect 56 -10981 102 -10969
+rect -46 -11019 46 -11013
+rect -46 -11053 -34 -11019
+rect 34 -11053 46 -11019
+rect -46 -11059 46 -11053
+<< properties >>
+string gencell sky130_fd_pr__nfet_g5v0d10v5
+string parameters w 10 l 0.50 m 10 nf 1 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/mag/sky130_fd_pr__nfet_g5v0d10v5_QCNVDG.mag b/mag/sky130_fd_pr__nfet_g5v0d10v5_QCNVDG.mag
new file mode 100644
index 0000000..695d2cb
--- /dev/null
+++ b/mag/sky130_fd_pr__nfet_g5v0d10v5_QCNVDG.mag
@@ -0,0 +1,65 @@
+magic
+tech sky130B
+timestamp 1648647171
+<< mvnmos >>
+rect -25 -500 25 500
+<< mvndiff >>
+rect -54 494 -25 500
+rect -54 -494 -48 494
+rect -31 -494 -25 494
+rect -54 -500 -25 -494
+rect 25 494 54 500
+rect 25 -494 31 494
+rect 48 -494 54 494
+rect 25 -500 54 -494
+<< mvndiffc >>
+rect -48 -494 -31 494
+rect 31 -494 48 494
+<< poly >>
+rect -25 536 25 544
+rect -25 519 -17 536
+rect 17 519 25 536
+rect -25 500 25 519
+rect -25 -519 25 -500
+rect -25 -536 -17 -519
+rect 17 -536 25 -519
+rect -25 -544 25 -536
+<< polycont >>
+rect -17 519 17 536
+rect -17 -536 17 -519
+<< locali >>
+rect -25 519 -17 536
+rect 17 519 25 536
+rect -48 494 -31 502
+rect -48 -502 -31 -494
+rect 31 494 48 502
+rect 31 -502 48 -494
+rect -25 -536 -17 -519
+rect 17 -536 25 -519
+<< viali >>
+rect -17 519 17 536
+rect -48 -494 -31 494
+rect 31 -494 48 494
+rect -17 -536 17 -519
+<< metal1 >>
+rect -23 536 23 539
+rect -23 519 -17 536
+rect 17 519 23 536
+rect -23 516 23 519
+rect -51 494 -28 500
+rect -51 -494 -48 494
+rect -31 -494 -28 494
+rect -51 -500 -28 -494
+rect 28 494 51 500
+rect 28 -494 31 494
+rect 48 -494 51 494
+rect 28 -500 51 -494
+rect -23 -519 23 -516
+rect -23 -536 -17 -519
+rect 17 -536 23 -519
+rect -23 -539 23 -536
+<< properties >>
+string gencell sky130_fd_pr__nfet_g5v0d10v5
+string parameters w 10 l 0.50 m 1 nf 1 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/mag/sky130_fd_pr__pfet_g5v0d10v5_FGV9HZ.mag b/mag/sky130_fd_pr__pfet_g5v0d10v5_FGV9HZ.mag
new file mode 100644
index 0000000..6b614ee
--- /dev/null
+++ b/mag/sky130_fd_pr__pfet_g5v0d10v5_FGV9HZ.mag
@@ -0,0 +1,577 @@
+magic
+tech sky130B
+magscale 1 2
+timestamp 1648480518
+<< error_p >>
+rect -174 9180 -144 11128
+rect -108 9180 -78 11062
+rect 78 9180 108 11062
+rect 144 9180 174 11128
+rect -174 8996 174 9180
+rect -144 8962 144 8996
+rect -174 6944 -144 8892
+rect -108 6944 -78 8826
+rect 78 6944 108 8826
+rect 144 6944 174 8892
+rect -174 6760 174 6944
+rect -144 6726 144 6760
+rect -174 4708 -144 6656
+rect -108 4708 -78 6590
+rect 78 4708 108 6590
+rect 144 4708 174 6656
+rect -174 4524 174 4708
+rect -144 4490 144 4524
+rect -174 2472 -144 4420
+rect -108 2472 -78 4354
+rect 78 2472 108 4354
+rect 144 2472 174 4420
+rect -174 2288 174 2472
+rect -144 2254 144 2288
+rect -174 236 -144 2184
+rect -108 236 -78 2118
+rect 78 236 108 2118
+rect 144 236 174 2184
+rect -174 52 174 236
+rect -144 18 144 52
+rect -174 -2000 -144 -52
+rect -108 -2000 -78 -118
+rect 78 -2000 108 -118
+rect 144 -2000 174 -52
+rect -174 -2184 174 -2000
+rect -144 -2218 144 -2184
+rect -174 -4236 -144 -2288
+rect -108 -4236 -78 -2354
+rect 78 -4236 108 -2354
+rect 144 -4236 174 -2288
+rect -174 -4420 174 -4236
+rect -144 -4454 144 -4420
+rect -174 -6472 -144 -4524
+rect -108 -6472 -78 -4590
+rect 78 -6472 108 -4590
+rect 144 -6472 174 -4524
+rect -174 -6656 174 -6472
+rect -144 -6690 144 -6656
+rect -174 -8708 -144 -6760
+rect -108 -8708 -78 -6826
+rect 78 -8708 108 -6826
+rect 144 -8708 174 -6760
+rect -174 -8892 174 -8708
+rect -144 -8926 144 -8892
+rect -174 -11128 -144 -8996
+rect -108 -11062 -78 -9062
+rect 78 -11062 108 -9062
+rect 144 -11128 174 -8996
+<< nwell >>
+rect -144 8962 144 11162
+rect -144 6726 144 8926
+rect -144 4490 144 6690
+rect -144 2254 144 4454
+rect -144 18 144 2218
+rect -144 -2218 144 -18
+rect -144 -4454 144 -2254
+rect -144 -6690 144 -4490
+rect -144 -8926 144 -6726
+rect -144 -11162 144 -8962
+<< mvpmos >>
+rect -50 9062 50 11062
+rect -50 6826 50 8826
+rect -50 4590 50 6590
+rect -50 2354 50 4354
+rect -50 118 50 2118
+rect -50 -2118 50 -118
+rect -50 -4354 50 -2354
+rect -50 -6590 50 -4590
+rect -50 -8826 50 -6826
+rect -50 -11062 50 -9062
+<< mvpdiff >>
+rect -108 11050 -50 11062
+rect -108 9074 -96 11050
+rect -62 9074 -50 11050
+rect -108 9062 -50 9074
+rect 50 11050 108 11062
+rect 50 9074 62 11050
+rect 96 9074 108 11050
+rect 50 9062 108 9074
+rect -108 8814 -50 8826
+rect -108 6838 -96 8814
+rect -62 6838 -50 8814
+rect -108 6826 -50 6838
+rect 50 8814 108 8826
+rect 50 6838 62 8814
+rect 96 6838 108 8814
+rect 50 6826 108 6838
+rect -108 6578 -50 6590
+rect -108 4602 -96 6578
+rect -62 4602 -50 6578
+rect -108 4590 -50 4602
+rect 50 6578 108 6590
+rect 50 4602 62 6578
+rect 96 4602 108 6578
+rect 50 4590 108 4602
+rect -108 4342 -50 4354
+rect -108 2366 -96 4342
+rect -62 2366 -50 4342
+rect -108 2354 -50 2366
+rect 50 4342 108 4354
+rect 50 2366 62 4342
+rect 96 2366 108 4342
+rect 50 2354 108 2366
+rect -108 2106 -50 2118
+rect -108 130 -96 2106
+rect -62 130 -50 2106
+rect -108 118 -50 130
+rect 50 2106 108 2118
+rect 50 130 62 2106
+rect 96 130 108 2106
+rect 50 118 108 130
+rect -108 -130 -50 -118
+rect -108 -2106 -96 -130
+rect -62 -2106 -50 -130
+rect -108 -2118 -50 -2106
+rect 50 -130 108 -118
+rect 50 -2106 62 -130
+rect 96 -2106 108 -130
+rect 50 -2118 108 -2106
+rect -108 -2366 -50 -2354
+rect -108 -4342 -96 -2366
+rect -62 -4342 -50 -2366
+rect -108 -4354 -50 -4342
+rect 50 -2366 108 -2354
+rect 50 -4342 62 -2366
+rect 96 -4342 108 -2366
+rect 50 -4354 108 -4342
+rect -108 -4602 -50 -4590
+rect -108 -6578 -96 -4602
+rect -62 -6578 -50 -4602
+rect -108 -6590 -50 -6578
+rect 50 -4602 108 -4590
+rect 50 -6578 62 -4602
+rect 96 -6578 108 -4602
+rect 50 -6590 108 -6578
+rect -108 -6838 -50 -6826
+rect -108 -8814 -96 -6838
+rect -62 -8814 -50 -6838
+rect -108 -8826 -50 -8814
+rect 50 -6838 108 -6826
+rect 50 -8814 62 -6838
+rect 96 -8814 108 -6838
+rect 50 -8826 108 -8814
+rect -108 -9074 -50 -9062
+rect -108 -11050 -96 -9074
+rect -62 -11050 -50 -9074
+rect -108 -11062 -50 -11050
+rect 50 -9074 108 -9062
+rect 50 -11050 62 -9074
+rect 96 -11050 108 -9074
+rect 50 -11062 108 -11050
+<< mvpdiffc >>
+rect -96 9074 -62 11050
+rect 62 9074 96 11050
+rect -96 6838 -62 8814
+rect 62 6838 96 8814
+rect -96 4602 -62 6578
+rect 62 4602 96 6578
+rect -96 2366 -62 4342
+rect 62 2366 96 4342
+rect -96 130 -62 2106
+rect 62 130 96 2106
+rect -96 -2106 -62 -130
+rect 62 -2106 96 -130
+rect -96 -4342 -62 -2366
+rect 62 -4342 96 -2366
+rect -96 -6578 -62 -4602
+rect 62 -6578 96 -4602
+rect -96 -8814 -62 -6838
+rect 62 -8814 96 -6838
+rect -96 -11050 -62 -9074
+rect 62 -11050 96 -9074
+<< poly >>
+rect -50 11143 50 11159
+rect -50 11109 -34 11143
+rect 34 11109 50 11143
+rect -50 11062 50 11109
+rect -50 9015 50 9062
+rect -50 8981 -34 9015
+rect 34 8981 50 9015
+rect -50 8965 50 8981
+rect -50 8907 50 8923
+rect -50 8873 -34 8907
+rect 34 8873 50 8907
+rect -50 8826 50 8873
+rect -50 6779 50 6826
+rect -50 6745 -34 6779
+rect 34 6745 50 6779
+rect -50 6729 50 6745
+rect -50 6671 50 6687
+rect -50 6637 -34 6671
+rect 34 6637 50 6671
+rect -50 6590 50 6637
+rect -50 4543 50 4590
+rect -50 4509 -34 4543
+rect 34 4509 50 4543
+rect -50 4493 50 4509
+rect -50 4435 50 4451
+rect -50 4401 -34 4435
+rect 34 4401 50 4435
+rect -50 4354 50 4401
+rect -50 2307 50 2354
+rect -50 2273 -34 2307
+rect 34 2273 50 2307
+rect -50 2257 50 2273
+rect -50 2199 50 2215
+rect -50 2165 -34 2199
+rect 34 2165 50 2199
+rect -50 2118 50 2165
+rect -50 71 50 118
+rect -50 37 -34 71
+rect 34 37 50 71
+rect -50 21 50 37
+rect -50 -37 50 -21
+rect -50 -71 -34 -37
+rect 34 -71 50 -37
+rect -50 -118 50 -71
+rect -50 -2165 50 -2118
+rect -50 -2199 -34 -2165
+rect 34 -2199 50 -2165
+rect -50 -2215 50 -2199
+rect -50 -2273 50 -2257
+rect -50 -2307 -34 -2273
+rect 34 -2307 50 -2273
+rect -50 -2354 50 -2307
+rect -50 -4401 50 -4354
+rect -50 -4435 -34 -4401
+rect 34 -4435 50 -4401
+rect -50 -4451 50 -4435
+rect -50 -4509 50 -4493
+rect -50 -4543 -34 -4509
+rect 34 -4543 50 -4509
+rect -50 -4590 50 -4543
+rect -50 -6637 50 -6590
+rect -50 -6671 -34 -6637
+rect 34 -6671 50 -6637
+rect -50 -6687 50 -6671
+rect -50 -6745 50 -6729
+rect -50 -6779 -34 -6745
+rect 34 -6779 50 -6745
+rect -50 -6826 50 -6779
+rect -50 -8873 50 -8826
+rect -50 -8907 -34 -8873
+rect 34 -8907 50 -8873
+rect -50 -8923 50 -8907
+rect -50 -8981 50 -8965
+rect -50 -9015 -34 -8981
+rect 34 -9015 50 -8981
+rect -50 -9062 50 -9015
+rect -50 -11109 50 -11062
+rect -50 -11143 -34 -11109
+rect 34 -11143 50 -11109
+rect -50 -11159 50 -11143
+<< polycont >>
+rect -34 11109 34 11143
+rect -34 8981 34 9015
+rect -34 8873 34 8907
+rect -34 6745 34 6779
+rect -34 6637 34 6671
+rect -34 4509 34 4543
+rect -34 4401 34 4435
+rect -34 2273 34 2307
+rect -34 2165 34 2199
+rect -34 37 34 71
+rect -34 -71 34 -37
+rect -34 -2199 34 -2165
+rect -34 -2307 34 -2273
+rect -34 -4435 34 -4401
+rect -34 -4543 34 -4509
+rect -34 -6671 34 -6637
+rect -34 -6779 34 -6745
+rect -34 -8907 34 -8873
+rect -34 -9015 34 -8981
+rect -34 -11143 34 -11109
+<< locali >>
+rect -50 11109 -34 11143
+rect 34 11109 50 11143
+rect -96 11050 -62 11066
+rect -96 9058 -62 9074
+rect 62 11050 96 11066
+rect 62 9058 96 9074
+rect -50 8981 -34 9015
+rect 34 8981 50 9015
+rect -50 8873 -34 8907
+rect 34 8873 50 8907
+rect -96 8814 -62 8830
+rect -96 6822 -62 6838
+rect 62 8814 96 8830
+rect 62 6822 96 6838
+rect -50 6745 -34 6779
+rect 34 6745 50 6779
+rect -50 6637 -34 6671
+rect 34 6637 50 6671
+rect -96 6578 -62 6594
+rect -96 4586 -62 4602
+rect 62 6578 96 6594
+rect 62 4586 96 4602
+rect -50 4509 -34 4543
+rect 34 4509 50 4543
+rect -50 4401 -34 4435
+rect 34 4401 50 4435
+rect -96 4342 -62 4358
+rect -96 2350 -62 2366
+rect 62 4342 96 4358
+rect 62 2350 96 2366
+rect -50 2273 -34 2307
+rect 34 2273 50 2307
+rect -50 2165 -34 2199
+rect 34 2165 50 2199
+rect -96 2106 -62 2122
+rect -96 114 -62 130
+rect 62 2106 96 2122
+rect 62 114 96 130
+rect -50 37 -34 71
+rect 34 37 50 71
+rect -50 -71 -34 -37
+rect 34 -71 50 -37
+rect -96 -130 -62 -114
+rect -96 -2122 -62 -2106
+rect 62 -130 96 -114
+rect 62 -2122 96 -2106
+rect -50 -2199 -34 -2165
+rect 34 -2199 50 -2165
+rect -50 -2307 -34 -2273
+rect 34 -2307 50 -2273
+rect -96 -2366 -62 -2350
+rect -96 -4358 -62 -4342
+rect 62 -2366 96 -2350
+rect 62 -4358 96 -4342
+rect -50 -4435 -34 -4401
+rect 34 -4435 50 -4401
+rect -50 -4543 -34 -4509
+rect 34 -4543 50 -4509
+rect -96 -4602 -62 -4586
+rect -96 -6594 -62 -6578
+rect 62 -4602 96 -4586
+rect 62 -6594 96 -6578
+rect -50 -6671 -34 -6637
+rect 34 -6671 50 -6637
+rect -50 -6779 -34 -6745
+rect 34 -6779 50 -6745
+rect -96 -6838 -62 -6822
+rect -96 -8830 -62 -8814
+rect 62 -6838 96 -6822
+rect 62 -8830 96 -8814
+rect -50 -8907 -34 -8873
+rect 34 -8907 50 -8873
+rect -50 -9015 -34 -8981
+rect 34 -9015 50 -8981
+rect -96 -9074 -62 -9058
+rect -96 -11066 -62 -11050
+rect 62 -9074 96 -9058
+rect 62 -11066 96 -11050
+rect -50 -11143 -34 -11109
+rect 34 -11143 50 -11109
+<< viali >>
+rect -34 11109 34 11143
+rect -96 9074 -62 11050
+rect 62 9074 96 11050
+rect -34 8981 34 9015
+rect -34 8873 34 8907
+rect -96 6838 -62 8814
+rect 62 6838 96 8814
+rect -34 6745 34 6779
+rect -34 6637 34 6671
+rect -96 4602 -62 6578
+rect 62 4602 96 6578
+rect -34 4509 34 4543
+rect -34 4401 34 4435
+rect -96 2366 -62 4342
+rect 62 2366 96 4342
+rect -34 2273 34 2307
+rect -34 2165 34 2199
+rect -96 130 -62 2106
+rect 62 130 96 2106
+rect -34 37 34 71
+rect -34 -71 34 -37
+rect -96 -2106 -62 -130
+rect 62 -2106 96 -130
+rect -34 -2199 34 -2165
+rect -34 -2307 34 -2273
+rect -96 -4342 -62 -2366
+rect 62 -4342 96 -2366
+rect -34 -4435 34 -4401
+rect -34 -4543 34 -4509
+rect -96 -6578 -62 -4602
+rect 62 -6578 96 -4602
+rect -34 -6671 34 -6637
+rect -34 -6779 34 -6745
+rect -96 -8814 -62 -6838
+rect 62 -8814 96 -6838
+rect -34 -8907 34 -8873
+rect -34 -9015 34 -8981
+rect -96 -11050 -62 -9074
+rect 62 -11050 96 -9074
+rect -34 -11143 34 -11109
+<< metal1 >>
+rect -46 11143 46 11149
+rect -46 11109 -34 11143
+rect 34 11109 46 11143
+rect -46 11103 46 11109
+rect -102 11050 -56 11062
+rect -102 9074 -96 11050
+rect -62 9074 -56 11050
+rect -102 9062 -56 9074
+rect 56 11050 102 11062
+rect 56 9074 62 11050
+rect 96 9074 102 11050
+rect 56 9062 102 9074
+rect -46 9015 46 9021
+rect -46 8981 -34 9015
+rect 34 8981 46 9015
+rect -46 8975 46 8981
+rect -46 8907 46 8913
+rect -46 8873 -34 8907
+rect 34 8873 46 8907
+rect -46 8867 46 8873
+rect -102 8814 -56 8826
+rect -102 6838 -96 8814
+rect -62 6838 -56 8814
+rect -102 6826 -56 6838
+rect 56 8814 102 8826
+rect 56 6838 62 8814
+rect 96 6838 102 8814
+rect 56 6826 102 6838
+rect -46 6779 46 6785
+rect -46 6745 -34 6779
+rect 34 6745 46 6779
+rect -46 6739 46 6745
+rect -46 6671 46 6677
+rect -46 6637 -34 6671
+rect 34 6637 46 6671
+rect -46 6631 46 6637
+rect -102 6578 -56 6590
+rect -102 4602 -96 6578
+rect -62 4602 -56 6578
+rect -102 4590 -56 4602
+rect 56 6578 102 6590
+rect 56 4602 62 6578
+rect 96 4602 102 6578
+rect 56 4590 102 4602
+rect -46 4543 46 4549
+rect -46 4509 -34 4543
+rect 34 4509 46 4543
+rect -46 4503 46 4509
+rect -46 4435 46 4441
+rect -46 4401 -34 4435
+rect 34 4401 46 4435
+rect -46 4395 46 4401
+rect -102 4342 -56 4354
+rect -102 2366 -96 4342
+rect -62 2366 -56 4342
+rect -102 2354 -56 2366
+rect 56 4342 102 4354
+rect 56 2366 62 4342
+rect 96 2366 102 4342
+rect 56 2354 102 2366
+rect -46 2307 46 2313
+rect -46 2273 -34 2307
+rect 34 2273 46 2307
+rect -46 2267 46 2273
+rect -46 2199 46 2205
+rect -46 2165 -34 2199
+rect 34 2165 46 2199
+rect -46 2159 46 2165
+rect -102 2106 -56 2118
+rect -102 130 -96 2106
+rect -62 130 -56 2106
+rect -102 118 -56 130
+rect 56 2106 102 2118
+rect 56 130 62 2106
+rect 96 130 102 2106
+rect 56 118 102 130
+rect -46 71 46 77
+rect -46 37 -34 71
+rect 34 37 46 71
+rect -46 31 46 37
+rect -46 -37 46 -31
+rect -46 -71 -34 -37
+rect 34 -71 46 -37
+rect -46 -77 46 -71
+rect -102 -130 -56 -118
+rect -102 -2106 -96 -130
+rect -62 -2106 -56 -130
+rect -102 -2118 -56 -2106
+rect 56 -130 102 -118
+rect 56 -2106 62 -130
+rect 96 -2106 102 -130
+rect 56 -2118 102 -2106
+rect -46 -2165 46 -2159
+rect -46 -2199 -34 -2165
+rect 34 -2199 46 -2165
+rect -46 -2205 46 -2199
+rect -46 -2273 46 -2267
+rect -46 -2307 -34 -2273
+rect 34 -2307 46 -2273
+rect -46 -2313 46 -2307
+rect -102 -2366 -56 -2354
+rect -102 -4342 -96 -2366
+rect -62 -4342 -56 -2366
+rect -102 -4354 -56 -4342
+rect 56 -2366 102 -2354
+rect 56 -4342 62 -2366
+rect 96 -4342 102 -2366
+rect 56 -4354 102 -4342
+rect -46 -4401 46 -4395
+rect -46 -4435 -34 -4401
+rect 34 -4435 46 -4401
+rect -46 -4441 46 -4435
+rect -46 -4509 46 -4503
+rect -46 -4543 -34 -4509
+rect 34 -4543 46 -4509
+rect -46 -4549 46 -4543
+rect -102 -4602 -56 -4590
+rect -102 -6578 -96 -4602
+rect -62 -6578 -56 -4602
+rect -102 -6590 -56 -6578
+rect 56 -4602 102 -4590
+rect 56 -6578 62 -4602
+rect 96 -6578 102 -4602
+rect 56 -6590 102 -6578
+rect -46 -6637 46 -6631
+rect -46 -6671 -34 -6637
+rect 34 -6671 46 -6637
+rect -46 -6677 46 -6671
+rect -46 -6745 46 -6739
+rect -46 -6779 -34 -6745
+rect 34 -6779 46 -6745
+rect -46 -6785 46 -6779
+rect -102 -6838 -56 -6826
+rect -102 -8814 -96 -6838
+rect -62 -8814 -56 -6838
+rect -102 -8826 -56 -8814
+rect 56 -6838 102 -6826
+rect 56 -8814 62 -6838
+rect 96 -8814 102 -6838
+rect 56 -8826 102 -8814
+rect -46 -8873 46 -8867
+rect -46 -8907 -34 -8873
+rect 34 -8907 46 -8873
+rect -46 -8913 46 -8907
+rect -46 -8981 46 -8975
+rect -46 -9015 -34 -8981
+rect 34 -9015 46 -8981
+rect -46 -9021 46 -9015
+rect -102 -9074 -56 -9062
+rect -102 -11050 -96 -9074
+rect -62 -11050 -56 -9074
+rect -102 -11062 -56 -11050
+rect 56 -9074 102 -9062
+rect 56 -11050 62 -9074
+rect 96 -11050 102 -9074
+rect 56 -11062 102 -11050
+rect -46 -11109 46 -11103
+rect -46 -11143 -34 -11109
+rect 34 -11143 46 -11109
+rect -46 -11149 46 -11143
+<< properties >>
+string gencell sky130_fd_pr__pfet_g5v0d10v5
+string parameters w 10 l 0.50 m 10 nf 1 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8  sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt  sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/mag/sky130_fd_pr__pfet_g5v0d10v5_WE88DU.mag b/mag/sky130_fd_pr__pfet_g5v0d10v5_WE88DU.mag
new file mode 100644
index 0000000..2bfd3a7
--- /dev/null
+++ b/mag/sky130_fd_pr__pfet_g5v0d10v5_WE88DU.mag
@@ -0,0 +1,73 @@
+magic
+tech sky130B
+magscale 1 2
+timestamp 1648647696
+<< error_p >>
+rect -174 -1066 -144 1066
+rect -108 -1000 -78 1000
+rect 78 -1000 108 1000
+rect 144 -1066 174 1066
+<< nwell >>
+rect -144 -1100 144 1100
+<< mvpmos >>
+rect -50 -1000 50 1000
+<< mvpdiff >>
+rect -108 988 -50 1000
+rect -108 -988 -96 988
+rect -62 -988 -50 988
+rect -108 -1000 -50 -988
+rect 50 988 108 1000
+rect 50 -988 62 988
+rect 96 -988 108 988
+rect 50 -1000 108 -988
+<< mvpdiffc >>
+rect -96 -988 -62 988
+rect 62 -988 96 988
+<< poly >>
+rect -50 1081 50 1097
+rect -50 1047 -34 1081
+rect 34 1047 50 1081
+rect -50 1000 50 1047
+rect -50 -1047 50 -1000
+rect -50 -1081 -34 -1047
+rect 34 -1081 50 -1047
+rect -50 -1097 50 -1081
+<< polycont >>
+rect -34 1047 34 1081
+rect -34 -1081 34 -1047
+<< locali >>
+rect -50 1047 -34 1081
+rect 34 1047 50 1081
+rect -96 988 -62 1004
+rect -96 -1004 -62 -988
+rect 62 988 96 1004
+rect 62 -1004 96 -988
+rect -50 -1081 -34 -1047
+rect 34 -1081 50 -1047
+<< viali >>
+rect -34 1047 34 1081
+rect -96 -988 -62 988
+rect 62 -988 96 988
+rect -34 -1081 34 -1047
+<< metal1 >>
+rect -46 1081 46 1087
+rect -46 1047 -34 1081
+rect 34 1047 46 1081
+rect -46 1041 46 1047
+rect -102 988 -56 1000
+rect -102 -988 -96 988
+rect -62 -988 -56 988
+rect -102 -1000 -56 -988
+rect 56 988 102 1000
+rect 56 -988 62 988
+rect 96 -988 102 988
+rect 56 -1000 102 -988
+rect -46 -1047 46 -1041
+rect -46 -1081 -34 -1047
+rect 34 -1081 46 -1047
+rect -46 -1087 46 -1081
+<< properties >>
+string gencell sky130_fd_pr__pfet_g5v0d10v5
+string parameters w 10 l 0.50 m 1 nf 1 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8  sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt  sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/mag/test.mag b/mag/test.mag
new file mode 100644
index 0000000..fe2e9b0
--- /dev/null
+++ b/mag/test.mag
@@ -0,0 +1,4 @@
+magic
+tech sky130B
+timestamp 0
+<< end >>
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index 415da9a..26401bf 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,9 +1,7 @@
 magic
 tech sky130B
 magscale 1 2
-timestamp 1654288977
-<< checkpaint >>
-rect 48490 659324 54963 662484
+timestamp 1654454918
 << locali >>
 rect 256417 656497 256484 656565
 << metal1 >>
@@ -89,6 +87,7 @@
 rect 227322 581188 227336 581322
 rect 227494 581188 227510 581322
 rect 227322 581174 227510 581188
+rect 291944 351944 292056 427554
 << via1 >>
 rect 561216 686254 561378 686400
 rect 561216 685764 561378 685910
@@ -245,6 +244,7 @@
 rect 213902 468414 213982 656327
 rect 256676 583670 256752 656497
 rect 256854 656257 257128 681536
+rect 261360 681000 262082 681536
 rect 562127 681532 562489 685199
 rect 582202 681532 583046 681536
 rect 562127 681526 583046 681532
@@ -255,22 +255,62 @@
 rect 256854 656205 256860 656257
 rect 257122 656205 257128 656257
 rect 256854 656200 257128 656205
+rect 261362 585780 262080 681000
+rect 261362 585180 261420 585780
+rect 262020 585180 262080 585780
+rect 261362 585139 262080 585180
 rect 256676 583660 583636 583670
 rect 256676 583576 583534 583660
 rect 256676 583566 583636 583576
 rect 256676 583564 256752 583566
+rect 261362 582030 261446 582630
+rect 262046 582030 262080 582630
+rect 261362 581646 262080 582030
+rect 261362 581378 262072 581646
 rect 227322 581322 227510 581334
 rect 227322 581188 227336 581322
 rect 227494 581188 227510 581322
 rect 227322 553478 227510 581188
+rect 261362 579878 262074 581378
+rect 261365 554940 262072 579878
+rect 261365 554398 261420 554940
+rect 262020 554398 262072 554940
+rect 261365 554343 262072 554398
 rect 227322 553476 580792 553478
 rect 227322 553460 583264 553476
 rect 227322 552760 582550 553460
 rect 583250 552760 583264 553460
 rect 227322 552736 583264 552760
+rect 227322 552004 227946 552736
 rect 360 468404 213982 468414
 rect 462 468320 213982 468404
 rect 360 468310 213982 468320
+rect 227325 428351 227943 552004
+rect 261360 551706 262080 551820
+rect 261360 551164 261434 551706
+rect 262034 551164 262080 551706
+rect 261360 549780 262080 551164
+rect 222907 427602 225194 427618
+rect 222907 427508 225371 427602
+rect 222907 427499 225194 427508
+rect 222908 425202 223024 427499
+rect 386 425192 223024 425202
+rect 386 425092 396 425192
+rect 474 425092 223024 425192
+rect 386 425086 223024 425092
+rect 223535 427452 225194 427467
+rect 223535 427358 225399 427452
+rect 223535 427345 225194 427358
+rect 386 425082 590 425086
+rect 223535 381982 223657 427345
+rect 251643 426642 252354 427129
+rect 261364 426642 262077 549780
+rect 251643 425931 262077 426642
+rect 261364 425930 262077 425931
+rect 362 381971 223657 381982
+rect 362 381870 372 381971
+rect 475 381870 223657 381971
+rect 362 381860 223657 381870
 rect 524 -800 636 480
 rect 1706 -800 1818 480
 rect 2888 -800 3000 480
@@ -784,9 +824,15 @@
 rect 51858 657502 51982 657600
 rect 340 511530 480 511642
 rect 582730 681176 583036 681526
+rect 261420 585180 262020 585780
 rect 583534 583576 583636 583660
+rect 261446 582030 262046 582630
+rect 261420 554398 262020 554940
 rect 582550 552760 583250 553460
 rect 360 468320 462 468404
+rect 261434 551164 262034 551706
+rect 396 425092 474 425192
+rect 372 381870 475 381971
 << metal3 >>
 rect 16194 702300 21194 704800
 rect 68194 702300 73194 704800
@@ -886,16 +932,30 @@
 rect 583510 587108 584800 587220
 rect 583510 587103 583742 587108
 rect 583520 585926 584800 586038
+rect 261364 585780 262078 585854
+rect 261364 585180 261420 585780
+rect 262020 585180 262078 585780
+rect 261364 582630 262078 585180
 rect 583520 584744 584800 584856
 rect 583520 583660 584800 583674
 rect 583520 583576 583534 583660
 rect 583636 583576 584800 583660
 rect 583520 583562 584800 583576
+rect 261364 582030 261446 582630
+rect 262046 582030 262078 582630
+rect 261364 581966 262078 582030
 rect -800 559445 54048 564240
 rect -800 559442 1660 559445
 rect 49246 559441 54048 559445
+rect 261364 554940 262080 554962
+rect 261364 554398 261420 554940
+rect 262020 554398 262080 554940
 rect -800 549442 1660 554242
+rect 261364 551706 262080 554398
 rect 582339 553554 584800 555362
+rect 261364 551164 261434 551706
+rect 262034 551164 262080 551706
+rect 261364 551112 262080 551164
 rect 582340 553460 584800 553554
 rect 582340 552760 582550 553460
 rect 583250 552760 584800 553460
@@ -931,7 +991,10 @@
 rect 583520 452082 584800 452194
 rect 583520 450900 584800 451012
 rect 583520 449718 584800 449830
-rect -800 425086 480 425198
+rect -800 425192 480 425198
+rect -800 425092 396 425192
+rect 474 425092 480 425192
+rect -800 425086 480 425092
 rect -800 423904 480 424016
 rect -800 422722 480 422834
 rect -800 421540 480 421652
@@ -943,7 +1006,10 @@
 rect 583520 407660 584800 407772
 rect 583520 406478 584800 406590
 rect 583520 405296 584800 405408
-rect -800 381864 480 381976
+rect -800 381971 480 381976
+rect -800 381870 372 381971
+rect 475 381870 480 381971
+rect -800 381864 480 381870
 rect -800 380682 480 380794
 rect -800 379500 480 379612
 rect -800 378318 480 378430
@@ -1074,18 +1140,22 @@
 rect -100 0 0 704000
 rect 584000 0 584100 704000
 rect -100 -100 584100 0
-use 1T1R_2x2  1T1R_2x2_0
-timestamp 1647533459
-transform 1 0 562058 0 1 685450
-box 0 0 864 800
-use FG_pfet  FG_pfet_0
-timestamp 1647612247
-transform 1 0 52313 0 1 660624
-box -2563 -40 1390 600
+use hv_tgate  hv_tgate_0
+timestamp 1648694146
+transform 1 0 230448 0 1 427446
+box -5090 -470 22390 1062
 use c4_1  c4_1_1
 timestamp 1654288242
 transform 1 0 256206 0 1 656412
 box -1392 -222 277 585
+use FG_pfet  FG_pfet_0
+timestamp 1654453464
+transform 1 0 52313 0 1 660624
+box -2563 -40 1390 600
+use 1T1R_2x2  1T1R_2x2_0
+timestamp 1647533459
+transform 1 0 562058 0 1 685450
+box 0 0 864 800
 << labels >>
 flabel metal3 s 582300 677984 584800 682984 0 FreeSans 1120 0 0 0 io_analog[0]
 port 36 nsew signal bidirectional
diff --git a/xschem/hv_tgate.sch b/xschem/hv_tgate.sch
new file mode 100644
index 0000000..e4cc9fc
--- /dev/null
+++ b/xschem/hv_tgate.sch
@@ -0,0 +1,144 @@
+v {xschem version=3.0.0 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 350 -430 350 -220 { lab=A}
+N 410 -430 410 -220 { lab=B}
+N 380 -430 380 -370 { lab=VHVPWR}
+N 380 -270 380 -220 { lab=VGND}
+N 380 -270 450 -270 { lab=VGND}
+N 380 -510 380 -470 { lab=pgate}
+N 290 -180 380 -180 { lab=pgate}
+N -190 -420 -190 -400 { lab=VGND}
+N -190 -400 -30 -400 { lab=VGND}
+N -30 -420 -30 -400 { lab=VGND}
+N -190 -600 -190 -480 { lab=pgate}
+N -30 -600 -30 -480 { lab=pgate}
+N -150 -630 -120 -630 { lab=pgate}
+N -120 -630 -120 -580 { lab=pgate}
+N -120 -580 -30 -580 { lab=pgate}
+N -110 -630 -70 -630 { lab=pgate}
+N -190 -570 -110 -570 { lab=pgate}
+N -110 -630 -110 -570 { lab=pgate}
+N -190 -690 -190 -660 { lab=VHVPWR}
+N -190 -690 -30 -690 { lab=VHVPWR}
+N -30 -690 -30 -660 { lab=VHVPWR}
+N -200 -630 -190 -630 { lab=VHVPWR}
+N -200 -660 -200 -630 { lab=VHVPWR}
+N -200 -660 -190 -660 { lab=VHVPWR}
+N -30 -630 -20 -630 { lab=VHVPWR}
+N -20 -660 -20 -630 { lab=VHVPWR}
+N -30 -660 -20 -660 { lab=VHVPWR}
+N -190 -450 -170 -450 { lab=VGND}
+N -170 -450 -170 -400 { lab=VGND}
+N -30 -450 -10 -450 { lab=VGND}
+N -10 -450 -10 -400 { lab=VGND}
+N -30 -400 -10 -400 { lab=VGND}
+N -390 -290 -70 -290 { lab=S_NOT}
+N -70 -450 -70 -290 { lab=S_NOT}
+N -470 -450 -230 -450 { lab=S}
+N -190 -510 380 -510 { lab=pgate}
+N 290 -490 290 -180 { lab=pgate}
+N -30 -490 290 -490 { lab=pgate}
+N -470 -290 -390 -290 { lab=S_NOT}
+N -60 -760 -60 -690 { lab=VHVPWR}
+N 270 -320 350 -320 { lab=A}
+N 410 -320 480 -320 { lab=B}
+N -40 -400 -40 -340 { lab=VGND}
+N 380 -370 450 -370 { lab=VHVPWR}
+C {devices/lab_wire.sym} 450 -370 2 0 {name=l2 lab=VHVPWR}
+C {devices/lab_wire.sym} 230 -510 0 0 {name=l13 lab=pgate}
+C {devices/lab_wire.sym} 160 -490 0 0 {name=l3 lab=pgate}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 380 -200 3 0 {name=M1
+L=0.5
+W=10
+nf=1
+mult=10
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'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} 380 -450 1 0 {name=M2
+L=0.5
+W=10
+nf=1
+mult=10
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.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} -50 -630 0 0 {name=M9
+L=0.5
+W=10
+nf=1
+mult=1
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.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} -170 -630 2 0 {name=M4
+L=0.5
+W=10
+nf=1
+mult=1
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.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} -210 -450 0 0 {name=x3
+L=0.5
+W=10
+nf=1
+mult=1
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'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} -50 -450 0 0 {name=x6
+L=0.5
+W=10
+nf=1
+mult=1
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'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/ipin.sym} -470 -450 0 0 {name=p1 lab=S}
+C {devices/ipin.sym} -470 -290 0 0 {name=p2 lab=S_NOT}
+C {devices/iopin.sym} -60 -760 0 0 {name=p3 lab=VHVPWR}
+C {devices/iopin.sym} 270 -320 2 0 {name=p4 lab=A}
+C {devices/iopin.sym} 480 -320 0 0 {name=p5 lab=B}
+C {devices/iopin.sym} -40 -340 0 0 {name=p6 lab=VGND}
+C {devices/lab_wire.sym} 450 -270 2 0 {name=l1 lab=VGND}
diff --git a/xschem/hv_tgate.sym b/xschem/hv_tgate.sym
new file mode 100644
index 0000000..6e1cdab
--- /dev/null
+++ b/xschem/hv_tgate.sym
@@ -0,0 +1,42 @@
+v {xschem version=3.0.0 file_version=1.2 }
+G {}
+K {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"
+}
+V {}
+S {}
+E {}
+L 4 -60 0 -40 0 {}
+L 4 40 0 60 0 {}
+L 4 -40 -0 -0 -20 {}
+L 4 -40 -40 -40 0 {}
+L 4 -40 -40 0 -20 {}
+L 4 0 -20 40 -40 {}
+L 4 40 -40 40 0 {}
+L 4 -0 -20 40 0 {}
+L 4 -0 20 40 0 {}
+L 4 -0 20 40 40 {}
+L 4 40 -0 40 40 {}
+L 4 -40 0 0 20 {}
+L 4 -40 -0 -40 40 {}
+L 4 -40 40 0 20 {}
+L 4 -0 -50 -0 -20 {}
+L 4 -0 30 -0 50 {}
+L 4 30 60 30 80 {}
+L 4 30 -80 30 -60 {}
+B 5 -2.5 47.5 2.5 52.5 {name=S_NOT dir=in }
+B 5 27.5 77.5 32.5 82.5 {name=VGND dir=inout}
+B 5 27.5 -82.5 32.5 -77.5 {name=VHVPWR dir=inout}
+B 5 -62.5 -2.5 -57.5 2.5 {name=A dir=inout}
+B 5 57.5 -2.5 62.5 2.5 {name=B dir=inout }
+B 5 -2.5 -52.5 2.5 -47.5 {name=S dir=in }
+A 4 0.3125 24.4375 4.448489912318562 94.02826366648515 351.9434726670297 {}
+T {@name} 45 -32 0 0 0.2 0.2 {}
+T {S_NOT} -35 36 0 0 0.2 0.2 {}
+T {VGND} 15 46 0 0 0.2 0.2 {}
+T {VHVPWR} 15 -54 0 0 0.2 0.2 {}
+T {A} -55 -14 0 0 0.2 0.2 {}
+T {B} 65 -14 0 1 0.2 0.2 {}
+T {S} -15 -44 0 0 0.2 0.2 {}
+T {@symname} -25 -7 0 0 0.2 0.2 {}
diff --git a/xschem/sky130_fd_pr/nfet_g5v0d10v5.sym b/xschem/sky130_fd_pr/nfet_g5v0d10v5.sym
new file mode 100644
index 0000000..6f5ccb6
--- /dev/null
+++ b/xschem/sky130_fd_pr/nfet_g5v0d10v5.sym
@@ -0,0 +1,61 @@
+v {xschem version=3.0.0 file_version=1.2 
+
+* Copyright 2021 Stefan Frederik Schippers
+* 
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*     https://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+
+}
+G {}
+K {type=nmos
+format="@spiceprefix@name @pinlist sky130_fd_pr__@model L=@L W=@W
++ nf=@nf ad=@ad as=@as pd=@pd ps=@ps
++ nrd=@nrd nrs=@nrs sa=@sa sb=@sb sd=@sd 
++ mult=@mult m=@mult"
+template="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
+"}
+V {}
+S {}
+E {}
+L 4 20 -30 20 -17.5 {}
+L 4 20 17.5 20 30 {}
+L 4 7.5 -17.5 20 -17.5 {}
+L 4 7.5 17.5 15 17.5 {}
+L 4 7.5 -22.5 7.5 22.5 {}
+L 4 -20 0 -2.5 0 {}
+B 5 17.5 -32.5 22.5 -27.5 {name=D dir=inout}
+B 5 -22.5 -2.5 -17.5 2.5 {name=G dir=in}
+B 5 17.5 27.5 22.5 32.5 {name=S dir=inout}
+B 5 19.921875 -0.078125 20.078125 0.078125 {name=B dir=in}
+P 4 4 15 15 20 17.5 15 20 15 15 {fill=true}
+P 4 5 -2.5 15 -2.5 -15 2.5 -15 2.5 15 -2.5 15 {}
+P 5 4 20 -2.5 15 0 20 2.5 20 -2.5 {fill=true}
+T {@name} 5 -30 0 1 0.2 0.2 {}
+T {S} 22.5 17.5 0 0 0.15 0.15 {layer=7}
+T {D} 22.5 -17.5 2 1 0.15 0.15 {layer=7}
+T {B} 20 -10 0 0 0.15 0.15 {layer=7}
+T {G} -10 -10 0 1 0.15 0.15 {layer=7}
+T {@model} 30 -8.75 2 1 0.2 0.2 {}
+T {@mult x @W / @L} 31.25 13.75 0 0 0.2 0.2 { layer=13}
+T {nf=@nf} 31.25 1.25 0 0 0.2 0.2 { layer=13}
diff --git a/xschem/user_analog_project_wrapper.sch b/xschem/user_analog_project_wrapper.sch
index 62dba90..c951dba 100644
--- a/xschem/user_analog_project_wrapper.sch
+++ b/xschem/user_analog_project_wrapper.sch
@@ -121,6 +121,14 @@
 lab=vin_1_com}
 N 1124 -476 1188 -476 {
 lab=vin_2_com}
+N 1660.1 -259.73 1660.1 -224.37 {
+lab=#net10}
+N 1660 -495 1660 -450 { lab=#net11}
+N 1660 -290 1660 -260 { lab=#net12}
+N 1525 -370 1570 -370 { lab=gpio_analog[11]}
+N 1630 -450 1630 -420 { lab=gpio_analog[9]}
+N 1630 -315 1630 -290 { lab=gpio_analog[10]}
+N 1690 -370 1740 -370 { lab=gpio_analog[3]}
 C {devices/lab_pin.sym} -430 -540 2 0 {name=l1 lab=io_analog[1]}
 C {devices/lab_pin.sym} -510 -540 0 0 {name=l2 lab=io_analog[0]}
 C {devices/lab_pin.sym} -580 -380 0 0 {name=l3 lab=io_analog[4]}
@@ -224,3 +232,10 @@
 }
 C {devices/lab_pin.sym} 1510 -959 0 0 {name=l48 sig_type=std_logic lab=vin_2_com
 }
+C {hv_tgate.sym} 1630 -370 0 0 {name=x8}
+C {devices/lab_pin.sym} 1660.12 -495.6099999999999 3 1 {name=l49 lab=vdda1}
+C {devices/lab_pin.sym} 1660.36 -224.63 0 1 {name=l50 lab=vssa1}
+C {devices/lab_pin.sym} 1525 -370 0 0 {name=l51 sig_type=std_logic lab=gpio_analog[11]}
+C {devices/lab_pin.sym} 1630 -450 1 0 {name=l52 sig_type=std_logic lab=gpio_analog[9]}
+C {devices/lab_pin.sym} 1630 -290 3 0 {name=l53 sig_type=std_logic lab=gpio_analog[10]}
+C {devices/lab_pin.sym} 1740 -370 2 0 {name=l54 sig_type=std_logic lab=gpio_analog[12]}