summaryrefslogtreecommitdiff
path: root/Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb')
-rw-r--r--Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb1262
1 files changed, 1262 insertions, 0 deletions
diff --git a/Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb b/Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb
new file mode 100644
index 00000000..fff383e3
--- /dev/null
+++ b/Advance_Semiconductor_Devices_by_K._C._Nandi/chapter2.ipynb
@@ -0,0 +1,1262 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter-2 Junctions and interfaces"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.6.1 Pg 2-21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from __future__ import division\n",
+ "from math import log\n",
+ "#Given : \n",
+ "Ge=4.4*10**22##atoms/cm**3\n",
+ "NA=Ge/10**8##per cm**3\n",
+ "NA=NA*10**6##per m**3\n",
+ "ND=NA*10**3##per m**3\n",
+ "ni=2.5*10**13##per cm**3\n",
+ "ni=ni*10**6##per m**3\n",
+ "VT=26##mV\n",
+ "Vj=VT*log(NA*ND/ni**2)##mV\n",
+ "print \"Junction potential = %0.1f mV\"%Vj"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Junction potential = 328.7 mV\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.6.2 Pg 2-22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "ni=2.5*10**15##per cm**3\n",
+ "Ge=4.4*10**22##atoms/cm**3\n",
+ "NA=Ge/10**8##per cm**3\n",
+ "NA=NA*10**6##per m**3\n",
+ "ND=NA*10**3##per m**3\n",
+ "ni=ni*10**6##per m**3\n",
+ "T=27+273##K\n",
+ "VT=T/11600##V\n",
+ "Vo=VT*log(NA*ND/ni**2)##V\n",
+ "print \"Contact potential = %0.4f V\"%Vo"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Contact potential = 0.0888 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.6.3 Pg 2-23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "mu_n=1500*10**-4##m**2/V-s\n",
+ "mu_p=475*10**-4##m**2/V-s\n",
+ "ni=1.45*10**10*10**6##per m**3\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "rho_p=10##ohm-cm\n",
+ "rho_p=rho_p*10**-2##ohm-m\n",
+ "rho_n=3.5##ohm-cm\n",
+ "rho_n=rho_n*10**-2##ohm-m\n",
+ "sigma_p=1/rho_p##(ohm-m)**-1\n",
+ "NA=sigma_p/q/mu_p##m**3\n",
+ "sigma_n=1/rho_n##(ohm-m)**-1\n",
+ "ND=sigma_p/q/mu_n##m**3\n",
+ "VT=26*10**-3##V\n",
+ "Vj=VT*log(NA*ND/ni**2)##V\n",
+ "print \"Height of potential barrier = %0.3f V\"%Vj\n",
+ "#Answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height of potential barrier = 0.564 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.6.4 Pg 2-24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "rho_p=2##ohm-cm\n",
+ "rho_p=rho_p*10**-2##ohm-m\n",
+ "rho_n=1##ohm-cm\n",
+ "rho_n=rho_n*10**-2##ohm-m\n",
+ "mu_n=1500*10**-4##m**2/V-s\n",
+ "mu_p=2100*10**-4##m**2/V-s\n",
+ "ni=2.5*10**13##per m**3\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "sigma_p=1/rho_p##(ohm-m)**-1\n",
+ "NA=sigma_p/q/mu_p##m**3\n",
+ "sigma_n=1/rho_n##(ohm-m)**-1\n",
+ "ND=sigma_p/q/mu_n##m**3\n",
+ "T=27+273##K\n",
+ "VT=T/11600##V\n",
+ "Vj=VT*log(NA*ND/ni**2)##V\n",
+ "print \"Height of potential barrier = %0.4f V\"%Vj\n",
+ "#Anser in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Height of potential barrier = 0.9347 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.7.1 Pg 2-27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Vgamma=0.6##Volt\n",
+ "rf=12##ohm\n",
+ "V=5##Volts\n",
+ "R=1##kohm\n",
+ "IF=(V-Vgamma)/(R*1000+rf)##A\n",
+ "print \"Diode current = %0.1f mA\"%(IF*1000)\n",
+ "VF=Vgamma+IF*rf##volts\n",
+ "print \"Diode voltage = %0.2f Volts\"%VF"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diode current = 4.3 mA\n",
+ "Diode voltage = 0.65 Volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.7.2 Pg 2-35"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Vgamma=0.6##Volt\n",
+ "Rf=10##ohm\n",
+ "Eta=2#\n",
+ "Vm=0.2##Volts\n",
+ "Vdc=10##Volts\n",
+ "RL=1##kohm\n",
+ "IDQ=(Vdc-Vgamma)/(RL*1000+Rf)##A\n",
+ "VT=25*10**-3##Volts\n",
+ "rd=Eta*VT/IDQ##ohm\n",
+ "print \"Alternating component of voltage across RL, Vo(ac) = \",round((RL*1000/(RL*1000+rd)*Vm),4),\"*sin(omega*t)\"\n",
+ "Vo_DC=IDQ*RL*1000##Volts\n",
+ "print \"Total load voltage = \",round(Vo_DC,1),\"+\",round((RL*1000/(RL*1000+rd)*Vm),4),\"*sin(omega*t)\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Alternating component of voltage across RL, Vo(ac) = 0.1989 *sin(omega*t)\n",
+ "Total load voltage = 9.3 + 0.1989 *sin(omega*t)\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.7.3 Pg 2-37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import exp\n",
+ "#Given : \n",
+ "Eta=2##for Si diode\n",
+ "T=300##K\n",
+ "VT=T/11600##V\n",
+ "IbyIo=90/100#\n",
+ "#I=Io*(exp(V/Eta/VT)-1)\n",
+ "V=log(IbyIo+1)*Eta*VT##V\n",
+ "print \"Saturation value of voltage = %0.2f mV\"%(V*1000)\n",
+ "VF=0.5##Volts\n",
+ "VR=-0.5##Volts\n",
+ "IFbyIR=(exp(VF/Eta/VT)-1)/(exp(VR/Eta/VT)-1)##ratio\n",
+ "print \"Ratio of forward to reverse current = %0.2f\"%IFbyIR\n",
+ "#Answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Saturation value of voltage = 33.20 mV\n",
+ "Ratio of forward to reverse current = -15782.65\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.7.4 Pg 2-37"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Eta=2##for Si diode\n",
+ "T=300##K\n",
+ "VT=T/11600##V\n",
+ "IbyIo=90/100#\n",
+ "#I=Io*(exp(V/Eta/VT)-1)\n",
+ "V=log(IbyIo+1)*Eta*VT##V\n",
+ "print \"Saturation value of voltage = %0.2f mV\"%(V*1000)\n",
+ "VF=0.2##Volts\n",
+ "VR=-0.2##Volts\n",
+ "IFbyIR=(exp(VF/Eta/VT)-1)/(exp(VR/Eta/VT)-1)##ratio\n",
+ "print \"Ratio of forward to reverse current : %0.2f \"%IFbyIR\n",
+ "#Answer in the book is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Saturation value of voltage = 33.20 mV\n",
+ "Ratio of forward to reverse current : -47.78 \n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.1 Pg 2-61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "IF=10##mA\n",
+ "VF=0.75##volts\n",
+ "T=27+273##K\n",
+ "Eta=2##for Si diode\n",
+ "VT=T/11600##V\n",
+ "Io=IF/(exp(VF/Eta/VT)-1)##mA\n",
+ "print \"Reverse saturation current = %0.3f nA\"%(Io*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reverse saturation current = 5.043 nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.2 Pg -61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "IF=10##mA\n",
+ "VF=0.3##Volts\n",
+ "T=27+273##K\n",
+ "Eta=1##for Ge diode\n",
+ "VT=T/11600##V\n",
+ "Io=IF/(exp(VF/Eta/VT)-1)##mA\n",
+ "print \"Reverse saturation current = %0.2f nA\"%(Io*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reverse saturation current = 91.66 nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.3 Pg 2-61"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io=1*10**-9##A\n",
+ "T=27+273##K\n",
+ "VT=T/11600##V\n",
+ "VF=0.3##Volts\n",
+ "Eta=1##for Ge diode\n",
+ "IF=Io*(exp(VF/Eta/VT)-1)##mA\n",
+ "print \"Forwad current = %0.4f mA\"%(IF*10**3)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Forwad current = 0.1091 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.4 Pg 2-62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "T=27+273##K\n",
+ "V1=0.4##V\n",
+ "V2=0.42##V\n",
+ "I1=10##mA\n",
+ "I2=20##mA\n",
+ "VT=T/11600##V\n",
+ "Eta=1/log(I1/I2)*(V1-V2)/VT\n",
+ "print \"Value of Eta : %0.2f\"%Eta\n",
+ "Io=I1/(exp(V1/Eta/VT)-1)*10**-3##A\n",
+ "print \"Current, Io = %0.2f nA\"%(Io*10**9)\n",
+ "#Ans in the book is not accurate."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of Eta : 1.12\n",
+ "Current, Io = 9.54 nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.5 Pg 2-63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io1=10**-12##A\n",
+ "Io2=10**-10##A\n",
+ "I=2##mA\n",
+ "Eta=1##constant\n",
+ "T=27+273##K\n",
+ "VT=26/1000##V\n",
+ "#I=I1+I2\n",
+ "V=(log(I*10**-3/(Io1+Io2))+1)*Eta*VT##V\n",
+ "print \"Voltage across the diodes = %0.4f V\"%V\n",
+ "#Ans in the book is not accurate."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across the diodes = 0.4628 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.6 Pg 2-64"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io1=10*10**-9##A\n",
+ "Io2=10*10**-9##A\n",
+ "Eta=1.1##constant\n",
+ "T=25+273##K\n",
+ "V=0.2##V(assumed)\n",
+ "VT=T/11600##V\n",
+ "I1=Io1*(exp(V/Eta/VT)-1)##A\n",
+ "I2=Io2*(exp(V/Eta/VT)-1)##A\n",
+ "I=I1+I2##A\n",
+ "print \"Source current = %0.2f micro Ampere\"%(I*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Source current = 23.68 micro Ampere\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.7 Pg 2-65"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io=10**-13##A\n",
+ "T=27+273##K\n",
+ "Eta=1##constant\n",
+ "V=0.6##V\n",
+ "VT=26/1000##V\n",
+ "I3=Io*(exp(V/Eta/VT)-1)##A\n",
+ "R=1*1000##ohm\n",
+ "Ir=V/R##A\n",
+ "Itotal=I3+Ir##A\n",
+ "VD1=log(Itotal/Io)*Eta*VT##V\n",
+ "VD2=VD1##V\n",
+ "Vin=VD1+VD2+V##V\n",
+ "print \"Voltage Vin = %0.3f V\"%Vin"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage Vin = 1.823 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.8 Pg 2-66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Vs=10##V\n",
+ "print \"Case(i) : Vb=9.8V\"\n",
+ "Vb=9.8##V\n",
+ "#D1 forward & D2 reverse biased: Breakdown D2\n",
+ "VD2=Vb##V\n",
+ "VD1=Vs-Vb##V\n",
+ "print \"VD1 = %0.3f V\"%VD1\n",
+ "print \"VD2 = %0.3f V\"%VD2\n",
+ "print \"Case(ii) : Vb=10.2V\"\n",
+ "Vb=10.2##V\n",
+ "#D1 forward & D2 reverse biased: none will be breakdown\n",
+ "VD2=Vb##V\n",
+ "#I=I0 so exp(V1/Eta/VT)-1=1\n",
+ "Eta=1##constant\n",
+ "VT=26/1000##V\n",
+ "VD1=log(1+1)*Eta*VT##V\n",
+ "VD2=Vs-VD1##V\n",
+ "print \"VD1 = %0.3f V\"%VD1\n",
+ "print \"VD2 = %0.3f V\"%VD2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Case(i) : Vb=9.8V\n",
+ "VD1 = 0.200 V\n",
+ "VD2 = 9.800 V\n",
+ "Case(ii) : Vb=10.2V\n",
+ "VD1 = 0.018 V\n",
+ "VD2 = 9.982 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.9.9 Pg 2-67"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Vs=5##Volt\n",
+ "Eta=1##constant\n",
+ "VT=26/1000##V\n",
+ "#I=I0 so exp(V1/Eta/VT)-1=1\n",
+ "V1=log(1+1)*Eta*VT##Volt\n",
+ "V2=Vs-V1##Volt\n",
+ "print \"Voltage across diode D1 = %0.3f V\"%V1\n",
+ "print \"Voltage across diode D2 = %0.3f V\"%V2"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voltage across diode D1 = 0.018 V\n",
+ "Voltage across diode D2 = 4.982 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.10.2 Pg 2-70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "rho_n=10##ohm-cm\n",
+ "rho_p=3.5##ohm-cm\n",
+ "ni=1.5*10**10##per cm**3\n",
+ "Vj=0.56##volt\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "mu_n=1500##cm**2/V-s\n",
+ "mu_p=500##cm**2/V-s\n",
+ "sigma_p=1/rho_p##(ohm-cm)**-1\n",
+ "NA=sigma_p/q/mu_p##per cm**3\n",
+ "sigma_n=1/rho_n##(ohm-cm)**-1\n",
+ "ND=sigma_n/q/mu_n##per cm**3\n",
+ "VT=Vj/log(NA*ND/ni**2)##V\n",
+ "T=11600*VT##K\n",
+ "print \"Temperature of junction = %0.2f degree K\"%T\n",
+ "t=T-273##degree C\n",
+ "print \"Temperature of junction = %0.2f degree C\"%t"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Temperature of junction = 287.28 degree K\n",
+ "Temperature of junction = 14.28 degree C\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.11.1 Pg 2-75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io=10##nA\n",
+ "T1=27+273##K\n",
+ "T2=87+273##K\n",
+ "VT=T1/11600##V\n",
+ "Eta=2##for Si\n",
+ "m=1.5##for Si\n",
+ "VGO=-1.21##volt\n",
+ "K=Io*10**-9/T1**m/exp(VGO/Eta/VT)##constant\n",
+ "VT=T2/11600##V\n",
+ "Io2=K*T2**m*exp(VGO/Eta/VT)##A\n",
+ "print \"Reverse saturation current at 87 degree C = %0.2f nA\"%(Io2*10**9)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Reverse saturation current at 87 degree C = 648.69 nA\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.11.2 Pg 2-76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "V=0.45##volt\n",
+ "Eta=2##for Si\n",
+ "T1=27+273##K\n",
+ "T2=125+273##K\n",
+ "VT1=T1/11600##V\n",
+ "VT2=T2/11600##V\n",
+ "I1BYIo1=exp(V/Eta/VT1)#\n",
+ "I2BYIo2=exp(V/Eta/VT2)#\n",
+ "m=1.5##for Si\n",
+ "VGO=1.21##volt\n",
+ "Io1BYIo2=(T1/T2)**m*exp(-VGO/Eta/VT1+VGO/Eta/VT2)##constant\n",
+ "I2BYI1=I2BYIo2/I1BYIo1/Io1BYIo2#\n",
+ "print \"Factor by which current increases : %0.2f \"%I2BYI1\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Factor by which current increases : 56.94 \n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.11.3 Pg 2-78"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Io1=2##nA\n",
+ "T1=10+273##K\n",
+ "V=0.4##volt\n",
+ "VT1=T1/11600##V\n",
+ "m=1.5##for Si\n",
+ "Eta=2##for Si\n",
+ "VGO=-1.21##volt\n",
+ "K=Io1*10**-9/T1**m/exp(VGO/Eta/VT1)##constant\n",
+ "I1=Io1*10**-9*(exp(V/Eta/VT1)-1)##nA\n",
+ "T2=70+273##K\n",
+ "VT2=T2/11600##V\n",
+ "Io2=K*T2**m*(exp(VGO/Eta/VT2))##A\n",
+ "I2=Io2*(exp(V/Eta/VT2)-1)##nA\n",
+ "change=(I2-I1)/I1*100##%\n",
+ "print \"%% change = %0.2f diode current\"%change\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "% change = 2332.39 diode current\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.11.4 Pg 2-79"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "T=300##K\n",
+ "m_Si=1.5##for Si\n",
+ "m_Ge=1.5##for Ge\n",
+ "EGO_Si=1.21##Volt\n",
+ "EGO_Ge=0.785##Volt\n",
+ "Eta_Si=2#\n",
+ "Eta_Ge=1#\n",
+ "VT=26/1000##V\n",
+ "print \"Part(i)\"\n",
+ "d_logIoBYdt_Ge=m_Ge/T+EGO_Ge/(Eta_Ge*T*VT)##per degree C\n",
+ "print \"d(log(Io))/dt for Ge = %0.2f per degree C\"%d_logIoBYdt_Ge\n",
+ "d_logIoBYdt_Si=m_Si/T+EGO_Si/(Eta_Si*T*VT)##per degree C\n",
+ "print \"d(log(Io))/dt for Si = %0.2f per degree C \"%d_logIoBYdt_Si\n",
+ "print \"Part(ii)\"\n",
+ "V=0.2##Volt\n",
+ "dVBYdt_Ge=V/T-Eta_Ge*VT*d_logIoBYdt_Ge#\n",
+ "print \"dV/dt for Si = %0.2f mV per degree C \"%(dVBYdt_Ge*1000)\n",
+ "V=0.6##Volt\n",
+ "dVBYdt_Si=V/T-Eta_Si*VT*d_logIoBYdt_Si\n",
+ "print \"dV/dt for Si = %0.2f mV per degree C \"%(dVBYdt_Si*1000)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part(i)\n",
+ "d(log(Io))/dt for Ge = 0.11 per degree C\n",
+ "d(log(Io))/dt for Si = 0.08 per degree C \n",
+ "Part(ii)\n",
+ "dV/dt for Si = -2.08 mV per degree C \n",
+ "dV/dt for Si = -2.29 mV per degree C \n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.1 Pg 2-85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt\n",
+ "#Given : \n",
+ "NA=4*10**20##per m**3\n",
+ "Vj=0.2##Volt\n",
+ "V1=-1##Volts\n",
+ "V2=-5##Volts\n",
+ "epsilon_r=16##for Ge\n",
+ "epsilon_o=8.85*10**-12##permitivity\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "W1=sqrt(2*epsilon_r*epsilon_o*(Vj-V1)/q/NA)##m\n",
+ "print \"Width of depletion region = %0.2f micro meter \"%(W1*10**6)\n",
+ "W2=sqrt(2*epsilon_r*epsilon_o*(Vj-V2)/q/NA)##m\n",
+ "print \"New value of Width of depletion region = %0.2f micro meter \"%(W2*10**6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of depletion region = 2.30 micro meter \n",
+ "New value of Width of depletion region = 4.80 micro meter \n"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.2 Pg 2-86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "NA=4*10**20##per m**3\n",
+ "Vj=0.2##Volt\n",
+ "V1=-1##Volts\n",
+ "V2=-5##Volts\n",
+ "A=0.8*10**-6##m**2\n",
+ "epsilon_r=16##for Ge\n",
+ "epsilon_o=8.85*10**-12##permitivity\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "W1=sqrt(2*epsilon_r*epsilon_o*(Vj-V1)/q/NA)##m\n",
+ "CT1=epsilon_r*epsilon_o*A/W1##\n",
+ "print \"Transition capacitance = %0.2f pF \"%(CT1*10**12)\n",
+ "W2=sqrt(2*epsilon_r*epsilon_o*(Vj-V2)/q/NA)##m\n",
+ "CT2=epsilon_r*epsilon_o*A/W2##\n",
+ "print \"New value of Transition capacitance = %0.2f pF \"%( CT2*10**12)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Transition capacitance = 49.16 pF \n",
+ "New value of Transition capacitance = 23.62 pF \n"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.3 Pg 2-87"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "NA=3*10**20##per m**3\n",
+ "Vj=0.2##Volt\n",
+ "V=-10##Volts\n",
+ "A=1*10**-6##m**2\n",
+ "epsilon_r=16##for Ge\n",
+ "epsilon_o=8.854*10**-12##permitivity\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "W=sqrt(2*epsilon_r*epsilon_o*(Vj-V)/q/NA)##m\n",
+ "print \"Width of depletion region = %0.2f micro meter\"%(W*10**6)\n",
+ "CT=epsilon_r*epsilon_o*A/W##\n",
+ "print \"Transition capacitance = %0.2f pF\"%(CT*10**12)\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Width of depletion region = 7.76 micro meter\n",
+ "Transition capacitance = 18.26 pF\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.4 Pg 2-88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "W=2*10**-4*10**-2##m\n",
+ "A=1*10**-6##m**2\n",
+ "epsilon_r=16##for Ge\n",
+ "epsilon_o=8.854*10**-12##permitivity\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "CT=epsilon_r*epsilon_o*A/W##\n",
+ "print \"Barrier capacitance = %0.2f pF \"%(CT*10**12)\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Barrier capacitance = 70.83 pF \n"
+ ]
+ }
+ ],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.5 Pg 2-88"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import pi\n",
+ "#Given : \n",
+ "Vj=0.5##Volt\n",
+ "V=-4.5##Volt\n",
+ "rho_p=5*10**-2##ohm-m\n",
+ "epsilon_r=12##for Si\n",
+ "epsilon_o=8.854*10**-12##permitivity\n",
+ "q=1.6*10**-19##Coulomb\n",
+ "CT=100*10**-12##F\n",
+ "mu_p=500*10**-4##m**2/V-s\n",
+ "sigma_p=1/rho_p##(ohm-m)**-1\n",
+ "NA=sigma_p/q/mu_p##per m**3\n",
+ "W=sqrt(2*epsilon_r*epsilon_o*(Vj-V)/q/NA)##m\n",
+ "A=CT*W/(epsilon_r*epsilon_o)##\n",
+ "r=sqrt(A/pi)##m\n",
+ "D=2*r##m\n",
+ "print \"Diameter = %0.2f micro meter\"%(D*10**6)\n",
+ "#Answer is wrong = %0.2f the textbook. Sqrt is not taken while calculatng W value and also other mistakes."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Diameter = 1397.53 micro meter\n"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.6 Pg 2-90"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Eta=2##for Si\n",
+ "T=300##K\n",
+ "VT=26/1000##V\n",
+ "IbyIo=0.9#\n",
+ "#part (i)\n",
+ "V=log(IbyIo+1)*Eta*VT##Volt\n",
+ "print \"Value of reverse voltage = %0.2f mV\"%(V*1000)\n",
+ "#part (ii)\n",
+ "VF=0.2##Volt\n",
+ "VR=-0.2##Volt\n",
+ "IFbyIR=(exp(VF/Eta/VT)-1)/(exp(VR/Eta/VT)-1)#\n",
+ "print \"Ratio of forward bias current to reverse saturation current = %0.2f \"%IFbyIR\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Value of reverse voltage = 33.38 mV\n",
+ "Ratio of forward bias current to reverse saturation current = -46.81 \n"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.7 Pg 2-91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Vs=100##V\n",
+ "Rf1=20##ohm\n",
+ "Vgamma1=0.2##Volts\n",
+ "Rf2=15##ohm\n",
+ "Vgamma2=0.6##Volts\n",
+ "Vb_Ge=0.2##Volts\n",
+ "Vb_Si=0.6##Volts\n",
+ "R1=10*10**3##ohm\n",
+ "R2=1*10**3##ohm\n",
+ "#Case(i)\n",
+ "Imax=Vs/R1##A\n",
+ "#D1 ON & D2 off\n",
+ "V=Vb_Ge+Rf1*Imax##Volt\n",
+ "#D2 off as V<Vb_Si\n",
+ "I2=0##A\n",
+ "I1=(Vs-V)/(R1+Rf1)##A\n",
+ "print \"For R=10 kohm\"\n",
+ "print \"I1 = %0.2f mA\"%(I1*1000)\n",
+ "print \"I2 = %0.2f mA\"%I2\n",
+ "#Case(ii)\n",
+ "R=R2##ohm#D1 & D2 ON \n",
+ "#V=Vb_Ge+Rf1*I1#V=Vb_Si+Rf2*I2\n",
+ "#V=Vs-I*R#V=Vs-(I1+I2)*R\n",
+ "#20*I1-15*I2=Vb_Si-Vb_Ge\n",
+ "#1020*I1+1000*I2=99.8\n",
+ "from numpy import mat, linalg\n",
+ "A=mat([[20, 1020],[-Rf2, R]])#\n",
+ "B=mat([[Vb_Ge-Vb_Ge],[Vs-Vb_Ge]])#\n",
+ "X = linalg.solve(A,B)\n",
+ "I1=X[0]*1000##mA\n",
+ "I2=X[1]*1000##mA\n",
+ "print \"For R=1 kohm\"\n",
+ "print \"I1 = %0.2f mA\"%I1\n",
+ "print \"I2 = %0.2f mA\"%I2\n",
+ "#Answer for 2nd part is not accurate in the book."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For R=10 kohm\n",
+ "I1 = 9.94 mA\n",
+ "I2 = 0.00 mA\n",
+ "For R=1 kohm"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "I1 = -2883.74 mA\n",
+ "I2 = 56.54 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex 2.12.8 Pg 2-93"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Given : \n",
+ "Rf=10##ohm\n",
+ "Vgamma=0.5##Volt\n",
+ "RL=20##ohm\n",
+ "V=3##Volt\n",
+ "#Loop 1: 75*I1-50*I=V-Vgamma\n",
+ "#Loop 2: -50*I1+80*I=-Vgamma\n",
+ "import numpy as np\n",
+ "A=np.mat([[75 ,-50],[-50, 80]])#\n",
+ "B=np.mat([[V-Vgamma], [-Vgamma]])#\n",
+ "X = linalg.solve(A,B)\n",
+ "I1=X[0]*1000##mA\n",
+ "I2=X[1]*1000##mA\n",
+ "print \"For R=1 kohm\"\n",
+ "Vx=-Vgamma+50*I1##Volt\n",
+ "print \"DC source = %0.2f Volts\"%Vx[0,0]\n",
+ "#Answer is wrong in the textbook."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "For R=1 kohm\n",
+ "DC source = 2499.50 Volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}