Chapter 10: The Bipolar Transistor

Example 10.1, Page 393

In [1]:
#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
y=0.9967

#Calculations
#NB/NC=z
z=(1./y)-1

#Result
print "NB/NE value = %f"%z
NB/NE value = 0.003311

Example 10.2, Page 394

In [2]:
import math

#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
DB=10#cm^2/s
tauB0=10**-7#sec
alphatau=0.9967

#Calculations&Results
#(xB/LB)=z
z=math.acosh(1./alphatau)
print "xB/LB = %.4f"%z

LB=math.sqrt(DB*tauB0)
print "LB is %.e cm "%LB
xB=z*10**-5
print "xB is %.3f meter"%(xB/10**-6)
xB/LB = 0.0814
LB is 1e-03 cm 
xB is 0.814 meter

Example 10.3, Page 395

In [3]:
import math

#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
Js0=10**-11#A/cm^2
Jr0=10**-8#A/cm^2
delta=0.9967

#Calculations
VBE=2*k*T*math.log(delta*10**3/(1-delta))

#Result
print "VBE is %.3f V "%VBE
VBE is 0.652 V 

Example 10.4, Page 395

In [4]:
import math

#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
DE=10#cm**2/s
DB=25#cm**2/s
xB=0.70*10**-6#m
xE=0.50*10**-6#m
NE=1*10**18#cm^-3
NB=1*10**16#cm^-3
VBE=0.65#V
tauB0=5*10**-7#s
tauE0=1*10**-7#s
Jr0=5*10**-8#A/cm62
pE0=2.25*10**2#cm**-3
nB0=2.25*10**4#cm**-3
LE=10**-3#cm
LB=3.54*10**-3#cm

#Calculations&Results
gamma1=1./(1+(pE0*DE*LB*math.tanh(0.0198))/(nB0*DB*LE*math.tanh(0.050)))
print "gamma1 is= %.f"%gamma1
alphatau=1./math.cosh(xB/LB)
print "alphatau is=%.4f "%alphatau
Js0=(e*DB*nB0)/(LB*math.tanh(xB/LB))
print "Js0 is %.2e A/cm^2"%Js0
delta=1/(1+(Jr0/Js0)*math.exp(-VBE/(2*0.0259)))
print "delta = %f"%delta
a=gamma1*alphatau*delta
print "a is= %.5f"%a
beta1=a/(1-a)
print "beta1 = %.f"%beta1    #ans varies cause of long no.of digits
gamma1 is= 1
alphatau is=1.0000 
Js0 is 1.29e-07 A/cm^2
delta = 0.999999
a is= 0.99442
beta1 = 178

Example 10.5, Page 398

In [5]:
import math

#Variable declaration
T=300. #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
NB=5.*10**16#cm^-3
NC=2.*10**15#cm^-3
epsilons=11.7
eps=8.85*10**-14 #V
ni=1.5*10**10 #cm^-3
x=0.70*10**-6
a=9.96*10**-12#/solving the equation

#Calculations&Results
Vbi=((k*T))*math.log((NB*NC)/ni**2)
print "Vbi is %.3f V "%Vbi

#for 
VCB=2 #V
xdB1=math.sqrt(a*(Vbi+VCB))
print "xdB is %.3f micro-meter"%(xdB1/10**-6)
xB1=x-xdB1
print "xB is %.3f meter"%(xB1/10**-6)    #textbook ans are wrong

#for 
VCB=10 #V
xdB2=math.sqrt(a*(Vbi+VCB))
print "xdB is %.3f meter"%(xdB2/10**-6)
xB2=x-xdB2
print "xB is %.3f meter"%(xB2/10**-6)    #textbook ans are wrong
Vbi is 0.693 V 
xdB is 5.179 micro-meter
xB is -4.479 meter
xdB is 10.320 meter
xB is -9.620 meter

Example 10.6, Page 399

In [22]:
import math

#Variable declaration
Db = 25   #cm^2/s
VBE = 0.60 #V
ni = 1.5*10**10
Nb = 5*10**16
e = 1.6*10**-19 
kT = 0.0259
#Assumptions
xb = 0.648  #um
Vcb = 2     #V
Vce1 = 2.6  #V

#Calculations
nbo = ni**2/Nb   #cm^3
Jc = ((e*nbo*Db)*math.exp(VBE/kT))/0.648*10**-4
Jc1 = round((Jc/10**-8),2)
#Let,
xb = 0.597  #um
Vcb = 10    #V
Vce2 = 10.6  #V
Jc2 = 3.47   #A/cm^2
Va =(Jc1*(Vce2-Vce1)/(Jc2-Jc1))-Vce1

#Result
print "The Early voltage is %.f V"%Va
The Early voltage is 92 V

Example 10.7, Page 404

In [6]:
import math

#Variable declaration
T=300# K
k=1.3806*10**-23# JK^-1
e=1.6*10**-19# eV
ni=1.5*10**10# cm^-3
NE=10**18# cm^-3

#Calculations&Results
pE01=(ni*ni)/NE# neglecting bandgap
print "pE01 the value of pE01 is %.2e cm^-3"%pE01
NE=10**19# cm^-3
pE03=(ni*ni)/NE# neglecting bandgap
print "pE03 the value of pE03 is %.2e cm^-3"%pE03
pE02=((ni*ni)/NE)*math.exp(0.030/(k*(T/e)))# including bandgap
print "pE02 the value of pE02 is %.2e cm^-3 "%pE02
pE04=((ni*ni)/NE)*math.exp(0.1/(k*(T/e)))# including bandgap
print "pE04 the value of pE04 is %.2e cm^-3"%pE04
pE01 the value of pE01 is 2.25e+02 cm^-3
pE03 the value of pE03 is 2.25e+01 cm^-3
pE02 the value of pE02 is 7.17e+01 cm^-3 
pE04 the value of pE04 is 1.07e+03 cm^-3

Example 10.8, Page 409

In [33]:
import math

#Variable declaration
T=300# K
k=1.3806*10**-23# JK^-1
e=1.6*10**-19# eV
epsilon=8.85*10**-14 #V
eps=11.7
NB=10**16#cm^-3
Vpt=25#V
WB=0.5*10**-4

#Calculations&Results
#Vpt=(e*WB**2*NB*(NC+NB))/(2*epsilon*eps*NC)
a=(Vpt*2*epsilon*eps)/(e*WB**2*NB)
NC=NB/(a-1)
print "NC is %.2e cm^-3 "%NC
#Neglecting Vbi comapred to Vr,
xb = ((2*eps*epsilon*Vpt*NB)/(e*NC*(NB+NC)))**0.5
print "xb is %.2f um"%(xb/10**-4)
NC is 8.37e+14 cm^-3 
xb is 5.97 um

Example 10.9, Page 412

In [8]:
#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
NB=10**17#cm^-3
beta=100
BVCEO=15#V

#Calculations
BVCBO=(beta)**(1./3)*BVCEO

#Result
print "BVcbo = %.1f V "%BVCBO
BVcbo = 69.6 V 

Example 10.10, Page 416

In [9]:
import math

#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
alphaF=0.99
alphaR=0.20
Ic=1#mA
IB=0.050#mA

#Calculations
Vcesat=k*T*math.log(((Ic*(1-alphaR)+IB)*alphaF)/((alphaF*IB-(1-alphaF)*Ic)*alphaR))

#Result
print "VCEsat is %.3f V "%Vcesat
VCEsat is 0.121 V 

Example 10.12, Page 425

In [10]:
import math

#Variable declaration
T=300 #K
k=8.617*10**-5#eV/K
e=1.6*10**-19 #C
IE=1*10**-3#A
Cje=1*10**-12#F
xB=0.5*10**-4#cm
Dn=25# cm2/s
xdc=2.4*10**-4#cm
vs=10**7
rc=20#ohm
Cu=0.1*10**-12#F
Cs=0.1*10**-12#F
beta=100

#Calculations&Results
re1=(k*T)/IE
print "re1 is %.1f ohm"%re1
taue=re1*Cje
print "taue is %.1f ps "%(taue/10**-12)
taub=xB**2/(2*Dn)
print "taub is %.f ps "%(taub/10**-12)
taub1=xdc/vs
print "taub is %.f ps"%(taub1/10**-12)
tauc=rc*(Cu+Cs)
print "tauc is %.f ps "%(tauc/10**-12)
tauec=taue+taub+taub1+tauc
print "tauec is %.1f ps "%(tauec/10**-12)
ftau=1/(2*math.pi*tauec)
print "ftau is %.2f GHz "%(ftau/10**9)
fbeta=ftau/beta
print "fbeta is %.1f MHz "%(fbeta/10**6)
re1 is 25.9 ohm
taue is 25.9 ps 
taub is 50 ps 
taub is 24 ps
tauc is 4 ps 
tauec is 103.9 ps 
ftau is 1.53 GHz 
fbeta is 15.3 MHz