attempt at LVS verification
diff --git a/gds/dsa/dsa.spice b/gds/dsa/dsa.spice
new file mode 100644
index 0000000..47c7112
--- /dev/null
+++ b/gds/dsa/dsa.spice
@@ -0,0 +1,76 @@
+** sch_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/dsa.sch
+**.subckt dsa in gnd vdd ctr1 ctr2 ctr3 ctr4 out
+*.ipin in
+*.ipin gnd
+*.ipin vdd
+*.ipin ctr1
+*.ipin ctr2
+*.ipin ctr3
+*.ipin ctr4
+*.opin out
+XSPDT1 in ctr1 net1 net2 gnd vdd spdt
+R1 net2 net1 sky130_fd_pr__res_generic_po W=1 L=1 m=1
+XSPDT2 net2 ctr2 net3 net4 gnd vdd spdt
+R2 net4 net3 sky130_fd_pr__res_generic_po W=1 L=1 m=1
+XSPDT3 net4 ctr3 net5 net6 gnd vdd spdt
+R3 net6 net5 sky130_fd_pr__res_generic_po W=1 L=1 m=1
+XSPDT4 net6 ctr4 net7 out gnd vdd spdt
+R4 out net7 sky130_fd_pr__res_generic_po W=1 L=1 m=1
+**.ends
+
+* expanding   symbol:  /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/spdt.sym
+*+ # of pins=6
+** sym_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/spdt.sym
+** sch_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/spdt.sch
+.subckt spdt  in ctr out1 out2 gnd vdd
+*.ipin in
+*.ipin ctr
+*.ipin gnd
+*.ipin vdd
+*.opin out1
+*.opin out2
+XINV1 vdd ctr gnd net1 inverter
+XTG1 vdd ctr in gnd net1 out1 transgate
+XTG2 vdd net1 in gnd ctr out2 transgate
+XINV1 vdd ctr gnd net1 inverter
+.ends
+
+
+* expanding   symbol:
+*+  /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/inverter.sym # of pins=4
+** sym_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/inverter.sym
+** sch_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/inverter.sch
+.subckt inverter  vdd in gnd out
+*.ipin in
+*.ipin gnd
+*.ipin vdd
+*.opin out
+XM1 out in gnd gnd sky130_fd_pr__nfet_01v8 L=0.15 W=4 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 out in vdd vdd sky130_fd_pr__pfet_01v8 L=0.15 W=4 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
+
+
+* expanding   symbol:
+*+  /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/transgate.sym # of pins=6
+** sym_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/transgate.sym
+** sch_path: /Volumes/WORK_DRIVE/caravel_automatic_gain_control/xschem/attenuator/transgate.sch
+.subckt transgate  vdd ctr2 in gnd ctr1 out
+*.ipin in
+*.ipin ctr2
+*.ipin ctr1
+*.ipin vdd
+*.ipin gnd
+*.opin out
+XM1 in ctr1 out gnd sky130_fd_pr__nfet_01v8 L=0.15 W=4 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 in ctr2 out vdd sky130_fd_pr__pfet_01v8 L=0.15 W=4 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
+
+.end