50 lines
755 B
Plaintext
50 lines
755 B
Plaintext
from math import log
|
|
|
|
L_n = 0.6E-6
|
|
L_p = 0.6E-6
|
|
K_n = 122E-6
|
|
K_p = 61E-6
|
|
C_ox = 33E-4
|
|
V_tn = 0.7
|
|
V_tp = -0.7
|
|
|
|
# 2a
|
|
V_gs = 5
|
|
V_ds = 5
|
|
V_dsat = V_gs - V_tn
|
|
I_ds = 2.82E-3
|
|
|
|
w_n = (2*I_ds*L_n) / (K_n * V_dsat**2)
|
|
print("2a:", w_n)
|
|
|
|
# 2b
|
|
w_p = (2*I_ds*L_p) / (K_p * V_dsat**2)
|
|
print("2b:", w_p)
|
|
# 2c
|
|
C_g = C_ox*w_n*L_n
|
|
C_equiv = 12*C_g + 20E-15
|
|
print("C_g:", C_g)
|
|
print("C_equiv:", C_equiv)
|
|
|
|
beta = K_n*w_n/L_n
|
|
print("beta:", beta)
|
|
|
|
I_sat = beta * (V_gs - V_tn)**2 / 2
|
|
print("I_sat:", I_sat)
|
|
t_sat = V_tn*C_equiv / I_sat
|
|
print("t_sat:", t_sat)
|
|
|
|
R = 1 / (K_n * (w_n/L_n) * (V_gs - V_tn))
|
|
print("R:", R)
|
|
tau = R*C_equiv
|
|
print("tau:", tau)
|
|
|
|
# v(t) = 0.5 = 4.3e^(-t/tau)
|
|
t_lin = -tau*log(0.5/4.3)
|
|
print("t_lin:", t_lin)
|
|
t = t_lin + t_sat
|
|
print("t:", t)
|
|
# 2d
|
|
|
|
# 2e
|