# 8: Semiconductors and Physics of Semiconductor Devices¶

## Example number 1, Page number 8-55¶

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

#Variable declaration
e=1.6*10**-19;    #charge(c)
ni=2.5*10**19;    #particle density(per m**3)
mew_n=0.40;       #electron mobility(m**2/Vs)
mew_p=0.20;       #hole mobility(m**2/Vs)

#Calculation
rhoi=1/(ni*e*(mew_n+mew_p));       #resistivity(ohm m)

#Result
print "resistivity is",round(rhoi,5),"ohm m"

 resistivity is 0.41667 ohm m


## Example number 2, Page number 8-56¶

In [4]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;    #charge(c)
mew_n=0.3;        #electron mobility(m**2/Vs)
rho=0.25;         #resistivity(ohm m)

#Calculation
n=1/(rho*e*mew_n);    #number of donor atoms per m**3

#Result
print "number of donor atoms is",round(n/10**19,3),"*10**19 per m**3"

number of donor atoms is 8.333 *10**19 per m**3


## Example number 3, Page number 8-56¶

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
mewn=0.21;         #electron mobility(m**2/Vs)
T=300;             #temperature(K)
KB=1.38*10**-23;   #boltzmann constant

#Calculation
Dn=mewn*KB*T/e;    #diffusion coefficient(m**2/sec)

#Result
print "diffusion coefficient is",round(Dn*10**4,2),"*10**-4 m**2/s"

diffusion coefficient is 54.34 *10**-4 m**2/s


## Example number 4, Page number 8-56¶

In [9]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;     #charge(c)
RH=3.22*10**-4;    #hall coefficient(m**3C-1)
rho=8.5*10**-3;    #resistivity(ohm m)

#Calculation
p=1/(RH*e);        #hole concentration(m-3)
mewp=RH/rho;       #hole mobility(m**2/Vs)

#Result
print "hole concentration is",round(p/10**21,1),"*10**21 m-3"
print "hole mobility is",round(mewp,5),"m**2/Vs"

hole concentration is 19.4 *10**21 m-3
hole mobility is 0.03788 m**2/Vs


## Example number 5, Page number 8-57¶

In [11]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;    #charge(c)
mew_e=0.36;       #electron mobility(m**2/Vs)
mew_h=0.17;       #hole mobility(m**2/Vs)
rhoi=2.12;        #resistivity(ohm m)

#Calculation
ni=1/(rhoi*e*(mew_e+mew_h));    #intrinsic concentration(per m**3)

#Result
print "intrinsic concentration is",round(ni/10**16,2),"*10**16 per m**3"

intrinsic concentration is 556.25 *10**16 per m**3


## Example number 6, Page number 8-57¶

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

#Variable declaration
e=1.6*10**-19;    #charge(c)
mew_e=0.39;       #electron mobility(m**2/Vs)
mew_h=0.19;       #hole mobility(m**2/Vs)
ni=2.4*10**19;    #intrinsic concentration(per m**3)

#Calculation
rhoi=1/(ni*e*(mew_e+mew_h));    #resistivity(ohm m)

#Result
print "resistivity is",round(rhoi,3),"ohm m"

resistivity is 0.449 ohm m


## Example number 7, Page number 8-57¶

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

#Variable declaration
ni=1.5*10**16;     #charge carriers(per m**3)
e=1.6*10**-19;     #charge(c)
mew_e=0.135;       #electron mobility(m**2/Vs)
mew_h=0.048;       #hole mobility(m**2/Vs)
N=10**23;          #number of atoms(per m**3)

#Calculation
sigma=ni*e*(mew_e+mew_h);
p=ni**2/N;         #hole concentration(per m**3)
sigman=N*e*mew_e;  #conductivity(per ohm m)

#Result
print "hole concentration is",p/10**9,"*10**9 per m**3"
print "conductivity is",sigman/10**3,"*10**3 per ohm m"

hole concentration is 2.25 *10**9 per m**3
conductivity is 2.16 *10**3 per ohm m


## Example number 8, Page number 8-58¶

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

#Variable declaration
e=1.6*10**-19;     #charge(c)
RH=3.66*10**-4;    #hall coefficient(m**3C-1)
rho=8.93*10**-3;   #resistivity(ohm m)

#Calculation
p=1/(RH*e);        #hole concentration(m-3)
mew=RH/rho;       #hole mobility(m**2/Vs)

#Result
print "hole concentration is",round(p/10**22,1),"*10**22 m-3"
print "hole mobility is",round(mew*10**2,3),"*10**-2 m**2/Vs"

hole concentration is 1.7 *10**22 m-3
hole mobility is 4.099 *10**-2 m**2/Vs


## Example number 9, Page number 8-58¶

In [24]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;    #charge(c)
ni=1.5*10**16;    #particle density(per m**3)
mew_e=0.13;       #electron mobility(m**2/Vs)
mew_h=0.05;       #hole mobility(m**2/Vs)

#Calculation
sigma=ni*e*(mew_e+mew_h);       #conductivity(per ohm m)

#Result
print "conductivity is",sigma*10**4,"*10**-4 per ohm m"

conductivity is 4.32 *10**-4 per ohm m


## Example number 10, Page number 8-58¶

In [26]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;    #charge(c)
ni=1.5*10**16;    #particle density(per m**3)
mew_e=0.14;       #electron mobility(m**2/Vs)
mew_h=0.05;       #hole mobility(m**2/Vs)
D=2.33*10**3;     #density(kg/m**3)
A=28.09;          #atomic weight(kg)

#Calculation
N=NA*D/A;         #number of atoms
n=N/10**8;        #electron concentration(per m**3)
p=ni**2/n;        #hole concentration(per m**3)
sigma=e*((n*mew_e)+(p*mew_h));          #conductivity(per ohm m)

#Result
print "conductivity is",round(sigma,1),"per ohm m"

conductivity is 11.2 per ohm m


## Example number 11, Page number 8-59¶

In [28]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;    #charge(c)
ni=2.5*10**19;    #particle density(per m**3)
mew_e=0.36;       #electron mobility(m**2/Vs)
mew_h=0.18;       #hole mobility(m**2/Vs)
N=4.2*10**28;     #number of atoms
A=28.09;          #atomic weight(kg)

#Calculation
n=N/10**6;        #electron concentration(per m**3)
p=ni**2/n;        #hole concentration(per m**3)
rhoi=1/(e*((n*mew_e)+(p*mew_h)));          #resistivity(per ohm m)

#Result
print "resistivity is",round(rhoi*10**4,2),"*10**-4 per ohm m"

resistivity is 4.13 *10**-4 per ohm m


## Example number 12, Page number 8-60¶

In [31]:
#importing modules
import math
from __future__ import division

#Variable declaration
np=2.4*10**9;     #carrier concentration(m-3)

#Calculation
p=np/2;            #hole concentration(m-3)

#Result
print "hole concentration is",p/10**9,"*10**9 m-3"

hole concentration is 1.2 *10**9 m-3


## Example number 13, Page number 8-60¶

In [34]:
#importing modules
import math
from __future__ import division

#Variable declaration
rho=0.2;    #resistivity(ohm m)
e=1.602*10**-19;     #charge(c)
mewn=0.35;     #mobility of charge carriers(m**2/Vs)

#Calculation
n=1/(rho*mewn*e);     #density of donor atoms(electrons/m**3)

#Result
print "density of donor atoms is",round(n/10**19,2),"*10**19 electron/m**3"

density of donor atoms is 8.92 *10**19 electron/m**3


## Example number 14, Page number 8-60¶

In [36]:
#importing modules
import math
from __future__ import division

#Variable declaration
KB=1.38*10**-23;      #boltzmann constant
e=1.602*10**-19;      #charge(c)
rho1=5;
rho2=2.5;
T1=300;        #temperature(K)
T2=320;        #temperature(K)

#Calculation
Eg=2*KB*math.log(rho1/rho2)/((1/T1)-(1/T2));        #energy gap(J)
Eg=Eg/e;                                            #energy gap(eV)

#Result
print "energy gap is",round(Eg,3),"eV"

energy gap is 0.573 eV


## Example number 15, Page number 8-61¶

In [37]:
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;     #charge(c)
mew_e=0.19;        #electron mobility(m**2/Vs)
T=300;         #temperature(K)
KB=1.38*10**-23;   #boltzmann constant

#Calculation
Dn=mew_e*KB*T/e;    #diffusion coefficient(m**2/sec)

#Result
print "diffusion coefficient is",round(Dn*10**3,2),"*10**-3 m**2/sec"

diffusion coefficient is 4.92 *10**-3 m**2/sec


## Example number 16, Page number 8-61¶

In [39]:
#importing modules
import math
from __future__ import division

#Variable declaration
KB=1.38*10**-23;      #boltzmann constant
e=1.602*10**-19;      #charge(c)
rho1=4.5;
rho2=2.0;
T1=293;        #temperature(K)
T2=305;        #temperature(K)

#Calculation
Eg=2*KB*math.log(rho1/rho2)/((1/T1)-(1/T2));        #energy gap(J)
Eg=Eg/e;                                            #energy gap(eV)

#Result
print "energy gap is",round(Eg,2),"eV"

energy gap is 1.04 eV


## Example number 17, Page number 8-62¶

In [43]:
#importing modules
import math
from __future__ import division

#Variable declaration
Vm=20;        #voltage(V)
rf=10;        #forward resistance(ohm)
VB=0.7;       #bias voltage(V)

#Calculation
Im=(Vm-VB)*10**3/(rf+RL);     #peak current(mA)
Vo=Im*RL/10**3;               #peak output voltage(V)

#Result
print "peak current is",round(Im,1),"mA"
print "peak output voltage is",round(Vo,1),"V"

peak current is 37.8 mA
peak output voltage is 18.9 V


## Example number 18, Page number 8-62¶

In [48]:
#importing modules
import math
from __future__ import division

#Variable declaration
Vrms=200;      #voltage(V)

#Calculation
Im=Vrms*math.sqrt(2)/RL;      #peak current(A)
Idc=2*Im/math.pi;             #average DC current(A)
Vdc=int(Idc*RL);                   #dc voltage(V)
x=(Vrms/Vdc)**2;
gama=math.sqrt(x-1)*Vdc;      #ripple factor(V)

#Result
print "peak current is",round(Im,4),"A"
print "average DC current is",round(Idc,2),"A"
print "dc voltage is",Vdc,"V"
print "ripple factor is",round(gama,3),"V"

peak current is 0.2828 A
average DC current is 0.18 A
dc voltage is 180 V
ripple factor is 87.178 V