Update SSTL to avoid FEOL DRC violations
diff --git a/gds/user_analog_project_wrapper.gds b/gds/user_analog_project_wrapper.gds
index af52079..00de0a7 100644
--- a/gds/user_analog_project_wrapper.gds
+++ b/gds/user_analog_project_wrapper.gds
Binary files differ
diff --git a/mag/SSTL/SSTL.mag b/mag/SSTL/SSTL.mag
index 560399e..85e1155 100644
--- a/mag/SSTL/SSTL.mag
+++ b/mag/SSTL/SSTL.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646879250
<< checkpaint >>
rect -6264 -22040 10600 8224
rect -6264 -22715 8142 -22040
@@ -1994,61 +1994,61 @@
rect 6417 -18621 6446 -18043
rect 2151 -19196 6446 -18621
use n-leg n-leg_0
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 436
box 1854 -48 6546 1136
use n-leg n-leg_1
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -2828
box 1854 -48 6546 1136
use n-leg n-leg_2
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -6092
box 1854 -48 6546 1136
use n-leg n-leg_3
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -9356
box 1854 -48 6546 1136
use n-leg n-leg_4
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -12620
box 1854 -48 6546 1136
use n-leg n-leg_5
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -15884
box 1854 -48 6546 1136
use n-leg n-leg_6
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -284 0 1 -19148
box 1854 -48 6546 1136
use p-leg p-leg_0
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 1514
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_1
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -1750
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_2
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -5014
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_3
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -8278
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_4
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -11542
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_5
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -14806
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use p-leg p-leg_6
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2 0 1 -18070
-box -50 -38 6666 2234
+box -34 -38 6666 2234
use sky130_fd_sc_hd__clkbuf_8 sky130_fd_sc_hd__clkbuf_8_0
timestamp 1643856600
transform 1 0 558 0 1 436
@@ -2162,87 +2162,87 @@
transform 1 0 -730 0 1 -19148
box -38 -48 682 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_0
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 1524
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_1
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 2612
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_2
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 2612
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_3
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -1740
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_4
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -652
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_5
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -652
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_6
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -5004
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_7
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -3916
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_8
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -3916
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_9
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -8268
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_10
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -7180
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_11
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -7180
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_12
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -11532
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_13
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -10444
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_14
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -10444
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_15
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -14796
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_16
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -13708
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_17
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -13708
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_18
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -18060
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_19
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 -1 -16972
box -38 -48 2246 592
use sky130_fd_sc_hd__clkinv_16 sky130_fd_sc_hd__clkinv_16_20
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 -2294 0 1 -16972
box -38 -48 2246 592
use sky130_fd_sc_hd__fill_1 sky130_fd_sc_hd__fill_1_0
diff --git a/mag/SSTL/n-leg.mag b/mag/SSTL/n-leg.mag
index 33ef784..156656d 100644
--- a/mag/SSTL/n-leg.mag
+++ b/mag/SSTL/n-leg.mag
@@ -1,9 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
-<< checkpaint >>
-rect 76 -3567 8426 4363
+timestamp 1646875043
<< pwell >>
rect 1883 1071 1917 1105
rect 3355 1071 3389 1105
@@ -1544,19 +1542,19 @@
rect 4490 360 4522 412
rect 4426 349 4522 360
use n-leg_ctrl_fet_0 n-leg_ctrl_fet_0_0
-timestamp 1646843053
+timestamp 1646874728
transform 1 0 1991 0 -1 869
box -129 -153 2945 91
use n-leg_ctrl_fet_1 n-leg_ctrl_fet_1_0
-timestamp 1646843053
+timestamp 1646874728
transform 1 0 5164 0 -1 795
box -129 -153 689 91
use n-leg_ctrl_fet_2 n-leg_ctrl_fet_2_0
-timestamp 1646843053
+timestamp 1646874728
transform 1 0 6104 0 1 847
box -129 -153 221 91
use n-leg_ctrl_fet_3 n-leg_ctrl_fet_3_0
-timestamp 1646843053
+timestamp 1646874728
transform 1 0 6404 0 1 727
box -73 -107 73 107
use n-leg_polyres n-leg_polyres_0
diff --git a/mag/SSTL/n-leg_ctrl_fet_0.mag b/mag/SSTL/n-leg_ctrl_fet_0.mag
index fccccd8..0e6d8a3 100644
--- a/mag/SSTL/n-leg_ctrl_fet_0.mag
+++ b/mag/SSTL/n-leg_ctrl_fet_0.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646874728
<< error_p >>
rect -125 -65 -63 65
rect -33 -65 33 65
diff --git a/mag/SSTL/n-leg_ctrl_fet_1.mag b/mag/SSTL/n-leg_ctrl_fet_1.mag
index 8905d19..c81a215 100644
--- a/mag/SSTL/n-leg_ctrl_fet_1.mag
+++ b/mag/SSTL/n-leg_ctrl_fet_1.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646874728
<< error_p >>
rect -125 -65 -63 65
rect -33 -65 33 65
diff --git a/mag/SSTL/n-leg_ctrl_fet_2.mag b/mag/SSTL/n-leg_ctrl_fet_2.mag
index 41d8cc1..bbc7777 100644
--- a/mag/SSTL/n-leg_ctrl_fet_2.mag
+++ b/mag/SSTL/n-leg_ctrl_fet_2.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646874728
<< error_p >>
rect -125 -65 -63 65
rect -33 -65 33 65
diff --git a/mag/SSTL/n-leg_ctrl_fet_3.mag b/mag/SSTL/n-leg_ctrl_fet_3.mag
index a78d354..6b58a91 100644
--- a/mag/SSTL/n-leg_ctrl_fet_3.mag
+++ b/mag/SSTL/n-leg_ctrl_fet_3.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646874728
<< error_p >>
rect -73 -19 -15 81
rect 15 -19 73 81
diff --git a/mag/SSTL/p-leg.mag b/mag/SSTL/p-leg.mag
index 9dafaf8..7bd5786 100644
--- a/mag/SSTL/p-leg.mag
+++ b/mag/SSTL/p-leg.mag
@@ -1,11 +1,20 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646879250
+<< checkpaint >>
+rect -3772 5508 10366 5999
+rect -3963 5384 10366 5508
+rect -3963 -2481 10445 5384
+rect -3963 -2689 10356 -2481
+rect -3782 -3746 10356 -2689
<< nwell >>
-rect -50 1925 -14 2067
-rect -50 1604 6666 1925
-rect -50 1217 -14 1604
+rect -34 1925 160 2067
+rect -34 1680 6666 1925
+rect -14 1604 6666 1680
+rect 3722 1351 5429 1604
+rect 3763 929 5429 1169
+rect -34 592 6666 869
<< pwell >>
rect 30 2162 74 2196
rect 766 2162 810 2196
@@ -16,23 +25,21 @@
rect 4446 2162 4490 2196
rect 5182 2162 5226 2196
rect 5918 2162 5962 2196
-<< pdiff >>
-rect -14 1805 4 2005
<< nsubdiff >>
-rect 6289 1857 6323 1881
-rect 6289 1773 6323 1823
-rect 6289 1706 6323 1739
-rect 217 1625 251 1659
-rect 309 1625 343 1659
+rect 6473 1857 6507 1881
+rect 6473 1773 6507 1823
+rect 6473 1706 6507 1739
+rect 409 1625 443 1659
+rect 501 1625 535 1659
rect 493 537 527 571
rect 585 537 619 571
rect 6473 457 6507 490
rect 6473 373 6507 423
rect 6473 315 6507 339
<< nsubdiffcont >>
-rect 6289 1823 6323 1857
-rect 6289 1739 6323 1773
-rect 251 1625 309 1659
+rect 6473 1823 6507 1857
+rect 6473 1739 6507 1773
+rect 443 1625 501 1659
rect 527 537 585 571
rect 6473 423 6507 457
rect 6473 339 6507 373
@@ -115,17 +122,18 @@
rect 6415 2169 6473 2203
rect 6507 2169 6565 2203
rect 6599 2169 6629 2203
-rect 16 1957 3260 2067
-rect 3330 1957 6194 2067
-rect 6277 1857 6335 1892
-rect 6277 1823 6289 1857
-rect 6323 1823 6335 1857
-rect 6277 1773 6335 1823
-rect 6277 1739 6289 1773
-rect 6323 1739 6335 1773
-rect 6277 1659 6335 1739
-rect 6260 1625 6289 1659
-rect 6323 1625 6352 1659
+rect 208 1957 3239 2067
+rect 3349 1957 6386 2067
+rect 6461 1857 6519 1892
+rect 6461 1823 6473 1857
+rect 6507 1823 6519 1857
+rect 6461 1773 6519 1823
+rect 6461 1739 6473 1773
+rect 6507 1739 6519 1773
+rect 6461 1659 6519 1739
+rect 3383 1625 5899 1659
+rect 6444 1625 6473 1659
+rect 6507 1625 6536 1659
rect 5369 1537 6273 1591
rect 3135 1480 3823 1483
rect 3135 1424 3260 1480
@@ -139,6 +147,32 @@
rect 5443 1255 5483 1454
rect 3594 1248 5483 1255
rect 3718 1164 5483 1248
+rect 3666 1081 6006 1115
+rect 198 571 232 646
+rect 454 571 488 646
+rect 710 571 744 646
+rect 966 571 1000 646
+rect 1222 571 1256 646
+rect 1478 571 1512 646
+rect 1734 571 1768 646
+rect 1990 571 2024 646
+rect 2246 571 2280 646
+rect 2502 571 2536 646
+rect 2758 571 2792 646
+rect 3014 571 3048 646
+rect 3270 571 3304 646
+rect 3526 571 3560 646
+rect 3782 571 3816 646
+rect 4038 571 4072 646
+rect 4294 571 4328 646
+rect 4550 571 4584 646
+rect 4806 571 4840 646
+rect 5062 571 5096 646
+rect 5318 571 5352 646
+rect 5574 571 5608 646
+rect 5830 571 5864 646
+rect 6086 571 6120 646
+rect 6342 571 6376 646
rect 6461 457 6519 537
rect 6461 423 6473 457
rect 6507 423 6519 457
@@ -219,9 +253,8 @@
rect 6381 2169 6415 2203
rect 6473 2169 6507 2203
rect 6565 2169 6599 2203
-rect 3260 1957 3330 2067
+rect 3239 1957 3349 2067
rect 3719 1804 3783 1872
-rect 80 1724 114 1758
rect 208 1724 242 1758
rect 336 1724 370 1758
rect 464 1724 498 1758
@@ -269,7 +302,7 @@
rect 5840 1724 5874 1758
rect 5968 1724 6002 1758
rect 6096 1724 6130 1758
-rect 6289 1625 6323 1659
+rect 6473 1625 6507 1659
rect 81 1526 115 1560
rect 209 1526 243 1560
rect 337 1526 371 1560
@@ -313,9 +346,9 @@
rect 5919 1306 5953 1340
rect 6047 1306 6081 1340
rect 6175 1306 6209 1340
-rect 76 871 242 923
-rect 3260 766 3330 833
-rect 3260 283 3330 350
+rect 76 931 242 983
+rect 3266 827 3324 885
+rect 3266 283 3324 341
rect 76 193 242 245
<< metal1 >>
rect 4 2203 6629 2234
@@ -393,17 +426,20 @@
rect 6507 2169 6565 2203
rect 6599 2169 6629 2203
rect 4 2138 6629 2169
-rect 3254 2067 3336 2079
-rect 3250 1957 3260 2067
-rect 3330 1957 3340 2067
-rect 3254 1945 3336 1957
+rect 3233 2071 3355 2079
+rect 3233 2067 3260 2071
+rect 3330 2067 3355 2071
+rect 3233 1957 3239 2067
+rect 3349 1957 3355 2067
+rect 3233 1956 3260 1957
+rect 3330 1956 3355 1957
+rect 3233 1945 3355 1956
rect 3713 1872 3789 1884
rect 3709 1801 3719 1872
rect 3783 1801 3793 1872
rect 3713 1792 3789 1801
rect 4 1758 6628 1764
-rect 4 1724 80 1758
-rect 114 1724 208 1758
+rect 4 1724 208 1758
rect 242 1724 336 1758
rect 370 1724 464 1758
rect 498 1724 592 1758
@@ -452,10 +488,12 @@
rect 6002 1724 6096 1758
rect 6130 1724 6628 1758
rect 4 1718 6628 1724
-rect 6260 1659 6352 1690
-rect 6260 1625 6289 1659
-rect 6323 1625 6352 1659
-rect 6260 1594 6352 1625
+rect 3684 1594 5892 1690
+rect 6444 1659 6536 1690
+rect 6444 1625 6473 1659
+rect 6507 1625 6536 1659
+rect 6444 1612 6536 1625
+rect 6260 1594 6352 1612
rect 4 1560 6628 1566
rect 4 1526 81 1560
rect 115 1526 209 1560
@@ -524,190 +562,186 @@
rect 3330 1174 3340 1230
rect 3709 1193 3719 1230
rect 3752 1174 3783 1193
-rect 2 923 254 929
-rect 2 871 76 923
-rect 242 871 254 923
-rect 2 865 254 871
-rect 3248 833 3342 839
-rect 3248 766 3260 833
-rect 3330 766 3342 833
-rect 3248 760 3342 766
+rect 3684 1050 5892 1146
+rect 53 983 254 989
+rect 53 931 76 983
+rect 242 931 254 983
+rect 53 929 254 931
+rect 2 865 254 929
+rect 3254 821 3260 891
+rect 3330 821 3336 891
rect 6536 571 6628 602
rect 6536 537 6565 571
rect 6599 537 6628 571
rect 6536 506 6628 537
-rect 3248 350 3342 356
-rect 3248 283 3260 350
-rect 3330 283 3342 350
-rect 3248 277 3342 283
-rect 64 245 254 251
+rect 3254 277 3260 347
+rect 3330 277 3336 347
+rect 64 245 254 256
rect 64 193 76 245
rect 242 193 254 245
rect 64 187 254 193
<< via1 >>
+rect 3260 2067 3330 2071
rect 3260 1957 3330 2067
+rect 3260 1956 3330 1957
rect 3719 1804 3783 1872
rect 3719 1801 3783 1804
rect 3260 1424 3330 1480
rect 3260 1412 3330 1424
rect 3266 1174 3330 1230
rect 3719 1193 3783 1249
-rect 76 871 242 923
-rect 3260 766 3330 833
-rect 3260 283 3330 350
+rect 76 931 242 983
+rect 3260 885 3330 891
+rect 3260 827 3266 885
+rect 3266 827 3324 885
+rect 3324 827 3330 885
+rect 3260 821 3330 827
+rect 3260 341 3330 347
+rect 3260 283 3266 341
+rect 3266 283 3324 341
+rect 3324 283 3330 341
+rect 3260 277 3330 283
rect 76 193 242 245
<< metal2 >>
-rect 3260 2067 3330 2073
-rect 3260 1480 3330 1957
+rect 3260 2071 3330 2077
+rect 3260 1480 3330 1956
rect 3260 1230 3330 1412
rect 3260 1174 3266 1230
rect 3719 1872 3783 1882
rect 3719 1249 3783 1801
rect 3719 1183 3783 1193
-rect 76 923 242 933
-rect 76 245 242 871
-rect 3260 833 3330 1174
-rect 3260 350 3330 766
-rect 3260 273 3330 283
+rect 76 983 242 993
+rect 76 245 242 931
+rect 3260 891 3330 1174
+rect 3260 347 3330 821
+rect 3260 271 3330 277
rect 76 183 242 193
use p-leg_6 p-leg_6_0
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 1058 0 -1 1415
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_1
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 1826 0 -1 1415
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_2
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 2594 0 -1 1415
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_3
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 3362 0 -1 1415
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_4
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 4852 0 -1 1341
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_5
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 5620 0 -1 1341
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_6 p-leg_6_6
-timestamp 1646843053
+timestamp 1646878790
transform 1 0 6512 0 1 1451
-box -1089 -161 -191 198
+box -1089 -161 -191 172
use p-leg_fet_16 p-leg_fet_16_0
-timestamp 1646843053
-transform 1 0 1055 0 1 347
+timestamp 1646878790
+transform 1 0 1239 0 1 347
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_1
-timestamp 1646843053
-transform 1 0 3103 0 1 347
+timestamp 1646878790
+transform 1 0 3287 0 1 347
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_2
-timestamp 1646843053
-transform 1 0 5151 0 1 347
+timestamp 1646878790
+transform 1 0 5335 0 1 347
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_3
-timestamp 1646843053
-transform 1 0 1055 0 -1 769
+timestamp 1646878790
+transform 1 0 1239 0 -1 829
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_4
-timestamp 1646843053
-transform 1 0 3103 0 -1 769
+timestamp 1646878790
+transform 1 0 3287 0 -1 829
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_5
-timestamp 1646843053
-transform 1 0 5151 0 -1 769
+timestamp 1646878790
+transform 1 0 5335 0 -1 829
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_6
-timestamp 1646843053
-transform -1 0 3105 0 1 1869
+timestamp 1646878790
+transform -1 0 3297 0 1 1869
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_7
-timestamp 1646843053
-transform -1 0 5153 0 1 1869
+timestamp 1646878790
+transform -1 0 5345 0 1 1869
box -1089 -161 1089 198
use p-leg_fet_16 p-leg_fet_16_8
-timestamp 1646843053
-transform -1 0 1057 0 1 1869
+timestamp 1646878790
+transform -1 0 1249 0 1 1869
box -1089 -161 1089 198
use p-leg_polyres p-leg_polyres_0
-timestamp 1646843053
+timestamp 1646879250
transform 0 -1 3515 1 0 1197
box -33 -253 33 253
-use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_0
-timestamp 1646843053
+use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_0
+timestamp 1646879250
transform 1 0 4 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_1
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 740 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_2
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 1476 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_3
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2212 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_4
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2948 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_5
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 3684 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_6
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 4420 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_7
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 5156 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_8
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 5892 0 1 10
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_9
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 4 0 1 1098
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_10
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 740 0 1 1098
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_11
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 1476 0 1 1098
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_12
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2212 0 1 1098
box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_13
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 2948 0 1 1098
box -38 -48 774 592
-use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_14
-timestamp 1646843053
-transform 1 0 3684 0 1 1098
-box -38 -48 774 592
-use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_15
-timestamp 1646843053
-transform 1 0 4420 0 1 1098
-box -38 -48 774 592
-use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_16
-timestamp 1646843053
-transform 1 0 5156 0 1 1098
-box -38 -48 774 592
use sky130_fd_sc_hd__fill_8 sky130_fd_sc_hd__fill_8_17
-timestamp 1646843053
+timestamp 1646879250
transform 1 0 5892 0 1 1098
box -38 -48 774 592
<< labels >>
@@ -719,7 +753,7 @@
port 4 w
flabel metal1 s 27 1542 27 1542 7 FreeSerif 640 0 0 0 n_cal_ctrl[1]
port 5 w
-flabel metal1 3294 997 3294 997 7 FreeSerif 640 0 0 0 v_pullup
+flabel metal2 3294 997 3294 997 7 FreeSerif 640 0 0 0 v_pullup
flabel metal2 s 3752 1250 3752 1250 3 FreeSerif 640 0 0 0 DQ
port 2 e
flabel metal1 s 27 1286 27 1286 7 FreeSerif 640 0 0 0 n_cal_ctrl[3]
diff --git a/mag/SSTL/p-leg_6.mag b/mag/SSTL/p-leg_6.mag
index d8fa5da..f0972e6 100644
--- a/mag/SSTL/p-leg_6.mag
+++ b/mag/SSTL/p-leg_6.mag
@@ -1,11 +1,11 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
+timestamp 1646878790
<< error_p >>
-rect -1089 -100 -191 198
+rect -1089 -100 -191 172
<< nwell >>
-rect -1089 -100 -191 198
+rect -1089 -100 -191 172
<< pmoslvt >>
rect -995 -64 -925 136
rect -867 -64 -797 136
diff --git a/mag/SSTL/p-leg_fet_16.mag b/mag/SSTL/p-leg_fet_16.mag
index c41965e..4e1be1d 100644
--- a/mag/SSTL/p-leg_fet_16.mag
+++ b/mag/SSTL/p-leg_fet_16.mag
@@ -1,9 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843053
-<< error_p >>
-rect -1089 -100 1089 198
+timestamp 1646878790
<< nwell >>
rect -1089 -100 1089 198
<< pmoslvt >>
diff --git a/mag/cfg_shift_register.mag b/mag/cfg_shift_register.mag
index 8673003..cd3c642 100644
--- a/mag/cfg_shift_register.mag
+++ b/mag/cfg_shift_register.mag
@@ -1,7 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646794523
+timestamp 1646875120
<< nwell >>
rect -50 518 118 839
rect 5819 594 6350 646
@@ -291,35 +291,35 @@
rect 10244 -36 10284 96
rect 11716 -36 11756 96
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 -12 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_1
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 1460 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_2
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 2932 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_3
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 4404 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_4
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 5876 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_5
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 7348 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_6
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 8820 0 1 12
box -38 -48 1510 592
use sky130_fd_sc_hd__dfxtp_1 sky130_fd_sc_hd__dfxtp_1_7
-timestamp 1646794523
+timestamp 1646787781
transform 1 0 10292 0 1 12
box -38 -48 1510 592
<< labels >>
diff --git a/mag/proj_sstl_test.mag b/mag/proj_sstl_test.mag
index 52b10f8..5a8a7dd 100644
--- a/mag/proj_sstl_test.mag
+++ b/mag/proj_sstl_test.mag
@@ -1,12 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646793240
-<< checkpaint >>
-rect 9518 27436 37238 39404
-rect -3914 8052 37238 27436
-rect -3914 7508 16814 8052
-rect -3914 -3916 12950 7508
+timestamp 1646875120
<< locali >>
rect 22027 32313 23103 32425
rect 22027 29049 23103 29161
@@ -1829,18 +1824,18 @@
rect 28789 4311 33084 11984
rect 8796 16 33084 4311
use SSTL SSTL_0 ~/proj/caravan-project/mag/./SSTL
-timestamp 1646792692
+timestamp 1646875043
transform 1 0 2350 0 -1 4308
box -2332 -19196 6668 4292
use SSTL SSTL_1
-timestamp 1646792692
+timestamp 1646875043
transform -1 0 20118 0 -1 16276
box -2332 -19196 6668 4292
use SSTL SSTL_2
-timestamp 1646792692
+timestamp 1646875043
transform 1 0 26638 0 -1 16276
box -2332 -19196 6668 4292
-use sky130_fd_sc_hd__and2_1 sky130_fd_sc_hd__and2_1_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__and2_1 sky130_fd_sc_hd__and2_1_0
timestamp 1646787781
transform -1 0 23608 0 1 12576
box -38 -48 498 592
@@ -1896,7 +1891,7 @@
timestamp 1646787781
transform -1 0 23608 0 1 32160
box -38 -48 498 592
-use sky130_fd_sc_hd__clkbuf_2 sky130_fd_sc_hd__clkbuf_2_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__clkbuf_2 sky130_fd_sc_hd__clkbuf_2_0
timestamp 1646787781
transform 1 0 9716 0 1 11488
box -38 -48 406 592
@@ -1904,15 +1899,15 @@
timestamp 1646787781
transform 1 0 10084 0 1 11488
box -38 -48 406 592
-use sky130_fd_sc_hd__clkinv_2 sky130_fd_sc_hd__clkinv_2_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__clkinv_2 sky130_fd_sc_hd__clkinv_2_0
timestamp 1646787781
transform 1 0 12384 0 1 11488
box -38 -48 406 592
-use sky130_fd_sc_hd__mux4_1 sky130_fd_sc_hd__mux4_1_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__mux4_1 sky130_fd_sc_hd__mux4_1_0
timestamp 1646787781
transform 1 0 10452 0 1 11488
box -38 -48 1970 592
-use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_0
timestamp 1646787781
transform 1 0 12752 0 1 11488
box -38 -48 130 592
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index cc3cdf3..37c58a7 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,12 +1,7 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646843293
-<< checkpaint >>
-rect 14245 644793 50495 686919
-rect 5810 644558 55532 644793
-rect 5740 641398 55624 644558
-rect 5810 641251 55532 641398
+timestamp 1646875120
<< metal1 >>
rect 7241 643202 7251 643298
rect 7469 643202 7479 643298
@@ -1523,26 +1518,26 @@
rect 584000 0 584100 704000
rect -100 -100 584100 0
use cfg_shift_register cfg_shift_register_0
-timestamp 1646794523
+timestamp 1646875120
transform 1 0 42470 0 1 642694
box -72 -183 11802 839
use cfg_shift_register cfg_shift_register_1
-timestamp 1646794523
+timestamp 1646875120
transform 1 0 30694 0 1 642694
box -72 -183 11802 839
use cfg_shift_register cfg_shift_register_2
-timestamp 1646794523
+timestamp 1646875120
transform 1 0 18918 0 1 642694
box -72 -183 11802 839
use cfg_shift_register cfg_shift_register_3
-timestamp 1646794523
+timestamp 1646875120
transform 1 0 7142 0 1 642694
box -72 -183 11802 839
use proj_sstl_test proj_sstl_test_0
-timestamp 1646793240
+timestamp 1646875120
transform 1 0 15929 0 1 645492
box -424 16 33306 40167
-use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_0 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_0
timestamp 1646787781
transform 1 0 54234 0 1 642706
box -38 -48 130 592
diff --git a/xschem/proj_sstl_test.sch b/xschem/proj_sstl_test.sch
index 84a3ce4..08bafa8 100644
--- a/xschem/proj_sstl_test.sch
+++ b/xschem/proj_sstl_test.sch
@@ -113,7 +113,7 @@
spice_ignore=false}
C {devices/lab_wire.sym} 1180 -300 3 0 {name=l1 sig_type=std_logic lab=d_out}
C {sky130/sky130_fd_pr/res_generic_m1.sym} 820 -330 3 0 {name=R1
-W=6.525
-L=0.535
+W=0.535
+L=6.525
model=res_generic_m1
mult=1}
diff --git a/xschem/proj_sstl_test.spice b/xschem/proj_sstl_test.spice
index ba11cf3..3e5aeb6 100644
--- a/xschem/proj_sstl_test.spice
+++ b/xschem/proj_sstl_test.spice
@@ -1,5 +1,5 @@
** Local library links to pdk
-.include /home/derekhm/cad/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice
+.include /home/derekhm/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice
**.subckt proj_sstl_test rx_DQ rx_pu_cal[3],rx_pu_cal[2],rx_pu_cal[1],rx_pu_cal[0]
*+ rx_pd_cal[3],rx_pd_cal[2],rx_pd_cal[1],rx_pd_cal[0]
@@ -26,33 +26,34 @@
+ rx_leg_ctrl[0] rx_leg_ctrl[6] rx_leg_ctrl[5] rx_leg_ctrl[4] rx_leg_ctrl[3] rx_leg_ctrl[2] rx_leg_ctrl[1]
+ rx_leg_ctrl[0] rx_pd_cal[3] rx_pd_cal[2] rx_pd_cal[1] rx_pd_cal[0] rx_pu_cal[3] rx_pu_cal[2] rx_pu_cal[1]
+ rx_pu_cal[0] IOVDD GND SSTL
-X2 tx_DQ net4[6] net4[5] net4[4] net4[3] net4[2] net4[1] net4[0] net5[6] net5[5] net5[4] net5[3]
-+ net5[2] net5[1] net5[0] tx_pd_cal[3] tx_pd_cal[2] tx_pd_cal[1] tx_pd_cal[0] tx_pu_cal[3] tx_pu_cal[2]
-+ tx_pu_cal[1] tx_pu_cal[0] IOVDD GND SSTL
-X3 n_tx_DQ net5[6] net5[5] net5[4] net5[3] net5[2] net5[1] net5[0] net4[6] net4[5] net4[4] net4[3]
+X2 tx_DQ net3[6] net3[5] net3[4] net3[3] net3[2] net3[1] net3[0] net4[6] net4[5] net4[4] net4[3]
+ net4[2] net4[1] net4[0] tx_pd_cal[3] tx_pd_cal[2] tx_pd_cal[1] tx_pd_cal[0] tx_pu_cal[3] tx_pu_cal[2]
+ tx_pu_cal[1] tx_pu_cal[0] IOVDD GND SSTL
-x1 rx_DQ GND GND VDD VDD net1 sky130_fd_sc_hd__clkbuf_2
+X3 n_tx_DQ net4[6] net4[5] net4[4] net4[3] net4[2] net4[1] net4[0] net3[6] net3[5] net3[4] net3[3]
++ net3[2] net3[1] net3[0] tx_pd_cal[3] tx_pd_cal[2] tx_pd_cal[1] tx_pd_cal[0] tx_pu_cal[3] tx_pu_cal[2]
++ tx_pu_cal[1] tx_pu_cal[0] IOVDD GND SSTL
+x1 net6 GND GND VDD VDD net1 sky130_fd_sc_hd__clkbuf_2
x2 net1 GND GND VDD VDD net2 sky130_fd_sc_hd__clkbuf_2
-x3 data_0 net2 data_2 data_3 d_sel_0 d_sel_1 GND GND VDD VDD net3 sky130_fd_sc_hd__mux4_1
-x4 net3 GND GND VDD VDD net6 sky130_fd_sc_hd__clkinv_2
-xn_and[6] net3 tx_leg_ctrl[6] GND GND VDD VDD net4[6] sky130_fd_sc_hd__and2_1
-xn_and[5] net3 tx_leg_ctrl[5] GND GND VDD VDD net4[5] sky130_fd_sc_hd__and2_1
-xn_and[4] net3 tx_leg_ctrl[4] GND GND VDD VDD net4[4] sky130_fd_sc_hd__and2_1
-xn_and[3] net3 tx_leg_ctrl[3] GND GND VDD VDD net4[3] sky130_fd_sc_hd__and2_1
-xn_and[2] net3 tx_leg_ctrl[2] GND GND VDD VDD net4[2] sky130_fd_sc_hd__and2_1
-xn_and[1] net3 tx_leg_ctrl[1] GND GND VDD VDD net4[1] sky130_fd_sc_hd__and2_1
-xn_and[0] net3 tx_leg_ctrl[0] GND GND VDD VDD net4[0] sky130_fd_sc_hd__and2_1
-xand[6] net6 tx_leg_ctrl[6] GND GND VDD VDD net5[6] sky130_fd_sc_hd__and2_1
-xand[5] net6 tx_leg_ctrl[5] GND GND VDD VDD net5[5] sky130_fd_sc_hd__and2_1
-xand[4] net6 tx_leg_ctrl[4] GND GND VDD VDD net5[4] sky130_fd_sc_hd__and2_1
-xand[3] net6 tx_leg_ctrl[3] GND GND VDD VDD net5[3] sky130_fd_sc_hd__and2_1
-xand[2] net6 tx_leg_ctrl[2] GND GND VDD VDD net5[2] sky130_fd_sc_hd__and2_1
-xand[1] net6 tx_leg_ctrl[1] GND GND VDD VDD net5[1] sky130_fd_sc_hd__and2_1
-xand[0] net6 tx_leg_ctrl[0] GND GND VDD VDD net5[0] sky130_fd_sc_hd__and2_1
+x3 data_0 net2 data_2 data_3 d_sel_0 d_sel_1 GND GND VDD VDD d_out sky130_fd_sc_hd__mux4_1
+x4 d_out GND GND VDD VDD net5 sky130_fd_sc_hd__clkinv_2
+xn_and[6] d_out tx_leg_ctrl[6] GND GND VDD VDD net3[6] sky130_fd_sc_hd__and2_1
+xn_and[5] d_out tx_leg_ctrl[5] GND GND VDD VDD net3[5] sky130_fd_sc_hd__and2_1
+xn_and[4] d_out tx_leg_ctrl[4] GND GND VDD VDD net3[4] sky130_fd_sc_hd__and2_1
+xn_and[3] d_out tx_leg_ctrl[3] GND GND VDD VDD net3[3] sky130_fd_sc_hd__and2_1
+xn_and[2] d_out tx_leg_ctrl[2] GND GND VDD VDD net3[2] sky130_fd_sc_hd__and2_1
+xn_and[1] d_out tx_leg_ctrl[1] GND GND VDD VDD net3[1] sky130_fd_sc_hd__and2_1
+xn_and[0] d_out tx_leg_ctrl[0] GND GND VDD VDD net3[0] sky130_fd_sc_hd__and2_1
+xand[6] net5 tx_leg_ctrl[6] GND GND VDD VDD net4[6] sky130_fd_sc_hd__and2_1
+xand[5] net5 tx_leg_ctrl[5] GND GND VDD VDD net4[5] sky130_fd_sc_hd__and2_1
+xand[4] net5 tx_leg_ctrl[4] GND GND VDD VDD net4[4] sky130_fd_sc_hd__and2_1
+xand[3] net5 tx_leg_ctrl[3] GND GND VDD VDD net4[3] sky130_fd_sc_hd__and2_1
+xand[2] net5 tx_leg_ctrl[2] GND GND VDD VDD net4[2] sky130_fd_sc_hd__and2_1
+xand[1] net5 tx_leg_ctrl[1] GND GND VDD VDD net4[1] sky130_fd_sc_hd__and2_1
+xand[0] net5 tx_leg_ctrl[0] GND GND VDD VDD net4[0] sky130_fd_sc_hd__and2_1
+R1 net6 rx_DQ sky130_fd_pr__res_generic_m1 W=0.535 L=6.525 m=1
**.ends
-* expanding symbol: /home/derekhm/proj/caravan-project/xschem/SSTL/SSTL.sym # of pins=5
+* expanding symbol: xschem/SSTL/SSTL.sym # of pins=5
* sym_path: /home/derekhm/proj/caravan-project/xschem/SSTL/SSTL.sym
* sch_path: /home/derekhm/proj/caravan-project/xschem/SSTL/SSTL.sch
.subckt SSTL DQ pd_ctrl[6] pd_ctrl[5] pd_ctrl[4] pd_ctrl[3] pd_ctrl[2] pd_ctrl[1] pd_ctrl[0]