Edits and fixes to shift register layout
* Add shift register schematic
* LVS complete for shift register
* Edits to project top level:
* power clamps connected
* alternate data sources connected to pwr and gnd
diff --git a/.gitignore b/.gitignore
index e2ec83d..37a5312 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
*/tmp
*/*/tmp
mag/*.ext
+mag/SSTL/*.ext
diff --git a/mag/cfg_shift_register.mag b/mag/cfg_shift_register.mag
index 0f40cfc..6890d6c 100644
--- a/mag/cfg_shift_register.mag
+++ b/mag/cfg_shift_register.mag
@@ -1,8 +1,41 @@
magic
tech sky130A
magscale 1 2
-timestamp 1645999795
+timestamp 1646187848
+<< nwell >>
+rect -50 518 118 839
+<< pwell >>
+rect -9 -183 77 -26
+<< psubdiff >>
+rect 17 -99 51 -52
+rect 17 -157 51 -133
+<< nsubdiff >>
+rect 17 771 51 795
+rect 17 678 51 737
+rect 17 620 51 644
+<< psubdiffcont >>
+rect 17 -133 51 -99
+<< nsubdiffcont >>
+rect 17 737 51 771
+rect 17 644 51 678
+<< locali >>
+rect 5 771 63 806
+rect 5 737 17 771
+rect 51 737 63 771
+rect 5 678 63 737
+rect 5 644 17 678
+rect 51 644 63 678
+rect 5 573 63 644
+rect -12 539 17 573
+rect 51 539 80 573
+rect -12 -5 17 29
+rect 51 -5 80 29
+rect 5 -99 63 -5
+rect 5 -133 17 -99
+rect 51 -133 63 -99
+rect 5 -150 63 -133
<< viali >>
+rect 17 539 51 573
rect 19 228 53 262
rect 1491 228 1525 262
rect 2963 228 2997 262
@@ -27,7 +60,12 @@
rect 8730 101 8771 142
rect 10202 101 10243 142
rect 11674 101 11715 142
+rect 17 -5 51 29
<< metal1 >>
+rect -12 573 80 604
+rect -12 539 17 573
+rect 51 539 80 573
+rect -12 508 80 539
rect 7 267 65 268
rect 1479 267 1537 268
rect 2951 267 3009 268
@@ -155,6 +193,10 @@
rect 8724 89 8777 90
rect 10196 89 10249 90
rect 11668 89 11721 90
+rect -12 29 80 60
+rect -12 -5 17 29
+rect 51 -5 80 29
+rect -12 -36 80 -5
<< via1 >>
rect -66 96 -14 148
rect 1406 142 1458 148
@@ -258,4 +300,29 @@
timestamp 1644111581
transform 1 0 10292 0 1 12
box -38 -48 1510 592
+<< labels >>
+flabel metal2 s -60 -36 -20 604 1 FreeSerif 480 0 0 0 d_in
+port 1 n
+flabel metal2 s 1412 -36 1452 604 1 FreeSerif 480 0 0 0 q[0]
+port 3 n
+flabel metal2 s 2884 -36 2924 604 1 FreeSerif 480 0 0 0 q[1]
+port 4 n
+flabel metal2 s 4356 -36 4396 604 1 FreeSerif 480 180 0 0 q[2]
+port 5 n
+flabel metal2 s 5828 -36 5868 604 1 FreeSerif 480 180 0 0 q[3]
+port 6 n
+flabel metal2 s 7300 -36 7340 604 1 FreeSerif 480 180 0 0 q[4]
+port 7 n
+flabel metal2 s 8772 -36 8812 604 1 FreeSerif 480 180 0 0 q[5]
+port 8 n
+flabel metal2 s 10244 -36 10284 604 1 FreeSerif 480 180 0 0 q[6]
+port 9 n
+flabel metal2 s 11716 -36 11756 604 1 FreeSerif 480 180 0 0 q[7]
+port 10 n
+flabel metal1 s 10357 223 11802 267 1 FreeSerif 480 0 0 0 clk
+port 0 n
+flabel metal1 s -12 508 80 604 1 FreeSerif 320 0 0 0 VDD
+port 11 n
+flabel metal1 s -12 -36 80 60 1 FreeSerif 320 0 0 0 GND
+port 2 n
<< end >>
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index c168101..dc0cda9 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,10 +1,9 @@
magic
tech sky130A
magscale 1 2
-timestamp 1646001430
+timestamp 1646187848
<< checkpaint >>
-rect 14687 644248 26207 670256
-rect 28119 656216 50495 682224
+rect 14245 644188 50495 686919
<< metal1 >>
rect 7241 643202 7251 643298
rect 7469 643202 7479 643298
@@ -257,11 +256,27 @@
rect 20032 644087 20090 645688
rect 20152 644202 20210 645648
rect 20272 644302 20330 645578
+rect 26143 645289 26429 645293
+rect 26555 645289 26629 645582
+rect 26702 645557 26827 645595
+rect 26138 645284 26629 645289
+rect 26138 644998 26143 645284
+rect 26429 644998 26629 645284
+rect 26138 644993 26629 644998
+rect 26143 644989 26429 644993
+rect 26555 644971 26629 644993
+rect 26670 644853 26827 645557
+rect 26349 644819 26827 644853
+rect 26349 644696 26370 644819
+rect 26350 644507 26370 644635
+rect 26682 644507 26827 644819
+rect 26350 644490 26827 644507
rect 27034 644499 27094 645568
rect 27592 644600 27652 645600
rect 33996 645431 34054 645576
rect 33577 645373 34054 645431
rect 27592 644540 32250 644600
+rect 26670 644481 26702 644490
rect 27034 644439 30707 644499
rect 20272 644244 29228 644302
rect 20152 644144 27767 644202
@@ -951,6 +966,8 @@
rect 13139 643202 13357 643298
rect 14611 643202 14829 643298
rect 16083 643202 16301 643298
+rect 26143 644998 26429 645284
+rect 26370 644507 26682 644819
rect 17555 643202 17773 643298
rect 19027 643202 19245 643298
rect 20499 643202 20717 643298
@@ -1016,30 +1033,51 @@
rect 68194 702300 73194 704800
rect 120194 702300 125194 704800
rect 165594 702300 170594 704800
-rect 170894 702300 173094 704800
-rect 173394 702300 175594 704800
rect 68194 688671 70694 702300
-rect 165676 693758 170594 702300
+rect 165676 701964 170594 702300
+rect 170894 701964 173094 704800
+rect 173394 702477 175594 704800
+rect 165676 699764 173094 701964
+rect 165676 693758 170594 699764
+rect 173298 699486 175798 702477
+rect 173298 696988 173299 699486
+rect 175797 696988 175798 699486
+rect 173298 696865 175798 696988
rect 175894 693758 180894 704800
-rect 217294 699487 222294 704800
-rect 222594 702300 224794 704800
-rect 225094 702300 227294 704800
+rect 217294 699492 222294 704800
+rect 222594 703413 224794 704800
+rect 222482 702159 224982 703413
+rect 222477 699661 222483 702159
+rect 224981 699661 224987 702159
+rect 225094 701830 227294 704800
rect 227594 704448 232594 704800
rect 227594 702300 232595 704448
-rect 227663 699487 232595 702300
+rect 227663 701830 232595 702300
+rect 222482 699660 224982 699661
+rect 225094 699630 232595 701830
+rect 217176 699487 222294 699492
+rect 227663 699487 232595 699630
rect 318994 699585 323994 704800
-rect 324294 702300 326494 704800
-rect 326794 702300 328994 704800
-rect 329294 699585 334294 704800
-rect 217294 696990 223599 699487
-rect 219794 696987 223599 696990
-rect 226099 696987 232595 699487
+rect 324294 702094 326494 704800
+rect 326794 702122 328994 704800
+rect 329294 702122 334294 704800
+rect 326794 699922 334294 702122
+rect 324294 699888 326494 699894
+rect 329294 699585 334294 699922
+rect 217176 699486 232595 699487
+rect 219674 696990 232595 699486
rect 318700 697085 334294 699585
rect 413394 702300 418394 704800
rect 465394 702300 470394 704800
rect 510594 702340 515394 704800
rect 520594 702340 525394 704800
rect 566594 702300 571594 704800
+rect 413394 702099 415894 702300
+rect 413394 702093 416035 702099
+rect 413394 699895 413837 702093
+rect 413394 699889 416035 699895
+rect 217176 696982 219674 696988
+rect 219794 696987 232595 696990
rect 164546 691258 172231 693758
rect 174731 691258 180894 693758
rect 178394 691256 180894 691258
@@ -1065,7 +1103,7 @@
rect 48111 655930 49833 656363
rect 50266 655930 331553 656363
rect 49676 655928 331553 655930
-rect 413394 655832 415894 702300
+rect 413394 655832 415894 699889
rect 47359 655405 419024 655832
rect 49671 654203 419024 655405
rect 49671 653776 50443 654203
@@ -1074,13 +1112,25 @@
rect -800 643842 1660 648642
rect 465394 646518 467894 702300
rect 566594 690078 569094 702300
+rect 24904 645288 26434 645289
+rect 24899 644994 24905 645288
+rect 25199 645284 26434 645288
+rect 25199 644998 26143 645284
+rect 26429 644998 26434 645284
+rect 25199 644994 26434 644998
+rect 24904 644993 26434 644994
+rect 26365 644823 26687 644824
+rect 26360 644503 26366 644823
+rect 26686 644503 26692 644823
+rect 26365 644502 26687 644503
rect 57009 644335 467894 646518
rect 57009 644110 57514 644335
rect 57739 644110 467894 644335
rect 57009 644018 467894 644110
rect 533623 687578 569094 690078
rect 49828 643594 49834 643631
-rect 7129 643298 49834 643594
+rect 7129 643298 24904 643594
+rect 25200 643298 49834 643594
rect 50265 643594 50271 643631
rect 50265 643298 54241 643594
rect 7129 643202 7251 643298
@@ -1152,8 +1202,9 @@
rect 47213 642658 48467 642754
rect 48685 642658 49939 642754
rect 50157 642658 50444 642754
-rect 7231 642618 50444 642658
-rect 7243 642336 50444 642618
+rect 7231 642618 26365 642658
+rect 7243 642336 26365 642618
+rect 26687 642336 50444 642658
rect 50438 642330 50444 642336
rect 50869 642754 54254 642755
rect 50869 642658 51411 642754
@@ -1330,15 +1381,27 @@
rect -800 1544 480 1656
rect 583520 1544 584800 1656
<< via3 >>
-rect 223599 696987 226099 699487
+rect 173299 696988 175797 699486
+rect 222483 699661 224981 702159
+rect 324294 699894 326494 702094
+rect 217176 696988 219674 699486
+rect 413837 699895 416035 702093
rect 172231 691258 174731 693758
rect 49833 655930 50266 656363
rect 50443 653776 50870 654203
+rect 24905 644994 25199 645288
+rect 26366 644819 26686 644823
+rect 26366 644507 26370 644819
+rect 26370 644507 26682 644819
+rect 26682 644507 26686 644819
+rect 26366 644503 26686 644507
+rect 24904 643298 25200 643594
rect 49834 643298 50265 643631
rect 49834 643202 49939 643298
rect 49939 643202 50157 643298
rect 50157 643202 50265 643298
rect 49834 643200 50265 643202
+rect 26365 642336 26687 642658
rect 50444 642330 50869 642755
<< metal4 >>
rect 165594 702300 170594 704800
@@ -1347,14 +1410,26 @@
rect 227594 702300 232594 704800
rect 318994 702300 323994 704800
rect 329294 702300 334294 704800
-rect 223598 699487 226100 699488
-rect 38828 696987 223599 699487
-rect 226099 696987 226100 699487
+rect 222482 702159 224982 702160
+rect 222482 699661 222483 702159
+rect 224981 699661 224982 702159
+rect 324293 702094 326495 702095
+rect 324293 699894 324294 702094
+rect 326494 702093 416036 702094
+rect 326494 699895 413837 702093
+rect 416035 699895 416036 702093
+rect 326494 699894 416036 699895
+rect 324293 699893 326495 699894
+rect 38828 699486 219675 699487
+rect 38828 696988 173299 699486
+rect 175797 696988 217176 699486
+rect 219674 696988 219675 699486
+rect 38828 696987 219675 696988
rect 38828 682040 41328 696987
-rect 223598 696986 226100 696987
rect 172230 693758 174732 693759
+rect 222482 693758 224982 699661
rect 50678 691258 172231 693758
-rect 174731 691258 174732 693758
+rect 174731 691258 224982 693758
rect 50678 679904 53178 691258
rect 172230 691257 174732 691258
rect 45260 677404 53178 679904
@@ -1362,6 +1437,18 @@
rect 49832 655930 49833 656363
rect 50266 655930 50267 656363
rect 49832 655929 50267 655930
+rect 24904 645288 25200 645289
+rect 24904 644994 24905 645288
+rect 25199 644994 25200 645288
+rect 24904 643595 25200 644994
+rect 26365 644823 26687 644824
+rect 26365 644503 26366 644823
+rect 26686 644503 26687 644823
+rect 24903 643594 25201 643595
+rect 24903 643298 24904 643594
+rect 25200 643298 25201 643594
+rect 24903 643297 25201 643298
+rect 26365 642659 26687 644503
rect 49833 643631 50266 655929
rect 50442 654203 50871 654204
rect 50442 653776 50443 654203
@@ -1371,6 +1458,10 @@
rect 50265 643200 50266 643631
rect 49833 643199 50266 643200
rect 50443 642755 50870 653775
+rect 26364 642658 26688 642659
+rect 26364 642336 26365 642658
+rect 26687 642336 26688 642658
+rect 26364 642335 26688 642336
rect 50443 642330 50444 642755
rect 50869 642330 50870 642755
rect 50443 642329 50870 642330
@@ -1386,26 +1477,34 @@
rect -100 0 0 704000
rect 584000 0 584100 704000
rect -100 -100 584100 0
-use cfg_shift_register cfg_shift_register_0
-timestamp 1645999795
-transform 1 0 42470 0 1 642694
-box -72 -36 11802 604
-use cfg_shift_register cfg_shift_register_1
-timestamp 1645999795
-transform 1 0 30694 0 1 642694
-box -72 -36 11802 604
-use cfg_shift_register cfg_shift_register_2
-timestamp 1645999795
-transform 1 0 18918 0 1 642694
-box -72 -36 11802 604
-use cfg_shift_register cfg_shift_register_3
-timestamp 1645999795
-transform 1 0 7142 0 1 642694
-box -72 -36 11802 604
use proj_sstl_test proj_sstl_test_0
-timestamp 1646001430
+timestamp 1645996691
transform 1 0 15929 0 1 645492
box -424 -44 33306 40167
+use cfg_shift_register cfg_shift_register_0
+timestamp 1646187217
+transform 1 0 42470 0 1 642694
+box -72 -183 11802 839
+use cfg_shift_register cfg_shift_register_1
+timestamp 1646187217
+transform 1 0 30694 0 1 642694
+box -72 -183 11802 839
+use cfg_shift_register cfg_shift_register_2
+timestamp 1646187217
+transform 1 0 18918 0 1 642694
+box -72 -183 11802 839
+use cfg_shift_register cfg_shift_register_3
+timestamp 1646187217
+transform 1 0 7142 0 1 642694
+box -72 -183 11802 839
+use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_1 ~/proj/caravan-project/pdk/sky130A/libs.ref/sky130_fd_sc_hd/mag
+timestamp 1644111581
+transform 1 0 7038 0 1 642706
+box -38 -48 130 592
+use sky130_fd_sc_hd__tapvpwrvgnd_1 sky130_fd_sc_hd__tapvpwrvgnd_1_0
+timestamp 1644111581
+transform 1 0 54234 0 1 642706
+box -38 -48 130 592
<< 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/xschem/cfg_shift_register.sch b/xschem/cfg_shift_register.sch
new file mode 100644
index 0000000..eccb4a3
--- /dev/null
+++ b/xschem/cfg_shift_register.sch
@@ -0,0 +1,79 @@
+v {xschem version=3.0.0 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 280 -90 280 -70 { lab=q[0]}
+N 280 -70 300 -70 { lab=q[0]}
+N 100 -120 100 -90 { lab=clk}
+N 100 -120 300 -120 { lab=clk}
+N 300 -120 300 -90 { lab=clk}
+N 480 -90 480 -70 { lab=q[1]}
+N 480 -70 500 -70 { lab=q[1]}
+N 300 -120 500 -120 { lab=clk}
+N 500 -120 500 -90 { lab=clk}
+N 680 -90 680 -70 { lab=q[2]}
+N 680 -70 700 -70 { lab=q[2]}
+N 500 -120 700 -120 { lab=clk}
+N 700 -120 700 -90 { lab=clk}
+N 880 -90 880 -70 { lab=q[3]}
+N 880 -70 900 -70 { lab=q[3]}
+N 700 -120 900 -120 { lab=clk}
+N 900 -120 900 -90 { lab=clk}
+N 1080 -90 1080 -70 { lab=q[4]}
+N 1080 -70 1100 -70 { lab=q[4]}
+N 900 -120 1100 -120 { lab=clk}
+N 1100 -120 1100 -90 { lab=clk}
+N 1280 -90 1280 -70 { lab=q[5]}
+N 1280 -70 1300 -70 { lab=q[5]}
+N 1100 -120 1300 -120 { lab=clk}
+N 1300 -120 1300 -90 { lab=clk}
+N 1480 -90 1480 -70 { lab=q[6]}
+N 1480 -70 1500 -70 { lab=q[6]}
+N 1300 -120 1500 -120 { lab=clk}
+N 1500 -120 1500 -90 { lab=clk}
+N 1680 -90 1680 -70 { lab=q[7]}
+N 1680 -70 1700 -70 { lab=q[7]}
+N 70 -120 100 -120 { lab=clk}
+N 100 -70 100 -40 { lab=d_in}
+N 300 -70 300 -40 { lab=q[0]}
+N 500 -70 500 -40 { lab=q[1]}
+N 700 -70 700 -40 { lab=q[2]}
+N 900 -70 900 -40 { lab=q[3]}
+N 1100 -70 1100 -40 { lab=q[4]}
+N 1300 -70 1300 -40 { lab=q[5]}
+N 1500 -70 1500 -40 { lab=q[6]}
+N 1700 -70 1700 -40 { lab=q[7]}
+C {sky130/sky130_stdcells/dfxtp_1.sym} 190 -80 0 0 {name=x1 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {devices/ipin.sym} 70 -120 0 0 {name=p1 lab=clk}
+C {devices/opin.sym} 300 -40 1 0 {name=p3 lab=q[0]}
+C {devices/opin.sym} 500 -40 1 0 {name=p4 lab=q[1]
+}
+C {devices/opin.sym} 700 -40 1 0 {name=p5 lab=q[2]
+}
+C {devices/opin.sym} 900 -40 1 0 {name=p6 lab=q[3]
+}
+C {devices/opin.sym} 1100 -40 1 0 {name=p7 lab=q[4]
+}
+C {devices/opin.sym} 1300 -40 1 0 {name=p8 lab=q[5]
+}
+C {devices/opin.sym} 1500 -40 1 0 {name=p9 lab=q[6]
+}
+C {devices/opin.sym} 1700 -40 1 0 {name=p10 lab=q[7]}
+C {devices/ipin.sym} 100 -40 3 0 {name=p2 lab=d_in}
+C {devices/code_shown.sym} 120 -210 0 0 {name=MODELS
+only_toplevel=true
+place=header
+format="tcleval( @value )"
+value="** Local library links to pdk
+.include \\\\$::SKYWATER_STDCELLS\\\\/sky130_fd_sc_hd.spice
+"
+spice_ignore=false}
+C {sky130/sky130_stdcells/dfxtp_1.sym} 390 -80 0 0 {name=x2 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 590 -80 0 0 {name=x3 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 790 -80 0 0 {name=x4 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 990 -80 0 0 {name=x5 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 1190 -80 0 0 {name=x6 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 1390 -80 0 0 {name=x7 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }
+C {sky130/sky130_stdcells/dfxtp_1.sym} 1590 -80 0 0 {name=x8 VGND=GND VNB=GND VPB=VDD VPWR=VDD prefix=sky130_fd_sc_hd__ }