Hello,
X1 A B C Z VDD VSS TH23
.param VDD=1.5v .param VSS=0 .param val1=1u .param val2=15u .param valinv=4u
.SUBCKT TH23 A B C Z VDD VSS M0 nbc C VDD VDD PD L=val1 W=val2 M2 nba B nbc VDD PD L=val1 W=val2 M3 ninv_i A nba VDD PD L=val1 W=val2 M4 ninv_i A nab VSS ND L=val1 W=val2 M5 nab B VSS VSS ND L=val1 W=val2 M6 ninv_i C ncab VSS ND L=val1 W=val2 M7 ncab A VSS VSS ND L=val1 W=val2 M8 ncab B VSS VSS ND L=val1 W=val2 M9 ninv_i Z npbd VDD PD L=val1 W=valinv M10 npbd B npbc VDD PD L=val1 W=val2 M11 npbc C VDD VDD PD L=val1 W=val2 M12 nabc A VDD VDD PD L=val1 W=val2 M13 nbc2 B nabc VDD PD L=val1 W=val2 M14 nbc2 C nabc VDD PD L=val1 W=val2 M15 ninv_i Z nbc2 VDD PD L=val1 W=valinv M16 ninv_i Z nd3abc VSS ND L=val1 W=valinv M17 nd3abc A VSS VSS ND L=val1 W=val2 M18 nd3abc B VSS VSS ND L=val1 W=val2 M19 nd3abc C VSS VSS ND L=val1 W=val2 M20 Z ninv_i VDD VDD PD L=val1 W=val2 M21 Z ninv_i VSS VSS ND L=val1 W=val2 .ENDS TH23
.model n1 nmos level=49 version=3.3.0 .model p1 pmos level=49 version=3.3.0
let vin1=v(A) let vin2=v(B) let vin3=v(C)
.tran 10ns 500ns UIC .probe v(A) v(B) v(C)
vin1 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns ) vin2 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns ) vin3 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns )
.meas tran delay_b trig v(B) val='VDD/2' rise=1 + targ v(Z) val='VDD/2' rise=1 .meas tran delay_b trig v(A) val='VDD/2' rise=1 + targ v(Z) val='VDD/2' rise=1 .options acct
.control print all run plot v(A) v(Z) .endc .end
Daer Unknown,
if you expect that somebody spends some time on your problem, you should express yourself a little bit more and tell us what your questions are!
Holger
Log in to post a comment.
Hello,
X1 A B C Z VDD VSS TH23
.param VDD=1.5v
.param VSS=0
.param val1=1u
.param val2=15u
.param valinv=4u
.SUBCKT TH23 A B C Z VDD VSS
M0 nbc C VDD VDD PD L=val1 W=val2
M2 nba B nbc VDD PD L=val1 W=val2
M3 ninv_i A nba VDD PD L=val1 W=val2
M4 ninv_i A nab VSS ND L=val1 W=val2
M5 nab B VSS VSS ND L=val1 W=val2
M6 ninv_i C ncab VSS ND L=val1 W=val2
M7 ncab A VSS VSS ND L=val1 W=val2
M8 ncab B VSS VSS ND L=val1 W=val2
M9 ninv_i Z npbd VDD PD L=val1 W=valinv
M10 npbd B npbc VDD PD L=val1 W=val2
M11 npbc C VDD VDD PD L=val1 W=val2
M12 nabc A VDD VDD PD L=val1 W=val2
M13 nbc2 B nabc VDD PD L=val1 W=val2
M14 nbc2 C nabc VDD PD L=val1 W=val2
M15 ninv_i Z nbc2 VDD PD L=val1 W=valinv
M16 ninv_i Z nd3abc VSS ND L=val1 W=valinv
M17 nd3abc A VSS VSS ND L=val1 W=val2
M18 nd3abc B VSS VSS ND L=val1 W=val2
M19 nd3abc C VSS VSS ND L=val1 W=val2
M20 Z ninv_i VDD VDD PD L=val1 W=val2
M21 Z ninv_i VSS VSS ND L=val1 W=val2
.ENDS TH23
.model n1 nmos level=49 version=3.3.0
.model p1 pmos level=49 version=3.3.0
let vin1=v(A)
let vin2=v(B)
let vin3=v(C)
.tran 10ns 500ns UIC
.probe v(A) v(B) v(C)
vin1 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns )
vin2 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns )
vin3 VDD GND pulse (0 VDD 2ns 2ns 50ns 500ns )
.meas tran delay_b trig v(B) val='VDD/2' rise=1
+ targ v(Z) val='VDD/2' rise=1
.meas tran delay_b trig v(A) val='VDD/2' rise=1
+ targ v(Z) val='VDD/2' rise=1
.options acct
.control
print all
run
plot v(A) v(Z)
.endc
.end
Daer Unknown,
if you expect that somebody spends some time on your problem, you should express yourself a little bit more and tell us what your questions are!
Holger