Chapter 5 : P - N Junction

Example number 5.1 , Page number 180

In [2]:
#importing module
import math
from __future__ import division

#Variable declaration
rho=10 #resistivity in ohm-cm
myu_n=1300 #electron mobility in cm**2/V*s
e=1.6*10**-19 #in eV
Cs=5*10**18 #constant surface concentartion in cm**-3
t=1 #in hour
x=1 #depth in micro-m

#Calculations
sigma=1/rho #in (ohm-cm)**-1
n=sigma/(myu_n*e) #in cm**-3
n_Cs=n/Cs 
erfc1_y=n_Cs #error function
y=2.75 #reference page 181 from fig 5.1.1. value obtained by plotting erfc1_y (Complementary error function) as a function of y
rootD=x/(2*y*math.sqrt(t))
T=1100 #reference page 168 from fig 5.10(b)

#Result
print("rootD = %.2f micro-m/h**-2\n" %rootD)
print("Temperature at diffusion should be carried out= %i Celsius" %T)
print("The temperature value was choosen by determing the value of T against root(D) in the figure of Diffusivity of acceptor impurities in silicon versus T")
rootD = 0.18 micro-m/h**-2

Temperature at diffusion should be carried out= 1100 Celsius
The temperature value was choosen by determing the value of T against root(D) in the figure of Diffusivity of acceptor impurities in silicon versus T

Example number 5.2 , Page number 182

In [3]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=5*10**18 #doping densities in cm**-3
Nd=5*10**15 #in cm**-3
ni=1.5*10**10 #in cm**-3
Const=0.026#constant for kT/e in V

#Calculations
Vbi=Const*math.log((Na*Nd)/ni**2)

#Result
print("built-in potential= %0.3f V" %Vbi) #The answers vary due to round off error
built-in potential= 0.841 V

Example number 5.3 , Page number 182

In [7]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=5*10**18 #doping densities in cm**-3
Nd=5*10**15 #in cm**-3
ni=1.5*10**10 #in cm**-3 
epsilon_s=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
Vbi=0.838 #built-in potential in V
e=1.6*10**-19 #in J                

#Calculations
W=((2*epsilon_s*epsilon_0*Vbi*(Na+Nd))/(e*Na*Nd))**0.5

#Result
print("Total space-charge width= %0.3f micro-m" %(W/10**-4))
Total space-charge width= 0.466 micro-m

Example number 5.4 , Page number 201

In [10]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=5*10**18 #doping densities in cm**-3
Nd=5*10**15 #in cm**-3
ni=1.5*10**10 #in cm**-3
VR=4 #voltage in V
epsilon_s=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
Vbi=0.838 #built-in potential in V
e=1.6*10**-19 #in J

#Calculations
W=((2*epsilon_s*epsilon_0*(Vbi+VR)*(Na+Nd))/(e*Na*Nd))**0.5

#Result
print("Total space-charge width= %1.2f micro-m" %(W/10**-4))
Total space-charge width= 1.12 micro-m

Example number 5.5 , Page number 143

In [12]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=5*10**18 #doping densities in cm**-3
Nd=5*10**15 #in cm**-3
ni=1.5*10**10 #in cm**-3
VR=3 #voltage in V
epsilon_s=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
Vbi=0.838 #built-in potential in V
e=1.6*10**-19 #in J
A=5*10**-4 #Area in cm**2

#Calculations
Cdep=((e*epsilon_s*epsilon_0*Na*Nd)/(2*(Vbi+VR)*(Na+Nd)))**0.5 #junction capacitance 
Cdep1=Cdep*A

#Result
print("Junction Capacitance= %i*10**-8 F/cm**2\n" %(Cdep/10**-8))
print("Depletion Capacitance= %i pF" %(Cdep1/10**-12))
Junction Capacitance= 1*10**-8 F/cm**2

Depletion Capacitance= 5 pF

Example number 5.7 , Page number 205

In [14]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=10**17 #in cm**-3
epsilon_0=8.85*10**-14 #in F/cm
Emax=5*10**5 #peak electric field in V/cm
e=1.6*10**-19 #in J
epsilon_si=88.76*10**-14 #in F/cm

#Calculations
E=(Emax*Emax*epsilon_si)/(e*Na)

#Result
print("Breakdown voltage= %2.2f V" %E) #The answers vary due to round off error
Breakdown voltage= 13.87 V

Example number 5.8 , Page number 206

In [18]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=10**19 #doping densities in cm**-3
Nd=10**15 #in cm**-3
epsilon_s=88.76*10**-14 #in F/cm
e=1.6*10**-19 #in J
Vbi=300 #breakdown voltage in V

#Calculations
xn=((2*epsilon_s*Na*Vbi)/(e*Nd*(Na+Nd)))**0.5

#Result
print("a)")
print(" As %.2f micro-m is less than the given length of the n-region i.e 22 micro-m, device will only have avalanche breakdown" %(xn/10**-4))
a)
 As 18.24 micro-m is less than the given length of the n-region i.e 22 micro-m, device will only have avalanche breakdown

Example number 5.9 , Page number 207

In [21]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=10**15 #doping densities in cm**-3
Nd=10**17 #in cm**-3
V=0.5 #in V
e=1.6*10**-19 #in J
nn0=10**17 #in cm**-3
ni=1.5*10**10 #in cm**-3
Si_bandgap=1.1 #bandgap of silicon in eV
Const=0.0259 #constant value for kT/e in J

#Calculations
#a)
pn0=ni**2/nn0 #in cm**-3
pn=pn0*math.exp((V)/Const) 

#b)

Vbi=0.6949 #breakdown voltage in V
Vp=Vbi-V #potential already present in V
Vz=Si_bandgap-Vp #Zener breakdown voltage in V

#Result
print("a)\n")
print("Total concentration of holes= %.2f*10**11 cm**-3\n" %(pn/10**11)) 
print("b)\n")
print("Additional voltage required= %.4f V" %Vz)
a)

Total concentration of holes= 5.45*10**11 cm**-3

b)

Additional voltage required= 0.9051 V

Example number 5.10 , Page number 208

In [23]:
#importing module
import math
from __future__ import division

#Variable declaration
Cj=12*10**-12 #Capacitance in F/cm**2
A=10**-4 #junction Area in A/cm**2
Vr=20 #in V
e=1.6*10**-19 #in J
epsilon_r=11.8 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm

#Calculations
Nd=((2*Cj)/A)**2*(Vr/(2*epsilon_r*epsilon_0*e))

#Result
print("Donor Concentration= %1.3f*10**18 cm**-3" %(Nd/10**18))
Donor Concentration= 3.447*10**18 cm**-3

Example number 5.11 , Page number 209

In [27]:
#importing module
import math
from __future__ import division

#Variable declaration
Na=4.22*10**14 #doping densities in cm**-3
Nd=4.22*10**16 #in cm**3
e=1.6*10**-19 #in eV
Vbi=0.65 #breakdown voltage in V
ni=1.5*10**10 #in cm**-3
epsilon_si=11.7 #in F/cm
epsilon_0=8.85*10**-14 #in F/cm
V=10 #applied voltage in V
Const=0.0259 #value for kT/e in V

#Calculations
Nd=math.sqrt((math.exp(Vbi/Const)*ni**2)/100)
Na=100*Nd
W=(((2*epsilon_0*epsilon_si*(Vbi+V))*(Na+Nd))/(e*Na*Nd))**0.5
Cj=(epsilon_0*epsilon_si)/W

#Result
print("Depletion capacitance per unit area= %1.3f nF/cm**2\n" %(Cj/10**-9)) #The answers vary due to round off error
print("Width of depletion region= %1.2f*10**-4 cm" %(W/10**-4)) #The answers vary due to round off error
Depletion capacitance per unit area= 1.804 nF/cm**2

Width of depletion region= 5.74*10**-4 cm