Chapter 6 : Semiconductor Devices

Example 6.1 Page No : 248

In [1]:
import math 

# Given
# let K=kT/e
K = 0.0259              # in V
Nd = 10**17             # in cm**-3
Na = 10**16             # in cm**-3
ni_Si = 1.45*10**10     # in cm**-3
ni_Ge = 2.40*10**13     # in cm**-3
ni_GaAs = 1.79*10**6    # in cm**-3

# Calculations and Results
# Vo=(k*T/e)*math.log(Nd*Na/ni**2)
Vo_Si = K*math.log(Nd*Na/ni_Si**2)
print("Built in potential for Si in Volts is {0:.4f}".format(Vo_Si))
Vo_Ge = K*math.log(Nd*Na/ni_Ge**2)
print("Built in potential for Ge in Volts is {0:.4f}".format(Vo_Ge))
Vo_GaAs = K*math.log(Nd*Na/ni_GaAs**2)
print("Built in potential for GaAs in Volts is {0:.4f}".format(Vo_GaAs))
Built in potential for Si in Volts is 0.7560
Built in potential for Ge in Volts is 0.3721
Built in potential for GaAs in Volts is 1.2222

Example 6.2 Page No : 253

In [2]:
import math 

# Given
# let K=kT/e
K = 0.0259              # in V
Na = 10**18             # in cm**-3
Nd = 10**16             # in cm**-3
e = 1.6*10**-19         # in coulombs
Eo = 8.85*10**-12       # in m-3 kg-1 s4 A2
Er = 11.9
E = Eo*Er
ni = 1.45*10**10        # in cm**-3

# Calculations and Results
# Vo=(k*T/e)*math.log(Nd*Na/ni**2)
Vo = K*math.log(Nd*Na/ni**2)
print("{0:.4f}".format(Vo))
Nd *= 10**6             # in m**-3
Wo = math.sqrt(2*E*Vo/(e*Nd))
print("Depletion width in micro meters is {0:.4f}".format(Wo*10**6))
0.8157
Depletion width in micro meters is 0.3277

Example 6.3 Page No : 258

In [3]:
import math 

# Given
# part(a)
# let K=k*T/e
K = 0.0259                  # in V
Te = 5*10**-9               # in s
Th = 417*10**-9             # in s
ue = 120.0                    # in cm2/V/s
uh = 440.0                    # in cm2/V/s
Na = 5*10**18               # in cm**-3
Nd = 10**16                 # in cm**-3
T1 = 300.0                    # in kelvin
T2 = 373.0                    # in kelvin
Tg = 10**-6                 # in seconds
Vr = 5.0                      # in volts
ni_300 = 1.45*10**10        # in cm**-3 at 300K
ni_373 = 1.2*10**12         # in cm**-3 at 373K
A = 0.01                    # in cm2
e = 1.6*10**-19             # in coulombs
epsilon_o = 8.85*10**-12    # in F/m
epsilon_r = 11.9
V = 0.6                     # in v

# Calculations and Results
# De=k*T*ue/e
De = K*ue
Dh = K*uh
Le = math.sqrt(De*Te)
Lh = math.sqrt(Dh*Th)
print("Diffusion length of electrons in cm is {0:.4g}".format(Le))
print("Diffusion length of holes in cm is {0:.4g}".format(Lh))
# part(b)
# Vo=(k*T/e)*math.log(Nd*Na/ni**2)
Vo = K*math.log(Nd*Na/ni_300**2)
print("Built-in potential in volts is {0:.4f}".format(Vo))
# part(C)
Iso_300 = A*e*ni_300**2*Dh/(Lh*Nd)
# I=Iso*exp(eV/kT)
I = Iso_300*math.exp(V/K)
print("Current when there is a forward bias of 0.6 V at 300K in Amperes is {0:.4g}".format(I))
# part(d)
Iso_373 = Iso_300*(ni_373/ni_300)**2
I = Iso_373*math.exp((V/K)*(T1/T2))
print("Current when there is a forward bias of 0.6 V at 373K in Amperes is {0:.4f}".format(I))
# part(e)
Nd *= 10**6                 # in m**-3
epsilon = epsilon_o*epsilon_r
W = math.sqrt(2*epsilon*(Vo+Vr)/(e*Nd))
W *= 10**2                  # in cm
ni = 1.45*10**10            # in cm**-3
I_gen = e*A*W*ni/Tg
print("Thermal generation current in Amperes is {0:.4g}".format(I_gen))
Diffusion length of electrons in cm is 0.0001247
Diffusion length of holes in cm is 0.00218
Built-in potential in volts is 0.8574
Current when there is a forward bias of 0.6 V at 300K in Amperes is 0.002023
Current when there is a forward bias of 0.6 V at 373K in Amperes is 0.1488
Thermal generation current in Amperes is 2.037e-09

Example 6.5 Page No : 261

In [4]:
import math 

# Given
A = 10**-6              # in m2
Vo = 0.856              # in V
I = 5*10**-3            # in Amperes
Iso = 0.176*10**-12     # in Amperes
e = 1.6*10**-19         # in coulombs
Eo = 8.85*10**-12       # in m-3 kg-1 s4 A2
Er = 11.9
Th = 417*10**-9         # in seconds
Nd = 10**22             # in m**-3
# let K=kT/e
K = 0.0259              # in V

# Calculations and Results
# Vo=(k*T/e)*math.log(I/Iso)
V = K*math.log(I/Iso)
I = 5.0                   # in mA
rd = 25.0/I
print("Incremental diode resistance in ohms is {0:.4f}".format(rd))
E = Eo*Er
C_dep = A*math.sqrt((e*E*Nd)/(2*(Vo-V)))
print("Depletion capacitance of the diode in Farads {0:.4g}".format(C_dep))
C_diff = Th*I/25
print("Incremental diffusion coefficient in Farads is {0:.4g}".format(C_diff))
Incremental diode resistance in ohms is 5.0000
Depletion capacitance of the diode in Farads 6.019e-10
Incremental diffusion coefficient in Farads is 8.34e-08

Example 6.6 Page No : 264

In [5]:
# Given
e = 1.6*10**-19                     # in coulombs
Nd = 10**16                         # in cm**-3
Ebr = 4*10**5                       # in V/cm
epsilono = 8.85*10**-12*10**-2      # in F/cm
epsilonr = 11.9

# Calculations and Results
epsilon = epsilono*epsilonr
Vbr = epsilon*Ebr**2/(2*e*Nd)
print("Reverse break down voltage of the Si diode in Volts is {0:.4f}".format(Vbr))
# part(b)
Nd = 10**17                         # in cm**-3
Ebr = 6*10**5                       # in V/cm
Vbr = epsilon*Ebr**2/(2*e*Nd)
print("Reverse break down voltage in Volts when phosphorous doping is increased "
      "to 10**17 cm**-3 is {0:.4f}".format(Vbr))
Reverse break down voltage of the Si diode in Volts is 52.6575
Reverse break down voltage in Volts when phosphorous doping is increased to 10**17 cm**-3 is 11.8479

Example 6.7 Page No : 266

In [6]:
import math 

# Given
# part(a)
Th = 250*10**-9         # in seconds
A = 0.02*10**-2         # in cm2
Av = 10.0               # voltage gain
ni = 1.45*10**10        # in cm**-3
Nd = 2*10**16           # in cm**-3
W_B = 2*10**-4          # in cm
uh = 410.0              # in cm2/V/s
I_E = 2.5*10**-3        # in Amperes
# let K=kT/e
K = 0.0259              # in V

# Calculations and Results
# Dh=(kT/e)*uh
Dh = K*uh
Tt = W_B**2/(2*Dh)
e = 1.6*10**-19         # in coulombs
alpha = 1-(Tt/Th)
print("CB current transfer ratio is {0:.4f}".format(alpha))
# funcprot(0)
beta = alpha/(1-alpha)
print("current gain is {0:.4f}".format(beta))
# part(c)
I_EO = e*A*Dh*ni**2/(Nd*W_B)
# V_EB=(k*T/e)*math.log(I_E/I_EO)
V_EB = K*math.log(I_E/I_EO)
print("V_EB in volts is {0:.4f}".format(V_EB))
# re=(k*T/e)/IE=25/IE(mA)
I_E = 2.5               # in mA
re = 25/I_E
print("small signal input resistance in ohms is {0:.4f}".format(re))
# part(d)
R_C = Av*re
print("R_C in ohms is {0:.4f}".format(R_C))
# part(e)
I_E = 2.5*10**-3        # in Amperes
I_B = I_E*(1-alpha)
print("base current in micro amperes is {0:.4f}".format(I_B*10**6))
# part(f)
f = 1.0/Tt
print("upper frequency range limit in MHz is {0:.4f}".format(f*10**-6))
CB current transfer ratio is 0.9925
current gain is 131.7375
V_EB in volts is 0.6647
small signal input resistance in ohms is 10.0000
R_C in ohms is 100.0000
base current in micro amperes is 18.8342
upper frequency range limit in MHz is 530.9500

Example 6.8 Page No : 271

In [7]:
# Given
# part(c)
Nd = 2*10**16       # in cm**-3
Na = 10**19         # in cm**-3
W_B = 2*10**-4      # in cm
W_E = 2*10**-4      # in cm
ue = 110.0            # in cm2/V/s
uh = 410.0            # in cm2/V/s
Th = 250*10**-9     # in seconds
# let K=kT/e
K = 0.0259          # in V

# Calculations and Results
# Dh=(kT/e)*uh
Dh = K*uh
Tt = W_B**2/(2*Dh)
gamma = 1.0/(1+((Nd*W_B*ue)/(Na*W_E*uh)))
print("Injection frequency is {0:.4f}".format(gamma))
alpha = gamma*(1-(Tt/Th))
print("Modified alpha is {0:.4f}".format(alpha))
beta = alpha/(1-alpha)
print("modified current gain is {0:.4f}".format(beta))
Injection frequency is 0.9995
Modified alpha is 0.9919
modified current gain is 122.9784

Example 6.9 Page No : 276

In [8]:
# Given
# rms output voltage
Ic = 2.5                    # in mA
Rc = 1000.0                   # in ohms
beta = 100.0
vs = 1.0                      # in mV
Rs = 50.0                     # in ohms

# Calculations and Results
r_be = beta*25/Ic           # Ic in mA
gm = Ic/25.0                  # Ic in mA
# Av=v_ce/v_be=gm*Rc
Av = gm*Rc
v_be = vs*r_be/(r_be+Rs)    # in mV
v_ce = Av*v_be
print("rms output voltage in mV is {0:.4f}".format(v_ce))
v_be *= 10**-3              # in volts
Ap = beta*Av
P_in = v_be**2/r_be
print("Input power in watts is {0:.4f}".format(P_in*10**9))
P_out = P_in*Ap
print("output power in watts is {0:.4f}".format(P_out*10**6))
rms output voltage in mV is 95.2381
Input power in watts is 0.9070
output power in watts is 9.0703

Example 6.10 Page No : 278

In [9]:
import math 

# Given
V_GS = -1.5                             # in Volts
V_GS_off = -5.0                         # in Volts
I_DSS = 10*10**-3                       # in A
R_D = 2000.0                            # in ohms

# Calculations and Results
I_DS = I_DSS*(1-(V_GS/V_GS_off))**2     # in A
gm = -2*math.sqrt(I_DSS*I_DS)/V_GS_off
Av = -gm*R_D
print("voltage amplification for small signal is {0:.4f}".format(Av))
voltage amplification for small signal is -5.6000

Example 6.11 Page No : 283

In [10]:
# Given
Z = 50*10**-6               # in m
L = 10*10**-6               # in m
t_ox = 450*10**-10          # in m
V_GS = 8.0                  # in V
V_th = 4.0                  # in V
V_DS = 20.0                 # in V
lambda_val = 0.01
ue = 750*10**-4             # in m2/V/s
epsilon_r = 3.9
epsilon_o = 8.85*10**-12    # F/m2

# Calculations and Results
epsilon = epsilon_r*epsilon_o
K = (Z*ue*epsilon)/(2*L*t_ox)
I_DS = K*(V_GS-V_th)**2*(1+lambda_val*V_DS)
print("drain current in mA is {0:.4g}".format(I_DS*10**3))
drain current in mA is 2.761

Example 6.13 Page No : 288

In [11]:
import math 

# Given
e = 1.6*10**-19         # in coulombs
I = 10**-3              # in A
Th = 10**-6             # in s

# Calculations and Results
B = 1/Th                # in Hz
i_sn = math.sqrt(2*e*I*B)
print("shot noise current in amperes is {0:.4g}".format(i_sn))
shot noise current in amperes is 1.789e-08