blob: 47c71125747ced98c4e57c4d396c635e8fbdb098 [file] [log] [blame]
** 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