Chapter 04 - JUNCTIONS

Example E02 - Pg 165

In [1]:
# Exa 4.2 - 165
import math
# Given data
C1= 5.*10.**-12.;# in F
C2= 5.*10.**-12.;# in F
L= 10.*10.**-3.;# in H
C_Tmin= C1*C2/(C1+C2);# in F
f_omax= 1./(2.*math.pi*math.sqrt(L*C_Tmin));# in Hz
C1= 50.*10.**-12.;# in F
C2= 50.*10.**-12.;# in F
C_Tmax= C1*C2/(C1+C2);# in F
f_omin= 1./(2.*math.pi*math.sqrt(L*C_Tmax));# in Hz
f_omax= f_omax*10.**-6.;# in MHz
f_omin= f_omin*10.**-3.;# in kHz
print '%s %.f' %("The maximum value of resonant frequency in MHz is : ",f_omax)
print '%s %.f' %("The minimum value of resonant frequency in kHz is : ",f_omin)
The maximum value of resonant frequency in MHz is :  1
The minimum value of resonant frequency in kHz is :  318

Example E03 - Pg 188

In [2]:
# Exa 4.3 - 188
import math
# Given data
t = 4.4 * 10.**22.;# total number of Ge atoms/cm**3
n = 1 * 10.**8.;# number of impurity atoms
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
n_i = 2.5 * 10.**13.;# in atoms/cm**3
n_i = n_i * 10.**6.;# in atoms/m**3
V_T = 26.;#in mV
V_T= V_T*10.**-3.;# in V
# The contact potential for Ge semiconductor,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The contact potential for Ge semiconductor in V is",V_J);
# Part (b)
t = 5.* 10.**22.;# total number of Si atoms/cm**3
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
n_i = 1.5 * 10.**10.;# in atoms/cm**3
n_i = n_i * 10.**6.;# in atoms/m**3
V_T = 26;#in mV
V_T= V_T*10.**-3.;# in V
# The contact potential for Si P-N junction,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The contact potential for Si P-N junction in V is",V_J);
The contact potential for Ge semiconductor in V is 0.329
The contact potential for Si P-N junction in V is 0.721

Example E04 - Pg 188

In [3]:
# Exa 4.4 - 188
import math 
# Given data
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
n_i = 2.5 * 10.**13.;
Sigma_p = 1.;
Sigma_n = 1.;
Mu_n = 3800.;
q = 1.6 * 10.**-19.;# in C
Mu_p = 1800.;
N_A = Sigma_p/(2.* q * Mu_p);# in /cm**3
N_D = Sigma_n /(q * Mu_n);# in /cm**3
# The height of the energy barrier for Ge,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2);# in V
print '%s %.2f' %("For Ge the height of the energy barrier in V is",V_J);
# For Si p-n juction
n_i = 1.5 * 10.**10.;
Mu_n = 1300.;
Mu_p = 500.;
N_A = Sigma_p/(2.* q * Mu_p);# in /cm**3
N_D = Sigma_n /(q * Mu_n);# in /cm**3
# The height of the energy barrier for Si p-n junction,
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("For Si p-n junction  the height of the energy barrier in V is",V_J);
For Ge the height of the energy barrier in V is 0.22
For Si p-n junction  the height of the energy barrier in V is 0.666

Example E05 - Pg 189

In [4]:
#Exa 4.5 - 189
import math
# Given data
Eta = 1.;
V_T = 26.;# in mV
V_T= V_T*10.**-3.;# in V
#From equation of the diode current,  I = I_o * (%e**(V/(Eta*V_T)) - 1) and I = -(0.9) * I_o
V= math.log(1-0.9)*V_T;#voltage in V
print '%s %.3f' %("The voltage in volts is : ",V)
# Part (ii)
V1=0.05;# in V
V2= -0.05;# in V
# The ratio of the current for a forward bias to reverse bias 
ratio= (math.e**(V1/(Eta*V_T))-1.)/(math.e**(V2/(Eta*V_T))-1.)
print '%s %.2f' %("The ratio of the current for a forward bias to reverse bias is : ",ratio)
# Part (iii)
Io= 10.;# in uA
Io=Io*10.**-3.;# in mA
#For 
V=0.1;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1.);# in mA
print '%s %.3f' %("For V=0.1 V , the value of I in mA is : ",I)
#For 
V=0.2;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1);# in mA
print '%s %.1f' %("For V=0.2 V , the value of I in mA is : ",I)
#For 
V=0.3;# in V
# Diode current
I = Io * (math.e**(V/(Eta*V_T)) - 1.);# in mA
print '%s %.2f' %("For V=0.3 V , the value of I in A is : ",I*10**-3)
print '%s' %("From three value of I, for small rise in forward voltage, the diode current increase rapidly")
The voltage in volts is :  -0.060
The ratio of the current for a forward bias to reverse bias is :  -6.84
For V=0.1 V , the value of I in mA is :  0.458
For V=0.2 V , the value of I in mA is :  21.9
For V=0.3 V , the value of I in A is :  1.03
From three value of I, for small rise in forward voltage, the diode current increase rapidly

Example E06 - Pg 189

In [5]:
#Exa 4.6 - 189
import math
# Given data
# Part (i)
T1= 25.;# in degreeC
T2= 80.;# in degreeC
# Formula Io2= Io1*2**((T2-T1)/10)
AntiFactor= 2.**((T2-T1)/10.);
print '%s %.f' %("Anticipated factor for Ge is : ",round(AntiFactor))
# Part (ii)
T1= 25.;# in degreeC
T2= 150.;# in degreeC
#AntiFactor= 2.**((T2-T1)/10.);
AntiFactor=2.**12.5
print '%s %.f' %("Anticipated factor for Si is : ",round(AntiFactor))
#answer in textboo is wrong due to rounding error
Anticipated factor for Ge is :  45
Anticipated factor for Si is :  5793

Example E07 - Pg 190

In [6]:
#Exa 4.7 - 190
import math
# Given data
I=5.;# in uA
V=10.;# in V
T1= 0.11;# in degreeC**-1
T2= 0.07;# in degreeC**-1
# Io+I_R=I                            (i)
# dI_by_dT= dIo_by_dT      (ii)
# 1/Io*dIo_by_dT = T1 and 1/I*dI_by_dT = T2, So
Io= T2*I/T1;# in uA
I_R= I-Io;# in uA
R= V/I_R;# in Mohm
print '%s %.1f' %("The leakage resistance in Mohm is : ",R)
The leakage resistance in Mohm is :  5.5

Example E08 - Pg 190

In [7]:
#Exa 4.8 - 190
import math
# Given data
Eta = 1.;
T = 125.;# in degreeC
T = T + 273.;# in K
V_T = 8.62 * 10.**-5. * 398.;# in V
I_o = 30.;# in uA
I_o= I_o*10.**-6.;# in A
v = 0.2;# in V
# The dynamic resistance in the forward direction 
r_f = (Eta * V_T)/(I_o * math.e**(v/(Eta* V_T)));# in ohm
print '%s %.2f' %("The dynamic resistance in the forward direction in ohm is ",r_f);
# The dynamic resistance in the reverse direction 
r_r = (Eta * V_T)/(I_o * math.e**(-v/(Eta* V_T)));# in ohm
r_r= r_r*10.**-3.;# in k ohm
print '%s %.2f' %("The dynamic resistance in the reverse direction in kohm is",r_r);
The dynamic resistance in the forward direction in ohm is  3.36
The dynamic resistance in the reverse direction in kohm is 389.08

Example E09 - Pg 191

In [8]:
# Exa 4.9 - 191
import math
# Given data
epsilon = 16./(36. * math.pi * 10.**11.);# in F/cm
A = 1. * 10.**-2.;
W = 2. * 10.**-4.;
# The barrier capacitance 
C_T = (epsilon * A)/W;# in F
C_T= C_T*10.**12.;# in pF
print '%s %.2f' %("The barrier capacitance in pF is",C_T);
The barrier capacitance in pF is 70.74

Example E10 - Pg 191

In [9]:
#Exa 4.10 - 191
import math
#Given data
A = 1.;# in mm**2
A = A * 10.**-6.;# in m**2
N_A = 3. * 10.**20.;# in atoms/m**3
q = 1.6 *10.**-19.;# in C
V_o = 0.2;# in V
epsilon_r=16.;
epsilon_o= 8.854*10.**-12.;# in F/m
epsilon=epsilon_r*epsilon_o;
# Part (a)
V=-10.;# in V
# V_o - V = 1/2*((q * N_A )/epsilon) * W**2
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.2f' %("The width of the depletion layer  for an applied reverse voltage of 10V in um is ",W);
W= W*10.**-6.;# in m
C_T1 = (epsilon * A)/W;# in F
C_T1= C_T1*10.**12.;# in pF
# Part (b)
V=-0.1;# in V
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.2f' %("The width of the depletion layer  for an applied reverse voltage of 0.1V in um is ",W);
W= W*10.**-6.;# in m
C_T2 = (epsilon * A)/W;# in F
C_T2= C_T2*10.**12.;# in pF
# Part (c)
V=0.1;# in V
W = math.sqrt(((V_o - V) * 2. * epsilon)/(q * N_A));# m
W= W*10.**6.;# in um
print '%s %.3f' %("The width of the depletion layer  for an applied for a forward bias of 0.1V in um is ",W);
# Part (d)
print '%s %.2f' %("The space charge capacitance for an applied reverse voltage of 10V  in pF is",C_T1);
print '%s %.2f' %("The space charge capacitance for an applied reverse voltage of 0.1V  in pF is",C_T2);
The width of the depletion layer  for an applied reverse voltage of 10V in um is  7.76
The width of the depletion layer  for an applied reverse voltage of 0.1V in um is  1.33
The width of the depletion layer  for an applied for a forward bias of 0.1V in um is  0.768
The space charge capacitance for an applied reverse voltage of 10V  in pF is 18.26
The space charge capacitance for an applied reverse voltage of 0.1V  in pF is 106.46

Example E11 - Pg 192

In [10]:
# Exa 4.11 - 192
import math
# Given data
I_o = 1.8 * 10.**-9.;# A
v = 0.6;# in V
Eta = 2.;
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
# The current in the junction
I = I_o *(math.e**(v/(Eta * V_T)));# in A
I= I*10.**3.;# in mA
print '%s %.3f' %("The current in the junction in mA is",I);
The current in the junction in mA is 0.185

Example E12 - Pg 192

In [11]:
# Exa 4.12 - 192
# Given data
import math
I_o = 2.4 * 10.**-14.;
I = 1.5;# in mA
I=I*10.**-3.;# in A
Eta = 1.;
V_T = 26.;# in mV
V_T= V_T*10.**-3.;# in V
# The forward biasing voltage across the junction
v =math.log((I + I_o)/I_o) * V_T;# in V
print '%s %.4f' %("The forward biasing voltage across the junction in V is",v);
The forward biasing voltage across the junction in V is 0.6463

Example E13 - Pg 192

In [12]:
# Exa 4.13 - 192
# Given data
I_o = 10.;# in nA
# I = I_o * ((e**(v/(Eta * V_T))) - 1) as diode is reverse biased by large voltage
# e**(v/(Eta * V_T)<< 1, so neglecting it
I = I_o * (-1.);# in nA
print '%s %.f' %("The Diode current in nA is ",I);
The Diode current in nA is  -10

Example E14 - Pg 192

In [17]:
# Exa 4.17 - 193
import math
# Given data
t = 4.4 * 10.**22.;# in total number of atoms/cm**3
n = 1. * 10.**8.;# number of impurity
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
n_i = 2.5 * 10.**19.;# in /cm**3
# The junction potential
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The junction potential in V is",V_J)
The junction potential in V is 0.329

Example E15 - Pg

In [31]:
# Exa 4.15 - 192
%matplotlib inline
import math
import numpy as np
import matplotlib.pyplot as plt
# Given data
## in V
# V_S = i*R_L + V_D
V_S = 10## in V (i * R_L = 0)
print '%s %.f' %("when diode is OFF, the voltage in volts is : ",V_S)#
R_L = 250.## in ohm
I = V_S/R_L## in A
print '%s %.f' %("when diode is ON, the current in mA is",I*10**3)#
V_D2=np.linspace(10,0,num=100)## in V
j=0;
I2 = np.zeros(100)
for x in V_D2:
	I2[j] = (V_S- x)/R_L*1000.;
	j+=1
plt.plot(V_D2,I2)
plt.xlabel("V_D in volts")#
plt.ylabel("Current in mA")
plt.title("DC load line")#
plt.show()
print '%s' %("DC load line shown in figure")
when diode is OFF, the voltage in volts is :  10
when diode is ON, the current in mA is 40
DC load line shown in figure

Example E16 - Pg

In [23]:
# Exa 4.16 - 193
# Given data
import math
V = 0.25;# in V
I_o = 1.2;# in uA
I_o = I_o * 10.**-6.;# in A
V_T = 26;# in mV
V_T = V_T * 10.**-3.;# in V
Eta = 1.;
# The ac resistance of the diode 
r = (Eta * V_T)/(I_o * (math.e**(V/(Eta * V_T))));# in ohm
print '%s %.3f' %("The ac resistance of the diode in ohm is",r);
The ac resistance of the diode in ohm is 1.445

Example E17 - Pg 193

In [19]:
# Exa 4.17 - 193
import math
# Given data
t = 4.4 * 10.**22.;# in total number of atoms/cm**3
n = 1. * 10.**8.;# number of impurity
N_A = t/n;# in atoms/cm**3
N_A = N_A * 10.**6.;# in atoms/m**3
N_D = N_A * 10.**3.;# in atoms/m**3
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
n_i = 2.5 * 10.**19.;# in /cm**3
# The junction potential
V_J = V_T * math.log((N_A * N_D)/(n_i)**2.);# in V
print '%s %.3f' %("The junction potential in V is",V_J)
The junction potential in V is 0.329

Example E18 - Pg 194

In [24]:
# Exa 4.18 - 194
import math
# Given data
Eta = 1.;
I_o = 30.;# in MuA
I_o = I_o * 10.**-6.;# in A
v = 0.2;# in V
K = 1.381 * 10.**-23.;# in J/degree K 
T = 125.;# in degreeC
T = T + 273.;# in K
q = 1.6 * 10.**-19.;# in C
V_T = (K*T)/q;# in V
# The forward dynamic resistance,
r_f = (Eta * V_T)/(I_o * (math.e**(v/(Eta * V_T))));# in ohm
print '%s %.3f' %("The forward dynamic resistance in ohm is",r_f);
# The Reverse dynamic resistance
r_f1 = (Eta * V_T)/(I_o * (math.e**(-(v)/(Eta * V_T))));# in ohm
r_f1= r_f1*10.**-3.;# in k ohm
print '%s %.2f' %("The Reverse dynamic resistance in kohm is",r_f1);
The forward dynamic resistance in ohm is 3.391
The Reverse dynamic resistance in kohm is 386.64

Example E19 - Pg 194

In [25]:
# Exa 4.19 - 194
import math
# Given data
q = 1.6 * 10.**-19.;# in C
N_A = 3 * 10.**20.;# in /m**3
A = 1.;# in um**2
A = A * 10.**-6.;# in m**2
V = -10.;# in V
V_J = 0.25;# in V
V_B = V_J - V;# in V
epsilon_o = 8.854;# in pF/m
epsilon_o = epsilon_o * 10.**-12.;# in F/m
epsilon_r = 16.;
epsilon = epsilon_o * epsilon_r;
# The width of depletion layer,
W = math.sqrt((V_B * 2. * epsilon)/(q * N_A));# in m 
W=W*10.**6.;# in um
print '%s %.2f' %("The width of depletion layer in um is",W);
W=W*10.**-6.;# in m
# The space charge capacitance,
C_T = (epsilon * A)/W;# in pF
C_T=C_T*10.**12.;# in pF
print '%s %.4f' %("The space charge capacitance in pF is",C_T);
The width of depletion layer in um is 7.78
The space charge capacitance in pF is 18.2127

Example E20 - Pg 194

In [26]:
# Exa 4.20 - 194
import math
# Given data
W = 2. * 10.**-4.;# in cm
W = W * 10.**-2.;# in m
A = 1.;# in mm**2
A = A * 10.**-6.;# in m**2
epsilon_r = 16.;
epsilon_o = 8.854 * 10.**-12.;# in F/m
epsilon = epsilon_r * epsilon_o;
C_T = (epsilon * A)/W;# in F
C_T= C_T*10.**12.;# in pF
print '%s %.3f' %("The barrier capacitance in pF is",C_T);
The barrier capacitance in pF is 70.832

Example E21 - Pg 195

In [27]:
# Exa 4.21 - 195
import math
# Given data
C_T = 100.;# in pF
C_T=C_T*10.**-12.;# in F
epsilon_r = 12.;
epsilon_o = 8.854 * 10.**-12.;# in F/m
epsilon = epsilon_r * epsilon_o;
Rho_p = 5.;# in ohm-cm
Rho_p = Rho_p * 10.**-2.;# in ohm-m
V_j = 0.5;# in V
V = -4.5;# in V
Mu_p = 500.;# in cm**2
Mu_p = Mu_p * 10.**-4.;# in m**2
Sigma_p = 1./Rho_p;# in per ohm-m
qN_A = Sigma_p/ Mu_p;
V_B = V_j - V;
W = math.sqrt((V_B * 2. * epsilon)/qN_A);# in m
#C_T = (epsilon * A)/W;
A = (C_T * W)/ epsilon;# in m
D = math.sqrt(A * (4./math.pi));# in m
D = D * 10.**3.;# in mm
print '%s %.2f' %("The diameter in mm is",D);
 
The diameter in mm is 1.40

Example E22 - Pg 195

In [28]:
# Exa 4.22 - 195
import math
# Given data
q = 1.6 * 10.**-19.;# in C
Mu_p = 500.;# in cm**2/V-sec
Rho_p = 3.5;# in ohm-cm
Mu_n = 1500.;# in cm**2/V-sec
Rho_n = 10.;# in ohm-cm
N_A = 1./(Rho_p * Mu_p * q);# in /cm**3
N_D = 1./(Rho_n * Mu_n * q);# in /cm**3
V_J = 0.56;# in V
n_i = 1.5 * 10.**10.;# in /cm**3
V_T = V_J/math.log((N_A * N_D)/(n_i)**2.);# in V
# V_T = T/11600
T = V_T * 11600.;# in K
T = T - 273;# in degreeC
print '%s %.3f' %("The Temperature of junction in degree C is",T);
The Temperature of junction in degree C is 14.276

Example E23 - Pg 196

In [29]:
# Exa 4.23 - 196
import math
# Given data
V_T = 26.;# in mV
V_T = V_T * 10.**-3.;# in V
Eta = 1.;
# I = -90% for Io, so
IbyIo= 0.1;
# I  = I_o * ((e**(v/(Eta * V_T)))-1)
V = math.log(IbyIo) * V_T;# in V
print '%s %.5f' %("The reverse bias voltage in volts is",V);
The reverse bias voltage in volts is -0.05987

Example E24 - Pg 196

In [30]:
# Exa 4.24 - 196
import math
# Given data
R = 5.;# in ohm
I = 50.;# in mA
I=I*10.**-3.;# in A
V = R * I;# in V
Eta = 1.;
V_T = 26.;# in mV
V_T=V_T*10.**-3.;# in V
# The reverse saturation current 
I_o = I/((math.e**(V/(Eta * V_T))) - 1.);# in A
I_o= I_o*10.**6.;# in uA
print '%s %.2f' %("Reverse saturation current in uA is",I_o);
I_o= I_o*10.**-6.;# in A
v1 = 0.2;# in V
# The dynamic resistance of the diode,
r = (Eta * V_T)/(I_o * (math.e**(v1/(Eta * V_T))));# in ohm
print '%s %.3f' %("Dynamic resistance of the diode in ohm is",r);
Reverse saturation current in uA is 3.33
Dynamic resistance of the diode in ohm is 3.558