Adding C4
diff --git a/mag/c4_1.mag b/mag/c4_1.mag
index cf84dd8..b218809 100644
--- a/mag/c4_1.mag
+++ b/mag/c4_1.mag
@@ -1,7 +1,7 @@
 magic
 tech sky130B
 magscale 1 2
-timestamp 1653965725
+timestamp 1654006311
 << metal1 >>
 rect 235 316 301 382
 rect 164 240 204 284
@@ -16,9 +16,9 @@
 transform 1 0 -167 0 1 118
 box 65 -92 273 298
 use sky130_fd_pr__nfet_01v8_674BNL  M2
-timestamp 1653965725
+timestamp 1654002542
 transform 0 -1 -347 -1 0 101
-box -71 -601 133 25
+box -315 -649 133 25
 use sky130_fd_pr__pfet_01v8_DYVWKP  M3
 timestamp 1653928262
 transform 0 1 156 -1 0 349
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index 4f613d5..dfc63c4 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,153 +1,7 @@
 magic
 tech sky130B
 magscale 1 2
-timestamp 1653686474
-<< checkpaint >>
-rect 48490 659324 54963 662484
-<< nwell >>
-rect 208506 659508 209222 659758
-rect 212242 659754 212610 659980
-rect 215856 659510 216566 659754
-rect 218716 659690 219084 659992
-<< pwell >>
-rect 208500 659122 209492 659384
-rect 212290 658864 212696 659268
-rect 215704 659220 216660 659394
-rect 218920 658836 219326 659228
-<< psubdiff >>
-rect 208654 659300 208968 659328
-rect 208654 659246 208716 659300
-rect 208924 659246 208968 659300
-rect 216000 659308 216370 659340
-rect 216000 659270 216054 659308
-rect 216342 659270 216370 659308
-rect 208654 659218 208968 659246
-rect 212322 659040 212636 659068
-rect 212322 658986 212384 659040
-rect 212592 658986 212636 659040
-rect 212322 658958 212636 658986
-rect 216000 659254 216370 659270
-rect 218952 659012 219266 659040
-rect 218952 658958 219014 659012
-rect 219222 658958 219266 659012
-rect 218952 658930 219266 658958
-<< nsubdiff >>
-rect 212278 659918 212574 659944
-rect 212278 659828 212344 659918
-rect 212520 659828 212574 659918
-rect 218752 659930 219048 659956
-rect 212278 659790 212574 659828
-rect 208646 659672 208942 659704
-rect 208646 659582 208712 659672
-rect 208888 659582 208942 659672
-rect 218752 659840 218818 659930
-rect 218994 659840 219048 659930
-rect 218752 659802 219048 659840
-rect 216054 659650 216382 659668
-rect 216054 659610 216094 659650
-rect 216342 659610 216382 659650
-rect 208646 659544 208942 659582
-rect 216054 659580 216382 659610
-<< psubdiffcont >>
-rect 208716 659246 208924 659300
-rect 216054 659270 216342 659308
-rect 212384 658986 212592 659040
-rect 219014 658958 219222 659012
-<< nsubdiffcont >>
-rect 212344 659828 212520 659918
-rect 208712 659582 208888 659672
-rect 218818 659840 218994 659930
-rect 216094 659610 216342 659650
-<< poly >>
-rect 213898 659878 213984 659910
-rect 213898 659826 213908 659878
-rect 213974 659826 213984 659878
-rect 213898 659600 213984 659826
-rect 213882 659056 213998 659266
-rect 213882 658982 213902 659056
-rect 213982 658982 213998 659056
-rect 213882 658944 213998 658982
-<< polycont >>
-rect 213908 659826 213974 659878
-rect 213902 658982 213982 659056
-<< locali >>
-rect 212296 659920 212574 659944
-rect 212296 659828 212344 659920
-rect 212522 659828 212574 659920
-rect 218770 659932 219048 659956
-rect 212296 659794 212574 659828
-rect 213898 659878 213990 659894
-rect 213898 659826 213906 659878
-rect 213974 659826 213990 659878
-rect 213898 659810 213990 659826
-rect 218770 659840 218818 659932
-rect 218996 659840 219048 659932
-rect 218770 659806 219048 659840
-rect 208664 659732 209110 659733
-rect 208664 659699 209136 659732
-rect 212306 659700 212542 659794
-rect 215814 659766 216194 659768
-rect 215814 659700 216590 659766
-rect 218780 659730 219016 659806
-rect 216052 659699 216590 659700
-rect 208664 659674 208942 659699
-rect 208664 659582 208712 659674
-rect 208890 659582 208942 659674
-rect 216052 659650 216382 659699
-rect 208664 659548 208942 659582
-rect 208648 659300 208970 659328
-rect 208648 659246 208716 659300
-rect 208924 659246 208970 659300
-rect 215760 659268 215804 659620
-rect 216052 659610 216094 659650
-rect 216342 659610 216382 659650
-rect 216052 659580 216382 659610
-rect 215996 659310 216370 659340
-rect 217226 659318 217280 659384
-rect 215996 659268 216054 659310
-rect 216344 659268 216370 659310
-rect 208648 659190 208970 659246
-rect 215996 659207 216370 659268
-rect 215996 659206 216670 659207
-rect 208648 659155 209162 659190
-rect 215789 659156 216670 659206
-rect 212316 659040 212682 659156
-rect 215789 659154 216093 659156
-rect 216366 659155 216670 659156
-rect 212316 658986 212384 659040
-rect 212592 658986 212682 659040
-rect 212316 658930 212682 658986
-rect 213886 659056 213998 659072
-rect 213886 658982 213902 659056
-rect 213982 658982 213998 659056
-rect 213886 658966 213998 658982
-rect 218946 659012 219312 659186
-rect 218946 658958 219014 659012
-rect 219222 658958 219312 659012
-rect 212316 658895 212696 658930
-rect 218946 658902 219312 658958
-rect 218946 658867 219326 658902
-<< viali >>
-rect 212344 659918 212522 659920
-rect 212344 659828 212520 659918
-rect 212520 659828 212522 659918
-rect 213906 659826 213908 659878
-rect 213908 659826 213974 659878
-rect 218818 659930 218996 659932
-rect 218818 659840 218994 659930
-rect 218994 659840 218996 659930
-rect 208712 659672 208890 659674
-rect 208712 659582 208888 659672
-rect 208888 659582 208890 659672
-rect 208716 659246 208924 659300
-rect 216094 659610 216342 659650
-rect 216054 659308 216344 659310
-rect 216054 659270 216342 659308
-rect 216342 659270 216344 659308
-rect 216054 659268 216344 659270
-rect 212384 658986 212592 659040
-rect 213902 658982 213982 659056
-rect 219014 658958 219222 659012
+timestamp 1654013377
 << metal1 >>
 rect 561180 686400 561428 686442
 rect 561180 686254 561216 686400
@@ -196,67 +50,38 @@
 rect 51830 661166 51858 661200
 rect 51976 661166 52004 661200
 rect 51830 660998 52004 661166
-rect 216128 661102 227510 661294
 rect 51839 657600 52002 660998
-rect 212270 659920 212576 659944
-rect 212270 659828 212344 659920
-rect 212522 659828 212576 659920
-rect 212270 659792 212576 659828
-rect 213894 659878 213986 659884
-rect 213894 659826 213906 659878
-rect 213974 659826 213986 659878
-rect 213894 659820 213986 659826
-rect 208504 659764 208944 659766
-rect 216128 659764 216312 661102
-rect 218744 659932 219050 659956
-rect 218744 659840 218818 659932
-rect 218996 659840 219050 659932
-rect 218744 659804 219050 659840
-rect 208504 659674 209304 659764
-rect 215822 659762 216662 659764
-rect 208504 659582 208712 659674
-rect 208890 659666 209304 659674
-rect 215798 659668 216662 659762
-rect 208890 659582 208944 659666
-rect 216050 659650 216382 659668
-rect 208504 659546 208944 659582
-rect 208648 659300 208970 659328
-rect 208648 659246 208716 659300
-rect 208924 659246 208970 659300
-rect 215754 659264 215806 659622
-rect 216050 659610 216094 659650
-rect 216342 659610 216382 659650
-rect 216050 659578 216382 659610
-rect 215990 659310 216370 659340
-rect 215990 659268 216054 659310
-rect 216344 659268 216370 659310
-rect 208648 659220 208970 659246
-rect 215990 659220 216370 659268
-rect 208502 659124 209220 659220
-rect 212316 659040 212682 659156
-rect 215808 659124 216648 659220
-rect 212316 658986 212384 659040
-rect 212592 658986 212682 659040
-rect 212316 658960 212682 658986
-rect 213890 659056 213994 659062
-rect 213890 658982 213902 659056
-rect 213982 658982 213994 659056
-rect 213890 658976 213994 658982
-rect 212290 658864 212696 658960
-rect 216120 658348 216298 659124
-rect 218946 659012 219312 659050
-rect 218946 658958 219014 659012
-rect 219222 658958 219312 659012
-rect 218946 658932 219312 658958
-rect 218920 658836 219326 658932
-rect 216120 658338 226138 658348
-rect 216120 658154 225910 658338
-rect 226126 658154 226138 658338
-rect 216120 658144 226138 658154
 rect 51839 657502 51858 657600
 rect 51982 657502 52002 657600
 rect 51839 657487 52002 657502
-rect 227322 581322 227510 661102
+rect 227322 657034 256194 657078
+rect 227322 581322 227510 657034
+rect 255950 656990 256022 656998
+rect 255950 656938 255958 656990
+rect 256014 656938 256022 656990
+rect 255950 656930 256022 656938
+rect 255966 656570 256006 656930
+rect 256154 656784 256194 657034
+rect 256441 656788 256513 656796
+rect 256441 656736 256449 656788
+rect 256505 656736 256513 656788
+rect 256441 656728 256513 656736
+rect 256677 656659 256750 656668
+rect 256677 656652 256685 656659
+rect 256373 656613 256685 656652
+rect 256677 656607 256685 656613
+rect 256741 656607 256750 656659
+rect 256677 656599 256750 656607
+rect 255826 656537 255903 656548
+rect 255826 656484 255839 656537
+rect 255895 656484 255903 656537
+rect 255826 656473 255903 656484
+rect 256854 656438 257128 656450
+rect 256854 656410 256870 656438
+rect 256116 656378 256870 656410
+rect 256854 656374 256870 656378
+rect 257106 656374 257128 656438
+rect 256854 656366 257128 656374
 rect 227322 581188 227336 581322
 rect 227494 581188 227510 581322
 rect 227322 581174 227510 581188
@@ -268,28 +93,24 @@
 rect 51446 666332 51700 666500
 rect 43042 663434 43190 663602
 rect 56256 663434 56376 663594
-rect 213908 659826 213974 659878
-rect 213902 658982 213982 659056
-rect 225910 658154 226126 658338
 rect 51858 657502 51982 657600
+rect 255958 656938 256014 656990
+rect 256449 656736 256505 656788
+rect 256685 656607 256741 656659
+rect 255839 656484 255895 656537
+rect 256870 656374 257106 656438
 rect 227336 581188 227494 581322
 << metal2 >>
 rect 512622 703358 513362 703376
-rect 122320 703284 123060 703286
-rect 122318 703270 123060 703284
-rect 122318 702570 122338 703270
-rect 123038 702570 123060 703270
 rect 415430 703206 416162 703216
 rect 415430 702616 415440 703206
 rect 416152 702616 416162 703206
 rect 415430 702606 416162 702616
 rect 467610 703066 468342 703076
-rect 122318 702546 123060 702570
-rect 122318 680994 123058 702546
 rect 172762 699814 173502 699834
 rect 172762 699114 172784 699814
 rect 173484 699114 173502 699814
-rect 172762 681240 173502 699114
+rect 172762 681286 173502 699114
 rect 224634 698474 225366 698484
 rect 224634 697884 224644 698474
 rect 225356 697884 225366 698474
@@ -362,12 +183,14 @@
 rect 224862 683618 224872 683790
 rect 225178 683618 225189 683790
 rect 224862 683607 225189 683618
+rect 256854 682292 257128 682296
 rect 512610 682292 513366 684870
-rect 225894 681546 513366 682292
-rect 225894 681536 513364 681546
-rect 172762 681190 217496 681240
-rect 122318 680910 217316 680994
-rect 122318 680908 123058 680910
+rect 256850 681546 513366 682292
+rect 256850 681536 513364 681546
+rect 172756 681134 256022 681286
+rect 172756 681131 226746 681134
+rect 255948 681108 256022 681134
+rect 255948 680942 256024 681108
 rect 51436 666500 51710 666510
 rect 51436 666332 51446 666500
 rect 51700 666332 51710 666500
@@ -380,36 +203,38 @@
 rect 56246 663434 56256 663594
 rect 56376 663434 56386 663594
 rect 56246 663424 56386 663434
-rect 213548 659878 213986 659884
-rect 213548 659826 213908 659878
-rect 213974 659826 213986 659878
-rect 213548 659820 213986 659826
 rect 51838 657602 52004 657616
 rect 51838 657502 51856 657602
 rect 51982 657502 52004 657602
 rect 51838 657486 52004 657502
+rect 255950 656990 256024 680942
+rect 255950 656938 255958 656990
+rect 256014 656938 256024 656990
+rect 255950 656930 256024 656938
+rect 213547 656788 256515 656796
+rect 213547 656736 256449 656788
+rect 256505 656736 256515 656788
+rect 213547 656728 256515 656736
+rect 213547 656727 255447 656728
+rect 213547 656306 213617 656727
+rect 256677 656659 256750 656668
+rect 256677 656639 256685 656659
+rect 256676 656607 256685 656639
+rect 256741 656639 256750 656659
+rect 256741 656607 256752 656639
+rect 213901 656537 255903 656548
+rect 213901 656484 255839 656537
+rect 255895 656484 255903 656537
+rect 213901 656473 255903 656484
+rect 213901 656327 213984 656473
 rect 4346 511652 4478 511670
-rect 213548 511652 213616 659820
+rect 213548 511652 213616 656306
 rect 340 511642 213616 511652
 rect 480 511530 213616 511642
 rect 340 511508 213616 511530
-rect 213902 659056 213982 659070
-rect 213902 468414 213982 658982
-rect 215750 657922 215838 659630
-rect 215438 657832 215838 657922
-rect 215438 583670 215526 657832
-rect 216680 657578 216768 659598
-rect 217190 659438 217316 680910
-rect 217412 659394 217496 681190
-rect 217202 659306 217496 659394
-rect 221370 659503 221468 659648
-rect 221370 659423 223646 659503
-rect 221370 659248 221468 659423
-rect 223537 658412 223646 659423
-rect 215768 657496 216768 657578
-rect 215770 587230 215846 657496
-rect 223530 588406 223650 658412
-rect 225898 658338 226138 681536
+rect 213902 468414 213982 656327
+rect 256676 583670 256752 656607
+rect 256854 656438 257128 681536
 rect 562127 681532 562489 685199
 rect 582202 681532 583046 681536
 rect 562127 681526 583046 681532
@@ -417,20 +242,13 @@
 rect 583036 681176 583046 681526
 rect 562127 681170 583046 681176
 rect 582202 681166 583046 681170
-rect 225898 658154 225910 658338
-rect 226126 658154 226138 658338
-rect 225898 658144 226138 658154
-rect 223530 588392 583640 588406
-rect 223530 588300 583530 588392
-rect 583634 588300 583640 588392
-rect 223530 588292 583640 588300
-rect 583530 588290 583640 588292
-rect 215768 587220 583732 587230
-rect 215768 587108 583520 587220
-rect 215768 587098 583732 587108
-rect 215438 583660 583636 583670
-rect 215438 583576 583534 583660
-rect 215438 583566 583636 583576
+rect 256854 656374 256870 656438
+rect 257106 656374 257128 656438
+rect 256854 656354 257128 656374
+rect 256676 583660 583636 583670
+rect 256676 583576 583534 583660
+rect 256676 583566 583636 583576
+rect 256676 583564 256752 583566
 rect 227322 581322 227510 581334
 rect 227322 581188 227336 581322
 rect 227494 581188 227510 581322
@@ -938,7 +756,6 @@
 rect 582068 -800 582180 480
 rect 583250 -800 583362 480
 << via2 >>
-rect 122338 702570 123038 703270
 rect 415440 702616 416152 703206
 rect 172784 699114 173484 699814
 rect 224644 697884 225356 698474
@@ -957,18 +774,13 @@
 rect 51858 657502 51982 657600
 rect 340 511530 480 511642
 rect 582730 681176 583036 681526
-rect 583530 588300 583634 588392
-rect 583520 587108 583732 587220
 rect 583534 583576 583636 583660
 rect 582550 552760 583250 553460
 rect 360 468320 462 468404
 << metal3 >>
 rect 16194 702300 21194 704800
 rect 68194 702300 73194 704800
-rect 120194 703270 125194 704800
-rect 120194 702570 122338 703270
-rect 123038 702570 125194 703270
-rect 120194 702300 125194 702570
+rect 120194 702300 125194 704800
 rect 165594 702300 170594 704800
 rect 170894 702300 173094 704800
 rect 173394 702300 175594 704800
@@ -1059,13 +871,9 @@
 rect 582340 639784 584800 644584
 rect 582340 629784 584800 634584
 rect 583520 589472 584800 589584
-rect 583520 588392 584800 588402
-rect 583520 588300 583530 588392
-rect 583634 588300 584800 588392
-rect 583520 588290 584800 588300
+rect 583520 588290 584800 588402
 rect 583510 587220 583742 587225
-rect 583510 587108 583520 587220
-rect 583732 587108 584800 587220
+rect 583510 587108 584800 587220
 rect 583510 587103 583742 587108
 rect 583520 585926 584800 586038
 rect 583520 584744 584800 584856
@@ -1261,17 +1069,17 @@
 transform 1 0 562058 0 1 685450
 box 0 0 864 800
 use FG_pfet  FG_pfet_0
-timestamp 1647612247
+timestamp 1654006311
 transform 1 0 52313 0 1 660624
 box -2563 -40 1390 600
-use sky130_sc_ams__comparator_1  sky130_sc_ams__comparator_1_1
-timestamp 1647467084
-transform 1 0 216584 0 1 659172
-box -38 -48 4914 592
-use sky130_sc_ams__ota_1  sky130_sc_ams__ota_1_1
-timestamp 1647538073
-transform 1 0 209108 0 1 659172
-box -38 -48 6754 592
+use c4_1  c4_1_0
+timestamp 1654006311
+transform 1 0 372 0 1 32
+box -372 -32 306 458
+use c4_1  c4_1_1
+timestamp 1654006311
+transform 1 0 256206 0 1 656412
+box -372 -32 306 458
 << 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/user_analog_project_wrapper.sch b/xschem/user_analog_project_wrapper.sch
index d9e7fc3..71d7a6d 100644
--- a/xschem/user_analog_project_wrapper.sch
+++ b/xschem/user_analog_project_wrapper.sch
@@ -15,60 +15,16 @@
 lab=io_analog[2]}
 N -430 -280 -430 -260 {
 lab=io_analog[3]}
-N 280 -460 280 -400 {
-lab=vdda1}
-N 280 -460 300 -460 {
-lab=vdda1}
-N 300 -460 300 -400 {
-lab=vdda1}
-N 290 -560 290 -460 {
-lab=vdda1}
-N 280 -280 280 -220 {
-lab=vssa1}
-N 280 -220 300 -220 {
-lab=vssa1}
-N 300 -280 300 -220 {
-lab=vssa1}
-N 290 -220 290 -160 {
-lab=vssa1}
-N 820 -460 820 -390 {
-lab=vdda1}
-N 820 -460 840 -460 {
-lab=vdda1}
-N 840 -460 840 -390 {
-lab=vdda1}
-N 830 -540 830 -460 {
-lab=vdda1}
-N 830 -560 830 -540 {
-lab=vdda1}
-N 820 -270 820 -220 {
-lab=vccd1}
-N 820 -220 840 -220 {
-lab=vccd1}
-N 840 -270 840 -220 {
-lab=vccd1}
-N 830 -220 830 -160 {
-lab=vccd1}
-N 700 -330 760 -330 {
-lab=io_in[13]}
-N 920 -330 960 -330 {
-lab=io_out[13]}
-N 960 -330 1000 -330 {
-lab=io_out[13]}
-N 700 -300 760 -300 {
-lab=io_analog[6]}
-N 700 -360 760 -360 {
-lab=io_analog[7]}
-N 370 -340 440 -340 {
-lab=gpio_analog[6]}
-N 120 -360 210 -360 {
-lab=gpio_analog[7]}
-N 120 -320 210 -320 {
-lab=gpio_analog[8]}
 N -430 -1030 -380 -1030 { lab=vssa2}
 N -430 -940 -380 -940 { lab=io_analog[9]}
 N -610 -990 -560 -990 { lab=io_analog[8]}
 N -480 -1080 -480 -1040 { lab=io_analog[10]}
+N 290 -1080 290 -1050 {}
+N 290 -950 290 -920 {}
+N 120 -1020 140 -1020 {}
+N 120 -1000 140 -1000 {}
+N 120 -980 140 -980 {}
+N 440 -1000 480 -1000 {}
 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]}
@@ -109,29 +65,19 @@
 C {devices/iopin.sym} -1070 -140 0 0 {name=p37 lab=io_clamp_low[2:0]}
 C {devices/opin.sym} -1050 -70 0 0 {name=p38 lab=user_irq[2:0]}
 C {devices/ipin.sym} -1030 -460 0 0 {name=p39 lab=la_oenb[127:0]}
-C {sky130_sc_ams__ota_1.sym} 290 -340 0 0 {name=x2}
-C {sky130_sc_ams__comparator_1.sym} 830 -330 0 0 {name=x3}
-C {devices/lab_pin.sym} 290 -560 0 0 {name=l7 sig_type=std_logic lab=vdda1}
-C {devices/lab_pin.sym} 290 -160 0 0 {name=l8 sig_type=std_logic lab=vssa1
-}
-C {devices/lab_pin.sym} 830 -160 0 0 {name=l10 sig_type=std_logic lab=vssa1}
-C {devices/lab_pin.sym} 830 -560 0 0 {name=l11 sig_type=std_logic lab=vdda1
-}
-C {devices/lab_pin.sym} 700 -330 0 0 {name=l12 sig_type=std_logic lab=io_in[13]
-}
-C {devices/lab_pin.sym} 1000 -330 2 0 {name=l13 sig_type=std_logic lab=io_out[13]
-}
-C {devices/lab_pin.sym} 700 -360 0 0 {name=l14 sig_type=std_logic lab=io_analog[7]
-}
-C {devices/lab_pin.sym} 700 -300 0 0 {name=l15 sig_type=std_logic lab=io_analog[6]
-}
-C {devices/lab_pin.sym} 440 -340 2 0 {name=l16 sig_type=std_logic lab=gpio_analog[6]}
-C {devices/lab_pin.sym} 120 -360 0 0 {name=l17 sig_type=std_logic lab=gpio_analog[7]
-}
-C {devices/lab_pin.sym} 120 -320 0 0 {name=l18 sig_type=std_logic lab=gpio_analog[8]
-}
 C {FG_pfet.sym} -410 -970 0 0 {name=x4}
 C {devices/lab_pin.sym} -380 -1030 2 0 {name=l19 lab=vssa2}
 C {devices/lab_pin.sym} -380 -940 2 0 {name=l20 lab=io_analog[9]}
 C {devices/lab_pin.sym} -610 -990 0 0 {name=l21 lab=io_analog[8]}
 C {devices/lab_pin.sym} -480 -1080 1 0 {name=l22 lab=io_analog[10]}
+C {C4.sym} 290 -1000 0 0 {name=x5}
+C {devices/lab_pin.sym} 290 -1080 0 0 {name=l23 sig_type=std_logic lab=vdda1}
+C {devices/lab_pin.sym} 290 -920 0 0 {name=l24 sig_type=std_logic lab=vssa1
+}
+C {devices/lab_pin.sym} 120 -980 0 0 {name=l26 sig_type=std_logic lab=io_analog[6]
+}
+C {devices/lab_pin.sym} 120 -1020 0 0 {name=l27 sig_type=std_logic lab=gpio_analog[7]
+}
+C {devices/lab_pin.sym} 120 -1000 0 0 {name=l25 sig_type=std_logic lab=gpio_analog[8]
+}
+C {devices/lab_pin.sym} 480 -1000 2 0 {name=l28 sig_type=std_logic lab=gpio_analog[6]}
diff --git a/xschem/user_analog_project_wrapper.spice b/xschem/user_analog_project_wrapper.spice
index dd57908..6d7ac52 100644
--- a/xschem/user_analog_project_wrapper.spice
+++ b/xschem/user_analog_project_wrapper.spice
@@ -1,4 +1,5 @@
-** sch_path: /home/carl/IC/caravel_user_project_analog/xschem/user_analog_project_wrapper.sch
+** sch_path:
+*+ /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/user_analog_project_wrapper.sch
 **.subckt user_analog_project_wrapper vdda1 vdda2 vssa1 vssa2 vccd1 vccd2 vssd1 vssd2 wb_clk_i
 *+ wb_rst_i wbs_stb_i wbs_cyc_i wbs_we_i wbs_sel_i[3],wbs_sel_i[2],wbs_sel_i[1],wbs_sel_i[0]
 *+ wbs_dat_i[31],wbs_dat_i[30],wbs_dat_i[29],wbs_dat_i[28],wbs_dat_i[27],wbs_dat_i[26],wbs_dat_i[25],wbs_dat_i[24],wbs_dat_i[23],wbs_dat_i[22],wbs_dat_i[21],wbs_dat_i[20],wbs_dat_i[19],wbs_dat_i[18],wbs_dat_i[17],wbs_dat_i[16],wbs_dat_i[15],wbs_dat_i[14],wbs_dat_i[13],wbs_dat_i[12],wbs_dat_i[11],wbs_dat_i[10],wbs_dat_i[9],wbs_dat_i[8],wbs_dat_i[7],wbs_dat_i[6],wbs_dat_i[5],wbs_dat_i[4],wbs_dat_i[3],wbs_dat_i[2],wbs_dat_i[1],wbs_dat_i[0]
@@ -61,14 +62,13 @@
 *.ipin
 *+ la_oenb[127],la_oenb[126],la_oenb[125],la_oenb[124],la_oenb[123],la_oenb[122],la_oenb[121],la_oenb[120],la_oenb[119],la_oenb[118],la_oenb[117],la_oenb[116],la_oenb[115],la_oenb[114],la_oenb[113],la_oenb[112],la_oenb[111],la_oenb[110],la_oenb[109],la_oenb[108],la_oenb[107],la_oenb[106],la_oenb[105],la_oenb[104],la_oenb[103],la_oenb[102],la_oenb[101],la_oenb[100],la_oenb[99],la_oenb[98],la_oenb[97],la_oenb[96],la_oenb[95],la_oenb[94],la_oenb[93],la_oenb[92],la_oenb[91],la_oenb[90],la_oenb[89],la_oenb[88],la_oenb[87],la_oenb[86],la_oenb[85],la_oenb[84],la_oenb[83],la_oenb[82],la_oenb[81],la_oenb[80],la_oenb[79],la_oenb[78],la_oenb[77],la_oenb[76],la_oenb[75],la_oenb[74],la_oenb[73],la_oenb[72],la_oenb[71],la_oenb[70],la_oenb[69],la_oenb[68],la_oenb[67],la_oenb[66],la_oenb[65],la_oenb[64],la_oenb[63],la_oenb[62],la_oenb[61],la_oenb[60],la_oenb[59],la_oenb[58],la_oenb[57],la_oenb[56],la_oenb[55],la_oenb[54],la_oenb[53],la_oenb[52],la_oenb[51],la_oenb[50],la_oenb[49],la_oenb[48],la_oenb[47],la_oenb[46],la_oenb[45],la_oenb[44],la_oenb[43],la_oenb[42],la_oenb[41],la_oenb[40],la_oenb[39],la_oenb[38],la_oenb[37],la_oenb[36],la_oenb[35],la_oenb[34],la_oenb[33],la_oenb[32],la_oenb[31],la_oenb[30],la_oenb[29],la_oenb[28],la_oenb[27],la_oenb[26],la_oenb[25],la_oenb[24],la_oenb[23],la_oenb[22],la_oenb[21],la_oenb[20],la_oenb[19],la_oenb[18],la_oenb[17],la_oenb[16],la_oenb[15],la_oenb[14],la_oenb[13],la_oenb[12],la_oenb[11],la_oenb[10],la_oenb[9],la_oenb[8],la_oenb[7],la_oenb[6],la_oenb[5],la_oenb[4],la_oenb[3],la_oenb[2],la_oenb[1],la_oenb[0]
 x1 io_analog[4] io_analog[5] io_analog[1] io_analog[2] io_analog[3] io_analog[0] vssa1 1T1R_2x2
-x2 vssa1 vssa1 vccd1 vccd1 gpio_analog[7] gpio_analog[8] gpio_analog[6] sky130_sc_ams__ota_1
-x3 io_in[13] io_analog[7] io_analog[6] vccd1 vccd1 vssa1 vssa1 io_out[13]
-+ sky130_sc_ams__comparator_1
+x4 io_analog[10] io_analog[8] vssa2 io_analog[9] FG_pfet
+x5 gpio_analog[7] vdda1 gpio_analog[8] io_analog[6] gpio_analog[6] vssa1 C4
 **.ends
 
 * expanding   symbol:  1T1R_2x2.sym # of pins=7
-** sym_path: /home/carl/IC/caravel_user_project_analog/xschem/1T1R_2x2.sym
-** sch_path: /home/carl/IC/caravel_user_project_analog/xschem/1T1R_2x2.sch
+** sym_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/1T1R_2x2.sym
+** sch_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/1T1R_2x2.sch
 .subckt 1T1R_2x2  wl1 wl2 sl2 bl1 bl2 sl1 VSS
 *.iopin sl2
 *.iopin sl1
@@ -101,169 +101,46 @@
 .ends
 
 
-* expanding   symbol:  sky130_sc_ams__ota_1.sym # of pins=7
-** sym_path: /home/carl/IC/caravel_user_project_analog/xschem/sky130_sc_ams__ota_1.sym
-** sch_path: /home/carl/IC/caravel_user_project_analog/xschem/sky130_sc_ams__ota_1.sch
-.subckt sky130_sc_ams__ota_1  VPWR VPB VNB VGND Vin1 Vin2 Iout
-*.ipin Vin1
-*.ipin Vin2
-*.ipin VGND
-*.ipin VNB
-*.ipin VPB
-*.ipin VPWR
-*.opin Iout
-XM7 Iout net2 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.30 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM8 net3 net1 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM9 net2 net2 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM1 net5 net4 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM10 net4 net4 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM11 net6 net4 net8 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=8 m=8
-XM12 net6 net6 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM13 net4 net6 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM14 net6 net7 net4 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM16 net7 net4 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM2 net1 Vin2 net5 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1.06 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM3 net2 Vin1 net5 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1.06 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM17 net3 VGND VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM18 net1 VGND VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1.06 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM19 net2 VPWR VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM20 net1 VPWR VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM4 net3 net3 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM21 net4 VGND VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM22 net6 VPWR VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM15 net7 net7 VPWR VPB sky130_fd_pr__pfet_01v8 L=4.20 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+* expanding   symbol:  FG_pfet.sym # of pins=4
+** sym_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/FG_pfet.sym
+** sch_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/FG_pfet.sch
+.subckt FG_pfet  vtun vin vsource vd
+*.iopin vtun
+*.iopin vin
+*.iopin vsource
+*.iopin vd
+XM1 vsource net1 vd vd sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
 + sa=0 sb=0 sd=0 mult=1 m=1
-XM23 net6 VGND VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+XM2 vtun net1 vtun vtun sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1
+XM3 vin net1 vin vin sky130_fd_pr__pfet_g5v0d10v5 L=3 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XR2 VGND net8 VNB sky130_fd_pr__res_xhigh_po W=1.41 L=0.70 mult=1 m=1
-XM6 net1 net1 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.61 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM5 Iout net3 VGND VNB sky130_fd_pr__nfet_01v8 L=0.30 W=0.70 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
++ sa=0 sb=0 sd=0 mult=1 m=1
 .ends
 
 
-* expanding   symbol:  sky130_sc_ams__comparator_1.sym # of pins=8
-** sym_path: /home/carl/IC/caravel_user_project_analog/xschem/sky130_sc_ams__comparator_1.sym
-** sch_path: /home/carl/IC/caravel_user_project_analog/xschem/sky130_sc_ams__comparator_1.sch
-.subckt sky130_sc_ams__comparator_1  CLK VIN1 VIN2 VGND VNB VPB VPWR X
-*.ipin CLK
-*.ipin VIN1
-*.ipin VIN2
-*.ipin VGND
-*.ipin VNB
-*.ipin VPB
-*.ipin VPWR
-*.opin X
-XM1 net1 CLK VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1.49 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM2 net3 CLK VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.45 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+* expanding   symbol:  C4.sym # of pins=6
+** sym_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/C4.sym
+** sch_path: /home/charana/IC/design/mixed-signal-re-ram-mpw-6/xschem/C4.sch
+.subckt C4  vth vdda vtl vin vout vss
+*.ipin vth
+*.ipin vtl
+*.ipin vin
+*.opin vout
+*.iopin vss
+*.iopin vdda
+XM3 vin vtl net1 net1 sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
 + sa=0 sb=0 sd=0 mult=1 m=1
-XM3 net3 VIN1 net1 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM4 net2 VIN2 net1 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=4 m=4
-XM5 net5 net4 net2 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM6 net4 net5 net3 VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM7 net4 CLK VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.45 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+XM4 vin vout vin GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
 + sa=0 sb=0 sd=0 mult=1 m=1
-XM8 net4 net5 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.63 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM9 net5 net4 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.63 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=2 m=2
-XM10 net5 CLK VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.45 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+XM5 vout vin net1 net1 sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
 + sa=0 sb=0 sd=0 mult=1 m=1
-XM11 net2 CLK VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.45 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM12 net7 net5 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.65 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM13 net7 net5 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM14 net6 net4 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.65 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM15 net6 net4 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM16 X net7 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.645 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM17 net8 net6 VGND VNB sky130_fd_pr__nfet_01v8 L=0.15 W=0.645 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1
-XM18 X net8 VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM19 net8 X VPWR VPB sky130_fd_pr__pfet_01v8 L=0.15 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM20 VGND net3 VGND VNB sky130_fd_pr__nfet_01v8 L=1 W=1.49 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM21 VGND net2 VGND VNB sky130_fd_pr__nfet_01v8 L=1 W=1.49 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM22 VGND net4 VGND VNB sky130_fd_pr__nfet_01v8 L=1 W=1.49 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1
-XM23 VGND net5 VGND VNB sky130_fd_pr__nfet_01v8 L=1 W=1.49 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+XM11 vout vth vin vin sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
 + pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
 + sa=0 sb=0 sd=0 mult=1 m=1
 .ends