alpha_F=.99
alpha_R=.25
kbT = 0.026
# for part a
Ic1 = 1.0
Ib1 = .02
VCE= kbT*log((((Ic1*(1-alpha_R))+Ib1)*alpha_F)/(((alpha_F*Ib1)-((Ic1*(1-alpha_F))))*alpha_R))
print"The saturation voltage is ,VCE=","{:.2e}".format(VCE)," V"
#for part b
Ic2 = 5.0
Ib2 = .075
VCE1= kbT*log((((Ic2*(1-alpha_R))+Ib2)*alpha_F)/(((alpha_F*Ib2)-((Ic2*(1-alpha_F))))*alpha_R))
print"The saturation voltage is ,VCE1=","{:.2e}".format(VCE1)," V"
nbo = 2.25*10**3
peo = 112.5
pco = 2.25*10**4
# using law of mass action for a homogeneous semiconductor, we have relation peo*neo=nbo*pbo=ni**2
ni_power_2 = nbo/peo
print"square of electron density of ionisation electron for npn silicon transistor is ni**2 = ","{:.2e}".format(ni_power_2),"cm**-3"
pbo = 10**16
V = (1.0-((peo)/(10*nbo)))
print"The emitter efficiency (gamma)is,V =","{:.2e}".format(V)
neo = ni_power_2*pbo
print"The required emitter doping is,neo =","{:.2e}".format(neo),"cm**-3"
B= 0.997
Db = 10.0
Tb = 10**-6
Lb = sqrt(Db*Tb)
print"The electron carrier diffusion length is,Lb =","{:.2e}".format(Lb),"cm"
# assume the neutral basewidth Wbn is equal to actual basewidth Wb
Wbn = sqrt((1-B)*(2*(Lb**2)))
print"The base width is,Wb =","{:.2e}".format(Wbn),"cm"
# Note : due to different precisions taken by me and the author ... my answer differ
# using values from the result of Example 7.1
VEB = 0.6
Ic = 0.2268*10**-3
Ib = 4.92*10**-6
kbT = 0.026
Beta = Ic/Ib
print"The current gain Beta =",round(Beta)
gm = Ic/kbT
print"The transconductance is,gm =","{:.2e}".format(gm),"S"
De = 20.0
Db=De
Nde = 5*10**17
Nab = 10**17
Wb = 10**-4
ni = 1.5*10**10
# for case (a) value of Te=10**-6s
Te1 = 10**-6
Le1 = sqrt(De*Te1)
Lb1=Le1
peo1 = (ni)**2/Nde
print"The majority carrier densities for the emitter in npn transistor is,peo = ","{:.2e}".format(peo1),"cm**-3"
nbo1 = (ni)**2/Nab
print"The majority carrier densities for the base in npn transistor is,nbo =","{:.2e}".format(nbo1),"cm**-3"
alpha_1 = (1.0-((peo1*De*Wb)/(nbo1*Db*Le1)))*(1-((Wb**2)/(2*Le1**2)))
print"The current gain is,alpha_ =""{:.2e}".format(alpha_1)
Beta1 = (alpha_1)/(1.0-alpha_1)
print"The current gain Beta1 =",round(Beta1,1)
#for case (b) value of Te=10**-8s
Te2 = 10**-8
Le2 = sqrt(De*Te2)
print"The diffusion length is,Le =","{:.2e}".format(Le2),"cm"
peo2 = (ni)**2/Nde
nbo2 = (ni)**2/Nab
alpha_2 = (1-((peo2*De*Wb)/(nbo2*Db*Le2)))*(1-((Wb**2)/(2*Le2**2)))
print"The current gain alpha_ =","{:.2e}".format(alpha_2)
Beta2 = (alpha_2)/(1-alpha_2)
print"The current gain Beta2 =",round(Beta2,1)
import math
nbo = 2.25*10**3
peo = 112.5
Db = 30.0
De = 10.0
Nde = 10**18
Nab = 10**16
Lb = 10*10**-4
Le = 4*10**-4
kbT = 0.026
Wb = 0.5*10**-4
We1 = 10*10**-4
We2 = 1.0*10**-4
e = 1.6*10**-19
print"for emitter thickness = 10*10**-4 cm"
gamma_1 = (((Db*nbo*math.tan(Lb/Wb))/(Lb))/(((Db*nbo*math.tan(Lb/Wb))/Lb)+((De*peo*math.tan(Le/We1))/Le)))
print"The emitter efficiency gamma_1 =","{:.2e}".format(gamma_1)
print"for emitter thickness = 10**-4 cm"
gamma_2 = (((Db*nbo*math.tan(Lb/Wb))/(Lb))/(((Db*nbo*math.tan(Lb/Wb))/Lb)+((De*peo*math.tan(Le/We2))/Le)))
print"The emitter efficiency (gamma)is,gamma_2 =""{:.1e}".format(gamma_2)
#NOTE: In the textbook author has used approximate value for the calculation of gamma thus the above solution is differ from that of the gamma
Ndc = 5*10**15
Nab = 5*10**16
ni = sqrt(2.25*10**20)
kbT = 0.026
e = 1.6*10**-19
Vbi= (kbT)*((log((Nab*Ndc)/(ni**2))))
print"The built in voltage is ,Vbi=","{:.2e}".format(Vbi),"V"
print" for an applied bias of 1 V "
VCB1 = 1
apsilent_s = 11.9*8.85*10**-14
Wb = 10**-4
dWb1 = sqrt((2*apsilent_s*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))
print"The extent of depletion into the base side is,dWb =","{:.2e}".format(dWb1),"cm"
Wbn1 = Wb-dWb1
print"The neutral base width is,Wbn =","{:.2e}".format(Wbn1),"cm"
nbo = ((ni)**2)/Nab
print"The required base doping is,nbo =","{:.2e}".format(nbo),"cm**-3"
Db = 20
VBE = 0.7
Jc1 = ((e*Db*nbo)/Wbn1)*(exp(VBE/kbT))
print"The collector current density is,Jc1 =","{:.2e}".format(Jc1),"A/cm**2"
print" for an applied bias of 5 V "
VCB2 = 5.0
VCE1= VCB1+VBE
print"The collector emitter voltage is ,VCE=","{:.2e}".format(VCE1)," V"
VCE2= VCB2+VBE
print"The collector emitter voltage is ,VCE=","{:.2e}".format(VCE2)," V"
dWb2 = sqrt((2*apsilent_s*(Vbi+VCB2)*Ndc)/(e*Nab*(Nab+Ndc)))
print"The extent of depletion into the base side is,dWb =","{:.2e}".format(dWb2),"cm"
Wbn2 = Wb-dWb2
print"The neutral base width is,Wbn =","{:.2e}".format(Wbn2),"cm"
Jc2 = ((e*Db*nbo)/Wbn2)*(exp(VBE/kbT))
print"The collector current density is,Jc =","{:.2e}".format(Jc2)," A/cm**2"
VA = (Jc1/((Jc2-Jc1)/(VCE2-VCE1)))-(VCE1)
print"The Early voltage is,VA =","{:.2e}".format(VA),"V"
# Note : due to different precisions taken by me and the author ... my answer differ by "0.2" value.
Ndc = 10**16
Nab = 5*10**16
e = 1.6*10**-19
apsilen = 11.9*8.85*10**-14
Wb = .2*10**-4
Vpt= ((e*(Wb**2)*Nab*(Ndc+Nab))/(2*apsilen*Ndc))
print"The punchthrough voltage is ,Vpt=",round(Vpt,2),"V"
Twb = 1.2*10**-4
F = Vpt/Twb
print"The average field at punchthrough voltage is ,F =","{:.2e}".format(F),"V/cm"
# Note : due to different precisions taken by me and the author ... my answer differ by "0.16" value.
apsilent_s = 11.9*8.85*10**-14
Ndc = 5.0*10**16
Nde = 10**18
Nab = 10**17
ni = sqrt(2.25*10**20)
kbT = 0.026
e = 1.6*10**-19
Db = 30.0
De = 10
Lb = 15*10**-4
Le = 5*10**-4
Beta= 100
nbo = 2.25*10**3
peo = 112.5
VCB1 = 5.0
#"using relation B = (IC/IB) = ((Db*nbo*Le)/(De*peo*Wbn))"
Wbn = ((Db*nbo*Le)/(De*peo*100))
print"neutral base width is ,Wbn =","{:.2e}".format(Wbn),"cm"
Vbi= (kbT)*((log((Nab*Ndc)/(ni**2))))
print"The built in voltage is ,Vbi=","{:.2e}".format(Vbi),"V"
dWb1 = sqrt((2*apsilent_s*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))
print"The extent of depletion into the base side is,dWb =","{:.2e}".format(dWb1),"cm"
Wb = Wbn+dWb1
print"The base width is,Wb = Wbn+dWb1= ","{:.2e}".format(Wb),"cm"
# NOTE: the value calculated for Wbn is wrong in the book and all the succesive answer also depeandant on that are also wrong
#("Two disadvange are")
#("The output conductance will suffer and the collector current will have a stronger dependence on VCB")
#("The device may suffer punchthrough at a lower bias")
#("Two advantages")
#("The current gain will be higher")
#("The device speed will be faster")
Ndc = 10**16
Nab = 10**17
Nde = 10**18
ni = 1.5*10**10
kbT = 0.026
e = 1.6*10**-19
Db = 30.0
De = 10.0
Lb = 10*10**-4
Le = 10*10**-4
Wb = 10**-4
We = 10**-4
Vbi= (kbT)*((log((Nab*Ndc)/ni**2)))
print"The built in voltage is ,Vbi= (kbT)*((log((Na*Nd)/Ni**2)))= ","{:.2e}".format(Vbi),"V"
print" for an applied reverse bias of 5 V "
VCB1 = 5.0
apsilen = 11.9*8.85*10**-14
nbo = 2.25*10**3
peo = 112.5
dWb1 = sqrt((2*apsilen*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))
print"The extent of depletion into the base side is,dWb =","{:.2e}".format(dWb1),"cm"
Wbn1 = Wb-dWb1
print"The neutral base width is,Wbn = Wb-dWb1= ","{:.2e}".format(Wbn1),"cm"
gamma_e_1 = (1-((peo*De*Wbn1)/(Db*nbo*We)))
print"The emitter efficiency gamma_e_1 =","{:.2e}".format(gamma_e_1)
B1 = 1-((Wbn1**2)/(2*(Lb)**2))
print"The base transport factor is,B =""{:.2e}".format(B1)
alpha1 = gamma_e_1*B1
print"The current gain alpha1 =""{:.2e}".format(alpha1)
Beta3 = (alpha1)/(1-alpha1)
print"The current gain Beta3 =""{:.2e}".format(Beta3)
VBE = 1.0
A= 4.0*10**-6
IC = (((e*A*Db*nbo)/(Wbn1))*(exp((VBE)/(kbT))-1))
print"The collector current is,IC =","{:.2e}".format(IC),"A"
#Note: in text book the author hasused precision value for gamma and alpha thats why there is difference in the value of beta.
print" for an applied reverse bias of 6 V "
VCB2 = 6.0
dWb2 = sqrt((2*apsilen*(Vbi+VCB2)*Ndc)/(e*Nab*(Nab+Ndc)))
print"The extent of depletion into the base side is,dWb2 =","{:.2e}".format(dWb2),"cm"
Wbn2 = Wb-dWb2
print"The neutral base width is,Wbn2 =","{:.2e}".format(Wbn2),"cm"
IC2 = (((e*A*Db*nbo)/(Wbn2))*(exp((VBE)/(kbT))-1))
print"The collector current is,IC =","{:.2e}".format(IC2),"A"
go = (IC2-IC)/(VCB2-VCB1)
print"The output conductance is,go =","{:.2e}".format(go),"ohm**-1"
kbT = 0.026
Wb = 0.4*10**-4
e = 1.6*10**-19
IE = 1.5*10**-3
Db = 60.0
Wdc = 2*10**-4
Cje = 2*10**-12
rC = 30.0
TcC = .4*10**-12
#NOTE:Total collector capicitance represented in book as(Cu+Cs)
vs = 10**7
re = kbT/IE
Te = re*Cje
Tt = (Wb**2)/(2*Db)
Td = (Wdc)/vs
Tc = rC*Tc
Tec = Te+Tt+Td+Tc
print"The total time is,Tec =","{:.2e}".format(Tec),"s"
fT = 1/(2*math.pi*Tec)
print"fT=","{:.2e}".format(fT),"HZ"
print"if the emitter current is doubled the time is reduced by half and cutoff frequency becomes 2.54 GHz"
print"if the base width is reduced by half , the base transit time becomes 3.3 ps and cutoff frequency becomes 2.08 GHz"
T = 300.0
Nd1 = 10**18
Nd2 = 10**20
dEg1 = (22.5*sqrt((Nd1*300)/((10**18)*T)))/10**3
print"The bandgap narrowing is,dEg = ","{:.2e}".format(dEg1),"ev"
dEg2= (22.5*sqrt((Nd2*300)/((10**18)*T)))/10**3
print"The bandgap narrowing is,dEg =","{:.2e}".format(dEg2),"ev"
kbT =0.026
neo1 = 10**18
neo2 = 10**20
ni = sqrt(2.25*10**20)
peo1 = (ni**2*exp(dEg1/kbT))/neo1
print"The hole density in emitter is,peo =","{:.2e}".format(peo1),"cm**-3"
# note:-there is error in the unit of peo in the book
peo2 = (ni**2*exp(dEg2/kbT))/neo2
print"The hole density in emitter is,peo2 =","{:.2e}".format(peo2),"cm**-3"
# Note : due to different precisions taken by me and the author ... my answer differ
ni = 2.2*10**6
Nde = 5*10**17
Nab = 10**17
kbT = 0.026
Wb = 0.5*10**-4
Db = 100.0
De = 15.0
Le = 1.5*10**-4
dEg = 0.36
print(" For GaAs ")
peo1 = ni**2/Nde
print"The minority carrier densities for the emitter in npn GaAs BJT is,peo(GaAs) =","{:.1e}".format(peo1),"cm**-3"
nbo1 = ni**2/Nab
print"The minority carrier densities for the base in npn GaAs BJT is,nbo = ","{:.2e}".format(nbo1),"cm**-3"
Ve1 = (1-((peo1*De*Wb)/(Db*nbo1*Le)))
print"The emitter efficiency (gamma)is,Ve =","{:.2e}".format(Ve1)
gammae=1-((peo1*De*Wb)/(nbo1*Db*Le))
print"gammae=",round(gammae,2)
print(" For HBT ")
peo2 = (peo1)*(exp(-(dEg/kbT)))
print"The minority carrier densities for the emitter in HBT is,peo(HBT) =","{:.1e}".format(peo2),"cm**-3"
print"in this case the emitter efficiency is essentially unity"