| **.subckt testbank |
| R1 net2 GND 1k m=1 |
| R3 net1 GND 1k m=1 |
| R4 net2 net3 800 m=1 |
| R5 net1 net4 800 m=1 |
| V5 net4 GND 1.8 |
| V6 net3 GND 1.8 |
| V7 net8 GND 1.8 |
| R6 net9 net5 250 m=1 |
| V8 net9 GND 1.8 |
| R7 net6 GND 13k m=1 |
| R8 net7 GND 13k m=1 |
| V9 net10 GND SIN(0 0.2 400000) |
| V10 net11 GND SIN(0 0.2 400000 0 0 180) |
| XLNA1 net2 net1 net8 GND out2 out1 net7 net5 net6 csfd-abstract |
| C1 net2 net11 500u m=1 |
| C3 net1 net10 500u m=1 |
| **** begin user architecture code |
| ** manual skywater pdks install (with patches applied) |
| * .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt |
| |
| ** opencircuitdesign pdks install |
| .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt |
| |
| .param mc_mm_switch=0 |
| .param mc_pr_switch=0 |
| |
| |
| |
| .tran 0.0000001s 0.000001s |
| .plot v(drain1) v(drain2) |
| |
| |
| **** end user architecture code |
| **.ends |
| |
| * expanding symbol: csfd-abstract.sym # of pins=9 |
| * sym_path: /home/u5921_ryanwan/design/FB1/xschem/csfd-abstract.sym |
| * sch_path: /home/u5921_ryanwan/design/FB1/xschem/csfd-abstract.sch |
| .subckt csfd-abstract in1 in2 vdd gnd out1 out2 lc1 tc lc2 |
| *.ipin vdd |
| *.ipin in1 |
| *.ipin in2 |
| *.ipin gnd |
| *.opin out1 |
| *.opin out2 |
| *.ipin tc |
| *.ipin lc1 |
| *.ipin lc2 |
| **** begin user architecture code |
| |
| |
| .tran 0.000001s 0.00001s |
| .plot v(drain1) v(drain2) |
| |
| |
| **** end user architecture code |
| XM9 out1 lc1 vdd vdd sky130_fd_pr__pfet_01v8 L=0.15 W=1 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 |
| XM10 out1 in1 source gnd sky130_fd_pr__nfet_01v8 L=0.15 W=1 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 lc2 lc2 vdd vdd sky130_fd_pr__pfet_01v8 L=0.15 W=1 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 out2 lc2 vdd vdd sky130_fd_pr__pfet_01v8 L=0.15 W=1 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 |
| XM7 lc1 lc1 vdd vdd sky130_fd_pr__pfet_01v8 L=0.15 W=1 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 |
| XM1 source tc gnd gnd sky130_fd_pr__nfet_01v8 L=0.15 W=1 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 |
| XM4 tc tc gnd gnd sky130_fd_pr__nfet_01v8 L=0.15 W=1 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 |
| XM5 out2 in2 source gnd sky130_fd_pr__nfet_01v8 L=0.15 W=1 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 |
| |
| .GLOBAL GND |
| ** flattened .save nodes |
| .end |