blob: 6761b76760af1443336e37f87e40ebf1db9f62e9 [file] [log] [blame]
v {xschem version=2.9.9 file_version=1.2 }
G {}
K {}
V {}
S {}
E {}
N 150 -450 150 -420 { lab=vss}
N 150 -580 150 -550 { lab=vdd}
N 240 -500 320 -500 { lab=out}
N 50 -500 110 -500 { lab=in}
N 150 -420 150 -400 { lab=vss}
N 150 -600 150 -580 { lab=vdd}
N 320 -790 320 -740 { lab=GND}
N 500 -790 500 -740 { lab=vss}
N 410 -790 410 -740 { lab=vss}
N 320 -900 320 -850 { lab=vss}
N 500 -900 500 -850 { lab=in}
N 410 -900 410 -850 { lab=vdd}
N 320 -500 320 -480 { lab=out}
N 320 -420 320 -400 { lab=vss}
N 190 -560 190 -530 { lab=vdd}
N 190 -580 190 -560 { lab=vdd}
N 190 -470 190 -440 { lab=vss}
N 190 -440 190 -420 { lab=vss}
N 570 -450 570 -420 { lab=vss}
N 570 -580 570 -550 { lab=vdd}
N 660 -500 740 -500 { lab=out_pex_c}
N 470 -500 530 -500 { lab=in}
N 570 -420 570 -400 { lab=vss}
N 570 -600 570 -580 { lab=vdd}
N 740 -500 740 -480 { lab=out_pex_c}
N 740 -420 740 -400 { lab=vss}
N 610 -560 610 -530 { lab=vdd}
N 610 -580 610 -560 { lab=vdd}
N 610 -470 610 -440 { lab=vss}
N 610 -440 610 -420 { lab=vss}
C {lab_pin.sym} 150 -600 1 0 {name=l1 sig_type=std_logic lab=vdd}
C {lab_pin.sym} 150 -400 3 0 {name=l2 sig_type=std_logic lab=vss}
C {lab_wire.sym} 290 -500 0 0 {name=l3 sig_type=std_logic lab=out}
C {vsource.sym} 320 -820 0 0 {name=VSS value=\{vss\}}
C {vsource.sym} 410 -820 0 0 {name=VDD value=\{vdd\}}
C {vsource.sym} 500 -820 0 0 {name=VIN value="PULSE(0 \{vin\} 0 1p 1p \{T/2\} \{T\}) DC \{vin\} AC 0"}
C {gnd.sym} 320 -740 0 0 {name=l9 lab=GND}
C {lab_pin.sym} 410 -740 3 0 {name=l10 sig_type=std_logic lab=vss}
C {lab_pin.sym} 500 -740 3 0 {name=l11 sig_type=std_logic lab=vss}
C {lab_pin.sym} 410 -900 1 0 {name=l12 sig_type=std_logic lab=vdd}
C {lab_pin.sym} 500 -900 1 0 {name=l13 sig_type=std_logic lab=in}
C {lab_pin.sym} 320 -900 1 0 {name=l14 sig_type=std_logic lab=vss}
C {netlist_not_shown.sym} 130 -860 0 0 {name=simulation only_toplevel=false
value="
* Parameters
.param kp = 1.0
.param vdd = kp*1.8
.param vss = 0
.param vin = vdd
.param T = 100n
.options TEMP = 50.0
* Models
.lib ~/skywater/skywater-pdk/libraries/sky130_fd_pr_ngspice/latest/models/corners/sky130.lib TT
.include ~/sky130-mpw2-fulgor/inverter_csvco/sch/simulations/inverter_csvco_pex_c.spice
* Initial Conditions
.ic v(out) = 0.0
.ic v(out_wp) = 0.0
.ic v(out_wp_rc) = 0.0
.ic v(out_pex_c) = 0.0
* Data to save
.save all
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[id]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[id]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[vds]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vds]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[vdsat]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vdsat]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[cgs]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[cgs]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[cgd]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[cgd]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[csb]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[csb]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[cdb]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[cdb]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[cgg]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[cgg]
+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[cgb]
+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[cgb]
* Simulation
.control
set filetype = ascii
op
write tb_inverter_min.raw
echo .
echo ------ OP Results -----
print all
reset
dc vin 0 1.8 0.01
setplot dc1
plot v(in) v(out) v(out_pex_c)
write tb_inverter_min_dc.raw
reset
tran 1ns 1us
meas tran tpLH trig v(in) val=0.9 fall=5 targ v(out) val=0.9 rise=5
meas tran tpHL trig v(in) val=0.9 rise=5 targ v(out) val=0.9 fall=4
meas tran tpLHc trig v(in) val=0.9 fall=5 targ v(out_pex_c) val=0.9 rise=5
meas tran tpHLc trig v(in) val=0.9 rise=5 targ v(out_pex_c) val=0.9 fall=4
let tp = (0.5*(tpLH + tpHL))
let tp_c = (0.5*(tpLHc + tpHLc))
echo .
echo ---- tp Ideal ----
print tpLH tpHL tp
echo .
echo ---- tp PEX C ----
print tpLHc tpHLc tp_c
write tb_inverter_tran.raw
plot v(in) v(out) v(out_pex_c)+2
.endc
.end
"}
C {capa.sym} 320 -450 0 0 {name=C1
m=1
value=10f
footprint=1206
device="ceramic capacitor"}
C {lab_pin.sym} 320 -400 3 0 {name=l4 sig_type=std_logic lab=vss}
C {lab_pin.sym} 50 -500 0 0 {name=l5 sig_type=std_logic lab=in}
C {inverter_csvco.sym} 170 -500 0 0 {name=x1}
C {lab_pin.sym} 190 -580 1 0 {name=l27 sig_type=std_logic lab=vdd}
C {lab_pin.sym} 190 -420 3 0 {name=l28 sig_type=std_logic lab=vss}
C {inverter_csvco/sch/inverter_csvco_pex_c.sym} 590 -500 0 0 {name=x2}
C {lab_pin.sym} 570 -600 1 0 {name=l6 sig_type=std_logic lab=vdd}
C {lab_pin.sym} 570 -400 3 0 {name=l7 sig_type=std_logic lab=vss}
C {lab_wire.sym} 710 -500 0 0 {name=l8 sig_type=std_logic lab=out_pex_c}
C {capa.sym} 740 -450 0 0 {name=C2
m=1
value=10f
footprint=1206
device="ceramic capacitor"}
C {lab_pin.sym} 740 -400 3 0 {name=l15 sig_type=std_logic lab=vss}
C {lab_pin.sym} 470 -500 0 0 {name=l16 sig_type=std_logic lab=in}
C {lab_pin.sym} 610 -580 1 0 {name=l17 sig_type=std_logic lab=vdd}
C {lab_pin.sym} 610 -420 3 0 {name=l18 sig_type=std_logic lab=vss}