top level LVS passes. There is a weird bug where xschem subckt ordering in cellA gets messed from the cell to the analog tb. But that's a xschem problem not the layout.
diff --git a/mag/cellA.mag b/mag/cellA.mag
index 714f997..4713857 100644
--- a/mag/cellA.mag
+++ b/mag/cellA.mag
@@ -1,28 +1,36 @@
magic
tech sky130A
magscale 1 2
-timestamp 1622426105
+timestamp 1623612887
<< locali >>
rect -440 2012 -344 2402
-rect -158 2258 -64 2402
-rect -158 2148 478 2258
-rect -158 2002 -64 2148
+rect -158 2002 -64 2402
+rect 92 2148 368 2258
rect 600 2096 1052 2558
rect 2262 2100 2376 2238
rect 2430 2076 2890 2570
rect -330 1878 -170 1958
-use sky130_fd_pr__res_high_po_0p35_L6NJBM sky130_fd_pr__res_high_po_0p35_L6NJBM_1
-timestamp 1621480569
-transform 0 1 1732 -1 0 2523
-box -37 -1132 37 1132
-use sky130_fd_pr__res_high_po_0p35_L6NJBM sky130_fd_pr__res_high_po_0p35_L6NJBM_0
-timestamp 1621480569
-transform 0 1 1244 -1 0 2201
-box -37 -1132 37 1132
+<< viali >>
+rect 368 2148 478 2258
+<< metal1 >>
+rect -167 2258 -57 2403
+rect 362 2258 484 2270
+rect -167 2148 368 2258
+rect 478 2148 484 2258
+rect -167 2001 -57 2148
+rect 362 2136 484 2148
use sky130_fd_pr__nfet_g5v0d10v5_UDRKLA sky130_fd_pr__nfet_g5v0d10v5_UDRKLA_0
timestamp 1622424720
transform 1 0 -256 0 1 2200
box -308 -458 308 458
+use sky130_fd_pr__res_high_po_0p35_L6NJBM sky130_fd_pr__res_high_po_0p35_L6NJBM_0
+timestamp 1621480569
+transform 0 1 1244 -1 0 2201
+box -37 -1132 37 1132
+use sky130_fd_pr__res_high_po_0p35_L6NJBM sky130_fd_pr__res_high_po_0p35_L6NJBM_1
+timestamp 1621480569
+transform 0 1 1732 -1 0 2523
+box -37 -1132 37 1132
<< labels >>
rlabel locali -76 2186 -76 2186 1 out
port 2 n
diff --git a/mag/cellA.spice b/mag/cellA.spice
index d799003..a42fc91 100644
--- a/mag/cellA.spice
+++ b/mag/cellA.spice
@@ -3,7 +3,7 @@
.option scale=5000u
.subckt cellA in vdd out vss r1 r2
-X0 out in vss VSUBS sky130_fd_pr__nfet_g5v0d10v5 ad=23200 pd=916 as=23200 ps=916 w=400 l=160
+X0 out in vss VSUBS sky130_fd_pr__nfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=400 l=160
X1 out vdd VSUBS sky130_fd_pr__res_high_po_0p35 l=1400
X2 r2 r1 VSUBS sky130_fd_pr__res_high_po_0p35 l=1400
.ends
diff --git a/mag/sawgen-fet-sky130.mag b/mag/sawgen-fet-sky130.mag
index 02c180e..a14ff4a 100644
--- a/mag/sawgen-fet-sky130.mag
+++ b/mag/sawgen-fet-sky130.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1623609060
+timestamp 1623611657
<< locali >>
rect -2360 3560 -1940 3640
rect -430 3560 110 3640
@@ -20,9 +20,13 @@
rect -620 2060 -250 2070
rect -620 1890 -540 2060
rect -618 1492 -544 1890
+rect -1404 737 -1342 926
+rect -1353 671 -1342 737
+rect -1404 474 -1342 671
rect -130 -180 50 -90
<< viali >>
rect -824 2076 -756 2144
+rect -1419 671 -1353 737
<< metal1 >>
rect -430 3560 130 3661
rect -417 3515 -343 3560
@@ -56,15 +60,19 @@
rect -830 2064 -750 2070
rect -1299 1299 -1221 1469
rect -1679 1221 -1221 1299
-rect -1679 270 -1601 1221
+rect -1425 737 -1347 1221
rect -1299 1071 -1221 1221
rect -1060 1040 -980 1470
rect -1250 960 -980 1040
+rect -1425 671 -1419 737
+rect -1353 671 -1347 737
+rect -1425 270 -1347 671
rect -1180 430 -1100 960
rect -1210 350 -790 430
rect -710 350 -704 430
rect -1300 270 -1220 320
-rect -1680 190 -1220 270
+rect -1425 190 -1220 270
+rect -1425 189 -1347 190
rect -1300 -70 -1220 190
rect -1040 280 -960 320
rect -1040 200 -360 280
@@ -106,38 +114,38 @@
rect -710 350 -90 430
rect -10 350 -4 430
rect -790 344 -710 350
-use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_1
-timestamp 1623529677
-transform 1 0 -583 0 1 792
-box -37 -1132 37 1132
-use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_2
-timestamp 1623529677
-transform 0 -1 -1128 1 0 3597
-box -37 -1132 37 1132
-use sky130_fd_pr__pfet_g5v0d10v5_TTPRW6 sky130_fd_pr__pfet_g5v0d10v5_TTPRW6_1
-timestamp 1623526904
-transform 1 0 -42 0 1 1557
-box -338 -1897 338 1897
-use sky130_fd_pr__pfet_g5v0d10v5_TTPRW6 sky130_fd_pr__pfet_g5v0d10v5_TTPRW6_0
-timestamp 1623526904
-transform 1 0 -2222 0 1 1557
-box -338 -1897 338 1897
-use sky130_fd_pr__nfet_g5v0d10v5_UQEUHA sky130_fd_pr__nfet_g5v0d10v5_UQEUHA_0
-timestamp 1623526904
-transform 1 0 -1132 0 1 118
-box -308 -458 308 458
-use sky130_fd_pr__pfet_g5v0d10v5_V4E25R sky130_fd_pr__pfet_g5v0d10v5_V4E25R_0
-timestamp 1623527015
-transform 1 0 -1122 0 1 2817
-box -338 -497 338 497
-use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_0
-timestamp 1623529677
-transform -1 0 -1643 0 -1 792
-box -37 -1132 37 1132
use sky130_fd_pr__nfet_g5v0d10v5_UQEUHA sky130_fd_pr__nfet_g5v0d10v5_UQEUHA_1
timestamp 1623526904
transform 1 0 -1132 0 1 1268
box -308 -458 308 458
+use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_0
+timestamp 1623529677
+transform -1 0 -1643 0 -1 792
+box -37 -1132 37 1132
+use sky130_fd_pr__pfet_g5v0d10v5_V4E25R sky130_fd_pr__pfet_g5v0d10v5_V4E25R_0
+timestamp 1623527015
+transform 1 0 -1122 0 1 2817
+box -338 -497 338 497
+use sky130_fd_pr__nfet_g5v0d10v5_UQEUHA sky130_fd_pr__nfet_g5v0d10v5_UQEUHA_0
+timestamp 1623526904
+transform 1 0 -1132 0 1 118
+box -308 -458 308 458
+use sky130_fd_pr__pfet_g5v0d10v5_TTPRW6 sky130_fd_pr__pfet_g5v0d10v5_TTPRW6_0
+timestamp 1623526904
+transform 1 0 -2222 0 1 1557
+box -338 -1897 338 1897
+use sky130_fd_pr__pfet_g5v0d10v5_TTPRW6 sky130_fd_pr__pfet_g5v0d10v5_TTPRW6_1
+timestamp 1623526904
+transform 1 0 -42 0 1 1557
+box -338 -1897 338 1897
+use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_2
+timestamp 1623529677
+transform 0 -1 -1128 1 0 3597
+box -37 -1132 37 1132
+use sky130_fd_pr__res_high_po_0p35_QHYJR3 sky130_fd_pr__res_high_po_0p35_QHYJR3_1
+timestamp 1623529677
+transform 1 0 -583 0 1 792
+box -37 -1132 37 1132
<< labels >>
flabel locali 100 3100 100 3100 1 FreeSans 480 0 0 0 Vd
port 4 n
diff --git a/mag/sawgen-fet-sky130.spice b/mag/sawgen-fet-sky130.spice
index a9feb8e..f26cb50 100644
--- a/mag/sawgen-fet-sky130.spice
+++ b/mag/sawgen-fet-sky130.spice
@@ -7,7 +7,7 @@
X1 Vb vdd vss sky130_fd_pr__res_high_po_0p35 l=1400
X2 vss Rb vss sky130_fd_pr__res_high_po_0p35 l=1400
X3 Csaw Ri vdd vdd sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=400 l=160
-X4 Ri Ri vdd vdd sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=3200 l=160
+X4 Ri Ri vdd vdd sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=3200 l=160
X5 Vd Vt Csaw vdd sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=3200 l=160
X6 Vt Vd vss vss sky130_fd_pr__nfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=400 l=160
X7 Vd Vd vss vss sky130_fd_pr__nfet_g5v0d10v5 ad=0 pd=0 as=0 ps=0 w=400 l=160
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index 36f9599..f9fee4b 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1623610555
+timestamp 1623613607
<< locali >>
rect 68742 687312 68856 687469
rect 68182 687032 68642 687298
@@ -10,6 +10,7 @@
rect 68182 687298 68642 687758
rect 68742 687469 68856 687583
rect 70020 686792 70472 687244
+rect 71513 686974 71547 687008
<< metal1 >>
rect 69559 692734 69668 692740
rect 65228 689894 65234 690354
@@ -25,31 +26,34 @@
rect 68742 687658 69668 687767
rect 70971 690380 73919 690511
rect 68742 687589 68856 687658
-rect 68730 687583 68868 687589
-rect 68730 687469 68742 687583
-rect 68856 687469 68868 687583
-rect 68730 687463 68868 687469
-rect 70971 687582 71102 690380
+rect 70971 687612 71102 690380
rect 71242 687674 71404 687676
rect 73710 687674 73716 687675
rect 71242 687624 73716 687674
rect 73710 687623 73716 687624
rect 73768 687623 73774 687675
+rect 68730 687583 68868 687589
+rect 68730 687469 68742 687583
+rect 68856 687469 68868 687583
+rect 70971 687582 71136 687612
rect 71198 687582 71236 687584
-rect 70971 687580 71236 687582
-rect 70971 687449 71237 687580
+rect 68730 687463 68868 687469
+rect 70942 687408 71244 687582
rect 68170 687292 68654 687298
rect 70008 687244 70484 687250
rect 70008 686792 70020 687244
rect 70472 686792 70484 687244
-rect 71104 687182 71236 687449
+rect 71104 687182 71236 687408
rect 71418 687198 71760 687574
rect 71451 687022 71727 687198
rect 70008 686786 70484 686792
+rect 71454 687008 71724 687022
+rect 71454 686974 71513 687008
+rect 71547 686974 71724 687008
rect 70017 684307 70475 686786
rect 65960 683849 65966 684307
rect 66424 683849 70475 684307
-rect 71454 682636 71724 687022
+rect 71454 682636 71724 686974
rect 71454 682360 71724 682366
rect 489849 651584 489950 651590
rect 489150 650682 489214 650688
@@ -711,9 +715,7 @@
rect 71454 681680 71724 682361
rect 71329 670887 73789 681680
rect -800 643842 1660 648642
-rect -800 633842 1660 638642
-rect -800 563839 1660 564242
-rect 71330 563839 73789 670887
+rect 71330 638919 73789 670887
rect 228780 654930 231280 702300
rect 318994 699370 323994 704800
rect 324294 699370 326494 704800
@@ -723,10 +725,10 @@
rect 465394 702300 470394 704800
rect 415720 668400 418220 702300
rect 467790 674700 470290 702300
-rect 510594 700428 515394 704800
+rect 510594 701958 515394 704800
rect 520594 700428 525394 704800
rect 566594 702300 571594 704800
-rect 510594 695628 525394 700428
+rect 515990 695628 525394 700428
rect 467790 672200 496500 674700
rect 415720 665900 490696 668400
rect 329294 658290 487056 663290
@@ -740,7 +742,8 @@
rect 516043 660258 520838 695628
rect 568250 692670 570750 702300
rect 497873 655463 497878 660258
-rect 502673 655463 520838 660258
+rect 502673 655463 506562 660258
+rect 511357 655463 520838 660258
rect 537220 690170 570750 692670
rect 497873 655458 502678 655463
rect 488196 651078 489150 651142
@@ -781,16 +784,22 @@
rect 545310 643710 547810 677984
rect 487784 641210 547810 643710
rect 577086 639784 584800 644584
+rect -800 633842 1660 638642
+rect 70781 634413 75576 638919
+rect 70776 629620 70782 634413
+rect 75575 629620 75581 634413
rect 577086 629784 584800 634584
+rect 70781 629619 75576 629620
+rect 71330 629510 73789 629619
rect 583520 589472 584800 589584
rect 583520 588290 584800 588402
rect 583520 587108 584800 587220
rect 583520 585926 584800 586038
rect 583520 584744 584800 584856
rect 583520 583562 584800 583674
-rect -800 561382 73789 563839
+rect -800 563839 1660 564242
+rect -800 561382 1674 563839
rect -800 559442 1660 561382
-rect 71330 561381 73789 561382
rect -800 549442 1660 554242
rect 577086 550562 584800 555362
rect 577086 541760 584800 545362
@@ -945,32 +954,43 @@
rect 583520 1544 584800 1656
<< via3 >>
rect 76630 697800 79130 700300
+rect 506562 655463 511357 660258
rect 486274 648090 486674 648490
+rect 70782 629620 75575 634413
<< metal4 >>
rect 76629 700300 79131 700301
rect 76629 697800 76630 700300
rect 79130 697800 89780 700300
rect 76629 697799 79131 697800
rect 87280 649260 89780 697800
+rect 506561 660258 511358 660259
+rect 506561 655463 506562 660258
+rect 511357 655463 511358 660258
+rect 506561 655462 511358 655463
rect 87280 648490 485348 649260
rect 486273 648490 486675 648491
rect 87280 648090 486274 648490
rect 486674 648090 486675 648490
rect 87280 646760 485348 648090
rect 486273 648089 486675 648090
+rect 506562 634414 511357 655462
+rect 70781 634413 511357 634414
+rect 70781 629620 70782 634413
+rect 75575 629620 511357 634413
+rect 70781 629619 511357 629620
<< comment >>
rect -100 704000 584100 704100
rect -100 0 0 704000
rect 584000 0 584100 704000
rect -100 -100 584100 0
-use sawgen-fet-sky130 sawgen-fet-sky130_0
-timestamp 1623609060
-transform 1 0 489820 0 1 646860
-box -2560 -340 296 3661
use cellA cellA_1
-timestamp 1622426105
+timestamp 1623612887
transform -1 0 71072 0 -1 689584
box -564 1742 2890 2658
+use sawgen-fet-sky130 sawgen-fet-sky130_0
+timestamp 1623611657
+transform 1 0 489820 0 1 646860
+box -2560 -340 296 3661
<< labels >>
flabel metal3 s 583520 269230 584800 269342 0 FreeSans 1120 0 0 0 gpio_analog[0]
port 0 nsew signal bidirectional
diff --git a/mag/user_analog_project_wrapper.spice b/mag/user_analog_project_wrapper.spice
index 2da2cb0..3c03079 100644
--- a/mag/user_analog_project_wrapper.spice
+++ b/mag/user_analog_project_wrapper.spice
@@ -108,7 +108,7 @@
+ wbs_dat_o[30] wbs_dat_o[31] wbs_dat_o[3] wbs_dat_o[4] wbs_dat_o[5] wbs_dat_o[6]
+ wbs_dat_o[7] wbs_dat_o[8] wbs_dat_o[9] wbs_sel_i[0] wbs_sel_i[1] wbs_sel_i[2] wbs_sel_i[3]
+ wbs_stb_i wbs_we_i
-XcellA_1 io_analog[6] io_analog[8] io_analog[7] vssa2 io_analog[9] io_analog[10] cellA
+XcellA_1 io_analog[6] io_analog[8] io_analog[7] vssa1 io_analog[9] io_analog[10] cellA
Xsawgen-fet-sky130_0 io_analog[8] io_analog[5] io_analog[4] vssa1 io_analog[2] io_analog[1]
+ io_analog[0] io_analog[3] sawgen-fet-sky130
.ends
diff --git a/xschem/analog_wrapper_tb.spice b/xschem/analog_wrapper_tb.spice
index 14ca1d1..35727d8 100644
--- a/xschem/analog_wrapper_tb.spice
+++ b/xschem/analog_wrapper_tb.spice
@@ -207,27 +207,9 @@
*.opin user_irq[2],user_irq[1],user_irq[0]
*.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]
-x3 io_analog[8] io_analog[7] io_analog[6] vssa2 io_analog[10] io_analog[9] cellA
-x1 io_analog[8] io_analog[5] io_analog[4] vssa2 io_analog[2] io_analog[1] io_analog[0] io_analog[3]
+x1 io_analog[8] io_analog[5] io_analog[4] vssa1 io_analog[2] io_analog[1] io_analog[0] io_analog[3]
+ sawgen-fet-sky130
-.ends
-
-
-* expanding symbol: cellA.sym # of pins=6
-* sym_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sym
-* sch_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sch
-.subckt cellA VDD out in VSS R2 R1
-*.ipin in
-*.iopin VDD
-*.opin out
-*.iopin VSS
-*.iopin R1
-*.iopin R2
-XM3 out in VSS GND sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
-XR1 out VDD GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
-XR2 R2 R1 GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
+x2 io_analog[6] io_analog[8] io_analog[7] vssa1 io_analog[9] io_analog[10] cellA
.ends
@@ -265,6 +247,24 @@
+ sa=0 sb=0 sd=0 mult=1 m=1
.ends
+
+* expanding symbol: cellA.sym # of pins=6
+* sym_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sym
+* sch_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sch
+.subckt cellA VDD out in VSS R2 R1
+*.ipin in
+*.iopin VDD
+*.opin out
+*.iopin VSS
+*.iopin R1
+*.iopin R2
+XM3 out in VSS GND sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
+XR1 out VDD GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
+XR2 R2 R1 GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
+.ends
+
.GLOBAL GND
** flattened .save nodes
.end
diff --git a/xschem/sawgen-fet-sky130.spice b/xschem/sawgen-fet-sky130.spice
index 47ae641..ee283d2 100644
--- a/xschem/sawgen-fet-sky130.spice
+++ b/xschem/sawgen-fet-sky130.spice
@@ -22,10 +22,7 @@
XM4 Vt Vd VSS VSS sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
-XM2 Vd Vd net1 VSS sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
-XM3 net1 net1 VSS VSS sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
+XM2 Vd Vd VSS VSS sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
**.ends
diff --git a/xschem/user_analog_project_wrapper.sch b/xschem/user_analog_project_wrapper.sch
index eea54ed..c92dbbd 100644
--- a/xschem/user_analog_project_wrapper.sch
+++ b/xschem/user_analog_project_wrapper.sch
@@ -11,11 +11,11 @@
N 3940 400 3940 440 { lab=io_analog[10]}
N 4020 330 4070 330 { lab=io_analog[8]}
N 4020 350 4070 350 { lab=io_analog[7]}
-N 4020 370 4070 370 { lab=vssa2}
+N 4020 370 4070 370 { lab=vssa1}
N 3740 40 3760 40 { lab=io_analog[8]}
N 3740 60 3760 60 { lab=io_analog[5]}
N 3740 80 3760 80 { lab=io_analog[4]}
-N 3740 100 3760 100 { lab=vssa2}
+N 3740 100 3760 100 { lab=vssa1}
N 3850 150 3850 170 { lab=io_analog[2]}
N 3880 150 3880 170 { lab=io_analog[1]}
N 3910 150 3910 170 { lab=io_analog[0]}
@@ -52,8 +52,7 @@
C {devices/iopin.sym} 3250 530 0 0 {name=p31 lab=io_clamp_low[2:0]}
C {devices/opin.sym} 3270 600 0 0 {name=p32 lab=user_irq[2:0]}
C {devices/ipin.sym} 3290 210 0 0 {name=p28 lab=la_oenb[127:0]}
-C {cellA.sym} 3870 350 0 0 {name=x3}
-C {devices/lab_pin.sym} 4070 370 0 1 {name=l13 sig_type=std_logic lab=vssa2}
+C {devices/lab_pin.sym} 4070 370 0 1 {name=l13 sig_type=std_logic lab=vssa1}
C {devices/lab_pin.sym} 4070 330 0 1 {name=l14 sig_type=std_logic lab=io_analog[8]}
C {devices/lab_pin.sym} 3690 330 0 0 {name=l15 sig_type=std_logic lab=io_analog[6]}
C {devices/lab_pin.sym} 3900 440 3 0 {name=l16 sig_type=std_logic lab=io_analog[9]}
@@ -68,3 +67,4 @@
C {devices/lab_pin.sym} 3880 170 3 0 {name=l6 sig_type=std_logic lab=io_analog[1]}
C {devices/lab_pin.sym} 3910 170 3 0 {name=l7 sig_type=std_logic lab=io_analog[0]}
C {devices/lab_pin.sym} 4020 80 2 0 {name=l8 sig_type=std_logic lab=io_analog[3]}
+C {cellA.sym} 3870 350 0 0 {name=x2}
diff --git a/xschem/user_analog_project_wrapper.spice b/xschem/user_analog_project_wrapper.spice
index 9bb43d8..423c6ee 100644
--- a/xschem/user_analog_project_wrapper.spice
+++ b/xschem/user_analog_project_wrapper.spice
@@ -59,29 +59,11 @@
*.opin user_irq[2],user_irq[1],user_irq[0]
*.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]
-x3 io_analog[8] io_analog[7] io_analog[6] vssa2 io_analog[10] io_analog[9] cellA
x1 io_analog[8] io_analog[5] io_analog[4] vssa1 io_analog[2] io_analog[1] io_analog[0] io_analog[3]
+ sawgen-fet-sky130
+x2 io_analog[8] io_analog[7] io_analog[6] vssa1 io_analog[10] io_analog[9] cellA
**.ends
-* expanding symbol: cellA.sym # of pins=6
-* sym_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sym
-* sch_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sch
-.subckt cellA VDD out in VSS R2 R1
-*.ipin in
-*.iopin VDD
-*.opin out
-*.iopin VSS
-*.iopin R1
-*.iopin R2
-XM3 out in VSS GND sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
-XR1 out VDD GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
-XR2 R2 R1 GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
-.ends
-
-
* expanding symbol: sawgen-fet-sky130.sym # of pins=8
* sym_path:
*+ /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/sawgen-fet-sky130.sym
@@ -116,6 +98,24 @@
+ sa=0 sb=0 sd=0 mult=1 m=1
.ends
+
+* expanding symbol: cellA.sym # of pins=6
+* sym_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sym
+* sch_path: /home/malvira/repos/asic/projects/vlsi-sky130-analog-caravel-test1/xschem/cellA.sch
+.subckt cellA VDD out in VSS R2 R1
+*.ipin in
+*.iopin VDD
+*.opin out
+*.iopin VSS
+*.iopin R1
+*.iopin R2
+XM3 out in VSS GND sky130_fd_pr__nfet_g5v0d10v5 L=0.8 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
+XR1 out VDD GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
+XR2 R2 R1 GND sky130_fd_pr__res_high_po_0p35 W=0.35 L=20 mult=1 m=1
+.ends
+
.GLOBAL GND
** flattened .save nodes
.end