# Chapter 6 : Semiconductor Devices¶

## Example 6.1 Page No : 248¶

In :
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 :
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 :
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 :
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 :
# 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 :
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 :
# 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 :
# 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 :
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 :
# 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 :
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