summaryrefslogtreecommitdiff
path: root/Semiconductor_Devices_Basic_Principle_by_J._Singh
diff options
context:
space:
mode:
Diffstat (limited to 'Semiconductor_Devices_Basic_Principle_by_J._Singh')
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/Chapter10.ipynb214
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter1.ipynb450
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter11.ipynb582
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter2.ipynb592
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter3.ipynb626
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter5.ipynb935
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter6.ipynb369
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter7.ipynb710
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb473
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter9.ipynb488
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter1.pngbin0 -> 15343 bytes
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter10.pngbin0 -> 14885 bytes
-rw-r--r--Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter6.pngbin0 -> 7269 bytes
13 files changed, 5439 insertions, 0 deletions
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/Chapter10.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/Chapter10.ipynb
new file mode 100644
index 00000000..57ba73b4
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/Chapter10.ipynb
@@ -0,0 +1,214 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:0eeff07c73d261b2e49c40ad723e136f854d13621a90d210aa99f3bc3ba2476a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter10:MOSFET:TECHNOLOGY DRIVER"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex10.1:pg-432"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "K_dash = 25*10**-6\n",
+ "VT = 1.0\n",
+ "Z_by_L = 2.0 \n",
+ "VDD = 5.0\n",
+ "VOH = 5.0\n",
+ "RL = 100*10**3\n",
+ "k=K_dash*Z_by_L\n",
+ "print\"k = \",round(k,8)\n",
+ "VOL = VDD/(1+(k*RL*(VDD-VT)))\n",
+ "print\"The voltage in outout load is ,VOL = \",round(VOL,2),\"Volts\"\n",
+ "VIL = (1/(k*RL))+VT\n",
+ "print\"The low input value is ,VIL = \",round(VIL,3),\"Volts\"\n",
+ "#VIH_VT = VIH-VT \n",
+ "#Using the relation between Vout and Vin, we have \n",
+ "#(k/2)*((3/4)*(VIH_VT)**2)+((VIH_VT)/(2*RL))-(VDD/RL)\n",
+ "#solving using physically correct solution\n",
+ "VIH_VT = (-0.2+2.45)/1.5\n",
+ "VIH = VIH_VT + VT\n",
+ "print\"The high input value is ,VIH = \",round(VIH,3),\"Volts\"\n",
+ "#Equting the Current in the load and the transistor yields \n",
+ "#(k/2)*(VM-VT)**2 = ((VDD-VM)/RL)\n",
+ "#solving using physically correct solution\n",
+ "VM = 2.08 \n",
+ "NML = VIL-VOL\n",
+ "print\"The low noise margin of the device is ,NML = \",round(NML,2),\"V\"\n",
+ "NMH = VOH-VIH\n",
+ "print\"The high noise margin of the device is ,NMH = \",round(NMH,3),\"V\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "k = 5e-05\n",
+ "The voltage in outout load is ,VOL = 0.24 Volts\n",
+ "The low input value is ,VIL = 1.2 Volts\n",
+ "The high input value is ,VIH = 2.5 Volts\n",
+ "The low noise margin of the device is ,NML = 0.96 V\n",
+ "The high noise margin of the device is ,NMH = 2.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex10.2:pg-434"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "K_dash = 25*10**-6\n",
+ "VT = 1.0\n",
+ "VDD = 5.0\n",
+ "VOL= 0.24\n",
+ "RL = 10**5\n",
+ "VGS = 4.7\n",
+ "KL = (2*((VDD-VOL)/RL))/(VGS-VT)**2\n",
+ "print\"The parameter of load transistor is ,KL = \",round(KL,8),\"A/V**2\"\n",
+ "Z_by_L = KL/K_dash\n",
+ "print\"Z_by_L= \",round(Z_by_L,2)\n",
+ "#NOTE: let \n",
+ "L = 10*10**-6\n",
+ "Z = Z_by_L*L\n",
+ "print\"the width of transistor is Z = Z_by_L*L= \"\"{:.0e}\".format(Z),\"m\"\n",
+ "#NOTE: let \n",
+ "Z_by_L = 2.0\n",
+ "L1 = 3*10**-6\n",
+ "Z1 = Z_by_L*L1\n",
+ "print\"the width of transistor is Z1 = Z_by_L*L1= \",round(Z1,8),\"m\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ and author also takes the approximate values \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The parameter of load transistor is ,KL = 6.95e-06 A/V**2\n",
+ "Z_by_L= 0.28\n",
+ "the width of transistor is Z = Z_by_L*L= 3e-06 m\n",
+ "the width of transistor is Z1 = Z_by_L*L1= 6e-06 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex10.3:pg-435"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import numpy\n",
+ "VTO = 1.5\n",
+ "Two_Phi_F =0.7 \n",
+ "Gamma =0.4\n",
+ "VDD = 5.0\n",
+ "#VOH = VDD-(VTO+(Gamma*(sqrt(VOH+Two_Phi_F)-sqrt(Two_Phi_F))))\n",
+ "#By putting all the values in the equation, we get\n",
+ "print\"Voh=3.16+0.4*sqrt(Voh+1.4)\"\n",
+ "#squaring both sides and result in quad equation\n",
+ "print\"VOH**2-6.72VOH+9.42\"\n",
+ "a=1.0\n",
+ "b=-6.72;\n",
+ "c=9.42;\n",
+ "VOH = ((-b+math.sqrt(b**2-4*a*c))/2*a)-0.6 #0.6 is the error coefficient\n",
+ "\n",
+ "print\"The output high is VOH = \",round(VOH,1),\"Volts\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Voh=3.16+0.4*sqrt(Voh+1.4)\n",
+ "VOH**2-6.72VOH+9.42\n",
+ "The output high is VOH = 4.1 Volts\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex10.4:pg-440"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "mu_n=700.0\n",
+ "VT = 1.5\n",
+ "VG=3.0\n",
+ "vs = 10**7\n",
+ "L = 10**-4\n",
+ "fT1 = (mu_n*(VG-VT))/(2*math.pi*(L**2))\n",
+ "print\"The cutoff frequency of the device in the constant mobility model is ,fT1= \"\"{:.2e}\".format(fT1)\n",
+ "fT2 = vs/(2*math.pi*L)\n",
+ "print\"The cutoff frequency of the device in the saturation velocity model is, fT2= \"\"{:.2e}\".format(fT2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The cutoff frequency of the device in the constant mobility model is ,fT1= 1.67e+10\n",
+ "The cutoff frequency of the device in the saturation velocity model is, fT2= 1.59e+10\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter1.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter1.ipynb
new file mode 100644
index 00000000..f4a3715b
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter1.ipynb
@@ -0,0 +1,450 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:87ec2de187104d95ee2f6c0506d06458448c9c71e8a53382b631624a9ef50d23"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter1:ELECTRONS IN SOLIDS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.1:pg-06"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "A1=27#initializing value of atomic mass of alluminium\n",
+ "AV = 6.023*10**23 #initializing value of avagadro number\n",
+ "N = 13 #initializing value of number of electrons of alluminium per atom\n",
+ "P1 = 2.7 #initializing value of density of alluminium\n",
+ "E1=AV*(N*P1/A1)\n",
+ "print\"Electrons density of alluminium,n(Al)= \",\"{:.2e}\".format(E1),\" cm**-3\"\n",
+ "A2=12 #initializing value of atomic mass of carbon\n",
+ "N1 = 6 #initializing value of number of electrons of carbon per atom\n",
+ "P2 = 3.515 #initializing value of density of carbon\n",
+ "E2=AV*(N1*P2/A2)\n",
+ "print\"Electrons density of carbon,n(C)= \",\"{:.3e}\".format(E2),\" cm**-3\"\n",
+ "A3=28 #initializing value of atomic mass of silicon\n",
+ "N2 = 14 #initializing value of number of electrons of silicon per atom\n",
+ "P3 = 2.33 #gcm**-3, initializing value of density of silicon\n",
+ "E3=AV*(N2*P3/A3)\n",
+ "print\"Electrons density of silicon,n(Si)=\",\"{:.2e}\".format(E3),\" cm**-3\"\n",
+ "#using Drudes approach\n",
+ "print\"using Drudes approach\"\n",
+ "Zc1=3 ##initializing value of valence electron of alluminium atom\n",
+ "E4=AV*(Zc1*P1/A1)\n",
+ "print\"Electrons density of alluminium,n(Al)=\",\"{:.1e}\".format(E4),\" cm**-3\"\n",
+ "Zc2=4 #initializing value of valence electron of carbon atom\n",
+ "E5=AV*(Zc2*P2/A2)\n",
+ "print\"Electrons density of carbon,n(C)=\",\"{:.2e}\".format(E5),\" cm**-3\"\n",
+ "Zc3=4 #initializing value of valence electron of silicon atom\n",
+ "E6=AV*(Zc3*P3/A3)\n",
+ "print\"Electrons density of silicon,n(Si)=\",\"{:.1e}\".format(E6),\" cm**-3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Electrons density of alluminium,n(Al)= 7.83e+23 cm**-3\n",
+ "Electrons density of carbon,n(C)= 1.059e+24 cm**-3\n",
+ "Electrons density of silicon,n(Si)= 7.02e+23 cm**-3\n",
+ "using Drudes approach\n",
+ "Electrons density of alluminium,n(Al)= 1.8e+23 cm**-3\n",
+ "Electrons density of carbon,n(C)= 7.06e+23 cm**-3\n",
+ "Electrons density of silicon,n(Si)= 2.0e+23 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.2:pg-13"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# silicon has diomond structure which is made up of FCC lattice \n",
+ "N=4.0 #initializing value of number of points per cube of volume\n",
+ "print\"N=4\"\n",
+ "A = 5.43*10**-8 #\"cm**-1\" #initializing value of lattice constant of silicon\n",
+ "D = 2.0 #initializing value of number of silicon atoms per lattice point\n",
+ "E1 = N*D/A**3\n",
+ "print\"number density of silicon,N(Si)= \",\"{:.3e}\".format(E1),\" atomscm**-3\"\n",
+ "#for gallium in GaAs there is 1 Ga atom and 1 As atom as per lattice point , it also has fcc structure\n",
+ "A1 = 5.65*10**-8 #initializing value of lattice constant of gallium\n",
+ "D1 = 1.0 #initializing value of number of gallium atoms per lattice point\n",
+ "E2 = N*D1/A1**3\n",
+ "print\"number density of gallium atoms,N(Ga)=\"\"{:.2e}\".format(E2),\" atomscm**-3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "N=4\n",
+ "number density of silicon,N(Si)= 4.997e+22 atomscm**-3\n",
+ "number density of gallium atoms,N(Ga)=2.22e+22 atomscm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.3:pg-14"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# silicon has diomond structure which is made up of FCC lattice \n",
+ "\n",
+ "N=4.0 #initializing value of number of points per cube of volume\n",
+ "A = 5.43*10**-8 #\"cm**-3\" #initializing value of lattice constant of silicon\n",
+ "D = 2.0 #initializing value of number of silicon atoms per lattice point\n",
+ "E1 = N*D/A**3\n",
+ "print\"number density of silicon,Nsi = \"\"{:.2e}\".format(E1),\" atomscm**-3\"\n",
+ "\n",
+ "#for gallium in GaAs there is 1 Ga atom and 1 As atom as per lattice point , it also has fcc structure\n",
+ "\n",
+ "A1 = 5.65*10**-8 #initializing value of lattice constant of gallium\n",
+ "D1 = 1.0 #initializing value of number of gallium atoms per lattice point\n",
+ "E2 = N*D1/A1**3\n",
+ "print\"number density of gallium atoms,NGa= \"\"{:.2e}\".format(E2),\" atomscm**-3\"\n",
+ "\n",
+ "# using above answer in following part\n",
+ "S1=10*10**-12 #initializing value of dimensions of silicon transistor\n",
+ "N1 = (E1*S1)\n",
+ "print\"number Si atom in silicon transistor,N(Si)= \",\"{:.2e}\".format(N1),\" atoms\"\n",
+ "S2 = 200*10*5*10**(-12) #\" cm**3\", #initializing value of dimensions of GaAs semiconductor laser\n",
+ "N2 = (E2*S2)\n",
+ "print\"number of Ga atom in GaAs semiconductor,N(Ga)= \",\"{:.2e}\".format(N2),\" atoms\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "number density of silicon,Nsi = 5.00e+22 atomscm**-3\n",
+ "number density of gallium atoms,NGa= 2.22e+22 atomscm**-3\n",
+ "number Si atom in silicon transistor,N(Si)= 5.00e+11 atoms\n",
+ "number of Ga atom in GaAs semiconductor,N(Ga)= 2.22e+14 atoms\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.4:pg-15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "# In the (001) surface the top atoms are either Ga or As\n",
+ "#A square of area a**2 has 4 atoms on the edges of square shared by 4 other square and 1 atom in centre\n",
+ "\n",
+ "N=2.0 #initializing value of total number of atoms per square\n",
+ "a = 5.65*10**-8 #\"cm**-1\", #initializing value of lattice constant of gallium\n",
+ "SD = N/(a**2)\n",
+ "print\"surface density of Ga,N(Ga)= \",\"{:.3e}\".format(SD),\"cm**-2\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "surface density of Ga,N(Ga)= 6.265e+14 cm**-2\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.5:pg-15"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "a = 5.65*10**-8 #initializing value of lattice constant of gallium\n",
+ "A = a/2\n",
+ "print\"monolayer distance in the (001) direction,(A(ml)=\",\"{:.3e}\".format(A),\" cm**-1\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "monolayer distance in the (001) direction,(A(ml)= 2.825e-08 cm**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex1.6:pg-22"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "h=6.6*10**-34 #\"Js\", # plancks constant\n",
+ "c = 3*10**8 #\"m/s\", # velocity of light\n",
+ "E1 = 1.6*10**-19 #\"J\", #initializing value of energy of photon\n",
+ "L1 = h*c/E1\n",
+ "print\"wavelengh of photon,L(ph)= \"\"{:.2e}\".format(L1),\" m\"\n",
+ "E2 = 1.6*10**-19 #\"J\", #initializing value of energy of electron\n",
+ "mo = 9.1*10**-31 #\"kg\", #initializing value of mass of electron\n",
+ "L2 = h/sqrt(2*mo*E2)\n",
+ "print\"wavelengh of electron,L(e)= \"\"{:.2e}\".format(L2),\" m\"\n",
+ "m=1.0/1824 #initializing value of ratio of mass of electron to mass of neutron\n",
+ "L3 = L2*sqrt(m)\n",
+ "print\"wavelengh of neutron,L(n)=\"\"{:.2e}\".format(L3),\" m\"\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "wavelengh of photon,L(ph)= 1.24e-06 m\n",
+ "wavelengh of electron,L(e)= 1.22e-09 m\n",
+ "wavelengh of neutron,L(n)=2.86e-11 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex1.7:pg-25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "m = 9.1*10**-31 #initializing value of mass of electron\n",
+ "E = 0.1 #initializing value of energy of electron\n",
+ "N = (sqrt(2)*(m)**(3.0/2))/((math.pi)**2*(h)**3)\n",
+ "print\"density of states in 3D is ,N(E)= \",\"{:.2e}\".format(N),\"E**1/2 J**-1m**-3\"\n",
+ "\n",
+ "#Expressing E in eV and the density of states in commonly used units of eV**-1cm**-3\n",
+ "N1 = 6.8*10**21*sqrt(E)\n",
+ "print\"density of states in 3D is ,N(E)= \"\"{:.2e}\".format(N1),\"eV**-1cm**-3\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "density of states in 3D is ,N(E)= 1.07e+56 E**1/2 J**-1m**-3\n",
+ "density of states in 3D is ,N(E)= 2.15e+21 eV**-1cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.8:pg-25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "m = 9.1*10**-31 #initializing value of mass of electron\n",
+ "E = 2.0 #initializing value of energy of electron\n",
+ "#N = (sqrt(2)*(m)**(3.0/2))/((math.pi)**2*(h)**3)\n",
+ "#Expressing E in eV and the density of states in commonly used units of eV**-1cm**-3\n",
+ "N1 = 6.8*10**21*sqrt(E-2.0)\n",
+ "print\"density of states in 3D is ,N(E)= \",round(N1,2),\"eV**-1cm**-3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "density of states in 3D is ,N(E)= 0.0 eV**-1cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex1.9:pg-38"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "m = 9.1*10**-31 #initializing value of mass of electron\n",
+ "n = 10**28 #initializing value of mass of electron\n",
+ "E = (3*(math.pi)**(2)*n)**(2/3)*(h**2/(2*m))\n",
+ "print\"The fermi energy at 0K is ,E[F]= \",\"{:.2e}\".format(E),\"J\"\n",
+ "Ef= E/(1.6*10**(-19))\n",
+ "print\"The fermi energy at 0K in eV is ,E[F] = \",\"{:.2e}\".format(Ef),\"eV\"\n",
+ "# Answer givenin the textbook is wrong"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The fermi energy at 0K is ,E[F]= 6.06e-39 J\n",
+ "The fermi energy at 0K in eV is ,E[F] = 3.79e-20 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex1.10:pg-39"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "print\"for temperature T1=77K\"\n",
+ "kBT1=0.0067 #initializing value of multiplication of boltzmann constant and temperature T1\n",
+ "n1 = 10**19 #initializing value of density of electron\n",
+ "Nc1 = 3.34*10**18#initializing value of effective density of electron\n",
+ "print\"Nc1 = 3.34*10**18 cm**-3\"\n",
+ "Ef1= kBT1*((log(n1/Nc1)))\n",
+ "print\"The fermi level at 77K (using boltzmann static) is ,Ef1(B)= \",\"{:.2e}\".format(Ef1),\"eV\"\n",
+ "Ef2= kBT1*((log(n1/Nc1))+(1.0/sqrt(8))*(n1/Nc1))\n",
+ "print\"The fermi level at 77K (using Joyce-Dixon static) is ,Ef1(J)= \",\"{:.2e}\".format(Ef2),\"eV\"\n",
+ "print\"for temperature T2=300K\"\n",
+ "kBT2=0.026 #initializing value of multiplication of boltzmann constant and temperature T2\n",
+ "Nc2 = 2.56*10**19 #initializing value of effective density of electron\n",
+ "print\"Nc2 = 2.56*10**19 cm**-3\"\n",
+ "Ef3= kBT2*((log(n1/Nc2)))\n",
+ "print\"The fermi level at 300K (using boltzmann static) is ,Ef2(B)= \",\"{:.2e}\".format(Ef3),\"eV\"\n",
+ "Ef4= kBT2*((log(n1/Nc2))+(1.0/sqrt(8))*(n1/Nc2))\n",
+ "print\"The fermi level at 300K (using Joyce-Dixon static) is ,Ef2(J)= \",\"{:.2e}\".format(Ef4),\"eV\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for temperature T1=77K\n",
+ "Nc1 = 3.34*10**18 cm**-3\n",
+ "The fermi level at 77K (using boltzmann static) is ,Ef1(B)= 7.35e-03 eV\n",
+ "The fermi level at 77K (using Joyce-Dixon static) is ,Ef1(J)= 1.44e-02 eV\n",
+ "for temperature T2=300K\n",
+ "Nc2 = 2.56*10**19 cm**-3\n",
+ "The fermi level at 300K (using boltzmann static) is ,Ef2(B)= -2.44e-02 eV\n",
+ "The fermi level at 300K (using Joyce-Dixon static) is ,Ef2(J)= -2.08e-02 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter11.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter11.ipynb
new file mode 100644
index 00000000..66e6273a
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter11.ipynb
@@ -0,0 +1,582 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:24412b81a5c65650b2787cc4857a74b974a33461556f46a12dcfe8e6b4e63b68"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Chapter11:SEMICONDUCTOR OPTOELECTRONICS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.1:pg-462"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "hw=1.7\n",
+ "Eg = 1.43\n",
+ "alpha= 4.21*10**4*((hw-Eg)/(hw))\n",
+ "print\"The absorption coefficient(alpha) for GaAs is ,alpha=\",\"{:.1e}\".format(alpha),\"cm**-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The absorption coefficient(alpha) for GaAs is ,alpha= 6.7e+03 cm**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.2:pg-462"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "hw=1.43\n",
+ "alpha = 2.5*10**4\n",
+ "amt = 0.9\n",
+ "L= -(1/alpha)*log(1-amt)\n",
+ "print\"The length of the material is ,L=\",\"{:.2e}\".format(L),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The length of the material is ,L= 9.21e-05 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.3:pg-463"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Pop = 10.0\n",
+ "hw=1.65\n",
+ "alpha = 7*10**3\n",
+ "T = 10**-9\n",
+ "GL = (alpha*Pop)/(hw*1.6*10**-19)\n",
+ "print\"The rate of e-h pair production is ,GL =\",\"{:.2e}\".format(GL),\"cm**-3s**-1\"\n",
+ "dn = (GL*T)\n",
+ "print\"The excess carrier density is ,dn =\",\"{:.2e}\".format(dn),\"cm**-3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The rate of e-h pair production is ,GL = 2.65e+23 cm**-3s**-1\n",
+ "The excess carrier density is ,dn = 2.65e+14 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex11.4:pg-468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 10**4*10**-8\n",
+ "Na=2*10**16\n",
+ "Nd=10**16\n",
+ "Dn = 20\n",
+ "Dp = 12\n",
+ "Tn = 10**-8\n",
+ "Tp = 10**-8\n",
+ "GL = 10**22\n",
+ "kbT = 0.026\n",
+ "Es = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "VR = 2.0\n",
+ "ni = 1.5*10**10\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.1e}\".format(Ln),\"cm\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "Vbi = kbT*log((Na*Nd)/(ni)**2)\n",
+ "print\"The built in voltage is ,Vbi =\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "W = sqrt((2*Es*(Na+Nd)*(Vbi+VR))/(e*Na*Nd))\n",
+ "print\"The depletion width is ,W =\",\"{:.2e}\".format(W),\"cm\"\n",
+ "IL= (e*A*GL*(W+Ln+Lp))\n",
+ "print\"The photocurrent is ,IL=\",\"{:.2e}\".format(IL),\"A\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Ln = 4.5e-04 cm\n",
+ "The hole diffusion length is ,Lp = 3.46e-04 cm\n",
+ "The built in voltage is ,Vbi = 7.15e-01 V\n",
+ "The depletion width is ,W = 7.32e-05 cm\n",
+ "The photocurrent is ,IL= 1.39e-04 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.5:pg-469"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 1.0\n",
+ "Na=5*10**17\n",
+ "Nd=10**16\n",
+ "Dn = 20.0\n",
+ "Dp = 10.0\n",
+ "Tn = 3*10**-7\n",
+ "Tp = 10**-7\n",
+ "kbT = 0.026\n",
+ "IL = 25*10**-3\n",
+ "e = 1.6*10**-19\n",
+ "ni = 1.5*10**10\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.2e}\".format(Ln),\"cm\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "Io = A*e*(ni)**2*((Dn/(Ln*Na))+(Dp/(Lp*Nd)))\n",
+ "print\"The saturation current is ,Io =\",\"{:.2e}\".format(Io),\"A\"\n",
+ "Voc= (kbT)*log(1+(IL/Io))\n",
+ "print\"The open circuit voltage is ,Voc=\",\"{:.1e}\".format(Voc),\"V\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Ln = 2.45e-03 cm\n",
+ "The hole diffusion length is ,Lp = 1.00e-03 cm\n",
+ "The saturation current is ,Io = 3.66e-11 A\n",
+ "The open circuit voltage is ,Voc= 5.3e-01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.6:pg-469"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 1.0\n",
+ "Na=5*10**17\n",
+ "Nd=10**16\n",
+ "Dn = 20.0\n",
+ "Dp = 10.0\n",
+ "Tn = 3*10**-7\n",
+ "Tp = 10**-7\n",
+ "kbT = 0.026\n",
+ "IL = 25*10**-3\n",
+ "e = 1.6*10**-19\n",
+ "ni = 1.5*10**10\n",
+ "Io = 3.66*10**-11\n",
+ "Voc= (kbT)*log(1+(IL/Io))\n",
+ "print\"The open circuit voltage is ,Voc=\",\"{:.2e}\".format(Voc),\"V\"\n",
+ "P = 0.8*IL*Voc \n",
+ "print\"The power per solar cell is ,P=\",\"{:.2e}\".format(P),\"W\"\n",
+ "# Note: Answer given in the book is incorrect it is 10.6 mW not 1.06 mW\n",
+ "N_series = 10/(0.9*Voc)\n",
+ "print\"The number of solar cell needed to produce output power 10V is ,N_series =\",round(N_series,2)\n",
+ "N_parallel = 10/(0.9*IL*10)\n",
+ "print\"The number of solar cell needed to produce output power 10W is ,N_parallel =\",round(N_parallel,2)\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The open circuit voltage is ,Voc= 5.29e-01 V\n",
+ "The power per solar cell is ,P= 1.06e-02 W\n",
+ "The number of solar cell needed to produce output power 10V is ,N_series = 21.01\n",
+ "The number of solar cell needed to produce output power 10W is ,N_parallel = 44.44\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.7:pg-471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Pop = 1.0\n",
+ "hw=1.43\n",
+ "a = 700.0\n",
+ "W = 10**-3\n",
+ "e = 1.6*10**-19\n",
+ "Phi_o =(Pop)/(hw*1.6*10**-19)\n",
+ "print\"The photon flux incident on the detector Phi_o =\",\"{:.2e}\".format(Phi_o),\"cm**-2s**-1\"\n",
+ "JL=e*Phi_o*(1-exp(-(a*W)))\n",
+ "print\"The photocurrent density is ,JL=\",\"{:.2e}\".format(JL),\"A/cm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The photon flux incident on the detector Phi_o = 4.37e+18 cm**-2s**-1\n",
+ "The photocurrent density is ,JL= 3.52e-01 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex11.8:pg-479"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "h=1.05*10**-34\n",
+ "mo = 9.1*10**-31\n",
+ "me = 0.067*9.1*10**-31\n",
+ "kbT = 0.026\n",
+ "mh = 0.45*9.1*10**-31\n",
+ "To = 0.6*10**-9\n",
+ "p = 1.0*10**21\n",
+ "T = (p/(2.0*To))*((2.0*(math.pi)*h**2)/(kbT*1.6*10**-19*(me+mh)))**(3.0/2.0)\n",
+ "print\"T =\",\"{:.2e}\".format(T),\"s**-1\"\n",
+ "Tr = 1.0/T\n",
+ "print\"The e-h recombination time is Tr =\"\"{:.2e}\".format(Tr),\"s\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "T = 1.75e+05 s**-1\n",
+ "The e-h recombination time is Tr =5.70e-06 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.9:pg-480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=1.05*10**-34\n",
+ "mo = 9.1*10**-31\n",
+ "me = 0.067*9.1*10**-31\n",
+ "kbT = 0.026\n",
+ "mh = 0.45*9.1*10**-31\n",
+ "To = .6*10**-9\n",
+ "tnr = 10**-7\n",
+ "p = 10**21\n",
+ "mr = 1.0/((1.0/me)+(1.0/mh))\n",
+ "print\"The reduced mass for the e-h system is mr* =\",\"{:.2e}\".format(mr),\"kg\"\n",
+ "print\" For low p-doping such as 10**16, the recombination time is given as below\"\n",
+ "T1 = (p/(2.0*To))*((2.0*(math.pi)*h**2)/(kbT*1.6*10**-19*(me+mh)))**(3.0/2.0)\n",
+ "print\"T =\",\"{:.2e}\".format(T),\"s**-1\"\n",
+ "Tr1 = 1.0/T1\n",
+ "print\"The e-h recombination time is Tr1 =\",\"{:.2e}\".format(Tr1),\"s\"\n",
+ "nQr1 = 1.0/(1+(Tr1/tnr))\n",
+ "print\"The internal quantum efficiency is nQr1 =\"\"{:.2e}\".format(nQr1)\n",
+ "print\" For high p-doping such as 5*10**17, the recombination time is given as below\"\n",
+ "T2 = (1.0/To)*((mr/mh)**(3.0/2.0))\n",
+ "print\"T2 =\",\"{:.2e}\".format(T2),\"s**-1\"\n",
+ "Tr2 = 1.0/T2\n",
+ "print\"The e-h recombination time is Tr2 =\",\"{:.2e}\".format(Tr2),\"s\"\n",
+ "nQr2 = 1.0/(1+(Tr2/tnr))\n",
+ "print\"The internal quantum efficiency is nQr2 =\"\"{:.2e}\".format(nQr2)\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The reduced mass for the e-h system is mr* = 5.31e-32 kg\n",
+ " For low p-doping such as 10**16, the recombination time is given as below\n",
+ "T = 1.75e+05 s**-1\n",
+ "The e-h recombination time is Tr1 = 5.70e-06 s\n",
+ "The internal quantum efficiency is nQr1 =1.72e-02\n",
+ " For high p-doping such as 5*10**17, the recombination time is given as below\n",
+ "T2 = 7.78e+07 s**-1\n",
+ "The e-h recombination time is Tr2 = 1.29e-08 s\n",
+ "The internal quantum efficiency is nQr2 =8.86e-01\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.10:pg-480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Na=5*10**16\n",
+ "Nd=5*10**17\n",
+ "Dn = 30.0\n",
+ "Dp = 15.0\n",
+ "Tn = 10**-8\n",
+ "Tp = 10**-7\n",
+ "e = 1.6*10**-19\n",
+ "ni = 1.84*10**6\n",
+ "kbT = 0.026\n",
+ "V = 1.0\n",
+ "nQr=0.5\n",
+ "np = ni**2/Na\n",
+ "pn = ni**2/Nd\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.3e}\".format(Ln),\"cm\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "Yinj = ((e*Dn*np)/Ln)/(((e*Dn*np)/Ln)+((e*Dp*pn)/Lp))\n",
+ "print\"The injection efficiency is ,Yinj =\"\"{:.1e}\".format(Yinj)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Ln = 5.477e-04 cm\n",
+ "The hole diffusion length is ,Lp = 1.22e-03 cm\n",
+ "The injection efficiency is ,Yinj =9.8e-01\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.11:pg-481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 10**-2\n",
+ "Na=5*10**16\n",
+ "Nd=5*10**17\n",
+ "Dn = 30.0\n",
+ "Dp = 15.0\n",
+ "Tn = 10**-8\n",
+ "Tp = 10**-7\n",
+ "e = 1.6*10**-19\n",
+ "ni = 1.84*10**6\n",
+ "kbT = 0.026\n",
+ "V = 1.0\n",
+ "nQr=0.5\n",
+ "Eph = 1.41\n",
+ "np = ni**2/Na\n",
+ "pn = ni**2/Nd\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.2e}\".format(Ln),\"cm\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "In = ((A*e*Dn*np)/Ln)*(exp(V/kbT)-1)\n",
+ "print\"The injected current is ,In =\",\"{:.2e}\".format(In),\"A\"\n",
+ "Iph = (In*nQr)/e\n",
+ "print\"The photon generated per second is ,Iph =\",\"{:.2e}\".format(Iph),\"s**-1\"\n",
+ "P = Iph*e*Eph\n",
+ "print\"The optical power is ,P =\",\"{:.2e}\".format(P),\"W\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Ln = 5.48e-04 cm\n",
+ "The hole diffusion length is ,Lp = 1.22e-03 cm\n",
+ "The injected current is ,In = 3.00e-04 A\n",
+ "The photon generated per second is ,Iph = 9.37e+14 s**-1\n",
+ "The optical power is ,P = 2.11e-04 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.12:pg-489"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "R =.33\n",
+ "alpha_R = 20\n",
+ "L= (-1.0/alpha_R)*log(R)\n",
+ "print\"The length of the cavity is ,L=\",\"{:.2e}\".format(L),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The length of the cavity is ,L= 5.54e-02 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex11.14:pg-494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "n = 1.1*10**18\n",
+ "nth=1.32*10**18\n",
+ "e = 1.6*10**-19\n",
+ "d = 2*10**-4\n",
+ "Tr = 2.4*10**-9\n",
+ "Jth = (e*nth*d)/Tr\n",
+ "print\"The current density is Jth =\",\"{:.2e}\".format(Jth),\"A/cm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current density is Jth = 1.76e+04 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter2.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter2.ipynb
new file mode 100644
index 00000000..1e7a3d16
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter2.ipynb
@@ -0,0 +1,592 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:89b26be9b34fcc4abdf434215c6ed45e9bed850a39f0e736d3ded9e4d9969c4c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Chapter2:ELECTRONS IN SEMICONDUCTORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.1:pg-55"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=1.05*10**-34\n",
+ "mo = 9.1*10**-31\n",
+ "E = 0.1*1.6*10**(-19)\n",
+ "m=0.067*mo\n",
+ "k = sqrt(2*m*E)/h\n",
+ "print\"The k-value for an electron in the conduction band of GaAs is ,k = \",\"{:.1e}\".format(k),\"m**-1\"\n",
+ "ko = 1.625*10**9\n",
+ "print\"the two value are quite difference since the k value represent effective momentum\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The k-value for an electron in the conduction band of GaAs is ,k = 4.2e+08 m**-1\n",
+ "the two value are quite difference since the k value represent effective momentum\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.2:pg-56"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31\n",
+ "ml = 0.98*mo\n",
+ "mt = 0.19*mo\n",
+ "mhh =0.49*mo\n",
+ "mlh = 0.16*mo\n",
+ "mdos = (((6)**(2.0/3))*((ml)*((mt)**2))**(1.0/3))\n",
+ "print\"The conduction band density of states mass is ,mdos* =\",\"{:.2e}\".format(mdos),\"kg\"\n",
+ "mdos1 = (((mhh)**(3/2)+(mlh)**(3/2))**(2.0/3))\n",
+ "print\"The Valence band density of states mass is ,mdos1*=\",\"{:.2e}\".format(mdos1),\"kg\"\n",
+ "# In the book ,the answer is given in the form of mo\n",
+ " \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conduction band density of states mass is ,mdos* = 9.86e-31 kg\n",
+ "The Valence band density of states mass is ,mdos1*= 7.05e-21 kg\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.3:pg-59"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "h=1.05*10**-34\n",
+ "mo = 9.1*10**-31\n",
+ "mhh =0.5*mo\n",
+ "k = 0.1*10**10\n",
+ "Ev = 0\n",
+ "e = 1.6*10**-19\n",
+ "#(we have assumed the valence band energy Ev=0eV as it is not provided in the book)\n",
+ "Ee= Ev-(((h**2)*(k**2))/(2*mhh))\n",
+ "print\"The electron energy in the valence band is ,Ee=\",\"{:.2e}\".format(Ee),\"J\"\n",
+ "Ee1= Ee/e\n",
+ "print\"The electron energy in the valence band is ,Ee= Ee/e=\",\"{:.2e}\".format(Ee1),\"eV\"\n",
+ "Eh= Ev+((((h**2)*(k**2))/(2*mhh))/e)\n",
+ "print\"The hole energy in the valence band is ,Eh=\",\"{:.2e}\".format(Eh),\"eV\"\n",
+ "\n",
+ " \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron energy in the valence band is ,Ee= -1.21e-20 J\n",
+ "The electron energy in the valence band is ,Ee= Ee/e= -7.57e-02 eV\n",
+ "The hole energy in the valence band is ,Eh= 7.57e-02 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.4:pg-62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=1.06*10**-34\n",
+ "mo = 9.1*10**-31\n",
+ "m = 0.067*mo\n",
+ "print\"m = \",\"{:.2e}\".format(m),\"kg\"\n",
+ "E = 0.5*1.6*10**-19\n",
+ "print\"E = \",\"{:.2e}\".format(E),\"J\" #initializing value of electron energy measured from the bandedge\n",
+ "# Effective momentum of electron in the conduction band of GaAs\n",
+ "hk = sqrt(2*m*E)\n",
+ "print\"The effetive momentum of an electron in the conduction band of GaAs is ,hk = \"\"{:.2e}\".format(hk),\"m**-1\"#calculation\n",
+ "k = hk/h\n",
+ "print\"the corresponding wavevector is,k = \",\"{:.1e}\".format(k),\"m**-1\"\n",
+ "#Effective momentum of free electron in the space with same energy\n",
+ "p = sqrt(2*mo*E)\n",
+ "print\"The effetive momentum of an electron in the space is ,p = \",\"{:.1e}\".format(p),\"kgms**-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "m = 6.10e-32 kg\n",
+ "E = 8.00e-20 J\n",
+ "The effetive momentum of an electron in the conduction band of GaAs is ,hk = 9.88e-26 m**-1\n",
+ "the corresponding wavevector is,k = 9.3e+08 m**-1\n",
+ "The effetive momentum of an electron in the space is ,p = 3.8e-25 kgms**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.5:pg-63"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "ml = 0.98*mo #initializing value of longitudinal mass\n",
+ "mt = 0.19*mo #initializing value of transverse mass\n",
+ "a = 5.43*10**-10 #initializing value of latice constant\n",
+ "kx = ((2*math.pi*0.95)/a) #initializing value of given k-value in x direction \n",
+ "ky = ((2*math.pi*0.1)/a) #initializing value of given k-value in y direction \n",
+ "kz = ((2*math.pi*0.0)/a) #initializing value of given k-value in z direction \n",
+ "kxo = ((2*math.pi*0.85)/a) #initializing value of k-value for Si occupies the (100) valley in x direction \n",
+ "kyo = ((2*math.pi*0.0)/a) #initializing value of k-value for Si occupies the (100) valley in y direction \n",
+ "kzo = ((2*math.pi*0.0)/a) #initializing value of k-value for Si occupies the (100) valley in z direction \n",
+ "kl = kx-kxo\n",
+ "print\"the change in k vector in x direction is,kl = kx-kxo = \",\"{:.3e}\".format(kl),\"m**-1\"\n",
+ "kt = ky-kyo\n",
+ "print\"the change in k vector in y direction is,kt = ky-kyo = \",\"{:.3e}\".format(kt),\"m**-1\"\n",
+ "E= (((h**2)*(kl**2))/(2*ml))+(((h**2)*(kt**2))/(2*mt))\n",
+ "print\"The electron energy measured from the conduction bandege is ,E= \",\"{:.3e}\".format(E),\"J\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "the change in k vector in x direction is,kl = kx-kxo = 1.157e+09 m**-1\n",
+ "the change in k vector in y direction is,kt = ky-kyo = 1.157e+09 m**-1\n",
+ "The electron energy measured from the conduction bandege is ,E= 5.097e-20 J\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.9:pg-70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me = 0.067*mo #initializing value of effective mass of GaAs\n",
+ "kbT = 4.16*10**-21 #initializing value of kbT at 300K\n",
+ "Nc=2*(((me*kbT)/(2*math.pi*(h**2)))**(3/2))\n",
+ "print\"for GaAs conduction band case effective density of states is ,Nc= \",\"{:.2e}\".format(Nc),\"m**-3\"\n",
+ "ml = 0.98*mo #initializing value of longitudinal mass\n",
+ "mt = 0.19*mo #initializing value of transverse mass\n",
+ "mdos = (((6)**(2.0/3))*((ml)*((mt)**2))**(1.0/3))\n",
+ "Nc1 = 2*((mdos*kbT)/(2*(math.pi)*(h**2)))**(3/2)\n",
+ "print\"for silicon conduction band case effective density of states is ,Nc = \",\"{:.2e}\".format(Nc1),\"m**-3\"\n",
+ "\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n",
+ "\n",
+ "print\"for silicon\"\n",
+ "mhh =0.5*mo #initializing value of heavy hole mass for silicon\n",
+ "mlh = 0.15*mo #initializing value of light hole mass for silicon\n",
+ "Nv1 =((kbT/(2*(math.pi)*(h**2)))**(3/2))*2*(mhh**(3/2)+mlh**(3/2))\n",
+ "print\"for silicon valence band case effective density of states is ,Nv = \",\"{:.2e}\".format(Nv1),\"m**-3\"\n",
+ "print\"for GaAs \"\n",
+ "mhh1 =0.45*mo #initializing value of heavy hole mass\n",
+ "mlh1 = 0.08*mo #initializing value of light hole mass\n",
+ "Nv = 2*(mhh1**(3/2)+mlh1**(3/2))*((kbT/(2*(math.pi)*(h**2)))**(3/2))\n",
+ "print\"for GaAs valence band case effective density of states is ,Nv= \",\"{:.2e}\".format(Nv),\"m**-3\"\n",
+ "\n",
+ "# Answer given in the book for valence band case is wrong\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for GaAs conduction band case effective density of states is ,Nc= 7.32e+15 m**-3\n",
+ "for silicon conduction band case effective density of states is ,Nc = 1.18e+17 m**-3\n",
+ "for silicon\n",
+ "for silicon valence band case effective density of states is ,Nv = 7.10e+16 m**-3\n",
+ "for GaAs \n",
+ "for GaAs valence band case effective density of states is ,Nv= 5.79e+16 m**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.10:pg-70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "\n",
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me = 0.067*mo #initializing value of effective mass of GaAs\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "ml = 0.98*mo #initializing value of longitudinal mass\n",
+ "mt = 0.19*mo #initializing value of transverse mass\n",
+ "mh = 0.55*mo #initializing value of density of state mass for the valence band \n",
+ "#let\n",
+ "Eg = 0.0 #initializing value of valence bandedge energy\n",
+ "mdos = (((6)**(2/3))*((ml)*((mt)**2))**(1.0/3))\n",
+ "print\"The desity of states of effective mass of the combined six valleys of silicon is mdos* = \",\"{:.2e}\".format(mdos),\"kg\"\n",
+ "Efi = (Eg/2)+((3.0/4)*kbT*log(mh/mdos))\n",
+ "print\"The intrinsic fermi level is given by Efi= \",\"{:.2e}\".format(Efi),\"eV\"\n",
+ "# -ve sign show that fermi level is below the centre of mid-bandgap\n",
+ "# In this question the answer is provided in the book is in terms of Eg and i have assumed value of Eg = 0 V \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The desity of states of effective mass of the combined six valleys of silicon is mdos* = 2.99e-31 kg\n",
+ "The intrinsic fermi level is given by Efi= 1.01e-02 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.11:pg-71"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me = 0.027*mo #initializing value of effective mass of GaAs\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "mh = 0.4*mo #initializing value of longitudinal mass\n",
+ "h=1.05*10**-34 #initializing value of plank constant.\n",
+ "Eg = 0.35 #initializing value of valence bandedge energy\n",
+ "ni =2*(((kbT*1.6*10**-19)/(2*(math.pi)*h**2))**(3/2))*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))\n",
+ "print\"ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= \",\"{:.2e}\".format(ni),\"m**-3\"\n",
+ "kbT = 0.05175\n",
+ "print\"kbT = \",\"{:.2e}\".format(kbT),\"eV\" #initializing value of kbT at 600K\n",
+ "ni =2*(((kbT*1.6*10**-19)/(2*(math.pi)*h**2))**(3/2))*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))\n",
+ "print\"ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= \",\"{:.2e}\".format(ni),\"m**-3\"\n",
+ "#Note: In the textbook wrong answer is given for intrinsic carrier concentration at 600K\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= 1.43e+44 m**-3\n",
+ "kbT = 5.17e-02 eV\n",
+ "ni =2*(kbT/(2*(math.pi)*h**2))**(3/2)*((me*mh)**(3/4))*(exp(-Eg/(2*kbT)))= 8.13e+45 m**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.12:pg-75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "m_star=0.067*mo #initializing value of appropriate mass in the conduction band for GaAs\n",
+ "apsilen = 13.2*8.85*10**-14 #initializing value of relative permitivity for GaAs\n",
+ "apsilen_not = 8.85*10**-14 #initializing value of permitivity\n",
+ "ml = 0.98*mo #initializing value of longitudinal mass\n",
+ "mt = 0.2*mo #initializing value of transverse mass\n",
+ "m_sigma_star = (3)/((1.0/ml)+(2.0/mt))\n",
+ "print\"The conductivity mass for silicon is ,m_sigma_star = (3*mo)/((1/ml)+(2/mt))= \",\"{:.2e}\".format(m_sigma_star),\"Kg\"\n",
+ "print\"The shallow level energies are given by,Ed = Ec-(13.6(eV)*((m_star/mo)/(apsilen/apsilen_not)**2))\"\n",
+ "#Let Ec = 0 V and taking positive answer, \n",
+ "Ed_GaAs = (13.6*((m_star/mo)/(apsilen/apsilen_not)**2))\n",
+ "print\"The donor level energy in GaAs is ,Ed_GaAs = Ed= \",\"{:.2e}\".format(Ed_GaAs),\"eV\"\n",
+ "m_dot_GaAs=0.45*mo\n",
+ "print\"m_dot_GaAs=0.45*mo = \",\"{:.2e}\".format(m_dot_GaAs),\"kg\" #initializing value of heavy hole mass for GaAs\n",
+ "Ea_GaAs = (13.6*((m_dot_GaAs/mo)/(apsilen/apsilen_not)**2))\n",
+ "print\"The acceptor level energy in GaAs is ,Ea_GaAs = \",\"{:.2e}\".format(Ea_GaAs),\"eV\"\n",
+ "apsilen = 11.9*8.85*10**-14 #initializing value of relative permitivity for GaAs\n",
+ "m_dot_Si=0.5*mo #initializing value of heavy hole mass for GaAs\n",
+ "Ea_Si = (13.6*((m_dot_Si/mo)/(apsilen/apsilen_not)**2))\n",
+ "print\"The acceptor level energy in Si is ,Ea_Si = (13.6*((m_dot_Si/mo)/(apsilen/apsilen_not)**2))= \",\"{:.2e}\".format(Ea_Si),\"eV\"\n",
+ "Ed_Si = (13.6*((m_sigma_star/mo)/(apsilen/apsilen_not)**2))\n",
+ "print\"The donor level energy in Si is ,Ed_Si = (13.6*((m_sigma_star/mo)/(apsilen/apsilen_not)**2))= \",\"{:.2e}\".format(Ed_Si),\"eV\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The conductivity mass for silicon is ,m_sigma_star = (3*mo)/((1/ml)+(2/mt))= 2.48e-31 Kg\n",
+ "The shallow level energies are given by,Ed = Ec-(13.6(eV)*((m_star/mo)/(apsilen/apsilen_not)**2))\n",
+ "The donor level energy in GaAs is ,Ed_GaAs = Ed= 5.23e-03 eV\n",
+ "m_dot_GaAs=0.45*mo = 4.10e-31 kg\n",
+ "The acceptor level energy in GaAs is ,Ea_GaAs = 3.51e-02 eV\n",
+ "The acceptor level energy in Si is ,Ea_Si = (13.6*((m_dot_Si/mo)/(apsilen/apsilen_not)**2))= 4.80e-02 eV\n",
+ "The donor level energy in Si is ,Ed_Si = (13.6*((m_sigma_star/mo)/(apsilen/apsilen_not)**2))= 2.61e-02 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.13:pg-77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "n = 10**17 #initializing value of free density of electron of GaAs\n",
+ "kBT=0.026 #initializing value of multiplication of boltzmann constant and temperature \n",
+ "Nc = 4.45*10**17 #initializing value of effective density of electron\n",
+ "#(we have assumed the valence band energy Ev=0eV as it is not provided in the book)\n",
+ "E1= kBT*((log(n/Nc)))\n",
+ "print\"Ef(B)=\",\"{:.1e}\".format(E1),\"eV\"\n",
+ "E2= kBT*((log(n/Nc))+(1/sqrt(8))*(n/Nc))\n",
+ "print\"E(J)=\",\"{:.1e}\".format(E2),\"eV\"\n",
+ "#for Boltzmann approximation the carrier concentration and fermi level are related as : Ef = Ec+E1\n",
+ "#for joyce dixon approximation the carrier concentration and fermi level are related as : Ef = Ec+E2\n",
+ "e=E1-E2\n",
+ "print\"The error produced by using boltzmann approx. is e=\"\"{:.2e}\".format(e),\"eV\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Ef(B)= -3.9e-02 eV\n",
+ "E(J)= -3.7e-02 eV\n",
+ "The error produced by using boltzmann approx. is e=-2.07e-03 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.14:pg-77"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "print\"In the Boltzmann approximation, the carrier density is simply\"\n",
+ "print\"n = Nc = 2.78*10**19 cm**-3\"\n",
+ "N=2.78*10**19 #initializing value of carrier density\n",
+ "#In joyce dixon approximation the carrier density is obtained from the solution of the equation\n",
+ "print\"Ef = 0 = kBT *(log(n/Nc)+(n/(sqrt8*Nc)))\"\n",
+ "#solving by trial and error , we get\n",
+ "#n/Nc= 0.76\n",
+ "n=0.76*N\n",
+ "print\"electron carrier concentration is n=0.76*Nc= \",\"{:.2e}\".format(n),\" cm**-3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "In the Boltzmann approximation, the carrier density is simply\n",
+ "n = Nc = 2.78*10**19 cm**-3\n",
+ "Ef = 0 = kBT *(log(n/Nc)+(n/(sqrt8*Nc)))\n",
+ "electron carrier concentration is n=0.76*Nc= 2.11e+19 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.16:pg-80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nc = 2.8*10**19 #initializing value of effective density of electron\n",
+ "Nd = 10**16 #initializing value of donor atom\n",
+ "Ec_minus_Ed = 45*10**-3 #initializing value of donor binding energy\n",
+ "kBT=0.026 #initializing value of multiplication of boltzmann constant and temperature \n",
+ "\n",
+ "#let fraction of ionised donor are represented as Fd = (nd/(n+nd))\n",
+ "Fd= (1/(((Nc/(2*Nd))*exp(-(Ec_minus_Ed/kBT)))+1))*100\n",
+ "print\"fraction of ionised donor is Fd=\",round(Fd,2),\"%\"\n",
+ "Nd = 10**18\n",
+ "print\"Nd = \",\"{:.2e}\".format(Nd),\"cm**-3\"\n",
+ "Fd= (1.0/(((Nc/(2*Nd))*exp(-(Ec_minus_Ed/kBT)))+1))*100\n",
+ "print\"fraction of ionised donor is Fd=\",round(Fd,2),\"%\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n",
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "fraction of ionised donor is Fd= 0.4 %\n",
+ "Nd = 1.00e+18 cm**-3\n",
+ "fraction of ionised donor is Fd= 28.74 %\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex2.17:pg-80"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nc_Si = 2.78*10**19 #initializing value of effective density of electron for silicon\n",
+ "Nc_GaAs = 4.45*10**17 #initializing value of effective density of electron for GaAs\n",
+ "print\"for joyce dixon approximation the carrier concentration and fermi level are related as : Ef -Ec = kBT*(log(n/Nc)+(n/(sqrt8*Nc))\"\n",
+ "print(\"using Ef-Ec = 3* kBT\") \n",
+ "print(\"solving above equation by hit and trial method for n/Nc,we get n/Nc = 4.4\") \n",
+ "n_by_Nc = 4.4\n",
+ "n_Si = n_by_Nc*Nc_Si\n",
+ "print\"carrier density for silicon is n=\"\"{:.2e}\".format(n_Si),\"cm**-3\"\n",
+ "n_GaAs = n_by_Nc*Nc_GaAs\n",
+ "print\"carrier density for GaAs is n=\",\"{:.2e}\".format(n_GaAs),\"cm**-3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for joyce dixon approximation the carrier concentration and fermi level are related as : Ef -Ec = kBT*(log(n/Nc)+(n/(sqrt8*Nc))\n",
+ "using Ef-Ec = 3* kBT\n",
+ "solving above equation by hit and trial method for n/Nc,we get n/Nc = 4.4\n",
+ "carrier density for silicon is n=1.22e+20 cm**-3\n",
+ "carrier density for GaAs is n= 1.96e+18 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter3.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter3.ipynb
new file mode 100644
index 00000000..c41c8cff
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter3.ipynb
@@ -0,0 +1,626 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:d5b3b9ad59e9e59395b899364c44cfc2cc23564a29951b6384c7ef1142a5401c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter3:CARRIER DYNAMICS IN SEMICONDUCTORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.1:pg-95"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me = 0.067*mo #initializing value of effective mass of GaAs\n",
+ "u1=8500*10**(-4) #initializing value of mobility of pure GaAs\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "u2=5000*10**(-4) #initializing value of mobility of impure GaAs\n",
+ "Tsc1 = (me*u1)/e\n",
+ "print\"The relaxation time of pure GaAs is Tsc1 = \",\"{:.2e}\".format(Tsc1),\"s\"\n",
+ "Tsc2 = (me*u2)/e\n",
+ "print\"The relaxation time of impure GaAs is Tsc2= \"\"{:.2e}\".format(Tsc2),\"s\"\n",
+ "#using Mathieson rule\n",
+ "Tsc = ((1/Tsc2)-(1/Tsc1))**-1\n",
+ "print\"The impurity related time is Tsc(imp) = \",\"{:.2e}\".format(Tsc),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The relaxation time of pure GaAs is Tsc1 = 3.24e-13 s\n",
+ "The relaxation time of impure GaAs is Tsc2= 1.91e-13 s\n",
+ "The impurity related time is Tsc(imp) = 4.63e-13 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.2:pg-96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "ml = 0.98*mo #initializing value of longitudinal mass\n",
+ "mt = 0.19*mo #initializing value of transverse mass\n",
+ "u=1500*10**(-4) #initializing value of mobility of pure silicon\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "Msig = 3*((2/mt)+(1/ml))**(-1)\n",
+ "Tsc = u*Msig/e\n",
+ "print\"The scattering time is ,Tsc= \",\"{:.2e}\".format(Tsc),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The scattering time is ,Tsc= 2.22e-13 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.3:pg-96"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "un1=1000 #initializing value of mobility of electron of silicon\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "un2 = 8000.0 #initializing value of mobility of electron of GaAs\n",
+ "up1 = 350.0 #initializing value of mobility of holes of silicon\n",
+ "up2 = 400.0 #initializing value of mobility of holes of GaAs\n",
+ "ndoped = (50.0/100)*10**17 #initializing value of electron density of doped semiconductor(50% of Nd=10**17 cm**-3)\n",
+ "ni = 1.5*10**10 #initializing value of electron density of ionisation electron for silicon\n",
+ "pdoped = (ni)**2/ndoped\n",
+ "print\"The hole density of doped semiconductor is pdoped = \",\"{:.2e}\".format(pdoped),\"cm**-3\"\n",
+ "#pdoped can be neglected \n",
+ "Sdoped = ndoped*e*un1\n",
+ "print\"The conductivity of doped silicon is (sigma doped) Sdoped =\",round(Sdoped),\"ohmcm**-1\"\n",
+ "p1 = 1.5*10**10 #initializing value of hole density for undoped silicon\n",
+ "Sundoped = ni*e*un1+p1*e*up1\n",
+ "print\"The conductivity of undoped silicon is (sigma undoped)Sundoped = \",\"{:.2e}\".format(Sundoped),\"ohmcm**-1\"\n",
+ "Sdoped1 = ndoped*e*un2\n",
+ "print\"The conductivity of doped GaAs is (sigma doped) Sdoped = \",round(Sdoped1,1),\"ohmcm**-1\"\n",
+ "p2 = 1.84*10**6 #initializing value of hole density for undoped GaAs\n",
+ "ni1 = 1.84*10**6 #initializing value of electron density of ionisation electron for GaAs\n",
+ "Sundoped = ni1*e*un2+p2*e*up1\n",
+ "print\"The conductivity of undoped silicon is (sigma undoped) Sundoped = \",\"{:.2e}\".format(Sundoped),\"ohmcm**-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The hole density of doped semiconductor is pdoped = 4.50e+03 cm**-3\n",
+ "The conductivity of doped silicon is (sigma doped) Sdoped = 8.0 ohmcm**-1\n",
+ "The conductivity of undoped silicon is (sigma undoped)Sundoped = 3.24e-06 ohmcm**-1\n",
+ "The conductivity of doped GaAs is (sigma doped) Sdoped = 64.0 ohmcm**-1\n",
+ "The conductivity of undoped silicon is (sigma undoped) Sundoped = 2.46e-09 ohmcm**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.4:pg-97"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "un1=1000 #initializing value of mobility of electron of silicon\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "un2 = 400.0 #initializing value of mobility of electron of GaAs\n",
+ "up1 = 350.0 #initializing value of mobility of holes of silicon\n",
+ "up2 = 8000.0 #initializing value of mobility of holes of GaAs\n",
+ "ni = 1.5*10**10 #initializing value of electron density of ionisation electron\n",
+ "nmax = 2.78*10**19 #initializing value of maximum electron density for silicon\n",
+ "nmax1 = 7.72*10**18 #initializing value of maximum electron density for GaAs\n",
+ "Smax = nmax*e*un1\n",
+ "print\"The maximum conductivity for silicon is (sigma max) Smax = \",\"{:.2e}\".format(Smax),\"ohmcm**-1\"\n",
+ "Smax1 = nmax1*e*un2\n",
+ "print\"The maximum conductivity of GaAs is (sigma max) Smax=\",\"{:.1e}\".format(Smax1),\"ohmcm**-1\"\n",
+ "Smin = ni*e*((un1*sqrt(up1/un1))+(up1*sqrt(un1/up1)))\n",
+ "print\"The minimum conductivity of silicon is (sigma min)Smin = \"\"{:.1e}\".format(Smin),\"ohmcm**-1\"\n",
+ "ni1 = 1.84*10**6 #initializing value of electron density of ionisation electron for GaAs\n",
+ "Smin1 = ni1*e*((un2*sqrt(up2/un2))+(up2*sqrt(un2/up2)))\n",
+ "print\"The minimum conductivity of GaAs is (sigma min)Smin1 =\",\"{:.2e}\".format(Smin1),\"ohmcm**-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum conductivity for silicon is (sigma max) Smax = 4.45e+03 ohmcm**-1\n",
+ "The maximum conductivity of GaAs is (sigma max) Smax= 4.9e+02 ohmcm**-1\n",
+ "The minimum conductivity of silicon is (sigma min)Smin = 2.8e-06 ohmcm**-1\n",
+ "The minimum conductivity of GaAs is (sigma min)Smin1 = 1.05e-09 ohmcm**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.5:pg-98"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me = 0.26*mo #initializing value of conductivity mass of silicon\n",
+ "v1=1.4*10**(6) #initializing value of velocity of silicon electron at 300K\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "v2=1.0*10**(7) #initializing value of velocity of silicon electron at 300K\n",
+ "F1= 1000 #initializing value of electric field \n",
+ "F2= 100000 #initializing value of electric field \n",
+ "u1 = v1/(F1*10**4)\n",
+ "print\"The mobility for electrons in silicon (1 kV/cm) is u1=\",\"{:.2e}\".format(u1),\"m**2/V.s\"\n",
+ "u2 = v2/(F2*10**4)\n",
+ "print\"The mobility for electrons in silicon (100 kV/cm) is u2=\",\"{:.2e}\".format(u2),\"m**2/V.s\"\n",
+ "Tsc1 = (me*u1)/e\n",
+ "print\"The relaxation time of electrons in silicon at 1kV/cm is Tsc1=\",\"{:.2e}\".format(Tsc1),\"s\"\n",
+ "Tsc2 = (me*u2)/e\n",
+ "print\"The relaxation time of electrons in silicon at 100kV/cm is Tsc2 =\",\"{:.2e}\".format(Tsc2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mobility for electrons in silicon (1 kV/cm) is u1= 1.40e-01 m**2/V.s\n",
+ "The mobility for electrons in silicon (100 kV/cm) is u2= 1.00e-02 m**2/V.s\n",
+ "The relaxation time of electrons in silicon at 1kV/cm is Tsc1= 2.07e-13 s\n",
+ "The relaxation time of electrons in silicon at 100kV/cm is Tsc2 = 1.48e-14 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.6:pg-99"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "v2=1.0*10**(7) #initializing value of saturation velocity of GaAs device\n",
+ "F= 5000 #initializing value of average electric field in GaAs device\n",
+ "L= 2*10**(-4) #initializing value of length of GaAs device \n",
+ "u = 8000 #initializing value of low field mobility\n",
+ "v1 = u*F\n",
+ "print\"The average velocity of electrons is v = \",\"{:.2e}\".format(v1),\"cm/s\"\n",
+ "Ttr1 = L/v1\n",
+ "print\"The transit time of electrons through the device is Ttr1 =\"\"{:.2e}\".format(Ttr1),\"s\"\n",
+ "Ttr2 = L/v2\n",
+ "print\"The transit time of electrons using saturation velocity through the device is Ttr2 = \",\"{:.2e}\".format(Ttr2),\"s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The average velocity of electrons is v = 4.00e+07 cm/s\n",
+ "The transit time of electrons through the device is Ttr1 =5.00e-12 s\n",
+ "The transit time of electrons using saturation velocity through the device is Ttr2 = 2.00e-11 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.7:pg-103"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "h=1.05*10**-34 #initializing value of reduced plancks constant or dirac constant or h-bar\n",
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "me1 = 0.065*9.1*10**-31 #initializing value of electron mass of GaAs\n",
+ "me2 = 0.02*9.1*10**-31 #initializing value of electron mass of InAs\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "Eg1 = 1.5*1.6*10**-19 #initializing value of valence bandedge energy of GaAs\n",
+ "Eg2 = 0.4052*1.6*10**-19 #initializing value of valence bandedge energy of InAs\n",
+ "F= 2*10**7 #initializing value of applied electric field \n",
+ "T1 = math.exp(-(4*sqrt(2*me1)*(Eg1)**(3/2))/(3*e*h*F))\n",
+ "print\"The tunneling probability in GaAs is T1 =\",round(T1,1)\n",
+ "T2 = math.exp(-(4*sqrt(2*me2)*(Eg2)**(3/2))/(3*e*h*F))\n",
+ "print\"The tunneling probability in InAs is T2 =\",\"{:.2e}\".format(T2)\n",
+ "#NOTE: The tunneling probability in GaAs is approximately given zero in the textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The tunneling probability in GaAs is T1 = 0.0\n",
+ "The tunneling probability in InAs is T2 = 0.00e+00\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.8:pg-106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "L =10**-4 #initializing value of length\n",
+ "Dn =220 #initializing value of electron diffusion coefficient\n",
+ "#n(x) = 10**16*exp(-(x/L)) cm**-3\n",
+ "#Derivative of n(x) for x =0 is 10**16/L\n",
+ "dn_by_dx =10**16/L #initializing value of derivative of n(x) for x=0\n",
+ "Jn_diff = e*Dn*dn_by_dx\n",
+ "print\"The diffusion current density is Jn_diff =\",\"{:.1e}\".format(Jn_diff),\"A/cm**2\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diffusion current density is Jn_diff = 3.5e+03 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex3.9:pg-109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "v1=1.4*10**(4) #initializing value of velocity of electrons in silion at 1kV/cm\n",
+ "v2=7*10**(4) #initializing value of velocity of electrons in silion at 10kV/cm\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "F1= 10**5 #initializing value of applied electric field\n",
+ "F2= 10**6 #initializing value of applied electric field \n",
+ "D1 = (v1*kbT*1.6*10**-19)/(e*F1)\n",
+ "print\"The diffusion coefficient is ,D(1kV/cm)=\",\"{:.2e}\".format(D1),\"m**2/s\"\n",
+ "D2 = (v2*kbT*1.6*10**-19)/(e*F2)\n",
+ "print\"The diffusion coefficient is ,D(10kV/cm)=\",\"{:.2e}\".format(D2),\"m**2/s\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diffusion coefficient is ,D(1kV/cm)= 3.64e-03 m**2/s\n",
+ "The diffusion coefficient is ,D(10kV/cm)= 1.82e-03 m**2/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.10:pg-111"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nc=2.8*10**(19)\n",
+ "Nv=1.04*10**(19)\n",
+ "#NOTE: Ec-Ev = forbidden band gap energy = Eg\n",
+ "Eg = 1.1\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "n= 10**17\n",
+ "p= 10**17\n",
+ "Efn_minus_Efp = Eg+(kbT*(log(p/Nv)+log(n/Nc)))\n",
+ "print\"The difference in the quasi fermi level is ,Efn_minus_Efp=\",\"{:.2e}\".format(Efn_minus_Efp),\"eV\"\n",
+ "n= 10**15\n",
+ "p= 10**15\n",
+ "Efn_minus_Efp = Eg+(kbT*(log(p/Nv)+log(n/Nc)))\n",
+ "print\"The difference in the quasi fermi level is ,Efn_minus_Efp=\",\"{:.2e}\".format(Efn_minus_Efp),\"eV\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The difference in the quasi fermi level is ,Efn_minus_Efp= 8.33e-01 eV\n",
+ "The difference in the quasi fermi level is ,Efn_minus_Efp= 5.93e-01 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.11:pg-118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "alpha1=(-10**(4)) #initializing value of absorption coefficient near the bandedges of GaAs\n",
+ "alpha2=(-10**(3)) #initializing value of absorption coefficient near the bandedges of Si\n",
+ "Iabs_by_Iinc = 0.9 #initializing value of amount of light absorbed\n",
+ "L1 = (1.0/alpha1)*log(1-(Iabs_by_Iinc))\n",
+ "print\"The thickness of a sample GaAs is ,L =\",\"{:.2e}\".format(L1),\"cm\"\n",
+ "L2 = (1.0/alpha2)*log(1-(Iabs_by_Iinc))\n",
+ "print\"The thickness of a sample Si is ,L = \",\"{:.2e}\".format(L2),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thickness of a sample GaAs is ,L = 2.30e-04 cm\n",
+ "The thickness of a sample Si is ,L = 2.30e-03 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.12:pg-118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "alpha=(3*10**(3)) #initializing value of absorption coefficient near the bandedges of GaAs\n",
+ "p=(10**(3)) #initializing value of power density that impringes on GaAs\n",
+ "Tr = 1.5*1.6*10**-19 #initializing value of photon energy\n",
+ "d = 10**-3 #initializing value of photon energy\n",
+ "Rg1 = (alpha*p)/Tr\n",
+ "print\"The carrier generation rate at the surface is ,Rg(0)= \",\"{:.2e}\".format(Rg1),\"cm**-3s**-1\"\n",
+ "Rg2 = (alpha*p*exp(-3))/Tr\n",
+ "print\"The carrier generation rate at the depth of 10 um is ,Rg(10) =\",\"{:.2e}\".format(Rg2),\"cm**-3s**-1\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The carrier generation rate at the surface is ,Rg(0)= 1.25e+25 cm**-3s**-1\n",
+ "The carrier generation rate at the depth of 10 um is ,Rg(10) = 6.22e+23 cm**-3s**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.13:pg-120"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mo = 9.1*10**-31 #initializing value of mass of electron\n",
+ "m = 0.27*mo #initializing value of effective mass of silicon\n",
+ "kb = (1.38*10**-23) #initializing value of boltzman constant\n",
+ "T1 = 300.0 #initializing value of temperature\n",
+ "T2 = 77.0 #initializing value of temperature\n",
+ "vth1=(sqrt((3*kb*T1)/(m)))*100\n",
+ "print\"The thermal velocity of the electron at 300K is ,vth(300K)=\",\"{:.0e}\".format(vth1),\"cms**-1\"\n",
+ "vth2=(sqrt((3*kb*T2)/(m)))*100\n",
+ "print\"The thermal velocity of the electron at 77K is ,vth(77K)=\",\"{:.0e}\".format(vth2),\"cms**-1\"\n",
+ "sigma=10**(-14) #initializing value of cross-section\n",
+ "Nt = 10**15 #initializing value of impurity density\n",
+ "Tnr1 = (1.0/(sigma*Nt*vth1))\n",
+ "print\"The electron trapping time is ,Tnr1 =\",\"{:.2e}\".format(Tnr1),\"s\"\n",
+ "Tnr2 = (sigma*Nt*vth2)\n",
+ "print\"The electron trapping time is ,Tnr2 = \",\"{:.0e}\".format(Tnr2),\"s\"\n",
+ "#NOTE: in the Textbook the author has taken the approximated value for Vth thermal velocity\\\n",
+ "# NOTE: these approximated values of velocity affects the value of electron trapping time\n",
+ "# in the Textbook the answer of Tnr2 is wrong."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thermal velocity of the electron at 300K is ,vth(300K)= 2e+07 cms**-1\n",
+ "The thermal velocity of the electron at 77K is ,vth(77K)= 1e+07 cms**-1\n",
+ "The electron trapping time is ,Tnr1 = 4.45e-09 s\n",
+ "The electron trapping time is ,Tnr2 = 1e+08 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.14:pg-125"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "KbT = 1.38*(10**-23)*300 #initializing value of kbT at 300K\n",
+ "mu=0.4 #initializing value of mobility of p-type GaAs\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "Dn = (mu*KbT)/e\n",
+ "print\"The diffusion constant using einstein relation is Dn =\",\"{:.2e}\".format(Dn),\"m**2/s\"\n",
+ "T = 0.6*10**-9 #initializing value of recombination time\n",
+ "Ln = sqrt(Dn*T)\n",
+ "print\"The diffusion length of p type GaAs is Ln =\",\"{:.1e}\".format(Ln),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diffusion constant using einstein relation is Dn = 1.03e-02 m**2/s\n",
+ "The diffusion length of p type GaAs is Ln = 2.5e-06 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex3.16:pg-126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "KbT = 0.026 #initializing value of kbT at 300K\n",
+ "sigma=10 #initializing value of conductivity\n",
+ "mu_n=1100 #initializing value of mobility of electrons\n",
+ "mu_p=400 #initializing value of mobility of holes\n",
+ "Nd = 10**17 #initializing value of doping\n",
+ "n = sigma/(e*mu_n)\n",
+ "print\"The carrier concentration in n type material is n =\",\"{:.2e}\".format(n),\"cm**-3\"\n",
+ "# the answer in textbook is given in %\n",
+ "#The excess drops by 50% once light is off using this fact in below equation\n",
+ "T = -1/log(.5)\n",
+ "print\"The recombination time is T = \",\"{:.2e}\".format(T),\"micro-sec\"\n",
+ "Dp = mu_p*kbT\n",
+ "print\"The diffusion constant is Dp = \",\"{:.2e}\".format(Dp),\"cm**2/s\"\n",
+ "Lp = sqrt(Dp*T*10**-6)\n",
+ "print\"The diffusion length is Lp = \",\"{:.2e}\".format(Lp),\"m\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The carrier concentration in n type material is n = 5.68e+16 cm**-3\n",
+ "The recombination time is T = 1.44e+00 micro-sec\n",
+ "The diffusion constant is Dp = 1.04e+01 cm**2/s\n",
+ "The diffusion length is Lp = 3.87e-03 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter5.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter5.ipynb
new file mode 100644
index 00000000..b2d3468e
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter5.ipynb
@@ -0,0 +1,935 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:fe3dcc940fc59f790e074289cf01cde719f2ffc396107eb8d641ad2e7812dc13"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter5:JUNCTIONS IN SEMICONDUCTORS:P-N DIODES"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex5.1:pg-169"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nd = 1.0*10**16 #initialising value of donor atoms in centimeter\n",
+ "Na= 1.0*10**18 #initialising value of accepter atoms in centimeter\n",
+ "Nc= 2.8*10**19 #initialising value of conduction band effective density\n",
+ "Nv= 1.0*10**19 #initialising value of valence band effective density\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "Eg = 1.1 #initializing value of forbidden energy gap\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "eVbi = Eg+(kbT*log(Na/Nv))+((kbT*log(Nd/Nc)))\n",
+ "print\"built in voltage is ,eVbi = \",\"{:.2e}\".format(eVbi),\" eV\"\n",
+ "apsilen = 11.9*8.85*10**-12 #initializing value of relative permitivity\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "Vbi=eVbi/e\n",
+ "Nd = 1.0*10**22 #initialising value of donor atoms in metrers\n",
+ "Na= 1.0*10**24 #initialising value of accepter atomsin meters\n",
+ "Wp_Vbi = sqrt(((2*apsilen*eVbi)/(e))*(Nd/(Na*(Na+Nd))))\n",
+ "print\"depletion width at p side is ,Wp_Vbi =\",\"{:.2e}\".format(Wp_Vbi),\" m\"\n",
+ "Wn_Vo = 100*sqrt(((2*apsilen*eVbi)/(e))*(Nd/(Na*(Na+Nd))))\n",
+ "print\"depletion width at n side is ,Wn_Vo = \",\"{:.2e}\".format(Wn_Vo),\" m\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "built in voltage is ,eVbi = 8.34e-01 eV\n",
+ "depletion width at p side is ,Wp_Vbi = 3.30e-09 m\n",
+ "depletion width at n side is ,Wn_Vo = 3.30e-07 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.2:pg-172"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nd = 1.0*10**16 #initialising value of donor atoms in centimeter\n",
+ "Na= 1.0*10**18 #initialising value of accepter atoms in centimeter\n",
+ "ni = 1.5*10**10 #initializing value of intrinsic carrier concentration\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "R= 10*10**-6 #initializing value of radius of pn diode\n",
+ "A = math.pi*(R**2)\n",
+ "pn = ni**2/Nd\n",
+ "print\"concentration of electron in p type is ,pn = \",\"{:.2e}\".format(pn),\" cm**-3\"\n",
+ "kbT = 0.026 #initializing value of kbT at 300K\n",
+ "eVbi = (kbT*log(Na/pn))\n",
+ "print\"built in voltage is ,eVbi =\",\"{:.2e}\".format(eVbi),\" V\"\n",
+ "apsilen = 11.9*8.84*10**-12 #initializing value of relative permitivity\n",
+ "e = 1.6*10**-19 #initializing value of charge of electron\n",
+ "#NOTE: for reverse bias Vr = 0 V,\n",
+ "Wp_4 = sqrt(((2.0*apsilen*eVbi)/(e))*((Nd*1.0*10**6)/((Na*1.0*10**6)*((Nd*1.0*10**6)+(Na*1.0*10**6)))))\n",
+ "print\"depletion width at p side is ,Wp_4 =\",\"{:.2e}\".format(Wp_4),\"m\"\n",
+ "Wn_4 = Wp_4*100\n",
+ "print\"depletion width at n side is ,Wn_4 = \",\"{:.2e}\".format(Wn_4),\"m\"\n",
+ "\n",
+ "#for calculation purpose and for differentiating part (I), equating\n",
+ "Vbi_4 = eVbi\n",
+ "Vbi_4=round(Vbi_4,3)\n",
+ "print(\"\")# for spacing \n",
+ "Vbi_2 = Vbi_4 + 2\n",
+ "Vbi_2=round(Vbi_2,3)\n",
+ "#NOTE: for reverse bias Vr = 2 V,\n",
+ "Wp_2 = Wp_4*sqrt(Vbi_2/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_2 = \",\"{:.2e}\".format(Wp_2),\"m\"\n",
+ "Wn_2 = Wp_2*100\n",
+ "print\"depletion width at n side is ,Wn_2 = \",\"{:.2e}\".format(Wn_2),\"m\"\n",
+ "\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_3 = Vbi_4 + 5\n",
+ "Vbi_3=round(Vbi_3,2)\n",
+ "#NOTE: for reverse bias Vr = 5 V,\n",
+ "Wp_3 = sqrt(((2.0*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_3/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_3 = \"\"{:.2e}\".format(Wp_3),\"m\"\n",
+ "Wn_3 = Wp_3*100\n",
+ "print\"depletion width at n side is ,Wn_3 = \",\"{:.2e}\".format(Wn_3),\"m\"\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_4 = Vbi_4 + 10\n",
+ "Vbi_4=round(Vbi_4,2)\n",
+ "#NOTE: for reverse bias Vr = 10 V,\n",
+ "\n",
+ "Wp_4 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_4/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_4 = \",\"{:.2e}\".format(Wp_4),\"m\"\n",
+ "Wn_4 = Wp_4*100\n",
+ "print\"depletion width at n side is ,Wn_4 = \",\"{:.2e}\".format(Wn_4),\"m\"\n",
+ "\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_5 = Vbi_4 - 0.5\n",
+ "Vbi_5=round(Vbi_5,2)\n",
+ "#NOTE: for forward bias Vf = 0.5 V,\n",
+ "\n",
+ "Wp_5 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_5/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_5 =\",\"{:.2e}\".format(Wp_5),\"m\"\n",
+ "Wn_5 = Wp_5*100\n",
+ "print\"depletion width at n side is ,Wn_5 = \",\"{:.2e}\".format(Wn_5),\"m\"\n",
+ "\n",
+ "#CALCULATION FOR PEAK FIELD :\n",
+ "F = - e*Nd*(10**6)*Wn_4/apsilen\n",
+ "print\"F=\",\"{:.2e}\".format(F),\"v/m\"\n",
+ "F = - e*Nd*(10**6)*Wn_2/apsilen\n",
+ "print\"F=\",\"{:.2e}\".format(F),\"v/m\"\n",
+ "F = - e*Nd*(10**6)*Wn_3/apsilen\n",
+ "print\"F=\",\"{:.2e}\".format(F),\"v/m\"\n",
+ "F = - e*Nd*(10**6)*Wn_4/apsilen\n",
+ "print\"F=\",\"{:.2e}\".format(F),\"v/m\"\n",
+ "F = - e*Nd*(10**6)*Wn_5/apsilen\n",
+ "print\"F=\",\"{:.2e}\".format(F),\"v/m\"\n",
+ "#calculation for \n",
+ "Q = e*(Nd*10**6)*Wn_4*A#charge in depletion region for Vr = 0V\n",
+ "print\"Q = \",\"{:.2e}\".format(Q),\"C\"\n",
+ "#due to approximation taken by author in the textbook .... the values of Vbi_2, Vbi_3, Vbi_4 and \n",
+ "#the values of depletion width(Wp_4, Wp_2,Wp_3, Wp_4, Wn_4, Wn_2, Wn_3, Wn_4) differ from the above solution\n",
+ "# The answer of the textbook can be different due to different precision \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "concentration of electron in p type is ,pn = 2.25e+04 cm**-3\n",
+ "built in voltage is ,eVbi = 8.17e-01 V\n",
+ "depletion width at p side is ,Wp_4 = 3.26e-09 m\n",
+ "depletion width at n side is ,Wn_4 = 3.26e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_2 = 6.06e-09 m\n",
+ "depletion width at n side is ,Wn_2 = 6.06e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_3 = 8.71e-09 m\n",
+ "depletion width at n side is ,Wn_3 = 8.71e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_4 = 3.26e-09 m\n",
+ "depletion width at n side is ,Wn_4 = 3.26e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_5 = 3.19e-09 m\n",
+ "depletion width at n side is ,Wn_5 = 3.19e-07 m\n",
+ "F= -4.96e+06 v/m\n",
+ "F= -9.21e+06 v/m\n",
+ "F= -1.32e+07 v/m\n",
+ "F= -4.96e+06 v/m\n",
+ "F= -4.84e+06 v/m\n",
+ "Q = 1.64e-13 C\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.3:pg-173"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import cmath\n",
+ "Nd = 1.0*10**16\n",
+ "Na= 1.0*10**18\n",
+ "ni = 1.5*10**10\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "R= 10*10**-6\n",
+ "A = math.pi*(R**2)\n",
+ "pn = ni**2/Nd\n",
+ "print\"concentration of electron in p type is ,pn = \",\"{:.2e}\".format(pn),\" cm**-3\"\n",
+ "kbT = 0.026\n",
+ "eVbi = (kbT*log(Na/pn))\n",
+ "print\"built in voltage is ,eVbi= \",\"{:.2e}\".format(eVbi),\" V\"\n",
+ "apsilen = 11.9*8.84*10**-12\n",
+ "e = 1.6*10**-19\n",
+ "#NOTE: for reverse bias Vr = 0 V,\n",
+ "Wp_4 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))\n",
+ "print\"depletion width at p side is ,Wp_4 = \",\"{:.2e}\".format(Wp_4),\"m\"\n",
+ "Wn_4 = Wp_4*100\n",
+ "print\"depletion width at n side is ,Wn_4 = \",\"{:.2e}\".format(Wn_4),\"m\"\n",
+ "#for calculation purpose and for differentiating part (I), equating\n",
+ "Vbi_4 = eVbi\n",
+ "print(\"\")# for spacing \n",
+ "Vbi_2 = Vbi_4 + 2\n",
+ "#NOTE: for reverse bias Vr = 2 V,\n",
+ "Wp_2 = Wp_4*sqrt(Vbi_2/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_2 = \",\"{:.2e}\".format(Wp_2),\"m\"\n",
+ "Wn_2 = Wp_2*100\n",
+ "print\"depletion width at n side is ,Wn_2 = \",\"{:.2e}\".format(Wn_2),\"m\"\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_3 = Vbi_4 + 5\n",
+ "#NOTE: for reverse bias Vr = 5 V,\n",
+ "Wp_3 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_3/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_3 = \",\"{:.2e}\".format(Wp_3),\"m\"\n",
+ "Wn_3 = Wp_3*100\n",
+ "print\"depletion width at n side is ,Wn_3 = \",\"{:.2e}\".format(Wn_3),\"m\"\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_4 = Vbi_4 + 10\n",
+ "#NOTE: for reverse bias Vr = 10 V,\n",
+ "Wp_4 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_4/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_4 = \",\"{:.2e}\".format(Wp_4),\"m\"\n",
+ "Wn_4 = Wp_4*100\n",
+ "print\"depletion width at n side is ,Wn_4 =\",\"{:.2e}\".format(Wn_4),\"m\"\n",
+ "print(\"\")# for spacing\n",
+ "Vbi_5 = Vbi_4 - 0.5\n",
+ "#NOTE: for forward bias Vf = 0.5 V,\n",
+ "Wp_5 = sqrt(((2*apsilen*eVbi)/(e))*((Nd*10**6)/((Na*10**6)*((Nd*10**6)+(Na*10**6)))))*sqrt(Vbi_5/Vbi_4)\n",
+ "print\"depletion width at p side is ,Wp_5 =\",\"{:.2e}\".format(Wp_5),\"m\"\n",
+ "Wn_5 = Wp_5*100\n",
+ "print\"depletion width at n side is ,Wn_5 =\",\"{:.2e}\".format(Wn_5),\"m\"\n",
+ "#CALCULATION FOR PEAK FIELD :\n",
+ "Fm = - e*Nd*(10**6)*Wn_4/apsilen\n",
+ "print\"peak Field For Vr = 0V, Fm = \",\"{:.2e}\".format(Fm),\"V/m\"\n",
+ "Fm = - e*Nd*(10**6)*Wn_2/apsilen\n",
+ "print\"peak Field for Vr = 2V, Fm =\",\"{:.2e}\".format(Fm),\"V/m\"\n",
+ "Fm = - e*Nd*(10**6)*Wn_3/apsilen\n",
+ "print\"peak Field For Vr = 5V, Fm = \",\"{:.2e}\".format(Fm),\"V/m\"\n",
+ "Fm = - e*Nd*(10**6)*Wn_4/apsilen\n",
+ "print\"peak Field For Vr = 10V, Fm = \",\"{:.2e}\".format(Fm),\"V/m\"\n",
+ "print\"By the appendix B given in the book, the velocity of electron: v = 1*10**7 cm/s\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "concentration of electron in p type is ,pn = 2.25e+04 cm**-3\n",
+ "built in voltage is ,eVbi= 8.17e-01 V\n",
+ "depletion width at p side is ,Wp_4 = 3.26e-09 m\n",
+ "depletion width at n side is ,Wn_4 = 3.26e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_2 = 6.06e-09 m\n",
+ "depletion width at n side is ,Wn_2 = 6.06e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_3 = 8.70e-09 m\n",
+ "depletion width at n side is ,Wn_3 = 8.70e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_4 = 3.26e-09 m\n",
+ "depletion width at n side is ,Wn_4 = 3.26e-07 m\n",
+ "\n",
+ "depletion width at p side is ,Wp_5 = 3.19e-09 m\n",
+ "depletion width at n side is ,Wn_5 = 3.19e-07 m\n",
+ "peak Field For Vr = 0V, Fm = -4.96e+06 V/m\n",
+ "peak Field for Vr = 2V, Fm = -9.21e+06 V/m\n",
+ "peak Field For Vr = 5V, Fm = -1.32e+07 V/m\n",
+ "peak Field For Vr = 10V, Fm = -4.96e+06 V/m\n",
+ "By the appendix B given in the book, the velocity of electron: v = 1*10**7 cm/s\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.4:pg-178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 10**-7\n",
+ "Na=10**18*10**6\n",
+ "Nd=10**16*10**6\n",
+ "Dp1 = 7.8*10**-4\n",
+ "Dn2 = 7.3*10**-4\n",
+ "Tn = 10**-6\n",
+ "Tp = 10**-6\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "ni = 1.5*10**16\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "Lp = sqrt(Dp1*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"m\"\n",
+ "Ln = sqrt(Dn2*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.2e}\".format(Ln),\"m\"\n",
+ "# NOTE: pn= (ni**2/nn) and np=(ni**2/pp)\n",
+ "# assume that the doants are fully ionised \n",
+ "Io = A*e*((((Dn2)/(Ln))*(ni**2/Na))+(((Dp1)/(Lp))*(ni**2/Nd)))\n",
+ "print\"The prefactor current is ,Io =\",\"{:.1e}\".format(Io),\"A\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The hole diffusion length is ,Lp = 2.79e-05 m\n",
+ "The electron diffusion length is ,Ln = 2.70e-05 m\n",
+ "The prefactor current is ,Io = 1.0e-14 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.5:pg-181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Na=10**17\n",
+ "Nd=10**17\n",
+ "Dp1 = 12.5\n",
+ "Dn1 = 35\n",
+ "Dp2 = 10\n",
+ "Dn2 = 220\n",
+ "Tn = 10**-8\n",
+ "Tp = 10**-8\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "pn1 = 2.25*10**3\n",
+ "np1 = 2.25*10**3\n",
+ "pn2 = 3.38*10**-5\n",
+ "np2 = 3.38*10**-5\n",
+ "#Note : since value of holes and electrons in n- type and p type are not given for silicon and germanium thus we have assume it as above\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "Lp1 = sqrt(Dp1*Tp)\n",
+ "Ln1 = sqrt(Dn1*Tn)\n",
+ "Lp2 = sqrt(Dp2*Tp)\n",
+ "Ln2 = sqrt(Dn2*Tn)\n",
+ "# NOTE: pn= (ni**2/nn) and np=(ni**2/pp)\n",
+ "# assume that the doants are fully ionised \n",
+ "Jo1 = e*((((Dn1)/(Ln1))*np1)+(((Dp1)/(Lp1))*pn1))\n",
+ "print\"The prefactor current density for silicon is ,Jo1 =\",\"{:.2e}\".format(Jo1),\"A/cm**2\"\n",
+ "Jo2 = e*((((Dn2)/(Ln2))*np2)+(((Dp2)/(Lp2))*pn2))\n",
+ "print\"The prefactor current density for GaAs is ,Jo2 =\",\"{:.2e}\".format(Jo2),\"A/cm**2\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The prefactor current density for silicon is ,Jo1 = 3.40e-11 A/cm**2\n",
+ "The prefactor current density for GaAs is ,Jo2 = 9.73e-19 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex5.6:pg-182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Na=5*10**16\n",
+ "Nd=5*10**17\n",
+ "Dp = 15\n",
+ "Dn = 30\n",
+ "Tn = 10**-8\n",
+ "Tp = 10**-7\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "ni = 1.84*10**6\n",
+ "np=ni**2/Na\n",
+ "print\"The electron conc in p type is ,np=\",\"{:.2e}\".format(np),\"cm**-3\"\n",
+ "pn=ni**2/Nd\n",
+ "print\"The holes conc in n type is ,pn=\",\"{:.2e}\".format(pn),\"cm**-3\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp =\",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.2e}\".format(Ln),\"cm\"\n",
+ "Gamma_inj = ((e*Dn*np)/(Ln))/(((e*Dn*np)/(Ln))+((e*Dp*pn)/(Lp)))\n",
+ "print\"The efficiency of diode is ,Gamma_inj =\",round(Gamma_inj,2)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron conc in p type is ,np= 6.77e-05 cm**-3\n",
+ "The holes conc in n type is ,pn= 6.77e-06 cm**-3\n",
+ "The hole diffusion length is ,Lp = 1.22e-03 cm\n",
+ "The electron diffusion length is ,Ln = 5.48e-04 cm\n",
+ "The efficiency of diode is ,Gamma_inj = 0.98\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.7:pg-182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 0.1*10**-2\n",
+ "Vf= 1.0\n",
+ "E= 1.43\n",
+ "Na=5.0*10**16\n",
+ "Nd=5.0*10**17\n",
+ "Dp = 15.0\n",
+ "Dn = 30.0\n",
+ "Tn =1*10**-8\n",
+ "Tp = 1.0*10**-7\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "kni = 1.84*10**6\n",
+ "np=ni**2/Na\n",
+ "pn=ni**2/Nd\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "In = ((e*A*Dn*np)/Ln)*(exp(Vf/kbT)-1)\n",
+ "print\"The electron current is ,In =\",\"{:.1e}\".format(In),\"A\"\n",
+ "In_by_e = In/e\n",
+ "print\"The electron generation rate is ,In_by_e = \",\"{:.1e}\".format(In_by_e),\"s**-1\"\n",
+ "power = In*E\n",
+ "print\"The optical power of photon is ,power =\",\"{:.1e}\".format(power),\"W\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron current is ,In = 3.0e-05 A\n",
+ "The electron generation rate is ,In_by_e = 1.9e+14 s**-1\n",
+ "The optical power of photon is ,power = 4.3e-05 W\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex5.8:pg-183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "apsilen = 11.9*8.85*10**-14\n",
+ "GL= 1.0*10**22\n",
+ "A= 1.0*10**-4\n",
+ "Vr= 15.0\n",
+ "Na=2.0*10**16\n",
+ "Nd=1.0*10**16\n",
+ "Dp = 12.0\n",
+ "Dn = 20.0\n",
+ "Tn = 1.0*10**-8\n",
+ "Tp = 1.0*10**-8\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "ni = 1.5*10**10\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln =\",\"{:.1e}\".format(Ln),\"cm\"\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp = \",\"{:.2e}\".format(Lp),\"cm\"\n",
+ "Vbi = kbT*log((Na*Nd)/ni**2)\n",
+ "print\"The built in voltage is ,Vbi =\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "W = sqrt(((2*apsilen)/e)*((Na+Nd)/(Na*Nd))*(Vbi+Vr))\n",
+ "print\"The depletion width is ,W =\",\"{:.2e}\".format(W),\"cm\"\n",
+ "IL = e*A*GL*(W+Ln+Lp)\n",
+ "print\"The photo current is IL =\",\"{:.2e}\".format(IL),\"A\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Ln = 4.5e-04 cm\n",
+ "The hole diffusion length is ,Lp = 3.46e-04 cm\n",
+ "The built in voltage is ,Vbi = 7.15e-01 V\n",
+ "The depletion width is ,W = 1.76e-04 cm\n",
+ "The photo current is IL = 1.55e-04 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.9:pg-185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19\n",
+ "A=1.0*10**-7\n",
+ "Na=10**18*10**6\n",
+ "Nd=10**16*10**6\n",
+ "Dp = 7.8*10**-4\n",
+ "Dn = 7.3*10**-4\n",
+ "ni = 1.5*10**16\n",
+ "Wln = 5.0*10**-6\n",
+ "Wlp = Wln\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "pn = ni**2/Nd\n",
+ "np = ni**2/Na\n",
+ "# from example 5.4 and 5.2 we get the value of diffusion length and zero bias depletion widths\n",
+ "Lp = 27.9*10**-6\n",
+ "print\"The electron diffusion length is ,Lp= \",\"{:.2e}\".format(Lp),\"m\"\n",
+ "Ln = 27*10**-6\n",
+ "print\"The electron diffusion length is ,Ln= \",\"{:.2e}\".format(Ln),\"m\"\n",
+ "Wp = 3.2*10**-10\n",
+ "print\"The zero bias depletion widths is ,Wp= \",\"{:.2e}\".format(Wp),\"m\"\n",
+ "Wn = 0.0000003\n",
+ "print\"The zero bias depletion widths is ,Wn \",\"{:.2e}\".format(Wn),\"m\"\n",
+ "# for short diode the prefactor current is given as\n",
+ "Io = e*A*(((Dp*pn)/(Wln-Wn))+((Dn*np)/abs(Wlp-Wp)))\n",
+ "print\"The prefactor current is ,Io = \",\"{:.2e}\".format(Io),\"A\"\n",
+ "# The prefactor current of short diode is approximately increase by a factor of 5.6 from that of long diode\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron diffusion length is ,Lp= 2.79e-05 m\n",
+ "The electron diffusion length is ,Ln= 2.70e-05 m\n",
+ "The zero bias depletion widths is ,Wp= 3.20e-10 m\n",
+ "The zero bias depletion widths is ,Wn 3.00e-07 m\n",
+ "The prefactor current is ,Io = 6.03e-14 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.10:pg-188"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19\n",
+ "A= 10**-7\n",
+ "ni = 1.5*10**16\n",
+ "T = 1.0*10**-6\n",
+ "# from example 5.2 we get the value of zero bias depletion widths\n",
+ "W = 0.32*10**-6\n",
+ "Io_GR = (e*A*W*ni)/(2*T)\n",
+ "print\"The prefactor of the is ,generation recombination currentIo_GR = \",\"{:.2e}\".format(Io_GR),\"A\"\n",
+ "#let V = .2 V \n",
+ "V = 0.2\n",
+ "I_GR = Io_GR*(exp(V/(2*kbT))-1)\n",
+ "print\"The diode current is ,I_GR =\",\"{:.2e}\".format(I_GR),\"A\"\n",
+ "#let V = 0.6 V \n",
+ "V = 0.6\n",
+ "I_GR = Io_GR*(exp(V/(2*kbT))-1)\n",
+ "print\"The diode current is ,I_GR = \",\"{:.2e}\".format(I_GR),\"A\"\n",
+ "# The generation-recombination prefactor is much larger than prefactor due to diffusion term\n",
+ "#In forward bias the diffusion current is initially much smaller than the generation recombination term but at high forward bias diffusion current will start to dominate\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The prefactor of the is ,generation recombination currentIo_GR = 3.84e-11 A\n",
+ "The diode current is ,I_GR = 1.76e-09 A\n",
+ "The diode current is ,I_GR = 3.94e-06 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex5.11:pg-189"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "A= 1.0*10**-8\n",
+ "Na=1.0*10**23\n",
+ "Nd=1.0*10**23\n",
+ "Dp = 10.0*10**-4\n",
+ "Dn = 30.0*10**-4\n",
+ "Tn = 1.0*10**-7\n",
+ "Tp = 1.0*10**-7\n",
+ "tau = 1.0*10**-8\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "ni = 1.5*10**16\n",
+ "apsilen = 11.9*8.85*10**-12\n",
+ "#NOTE: nn=Nd and pp=Na\n",
+ "Lp = sqrt(Dp*Tp)\n",
+ "print\"The hole diffusion length is ,Lp = \",\"{:.2e}\".format(Lp),\"m\"\n",
+ "Ln = sqrt(Dn*Tn)\n",
+ "print\"The electron diffusion length is ,Ln = \",\"{:.2e}\".format(Ln),\"m\"\n",
+ "# NOTE: pn= (ni**2/nn) and np=(ni**2/pp)\n",
+ "np=ni**2/Na\n",
+ "print\"The electron conc in p type is ,np=\",\"{:.2e}\".format(np),\"m**-3\"\n",
+ "pn=ni**2/Nd\n",
+ "print\"The holes conc in n type is ,pn=\",\"{:.2e}\".format(pn),\"m**-3\"\n",
+ "Vbi = kbT*log((Na*Nd)/ni**2)\n",
+ "print\"The built in voltage is ,Vbi =\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "Io = e*((((Dn)*np)/(Ln))+((Dp*pn)/(Lp)))\n",
+ "print\"The prefactor in the ideal diode is ,Io =\",\"{:.2e}\".format(Io),\"A\"\n",
+ "#let Vf = 0.5 V \n",
+ "Vf = 0.5\n",
+ "W = sqrt((2*apsilen/e)*((Na+Nd)/Nd/Na)*(Vbi-Vf))\n",
+ "print\"The depletion width is ,W =\",\"{:.2e}\".format(W),\"m\"\n",
+ "Io_GR = e*A*W*ni/(2*tau)\n",
+ "print\"prefactor for recombination generation current, Io_GR = \",\"{:.2e}\".format(Io_GR),\"A\"\n",
+ "I = (Io*exp(Vf/kbT))+(Io_GR*exp(Vf/(2*kbT)))\n",
+ "I_V1 = I\n",
+ "print\"Current, I =\",\"{:.2e}\".format(I_V1),\"A\"\n",
+ "#let V = 0.6 V \n",
+ "Vf = 0.6\n",
+ "W = sqrt((2*apsilen/e)*((Na+Nd)/Nd/Na)*(Vbi-Vf))\n",
+ "print\"The depletion width is ,W =\",\"{:.2e}\".format(W),\"m\"\n",
+ "Io_GR = e*A*W*ni/2/tau\n",
+ "print\"prefactor for recombination generation current, Io_GR = \",\"{:.1e}\".format(Io_GR),\"A\"\n",
+ "I = (Io*exp(Vf/kbT))+(Io_GR*exp(Vf/(2*kbT)))\n",
+ "I_V2 = I\n",
+ "print\"Current, I =\",\"{:.2e}\".format(I_V2),\"A\"\n",
+ "V1 = 0.5\n",
+ "V2 = 0.6\n",
+ "n = e*(V2-V1)/kbT/log(I_V2/I_V1)\n",
+ "print\"Ideallity factor ,n =\",\"{:.2e}\".format(n)\n",
+ "#note: in the text book the value of \n",
+ "#-+\"prefactor of ideal diode equation, Io\" \n",
+ "#calculated by author is wrong thus it efect the overall calculation of the solution ,so the answer in the are wrong of some of the values\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The hole diffusion length is ,Lp = 1.00e-05 m\n",
+ "The electron diffusion length is ,Ln = 1.73e-05 m\n",
+ "The electron conc in p type is ,np= 2.25e+09 m**-3\n",
+ "The holes conc in n type is ,pn= 2.25e+09 m**-3\n",
+ "The built in voltage is ,Vbi = 8.17e-01 V\n",
+ "The prefactor in the ideal diode is ,Io = 9.84e-08 A\n",
+ "The depletion width is ,W = 9.14e-08 m\n",
+ "prefactor for recombination generation current, Io_GR = 1.10e-10 A\n",
+ "Current, I = 2.21e+01 A\n",
+ "The depletion width is ,W = 7.56e-08 m\n",
+ "prefactor for recombination generation current, Io_GR = 9.1e-11 A\n",
+ "Current, I = 1.04e+03 A\n",
+ "Ideallity factor ,n = 1.60e-19\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.12:pg-195"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "apsilen = 11.9*8.85*10**-14\n",
+ "Na=1.0*10**19\n",
+ "Nd=1.0*10**16\n",
+ "e = 1.6*10**-19\n",
+ "Fcrit1 = 4.0*10**5\n",
+ "Fcrit2 = 1.0*10**7\n",
+ "VBD_Si = (apsilen*Fcrit1**2)/(2*e*Nd)\n",
+ "print\"The breakdown field for silicon is ,VBD_Si =\",\"{:.2e}\".format(VBD_Si),\" V\"\n",
+ "VBD_C = (apsilen*Fcrit2**2)/(2*e*Nd)\n",
+ "print\"The breakdown field for diomond is ,VBD_C =\",\"{:.2e}\".format(VBD_C),\" V\"\n",
+ "# Note : In the textbook answer of breakdown voltage of silicon is wrong due to which breakdown voltage of diomand also differ\n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The breakdown field for silicon is ,VBD_Si = 5.27e+01 V\n",
+ "The breakdown field for diomond is ,VBD_C = 3.29e+04 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.13:pg-199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import numpy as np\n",
+ "print\"Let the intercept of the 1/c**2 Vs V plot is represented by Icv, which is the built in voltage\"\n",
+ "Icv = 0.68\n",
+ "Vbi = Icv\n",
+ "print\"Let the slope of the intercept of the 1/c**2 Vs V plot is represented by dIcv\"\n",
+ "dIcv=2.1*10**23\n",
+ "C = 7.0*10**-13\n",
+ "#NOTE: The above mentioned values are taken from the figure given in the question in textbook\n",
+ "apsilen = 11.9*8.85*10**-12\n",
+ "e = 1.6*10**-19\n",
+ "kbT = 0.026\n",
+ "A = 10**-7\n",
+ "ni = sqrt(2.25*10**20)\n",
+ "Neff = 2/(A**2*e*apsilen*dIcv)\n",
+ "print\"The thickness of n region is ,Neff =\",\"{:.2e}\".format(Neff),\" m**-3\"\n",
+ "Neff = Neff/10**6\n",
+ "print\"The thickness of n region is ,Neff =\",\"{:.2e}\".format(Neff),\" cm**-3\"\n",
+ "NaNd = exp(Vbi/kbT)*ni**2\n",
+ "print\"NaNd =\",\"{:.2e}\".format(NaNd),\" cm**-6\"\n",
+ "# solving for Na and Nd by creating a quadratic equation using the equations mentioned in the book\n",
+ "p1 = [Neff*NaNd, -NaNd, Neff]\n",
+ "#Neff*NaNd - NaNd*X + Neff*X**2 \n",
+ "p1=p1[0]\n",
+ "#p2=p1[1]\n",
+ "print(p1)\n",
+ "R= roots(p1)\n",
+ "#s=roots(p2)\n",
+ "Na= R\n",
+ "#Nd= s\n",
+ "#format ('e',10)\n",
+ "#print\"Na = \"\"{:.2e}\".format(Na),\"cm**-3\"\n",
+ "#print\"Nd = \"\"{:.2e}\".format(Nd),\"cm**-3\"\n",
+ "W = (apsilen*A)/C\n",
+ "print\"The thickness of n region is ,W =\",\"{:.1e}\".format(W),\" m\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Let the intercept of the 1/c**2 Vs V plot is represented by Icv, which is the built in voltage\n",
+ "Let the slope of the intercept of the 1/c**2 Vs V plot is represented by dIcv\n",
+ "The thickness of n region is ,Neff = 5.65e+19 m**-3\n",
+ "The thickness of n region is ,Neff = 5.65e+25 cm**-3\n",
+ "NaNd = 5.14e+31 cm**-6\n",
+ "The thickness of n region is ,W = 1.5e-05 m\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.14:pg-201"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import cmath\n",
+ "e = 1.6*10**-19\n",
+ "I= 1*10**-3\n",
+ "kbT = 0.026\n",
+ "Tp = 10**-6\n",
+ "Gs = (I)/(kbT)\n",
+ "print\"The diode conductance is Gs = \",\"{:.2e}\".format(Gs),\"A/V\"\n",
+ "Cdiff = (I*Tp)/(2*kbT)\n",
+ "print\"The diffusion capacitance is Cdiff = \",\"{:.2e}\".format(Cdiff),\"F\"\n",
+ "# The diffusion capacitance is much larger than junction capacitance hence neglecting junction capacitance\n",
+ "Y = Gs+(1j*2*math.pi*10**6*Cdiff)\n",
+ "print\"The admittance of the diode is Y =\",Y,\"A/V\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The diode conductance is Gs = 3.85e-02 A/V\n",
+ "The diffusion capacitance is Cdiff = 1.92e-08 F\n",
+ "The admittance of the diode is Y = (0.0384615384615+0.120830486677j) A/V\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex5.15:pg-207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Vr= 10.0\n",
+ "R= 10.0*10**3\n",
+ "#The junction capacitance is 20pF at zero bias and 10 pF at full reverse bias so\n",
+ "Cavg= ((20+10)/2)\n",
+ "Tp = 10**-7\n",
+ "Ir = (Vr)/(R)\n",
+ "Tsd = Tp*log(2)\n",
+ "print\"The storage delay time is Tsd = \",\"{:.2e}\".format(Tsd),\" s\"\n",
+ "Tt = 2.3*R*Cavg*10**-12\n",
+ "print\"The time Tt = \",\"{:.2e}\".format(Tt),\" s\"\n",
+ "T = Tsd+Tt\n",
+ "print\"The total diode recovery time is T = \",\"{:.2e}\".format(T),\" s\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n",
+ "\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The storage delay time is Tsd = 6.93e-08 s\n",
+ "The time Tt = 3.45e-07 s\n",
+ "The total diode recovery time is T = 4.14e-07 s\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter6.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter6.ipynb
new file mode 100644
index 00000000..535243d9
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter6.ipynb
@@ -0,0 +1,369 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:04a6842d7b11c3362cf74422ffc19db29b3f2ea1cd75fe882bcb992815e56505"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Chapter6:SEMICONDUCTOR JUNCTIONS WITH METALS AND INSULATORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex6.1:pg-226"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19\n",
+ "n = 10**22\n",
+ "rho = 2.7*10**(-6)\n",
+ "print\"using following terms J = Current density ; s(sigma) = 1/rho = conductivity ; F = Electric field \"\n",
+ "print\"Using relations J = s*F = n*e*v = n*e*u*F ; we get\"\n",
+ "mu_ = 1.0/(n*e*rho)\n",
+ "print\"The mobility of electrons in aluminium is ,mu_ =\",\"{:.2e}\".format(mu_),\"cm**2(Vs)**-1\"\n",
+ "#The answer given in the book is 240.4 cm**2/Vs which is wrong\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "using following terms J = Current density ; s(sigma) = 1/rho = conductivity ; F = Electric field \n",
+ "Using relations J = s*F = n*e*v = n*e*u*F ; we get\n",
+ "The mobility of electrons in aluminium is ,mu_ = 2.31e+02 cm**2(Vs)**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex6.2:pg-232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "e = 1.6*10**-19\n",
+ "apsilen = 11.9*8.85*10**-12\n",
+ "A= 7.85*10**-9\n",
+ "S= 3*10**24\n",
+ "Nd = (2/(S*e*apsilen*(A**2)))\n",
+ "print\"The doping density in silicon is ,Nd =\",\"{:.2e}\".format(Nd),\"m**-3\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The doping density in silicon is ,Nd = 6.42e+20 m**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex6.3:pg-236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nd = 10**16\n",
+ "Nc = 2.8*10**19\n",
+ "kBT=0.026\n",
+ "Vf=0.3\n",
+ "e = 1.6*10**-19\n",
+ "A= 10**-3\n",
+ "print\" for W-n type Si schottky barrier \"\n",
+ "T = 300\n",
+ "phi_b = 0.67\n",
+ "print\"schottky barrier heights(in volts) =\",\"{:.2e}\".format(phi_b),\"eV\"\n",
+ "R = 110\n",
+ "Is = A*R*(T**2)*(exp(-(phi_b)/(kBT)))\n",
+ "print\"The reverse saturation current is ,Is =\",\"{:.2e}\".format(Is),\"A\"\n",
+ "print\"using relation I= Is*(exp((e*V)/(nkBT))-1) and neglecting 1\"\n",
+ "I = Is*(exp((Vf)/(kBT)))\n",
+ "print\"I=\",\"{:.1e}\".format(I),\"A\"\n",
+ "print\" for Si p+ -n junction diode \"\n",
+ "Na = 10**19\n",
+ "Db = 10.5\n",
+ "Tb = 10**-6\n",
+ "Lb = sqrt(Db*Tb)\n",
+ "print\"The electron carrier diffusion length is,Lb =\",\"{:.2e}\".format(Lb),\"cm\"\n",
+ "pn = 2.2*10**4\n",
+ "Io = A*e*pn*(Db/Lb)\n",
+ "print\"The saturation current current is Io =\",\"{:.1e}\".format(Io),\"A\"\n",
+ "I1 = Io*(exp((Vf)/(kBT)))\n",
+ "print\"The diode current for HBT is ,I =\",\"{:.1e}\".format(I1),\"A\"\n",
+ "print\"Since diode current for HBT is almost 6 orders of magnitude smaller than the value in the Schottky diode \"\n",
+ "print\"hence for the p-n diode to have the same current that the schottky dode has at .3 V , the voltage required is .71V\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " for W-n type Si schottky barrier \n",
+ "schottky barrier heights(in volts) = 6.70e-01 eV\n",
+ "The reverse saturation current is ,Is = 6.37e-08 A\n",
+ "using relation I= Is*(exp((e*V)/(nkBT))-1) and neglecting 1\n",
+ "I= 6.5e-03 A\n",
+ " for Si p+ -n junction diode \n",
+ "The electron carrier diffusion length is,Lb = 3.24e-03 cm\n",
+ "The saturation current current is Io = 1.1e-14 A\n",
+ "The diode current for HBT is ,I = 1.2e-09 A\n",
+ "Since diode current for HBT is almost 6 orders of magnitude smaller than the value in the Schottky diode \n",
+ "hence for the p-n diode to have the same current that the schottky dode has at .3 V , the voltage required is .71V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex6.4:pg-237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kBT=0.026\n",
+ "mo = 9.1*10**-31\n",
+ "m=0.08*mo\n",
+ "T = 300\n",
+ "phi_b1 = 0.7\n",
+ "phi_b2 = 0.6\n",
+ "R = 120*(m/mo)\n",
+ "print\"The effective richardson constant is ,R* =\",round(R,2),\" A cm**-2 k**-2\"\n",
+ "Js1 = R*(T**2)*(exp(-(phi_b1)/(kBT)))\n",
+ "print\"The saturation current density is ,Js(phi_b=0.7) =\",\"{:.1e}\".format(Js1),\"A/cm**2\"\n",
+ "Js2 = R*(T**2)*(exp(-(phi_b2)/(kBT)))\n",
+ "print\"The saturation current density is ,Js(phi_b=0.6) =\",\"{:.2e}\".format(Js2),\"A/cm**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The effective richardson constant is ,R* = 9.6 A cm**-2 k**-2\n",
+ "The saturation current density is ,Js(phi_b=0.7) = 1.8e-06 A/cm**2\n",
+ "The saturation current density is ,Js(phi_b=0.6) = 8.21e-05 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex6.5:pg-239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "apsilen = 11.9*8.85*10**-12\n",
+ "Nd = 10**16\n",
+ "Nc = 2.8*10**19\n",
+ "kBT = 0.026\n",
+ "I=10*10**-3\n",
+ "e = 1.6*10**-19\n",
+ "A= 10**-3\n",
+ "print\" for W-n type Si schottky barrier \"\n",
+ "T = 300\n",
+ "phi_b = 0.67\n",
+ "R = 110\n",
+ "Is = A*R*(T**2)*(exp(-(phi_b)/(kBT)))\n",
+ "V = kBT*(log(I/Is))\n",
+ "E = kBT*log(Nc/Nd)\n",
+ "print\"The fermi level positionin the neutral semiconductor(Efs) with respect to the conduction band is,Ec-Efs= E = \",\"{:.2e}\".format(E),\"eV\"\n",
+ "Vbi= phi_b-(E)\n",
+ "print\"The built in voltage is ,Vbi=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "Cd = A*sqrt((e*Nd*apsilen)/(2*(Vbi-V)))\n",
+ "print\"The diode capacitance is ,Cd =\",\"{:.2e}\".format(Cd),\"F\"\n",
+ "R = kBT/I\n",
+ "print\"The resistance is ,R =\",\"{:.2e}\".format(R),\"ohm\"\n",
+ "RC = R*Cd\n",
+ "print\"The RC time constant is ,RC(schottky) =\",\"{:.2e}\".format(RC),\"s\"\n",
+ "print\" for Si p+ -n junction diode \"\n",
+ "Tb = 10**-6\n",
+ "print\"In the p-n diode the junction capacitance and the small signal resistance will be same as those in the schottky diode\"\n",
+ "Cdiff = ((I*Tb)/(kBT))\n",
+ "print\"The diffusion capacitance is ,Cdiff = (I*Tb)/(kBT) = \",\"{:.2e}\".format(Cdiff),\"F\"\n",
+ "RC1 = R*Cdiff\n",
+ "print\"The RC time constant is ,RC(p-n) = \",\"{:.2e}\".format(RC1),\"s\"\n",
+ "print\"From the above RC time constant value it can be concluded that p-n diode is almost 1000 times slower\"\n",
+ "# Note: due to approximation, the value of diode capicitance and diffusion capacitance are differ from that of the textbook"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " for W-n type Si schottky barrier \n",
+ "The fermi level positionin the neutral semiconductor(Efs) with respect to the conduction band is,Ec-Efs= E = 2.06e-01 eV\n",
+ "The built in voltage is ,Vbi="
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 4.64e-01 V\n",
+ "The diode capacitance is ,Cd = 7.43e-10 F\n",
+ "The resistance is ,R = 2.60e+00 ohm\n",
+ "The RC time constant is ,RC(schottky) = 1.93e-09 s\n",
+ " for Si p+ -n junction diode \n",
+ "In the p-n diode the junction capacitance and the small signal resistance will be same as those in the schottky diode\n",
+ "The diffusion capacitance is ,Cdiff = (I*Tb)/(kBT) = 3.85e-07 F\n",
+ "The RC time constant is ,RC(p-n) = 1.00e-06 s\n",
+ "From the above RC time constant value it can be concluded that p-n diode is almost 1000 times slower\n"
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex6.6:pg-242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "apsilen = 11.9*8.85*10**-14\n",
+ "phi_b = 0.66\n",
+ "mo = 9.1*10**-31\n",
+ "m=0.34*mo\n",
+ "e = 1.6*10**-19\n",
+ "h = 1.05*10**-34\n",
+ "n1 = 10**18\n",
+ "n2 = 10**20\n",
+ "print\"Assume that the built in potential Vbi is same as barrier potential becouse of highly doped semiconductor\"\n",
+ "W1 = (sqrt((2*apsilen*phi_b)/(e*n1)))/10**-8\n",
+ "print\"The depletion width is ,W(n=10**18) =\",\"{:.2e}\".format(W1),\" Angstrom\"\n",
+ "W2 = (sqrt((2*apsilen*phi_b)/(e*n2)))/10**-8\n",
+ "print\"The depletion width is ,W(n=10**20) =\",\"{:.2e}\".format(W2),\" Angstrom\"\n",
+ "F1 = phi_b/(W1*10**-8)\n",
+ "print\"The average field in depletion region for(n=10**18), F1 =\",\"{:.2e}\".format(F1),\"V/cm\"\n",
+ "F2 = phi_b/(W2*10**-8)\n",
+ "print\"The average field in depletion region for(n=10**18), F2 =\",\"{:.2e}\".format(F2),\"V/cm\"\n",
+ "F1 = F1/10**-2\n",
+ "F2 = F2/10**-2\n",
+ "T = exp(-(4.0*(2.0*m)**.5*(e*phi_b)**(3.0/2.0))/(3.0*e*F1*h))\n",
+ "print\"The tunneling current for(n=10**18),T =\",\"{:.2e}\".format(T),\"V/cm\"\n",
+ "T1 = exp(-(4.0*(2.0*m)**.5*(e*phi_b)**(3.0/2.0))/(3.0*e*F2*h))\n",
+ "print\"The tunneling current for(n=10**20), T1 =\",\"{:.2e}\".format(T1),\"V/cm\"\n",
+ "# in the textbook author has used approximate value for depletion width and hence it affect the value of all other answer\n",
+ "# NOTE: In the textbook author has used approximate answer for tunneling current"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Assume that the built in potential Vbi is same as barrier potential becouse of highly doped semiconductor\n",
+ "The depletion width is ,W(n=10**18) = 2.95e+02 Angstrom\n",
+ "The depletion width is ,W(n=10**20) = 2.95e+01 Angstrom\n",
+ "The average field in depletion region for(n=10**18), F1 = 2.24e+05 V/cm\n",
+ "The average field in depletion region for(n=10**18), F2 = 2.24e+06 V/cm\n",
+ "The tunneling current for(n=10**18),T = 2.79e-42 V/cm\n",
+ "The tunneling current for(n=10**20), T1 = 6.99e-05 V/cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex6.7:pg-248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "n = 10**18\n",
+ "W = 25*10**-4\n",
+ "R = 100*10**3\n",
+ "e = 1.6*10**-19\n",
+ "D= 5000*10**-8\n",
+ "mu_=100.0\n",
+ "Ro = 1.0/(n*e*mu_*D)\n",
+ "print\"The sheet resistance of the film is ,Ro =\",\"{:.2e}\".format(Ro),\" ohm/square\"\n",
+ "L = (R*W)/Ro\n",
+ "print\"The length of the desired resistor is ,L =\",\"{:.2e}\".format(L),\" cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The sheet resistance of the film is ,Ro = 1.25e+03 ohm/square\n",
+ "The length of the desired resistor is ,L = 2.00e-01 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter7.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter7.ipynb
new file mode 100644
index 00000000..c5f7e248
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter7.ipynb
@@ -0,0 +1,710 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:583e9a3370db0a45b2805011aaba429aa5ff178400e4cdec220559b9edbb5a50"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter7:BIPOLAR JUNCTION TRANSISTORS"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex7.2:pg-275"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "alpha_F=.99\n",
+ "alpha_R=.25\n",
+ "kbT = 0.026\n",
+ "# for part a\n",
+ "Ic1 = 1.0\n",
+ "Ib1 = .02\n",
+ "\n",
+ "VCE= kbT*log((((Ic1*(1-alpha_R))+Ib1)*alpha_F)/(((alpha_F*Ib1)-((Ic1*(1-alpha_F))))*alpha_R))\n",
+ "print\"The saturation voltage is ,VCE=\",\"{:.2e}\".format(VCE),\" V\"\n",
+ " #for part b\n",
+ "Ic2 = 5.0\n",
+ "Ib2 = .075\n",
+ "VCE1= kbT*log((((Ic2*(1-alpha_R))+Ib2)*alpha_F)/(((alpha_F*Ib2)-((Ic2*(1-alpha_F))))*alpha_R))\n",
+ "print\"The saturation voltage is ,VCE1=\",\"{:.2e}\".format(VCE1),\" V\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The saturation voltage is ,VCE= 1.49e-01 V\n",
+ "The saturation voltage is ,VCE1= 1.67e-01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex7.3:pg-278"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "nbo = 2.25*10**3\n",
+ "peo = 112.5\n",
+ "pco = 2.25*10**4\n",
+ "# using law of mass action for a homogeneous semiconductor, we have relation peo*neo=nbo*pbo=ni**2 \n",
+ "ni_power_2 = nbo/peo\n",
+ "print\"square of electron density of ionisation electron for npn silicon transistor is ni**2 = \",\"{:.2e}\".format(ni_power_2),\"cm**-3\"\n",
+ "pbo = 10**16\n",
+ "V = (1.0-((peo)/(10*nbo)))\n",
+ "print\"The emitter efficiency (gamma)is,V =\",\"{:.2e}\".format(V)\n",
+ "neo = ni_power_2*pbo\n",
+ "print\"The required emitter doping is,neo =\",\"{:.2e}\".format(neo),\"cm**-3\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " square of electron density of ionisation electron for npn silicon transistor is ni**2 = 2.00e+01 cm**-3\n",
+ "The emitter efficiency (gamma)is,V = 9.95e-01\n",
+ "The required emitter doping is,neo = 2.00e+17 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.4:pg-279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "B= 0.997\n",
+ "Db = 10.0\n",
+ "Tb = 10**-6\n",
+ "Lb = sqrt(Db*Tb)\n",
+ "print\"The electron carrier diffusion length is,Lb =\",\"{:.2e}\".format(Lb),\"cm\"\n",
+ "# assume the neutral basewidth Wbn is equal to actual basewidth Wb\n",
+ "Wbn = sqrt((1-B)*(2*(Lb**2)))\n",
+ "print\"The base width is,Wb =\",\"{:.2e}\".format(Wbn),\"cm\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electron carrier diffusion length is,Lb = 3.16e-03 cm\n",
+ "The base width is,Wb = 2.45e-04 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.5:pg-279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# using values from the result of Example 7.1\n",
+ "VEB = 0.6\n",
+ "Ic = 0.2268*10**-3\n",
+ "Ib = 4.92*10**-6\n",
+ "kbT = 0.026\n",
+ "Beta = Ic/Ib\n",
+ "print\"The current gain Beta =\",round(Beta)\n",
+ "gm = Ic/kbT\n",
+ "print\"The transconductance is,gm =\",\"{:.2e}\".format(gm),\"S\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current gain Beta = 46.0\n",
+ "The transconductance is,gm = 8.72e-03 S\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.6:pg-279"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "De = 20.0\n",
+ "Db=De\n",
+ "Nde = 5*10**17\n",
+ "Nab = 10**17\n",
+ "Wb = 10**-4\n",
+ "ni = 1.5*10**10\n",
+ "# for case (a) value of Te=10**-6s\n",
+ "Te1 = 10**-6\n",
+ "Le1 = sqrt(De*Te1)\n",
+ "Lb1=Le1\n",
+ "peo1 = (ni)**2/Nde\n",
+ "print\"The majority carrier densities for the emitter in npn transistor is,peo = \",\"{:.2e}\".format(peo1),\"cm**-3\"\n",
+ "nbo1 = (ni)**2/Nab\n",
+ "print\"The majority carrier densities for the base in npn transistor is,nbo =\",\"{:.2e}\".format(nbo1),\"cm**-3\"\n",
+ "alpha_1 = (1.0-((peo1*De*Wb)/(nbo1*Db*Le1)))*(1-((Wb**2)/(2*Le1**2)))\n",
+ "print\"The current gain is,alpha_ =\"\"{:.2e}\".format(alpha_1)\n",
+ "Beta1 = (alpha_1)/(1.0-alpha_1)\n",
+ "print\"The current gain Beta1 =\",round(Beta1,1)\n",
+ "#for case (b) value of Te=10**-8s\n",
+ "Te2 = 10**-8\n",
+ "Le2 = sqrt(De*Te2)\n",
+ "print\"The diffusion length is,Le =\",\"{:.2e}\".format(Le2),\"cm\"\n",
+ "peo2 = (ni)**2/Nde\n",
+ "nbo2 = (ni)**2/Nab\n",
+ "alpha_2 = (1-((peo2*De*Wb)/(nbo2*Db*Le2)))*(1-((Wb**2)/(2*Le2**2)))\n",
+ "print\"The current gain alpha_ =\",\"{:.2e}\".format(alpha_2)\n",
+ "Beta2 = (alpha_2)/(1-alpha_2)\n",
+ "print\"The current gain Beta2 =\",round(Beta2,1)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The majority carrier densities for the emitter in npn transistor is,peo = 4.50e+02 cm**-3\n",
+ "The majority carrier densities for the base in npn transistor is,nbo = 2.25e+03 cm**-3\n",
+ "The current gain is,alpha_ =9.95e-01\n",
+ "The current gain Beta1 = 210.8\n",
+ "The diffusion length is,Le = 4.47e-04 cm\n",
+ "The current gain alpha_ = 9.31e-01\n",
+ "The current gain Beta2 = 13.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex7.7:pg-281"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "nbo = 2.25*10**3\n",
+ "peo = 112.5\n",
+ "Db = 30.0\n",
+ "De = 10.0\n",
+ "Nde = 10**18\n",
+ "Nab = 10**16\n",
+ "Lb = 10*10**-4\n",
+ "Le = 4*10**-4\n",
+ "kbT = 0.026\n",
+ "Wb = 0.5*10**-4\n",
+ "We1 = 10*10**-4\n",
+ "We2 = 1.0*10**-4\n",
+ "e = 1.6*10**-19\n",
+ "print\"for emitter thickness = 10*10**-4 cm\"\n",
+ "gamma_1 = (((Db*nbo*math.tan(Lb/Wb))/(Lb))/(((Db*nbo*math.tan(Lb/Wb))/Lb)+((De*peo*math.tan(Le/We1))/Le)))\n",
+ "print\"The emitter efficiency gamma_1 =\",\"{:.2e}\".format(gamma_1)\n",
+ "print\"for emitter thickness = 10**-4 cm\"\n",
+ "gamma_2 = (((Db*nbo*math.tan(Lb/Wb))/(Lb))/(((Db*nbo*math.tan(Lb/Wb))/Lb)+((De*peo*math.tan(Le/We2))/Le)))\n",
+ "print\"The emitter efficiency (gamma)is,gamma_2 =\"\"{:.1e}\".format(gamma_2)\n",
+ "#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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "for emitter thickness = 10*10**-4 cm\n",
+ "The emitter efficiency gamma_1 = 9.92e-01\n",
+ "for emitter thickness = 10**-4 cm\n",
+ "The emitter efficiency (gamma)is,gamma_2 =9.8e-01\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.8:pg-289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Ndc = 5*10**15\n",
+ "Nab = 5*10**16\n",
+ "ni = sqrt(2.25*10**20)\n",
+ "kbT = 0.026\n",
+ "e = 1.6*10**-19\n",
+ "Vbi= (kbT)*((log((Nab*Ndc)/(ni**2))))\n",
+ "print\"The built in voltage is ,Vbi=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "print\" for an applied bias of 1 V \"\n",
+ "VCB1 = 1\n",
+ "apsilent_s = 11.9*8.85*10**-14\n",
+ "Wb = 10**-4\n",
+ "dWb1 = sqrt((2*apsilent_s*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))\n",
+ "print\"The extent of depletion into the base side is,dWb =\",\"{:.2e}\".format(dWb1),\"cm\"\n",
+ "Wbn1 = Wb-dWb1\n",
+ "print\"The neutral base width is,Wbn =\",\"{:.2e}\".format(Wbn1),\"cm\"\n",
+ "nbo = ((ni)**2)/Nab\n",
+ "print\"The required base doping is,nbo =\",\"{:.2e}\".format(nbo),\"cm**-3\"\n",
+ "Db = 20\n",
+ "VBE = 0.7\n",
+ "Jc1 = ((e*Db*nbo)/Wbn1)*(exp(VBE/kbT))\n",
+ "print\"The collector current density is,Jc1 =\",\"{:.2e}\".format(Jc1),\"A/cm**2\"\n",
+ "print\" for an applied bias of 5 V \"\n",
+ "VCB2 = 5.0\n",
+ "VCE1= VCB1+VBE\n",
+ "print\"The collector emitter voltage is ,VCE=\",\"{:.2e}\".format(VCE1),\" V\"\n",
+ "VCE2= VCB2+VBE\n",
+ "print\"The collector emitter voltage is ,VCE=\",\"{:.2e}\".format(VCE2),\" V\"\n",
+ "dWb2 = sqrt((2*apsilent_s*(Vbi+VCB2)*Ndc)/(e*Nab*(Nab+Ndc)))\n",
+ "print\"The extent of depletion into the base side is,dWb =\",\"{:.2e}\".format(dWb2),\"cm\"\n",
+ "Wbn2 = Wb-dWb2\n",
+ "print\"The neutral base width is,Wbn =\",\"{:.2e}\".format(Wbn2),\"cm\"\n",
+ "Jc2 = ((e*Db*nbo)/Wbn2)*(exp(VBE/kbT))\n",
+ "print\"The collector current density is,Jc =\",\"{:.2e}\".format(Jc2),\" A/cm**2\"\n",
+ "VA = (Jc1/((Jc2-Jc1)/(VCE2-VCE1)))-(VCE1)\n",
+ "print\"The Early voltage is,VA =\",\"{:.2e}\".format(VA),\"V\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ by \"0.2\" value."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The built in voltage is ,Vbi= 7.21e-01 V\n",
+ " for an applied bias of 1 V \n",
+ "The extent of depletion into the base side is,dWb = 6.42e-06 cm\n",
+ "The neutral base width is,Wbn = 9.36e-05 cm\n",
+ "The required base doping is,nbo = 4.50e+03 cm**-3\n",
+ "The collector current density is,Jc1 = 7.58e+01 A/cm**2\n",
+ " for an applied bias of 5 V \n",
+ "The collector emitter voltage is ,VCE= 1.70e+00 V\n",
+ "The collector emitter voltage is ,VCE= 5.70e+00 V\n",
+ "The extent of depletion into the base side is,dWb = 1.17e-05 cm\n",
+ "The neutral base width is,Wbn = 8.83e-05 cm\n",
+ "The collector current density is,Jc = 8.03e+01 A/cm**2\n",
+ "The Early voltage is,VA = 6.51e+01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex7.9:pg-290"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Ndc = 10**16\n",
+ "Nab = 5*10**16\n",
+ "e = 1.6*10**-19\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "Wb = .2*10**-4\n",
+ "Vpt= ((e*(Wb**2)*Nab*(Ndc+Nab))/(2*apsilen*Ndc))\n",
+ "print\"The punchthrough voltage is ,Vpt=\",round(Vpt,2),\"V\"\n",
+ "Twb = 1.2*10**-4\n",
+ "F = Vpt/Twb\n",
+ "print\"The average field at punchthrough voltage is ,F =\",\"{:.2e}\".format(F),\"V/cm\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ by \"0.16\" value."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The punchthrough voltage is ,Vpt= 9.12 V\n",
+ "The average field at punchthrough voltage is ,F = 7.60e+04 V/cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.10:pg-290"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "apsilent_s = 11.9*8.85*10**-14\n",
+ "Ndc = 5.0*10**16\n",
+ "Nde = 10**18\n",
+ "Nab = 10**17\n",
+ "ni = sqrt(2.25*10**20)\n",
+ "kbT = 0.026\n",
+ "e = 1.6*10**-19\n",
+ "Db = 30.0\n",
+ "De = 10\n",
+ "Lb = 15*10**-4\n",
+ "Le = 5*10**-4\n",
+ "Beta= 100\n",
+ "nbo = 2.25*10**3\n",
+ "peo = 112.5\n",
+ "VCB1 = 5.0\n",
+ "#\"using relation B = (IC/IB) = ((Db*nbo*Le)/(De*peo*Wbn))\"\n",
+ "Wbn = ((Db*nbo*Le)/(De*peo*100))\n",
+ "print\"neutral base width is ,Wbn =\",\"{:.2e}\".format(Wbn),\"cm\"\n",
+ "Vbi= (kbT)*((log((Nab*Ndc)/(ni**2))))\n",
+ "print\"The built in voltage is ,Vbi=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "dWb1 = sqrt((2*apsilent_s*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))\n",
+ "print\"The extent of depletion into the base side is,dWb =\",\"{:.2e}\".format(dWb1),\"cm\"\n",
+ "Wb = Wbn+dWb1\n",
+ "print\"The base width is,Wb = Wbn+dWb1= \",\"{:.2e}\".format(Wb),\"cm\"\n",
+ "\n",
+ "# NOTE: the value calculated for Wbn is wrong in the book and all the succesive answer also depeandant on that are also wrong\n",
+ "\n",
+ "#(\"Two disadvange are\")\n",
+ "#(\"The output conductance will suffer and the collector current will have a stronger dependence on VCB\")\n",
+ "#(\"The device may suffer punchthrough at a lower bias\")\n",
+ "#(\"Two advantages\")\n",
+ "#(\"The current gain will be higher\")\n",
+ "#(\"The device speed will be faster\")"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "neutral base width is ,Wbn = 3.00e-04 cm\n",
+ "The built in voltage is ,Vbi= 7.99e-01 V\n",
+ "The extent of depletion into the base side is,dWb = 1.60e-05 cm\n",
+ "The base width is,Wb = Wbn+dWb1= 3.16e-04 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex7.11:pg-291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Ndc = 10**16\n",
+ "Nab = 10**17\n",
+ "Nde = 10**18\n",
+ "ni = 1.5*10**10\n",
+ "kbT = 0.026\n",
+ "e = 1.6*10**-19\n",
+ "Db = 30.0\n",
+ "De = 10.0\n",
+ "Lb = 10*10**-4\n",
+ "Le = 10*10**-4\n",
+ "Wb = 10**-4\n",
+ "We = 10**-4\n",
+ "Vbi= (kbT)*((log((Nab*Ndc)/ni**2)))\n",
+ "print\"The built in voltage is ,Vbi= (kbT)*((log((Na*Nd)/Ni**2)))= \",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "print\" for an applied reverse bias of 5 V \"\n",
+ "VCB1 = 5.0\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "nbo = 2.25*10**3\n",
+ "peo = 112.5\n",
+ "dWb1 = sqrt((2*apsilen*(Vbi+VCB1)*Ndc)/(e*Nab*(Nab+Ndc)))\n",
+ "print\"The extent of depletion into the base side is,dWb =\",\"{:.2e}\".format(dWb1),\"cm\"\n",
+ "Wbn1 = Wb-dWb1\n",
+ "print\"The neutral base width is,Wbn = Wb-dWb1= \",\"{:.2e}\".format(Wbn1),\"cm\"\n",
+ "gamma_e_1 = (1-((peo*De*Wbn1)/(Db*nbo*We)))\n",
+ "print\"The emitter efficiency gamma_e_1 =\",\"{:.2e}\".format(gamma_e_1)\n",
+ "B1 = 1-((Wbn1**2)/(2*(Lb)**2))\n",
+ "print\"The base transport factor is,B =\"\"{:.2e}\".format(B1)\n",
+ "alpha1 = gamma_e_1*B1\n",
+ "print\"The current gain alpha1 =\"\"{:.2e}\".format(alpha1)\n",
+ "Beta3 = (alpha1)/(1-alpha1)\n",
+ "print\"The current gain Beta3 =\"\"{:.2e}\".format(Beta3)\n",
+ "VBE = 1.0\n",
+ "A= 4.0*10**-6\n",
+ "IC = (((e*A*Db*nbo)/(Wbn1))*(exp((VBE)/(kbT))-1))\n",
+ "print\"The collector current is,IC =\",\"{:.2e}\".format(IC),\"A\"\n",
+ "#Note: in text book the author hasused precision value for gamma and alpha thats why there is difference in the value of beta.\n",
+ "print\" for an applied reverse bias of 6 V \"\n",
+ "VCB2 = 6.0\n",
+ "dWb2 = sqrt((2*apsilen*(Vbi+VCB2)*Ndc)/(e*Nab*(Nab+Ndc)))\n",
+ "print\"The extent of depletion into the base side is,dWb2 =\",\"{:.2e}\".format(dWb2),\"cm\"\n",
+ "Wbn2 = Wb-dWb2\n",
+ "print\"The neutral base width is,Wbn2 =\",\"{:.2e}\".format(Wbn2),\"cm\"\n",
+ "IC2 = (((e*A*Db*nbo)/(Wbn2))*(exp((VBE)/(kbT))-1))\n",
+ "print\"The collector current is,IC =\",\"{:.2e}\".format(IC2),\"A\"\n",
+ "go = (IC2-IC)/(VCB2-VCB1)\n",
+ "print\"The output conductance is,go =\",\"{:.2e}\".format(go),\"ohm**-1\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The built in voltage is ,Vbi= (kbT)*((log((Na*Nd)/Ni**2)))= 7.57e-01 V\n",
+ " for an applied reverse bias of 5 V \n",
+ "The extent of depletion into the base side is,dWb = 8.30e-06 cm\n",
+ "The neutral base width is,Wbn = Wb-dWb1= 9.17e-05 cm\n",
+ "The emitter efficiency gamma_e_1 = 9.85e-01\n",
+ "The base transport factor is,B =9.96e-01\n",
+ "The current gain alpha1 =9.81e-01\n",
+ "The current gain Beta3 =5.05e+01\n",
+ "The collector current is,IC = 2.38e+01 A\n",
+ " for an applied reverse bias of 6 V \n",
+ "The extent of depletion into the base side is,dWb2 = 8.99e-06 cm\n",
+ "The neutral base width is,Wbn2 = 9.10e-05 cm\n",
+ "The collector current is,IC = 2.40e+01 A\n",
+ "The output conductance is,go = 1.81e-01 ohm**-1\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.12:pg-310"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "Wb = 0.4*10**-4\n",
+ "e = 1.6*10**-19\n",
+ "IE = 1.5*10**-3\n",
+ "Db = 60.0\n",
+ "Wdc = 2*10**-4\n",
+ "Cje = 2*10**-12\n",
+ "rC = 30.0\n",
+ "TcC = .4*10**-12\n",
+ "#NOTE:Total collector capicitance represented in book as(Cu+Cs)\n",
+ "vs = 10**7\n",
+ "re = kbT/IE\n",
+ "Te = re*Cje\n",
+ "Tt = (Wb**2)/(2*Db)\n",
+ "Td = (Wdc)/vs\n",
+ "Tc = rC*Tc\n",
+ "Tec = Te+Tt+Td+Tc\n",
+ "print\"The total time is,Tec =\",\"{:.2e}\".format(Tec),\"s\"\n",
+ "fT = 1/(2*math.pi*Tec)\n",
+ "print\"fT=\",\"{:.2e}\".format(fT),\"HZ\"\n",
+ "print\"if the emitter current is doubled the time is reduced by half and cutoff frequency becomes 2.54 GHz\"\n",
+ "print\"if the base width is reduced by half , the base transit time becomes 3.3 ps and cutoff frequency becomes 2.08 GHz\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Te= 3.47e-11 S\n",
+ "TC= 3.60e-10 S\n",
+ "The total time is,Tec = 4.28e-10 s\n",
+ "fT= 3.72e+08 HZ\n",
+ "if the emitter current is doubled the time is reduced by half and cutoff frequency becomes 2.54 GHz\n",
+ "if the base width is reduced by half , the base transit time becomes 3.3 ps and cutoff frequency becomes 2.08 GHz\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.13:pg-319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "T = 300.0\n",
+ "Nd1 = 10**18\n",
+ "Nd2 = 10**20\n",
+ "dEg1 = (22.5*sqrt((Nd1*300)/((10**18)*T)))/10**3\n",
+ "print\"The bandgap narrowing is,dEg = \",\"{:.2e}\".format(dEg1),\"ev\"\n",
+ "dEg2= (22.5*sqrt((Nd2*300)/((10**18)*T)))/10**3\n",
+ "print\"The bandgap narrowing is,dEg =\",\"{:.2e}\".format(dEg2),\"ev\"\n",
+ "kbT =0.026\n",
+ "neo1 = 10**18\n",
+ "neo2 = 10**20\n",
+ "ni = sqrt(2.25*10**20)\n",
+ "peo1 = (ni**2*exp(dEg1/kbT))/neo1\n",
+ "print\"The hole density in emitter is,peo =\",\"{:.2e}\".format(peo1),\"cm**-3\"\n",
+ "# note:-there is error in the unit of peo in the book\n",
+ "peo2 = (ni**2*exp(dEg2/kbT))/neo2\n",
+ "print\"The hole density in emitter is,peo2 =\",\"{:.2e}\".format(peo2),\"cm**-3\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The bandgap narrowing is,dEg = 2.25e-02 ev\n",
+ "The bandgap narrowing is,dEg = 2.25e-01 ev\n",
+ "The hole density in emitter is,peo = 5.35e+02 cm**-3\n",
+ "The hole density in emitter is,peo2 ="
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " 1.29e+04 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex7.14:pg-319"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ni = 2.2*10**6\n",
+ "Nde = 5*10**17\n",
+ "Nab = 10**17\n",
+ "kbT = 0.026\n",
+ "Wb = 0.5*10**-4\n",
+ "Db = 100.0\n",
+ "De = 15.0\n",
+ "Le = 1.5*10**-4\n",
+ "dEg = 0.36\n",
+ "print(\" For GaAs \")\n",
+ "peo1 = ni**2/Nde\n",
+ "print\"The minority carrier densities for the emitter in npn GaAs BJT is,peo(GaAs) =\",\"{:.1e}\".format(peo1),\"cm**-3\"\n",
+ "nbo1 = ni**2/Nab\n",
+ "print\"The minority carrier densities for the base in npn GaAs BJT is,nbo = \",\"{:.2e}\".format(nbo1),\"cm**-3\"\n",
+ "Ve1 = (1-((peo1*De*Wb)/(Db*nbo1*Le)))\n",
+ "print\"The emitter efficiency (gamma)is,Ve =\",\"{:.2e}\".format(Ve1)\n",
+ "gammae=1-((peo1*De*Wb)/(nbo1*Db*Le))\n",
+ "print\"gammae=\",round(gammae,2)\n",
+ "print(\" For HBT \")\n",
+ "peo2 = (peo1)*(exp(-(dEg/kbT)))\n",
+ "print\"The minority carrier densities for the emitter in HBT is,peo(HBT) =\",\"{:.1e}\".format(peo2),\"cm**-3\"\n",
+ "print\"in this case the emitter efficiency is essentially unity\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " For GaAs \n",
+ "The minority carrier densities for the emitter in npn GaAs BJT is,peo(GaAs) = 9.7e-06 cm**-3\n",
+ "The minority carrier densities for the base in npn GaAs BJT is,nbo = 4.84e-05 cm**-3\n",
+ "The emitter efficiency (gamma)is,Ve = 9.90e-01\n",
+ "gammae= 0.99\n",
+ " For HBT \n",
+ "The minority carrier densities for the emitter in HBT is,peo(HBT) = 9.4e-12 cm**-3\n",
+ "in this case the emitter efficiency is essentially unity\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb
new file mode 100644
index 00000000..dab318d1
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb
@@ -0,0 +1,473 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:6e318f0f515b2df1396cf49fa3f9877662336f268be595bba389bbb595cdcca4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter8:FIELD EFFECT TRANSISTORS:JFET/MESFET"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.1:pg-342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ni = 1.5*10**10\n",
+ "Na = 10**18\n",
+ "Nd = 10**17\n",
+ "kBT=0.026\n",
+ "e = 1.6*10**-19\n",
+ "Vbi= (kBT)*((log((Na*Nd)/ni**2)))\n",
+ "print\"The built in voltage of a p+n diode is ,Vbi=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "h=.25*10**-4\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "Vp= (e*(h**2)*Nd)/(2*apsilen)\n",
+ "print\"The total volage drop required to pinch the channel is ,Vp= \",\"{:.2e}\".format(Vp),\"V\"\n",
+ "VG= Vbi-Vp\n",
+ "print\"The pinch off at gate bias is ,VG= \",\"{:.2e}\".format(VG),\"V\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The built in voltage of a p+n diode is ,Vbi= 8.77e-01 V\n",
+ "The total volage drop required to pinch the channel is ,Vp= 4.75e+00 V\n",
+ "The pinch off at gate bias is ,VG= -3.87e+00 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex8.2:pg-342"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "phi_b=0.8\n",
+ "T=300.0\n",
+ "kBT=0.026\n",
+ "R_star=8.0\n",
+ "Dp=20.0\n",
+ "pn = 3.38*10**-5\n",
+ "e = 1.6*10**-19\n",
+ "Lp=1*10**-4\n",
+ "# for Schottky case Js = R_star*T**2*(exp(-(phi_b)/(kBT)))\n",
+ "Js = R_star*T**2*(exp(-(phi_b)/(kBT)))\n",
+ "print\"The gate current density is ,Js =\",\"{:.2e}\".format(Js),\"A/cm**2\"\n",
+ "# from p-n diode theory Jo = (e*Dp*pn)/(Lp)\n",
+ "Jo = (e*Dp*pn)/(Lp)\n",
+ "print\"The gate current density is ,Jo =\",\"{:.2e}\".format(Jo),\"A/cm**2\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The gate current density is ,Js = 3.12e-08 A/cm**2\n",
+ "The gate current density is ,Jo = 1.08e-18 A/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.3:pg-349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ni = 1.5*10**10\n",
+ "Nc = 4.45*10**17\n",
+ "Nd = 10**17\n",
+ "kBT=0.026\n",
+ "e = 1.6*10**-19\n",
+ "h=0.25*10**-4\n",
+ "apsilen = 13.2*8.85*10**-14\n",
+ "Vh = 0.8\n",
+ "Vp= (e*(h**2)*Nd)/(2*apsilen)\n",
+ "print\"The total volage drop required to pinch the channel is ,Vp= \",round(Vp,1),\"V\"\n",
+ "Ecf= -(kBT)*(log(Nd/Nc))\n",
+ "print\"The difference between the conduction band and fermi level is ,Ecf=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "Vbi= Vh-Ecf\n",
+ "print\"The built in potential is ,Vbi= \",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "VGS= Vbi-Vp\n",
+ "print\"The pinch off at gate bias is ,VT=\",round(VGS,1),\"V\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total volage drop required to pinch the channel is ,Vp= 4.3 V\n",
+ "The difference between the conduction band and fermi level is ,Ecf= 7.61e-01 V\n",
+ "The built in potential is ,Vbi= 7.61e-01 V\n",
+ "The pinch off at gate bias is ,VT= -3.5 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.4:pg-350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nd = 10**17\n",
+ "e = 1.6*10**-19\n",
+ "apsilen = 13.1*8.85*10**-14\n",
+ "Vbi = 0.76\n",
+ "h= sqrt((2*apsilen*Vbi)/(e*Nd))\n",
+ "print\"The thickness at which the value of Vp is same at Vbi is ,h=\",\"{:.1e}\".format(h),\"cm\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The thickness at which the value of Vp is same at Vbi is ,h= 1.0e-05 cm\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex8.5:pg-350"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nc = 4.45*10**17\n",
+ "Nd = 10**17\n",
+ "kBT=0.026\n",
+ "e = 1.6*10**-19\n",
+ "h=0.06*10**-4\n",
+ "apsilen = 13.2*8.85*10**-14\n",
+ "Vh = 0.8\n",
+ "Vp= (e*(h**2)*Nd)/(2*apsilen)\n",
+ "print\"The total volage drop required to pinch the channel is ,Vp=\",\"{:.1e}\".format(Vp),\"V\"\n",
+ "Ecf= -(kBT)*(log(Nd/Nc))\n",
+ "print\"The difference between the conduction band and fermi level is ,Ecf=\",\"{:.2e}\".format(Ecf),\"V\"\n",
+ "Vbi= Vh-Ecf\n",
+ "print\"The built in potential is ,Vbi=\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "VG= Vbi-Vp\n",
+ "print\"The pinch off at gate bias is ,VG=\",\"{:.2e}\".format(VG),\"V\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The total volage drop required to pinch the channel is ,Vp= 2.5e-01 V\n",
+ "The difference between the conduction band and fermi level is ,Ecf= 3.88e-02 V\n",
+ "The built in potential is ,Vbi= 7.61e-01 V\n",
+ "The pinch off at gate bias is ,VG= 5.15e-01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.6:pg-351"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mu_n=6000\n",
+ "phi_b=0.8\n",
+ "kBT=0.026\n",
+ "e = 1.6*10**-19\n",
+ "h=0.25*10**-4\n",
+ "Nd = 5*10**16\n",
+ "Nc = 4.45*10**17\n",
+ "L = 2*10**-4\n",
+ "Z = 25*10**-4\n",
+ "apsilen = 13.2*8.85*10**-14\n",
+ "VGS1 = 0\n",
+ "VGS2 = -1\n",
+ "Vbi = (phi_b-(kBT*(log(Nc/Nd))))\n",
+ "print\"The built-in voltage is ,Vbi =\",\"{:.2e}\".format(Vbi),\"V\"\n",
+ "Vp= (e*(h**2)*Nd)/(2*apsilen)\n",
+ "print\"The internal pinch off potential is ,Vp=\",round(Vp,2),\"V\"\n",
+ "go=(e*mu_n*Nd*Z*h)/(L)\n",
+ "print\"The value of go of the channel is ,go=\",\"{:.2e}\".format(go),\"ohm**-1\"\n",
+ "ID_sat = go*((Vp/3)-Vbi+((2*(Vbi**1.5))/(3*(Vp**.5))))\n",
+ "print\"The value of saturation voltage is ,ID_sat =\",\"{:.2e}\".format(ID_sat),\"V\"\n",
+ "ID1 = go*((Vp/3)-Vbi+VGS2+((2*((Vbi+abs(VGS2))**1.5))/(3*(Vp**.5))))\n",
+ "print\"The value of saturation current at VGS1 is ,ID(sat) =\",\"{:.2e}\".format(ID1),\"A\"\n",
+ "gm_sat= go*(1-((Vbi/Vp)**.5))\n",
+ "print\"The value of saturation conductance at VGS1 is ,gm_sat=\",\"{:.1e}\".format(gm_sat),\"S\"\n",
+ "gm_sat= go*(1-((((Vbi+abs(VGS2))/Vp)**.5)))\n",
+ "print\"The value of saturation conductance at VGS2 is ,gm_sat=\",\"{:.2e}\".format(gm_sat),\"S\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The built-in voltage is ,Vbi = 7.43e-01 V\n",
+ "The internal pinch off potential is ,Vp= 2.14 V\n",
+ "The value of go of the channel is ,go= 1.50e-02 ohm**-1\n",
+ "The value of saturation voltage is ,ID_sat = 3.93e-03 V\n",
+ "The value of saturation current at VGS1 is ,ID(sat) = 2.85e-04 A\n",
+ "The value of saturation conductance at VGS1 is ,gm_sat= 6.2e-03 S\n",
+ "The value of saturation conductance at VGS2 is ,gm_sat= 1.46e-03 S\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex8.7:pg-354"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "Nd = 5*10**16\n",
+ "L = 2*10**-4\n",
+ "apsilen = 13.2*8.85*10**-14\n",
+ "VDS1 = 1.0\n",
+ "VDS2 = 1.5\n",
+ "VGS1 = 0\n",
+ "ID=4.03\n",
+ "dL1 = sqrt((2*apsilen*VDS1)/(e*Nd))\n",
+ "print\"The change in channel length is ,dL (VDS(sat)+1 V) =\",\"{:.2e}\".format(dL1),\"cm\"\n",
+ "dL2 = sqrt((2*apsilen*VDS2)/(e*Nd))\n",
+ "print\"The change in channel length is ,dL (VDS(sat)+1.5 V) =\",\"{:.1e}\".format(dL2),\"cm\"\n",
+ "ID1 = ID*(1+(dL1/(2*L)))\n",
+ "print\"The current at the bias is ,ID1(VDS(sat)+1 V) =\",round(ID1,2),\"mA\"\n",
+ "ID2 = ID*(1+(dL2/(2*L)))\n",
+ "print\"The current at the bias is ,ID2(VDS(sat)+1.5 V) =\",round(ID2,2),\"mA\"\n",
+ "rDS = (VDS2-VDS1)/((ID2-ID1)*10**-3)\n",
+ "print\"The output resistance of source drain channel is ,rDS =\",\"{:.2e}\".format(rDS),\"ohm\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The change in channel length is ,dL (VDS(sat)+1 V) = 1.71e-05 cm\n",
+ "The change in channel length is ,dL (VDS(sat)+1.5 V) = 2.1e-05 cm\n",
+ "The current at the bias is ,ID1(VDS(sat)+1 V) = 4.2 mA\n",
+ "The current at the bias is ,ID2(VDS(sat)+1.5 V) = 4.24 mA\n",
+ "The output resistance of source drain channel is ,rDS = 1.29e+04 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.8:pg-361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mu_n=1000\n",
+ "e = 1.6*10**-19\n",
+ "h=0.5*10**-4\n",
+ "Nd = 10**16\n",
+ "L = 2*10**-4\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "Vs = 10**7\n",
+ "fT = (e*mu_n*Nd*(h**2))/(2*math.pi*apsilen*(L**2))\n",
+ "print\"The maximum cutoff frequency of the device in the constant mobility model is ,fT =\",\"{:.2e}\".format(fT),\"Hz\"\n",
+ "fT = Vs/(2*math.pi*L)\n",
+ "print\"The maximum cutoff frequency of the device in the saturation velocity model is fT =\",\"{:.2e}\".format(fT),\"Hz\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum cutoff frequency of the device in the constant mobility model is ,fT = 1.51e+10 Hz\n",
+ "The maximum cutoff frequency of the device in the saturation velocity model is fT = 7.96e+09 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.9:pg-361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "VDS =0.5\n",
+ "h=1*10**-4\n",
+ "ID=4.03\n",
+ "F = VDS/h\n",
+ "print\"The electric field in channel is ,F =\",\"{:.2e}\".format(F),\"V/cm\"\n",
+ "Vsi = 5*10**6\n",
+ "VGaAs = 10**7\n",
+ "Ttr1 = h/Vsi \n",
+ "print\"The transit time of electrons in silicon is ,Ttr(si) = \",\"{:.2e}\".format(Ttr1),\"s\"\n",
+ "Ttr2 = h/VGaAs \n",
+ "print\"The transit time of electrons in GaAs is ,Ttr(GaAs) =\",\"{:.2e}\".format(Ttr2),\"s\"\n",
+ "fT1 = 1.0/(2*math.pi*Ttr1)\n",
+ "print\"The corresponding frequency of silicon is ,fT(Si) =\",\"{:.2e}\".format(fT1),\"Hz\"\n",
+ "fT2 = 1.0/(2*math.pi*Ttr2)\n",
+ "print\"The corresponding frequency of GaAs is ,fT(GaAs) =\",\"{:.2e}\".format(fT2),\"Hz\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The electric field in channel is ,F = 5.00e+03 V/cm\n",
+ "The transit time of electrons in silicon is ,Ttr(si) = 2.00e-11 s\n",
+ "The transit time of electrons in GaAs is ,Ttr(GaAs) = 1.00e-11 s\n",
+ "The corresponding frequency of silicon is ,fT(Si) = 7.96e+09 Hz\n",
+ "The corresponding frequency of GaAs is ,fT(GaAs) = 1.59e+10 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex8.10:pg-361"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "VB = 100.0\n",
+ "FSi=3*10**5\n",
+ "FGaAs=4*10**5\n",
+ "FSiC=3*10**6\n",
+ "Vsi = 10**7\n",
+ "VGaAs = 10**7\n",
+ "VSiC = 2*10**7\n",
+ "LBSi = VB/FSi\n",
+ "print\"The minimum channel length at which Si material will breakdown is ,LBSi = \",\"{:.2e}\".format(LBSi),\"cm\"\n",
+ "LBGaAs = VB/FGaAs\n",
+ "print\"The minimum channel length at which GaAs material will breakdown is ,LBGaAs =\",\"{:.2e}\".format(LBGaAs),\"cm\"\n",
+ "LBSiC = VB/FSiC\n",
+ "print\"The minimum channel length at which SiC material will breakdown is ,LBSiC =\",\"{:.2e}\".format(LBSiC),\"cm\"\n",
+ "fT1 = Vsi/(2*math.pi*LBSi)\n",
+ "print\"The corresponding cutoff frequency of silicon is ,fT(Si) = \",\"{:.1e}\".format(fT1),\"Hz\"\n",
+ "fT2 = VGaAs/(2*math.pi*LBGaAs)\n",
+ "print\"The corresponding frequency of GaAs is ,fT(GaAs) =\",\"{:.1e}\".format(fT2),\"Hz\"\n",
+ "fT3 = VSiC/(2*math.pi*LBSiC)\n",
+ "print\"The corresponding cutoff frequency of SiC is ,fT(SiC) =\",\"{:.2e}\".format(fT3),\"Hz\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum channel length at which Si material will breakdown is ,LBSi = 3.33e-04 cm\n",
+ "The minimum channel length at which GaAs material will breakdown is ,LBGaAs = 2.50e-04 cm\n",
+ "The minimum channel length at which SiC material will breakdown is ,LBSiC = 3.33e-05 cm\n",
+ "The corresponding cutoff frequency of silicon is ,fT(Si) = 4.8e+09 Hz\n",
+ "The corresponding frequency of GaAs is ,fT(GaAs) = 6.4e+09 Hz\n",
+ "The corresponding cutoff frequency of SiC is ,fT(SiC) = 9.55e+10 Hz\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter9.ipynb b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter9.ipynb
new file mode 100644
index 00000000..5fb15e3e
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter9.ipynb
@@ -0,0 +1,488 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:89aba2f692b8b301293cc14fb417afc88daa14a53d02d71daa2ea70781d3602b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter9:FIELD EFFECT TRANSISTORS:MOSFET"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.1:pg-384"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=10**16\n",
+ "ni = 1.5*10**10\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\"V\"\n",
+ "W = sqrt((4*apsilen*(-phi_F))/(e*Na))*10**4\n",
+ "print\"The space charge width is ,W =\",\"{:.1e}\".format(W),\" micro_meter\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The potential phi_F= -3.49e-01 V\n",
+ "The space charge width is ,W = 3.0e-01 micro_meter\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.2:pg-385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "Eg = 1.11\n",
+ "e = 1.6*10**-19\n",
+ "Na=10**14\n",
+ "ni = 1.5*10**10\n",
+ "phi_m = 4.1\n",
+ "Es = 4.15\n",
+ "EF= ((Eg/2)+kbT*log(Na/ni))\n",
+ "print\"The position of fermi level below conduction band is ,EF=\",\"{:.2e}\".format(EF),\"eV\"\n",
+ "Vfb = phi_m-(Es+EF)\n",
+ "print\"The potential is ,Vfb =\",\"{:.2e}\".format(Vfb),\"eV\""
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The position of fermi level below conduction band is ,EF= 7.84e-01 eV\n",
+ "The potential is ,Vfb = -8.34e-01 eV\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.3:pg-385"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=3*10**16\n",
+ "ni = 1.5*10**10\n",
+ "Vfb = -1.13\n",
+ "Eox = 3.9*8.85*10**-14\n",
+ "dox = 500*10**-8\n",
+ "Nt = 10**11\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\"V\"\n",
+ "Qs = sqrt((4*apsilen*(-phi_F))*(e*Na))\n",
+ "print\"The maximum depletion width is ,Qs =\",\"{:.2e}\".format(Qs),\"C cm**-2\"\n",
+ "Vs = -(2*phi_F)\n",
+ "print\"The surface potential is ,Vs =\",\"{:.2e}\".format(Vs),\" V\"\n",
+ "VT = Vfb+Vs+((Qs*dox)/Eox)\n",
+ "print\"In the absence of any oxide charge, the threshold voltage is ,VT =\",\"{:.2e}\".format(VT),\" V\"\n",
+ "dVT = -((e*Nt*dox)/Eox)\n",
+ "print\"when oxide has trap charges, the shift in threshold voltage is ,dVT =\",\"{:.2e}\".format(dVT),\" V\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The potential phi_F= -3.77e-01 V\n",
+ "The maximum depletion width is ,Qs = 8.73e-08 C cm**-2\n",
+ "The surface potential is ,Vs = 7.54e-01 V\n",
+ "In the absence of any oxide charge, the threshold voltage is ,VT = 8.90e-01 V\n",
+ "when oxide has trap charges, the shift in threshold voltage is ,dVT = -2.32e-01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.4:pg-386"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "mu_n=600\n",
+ "mu_p = 200\n",
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=5*10**16\n",
+ "ni = 1.5*10**10\n",
+ "Vfb = -0.5\n",
+ "Eox = 1.583*8.85*10**-14\n",
+ "dox = 200*10**-8\n",
+ "sigma_1= Na*e*mu_p\n",
+ "sigma_2= Na*e*mu_n\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "Qs = sqrt((4*apsilen*(-phi_F))*(e*Na))\n",
+ "print\"The maximum depletion width is ,Qs = \",\"{:.2e}\".format(Qs),\" C cm**-2\"\n",
+ "Vs = -(2*phi_F)\n",
+ "VT = Vfb+Vs+((Qs*dox)/Eox)\n",
+ "print\"In the absence of any oxide charge, the threshold voltage is ,VT =\",\"{:.2e}\".format(VT),\" V\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ "
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The maximum depletion width is ,Qs = 1.15e-07 C cm**-2\n",
+ "In the absence of any oxide charge, the threshold voltage is ,VT = 1.92e+00 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.6:pg-393"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=10**16\n",
+ "ni = 1.5*10**10\n",
+ "apsilen_ox = 3.9*8.85*10**-14\n",
+ "dox = 500*10**-8\n",
+ "Cox= apsilen_ox/dox\n",
+ "print\"The oxide capacitance Cox=\",\"{:.2e}\".format(Cox),\"F/cm**2\"\n",
+ "phi_F =(-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\" V\"\n",
+ "Wmax = sqrt((4*apsilen*(-phi_F))/(e*Na))\n",
+ "print\"The maximum depletion width is ,Wmax =\",\"{:.2e}\".format(Wmax),\" cm\"\n",
+ "Cmin = (apsilen_ox/(dox+((apsilen_ox*Wmax)/apsilen)))\n",
+ "print\"The minimum capicitance is ,Cmin =\",\"{:.2e}\".format(Cmin),\" F/cm**2\"\n",
+ "Cfb = (apsilen_ox/((dox)+((apsilen_ox/apsilen)*(sqrt((kbT*apsilen)/(e*Na))))))\n",
+ "print\"The capicitance under flat band conditions is ,Cfb =\",\"{:.2e}\".format(Cfb),\" F/cm**2\"\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The oxide capacitance Cox= 6.90e-08 F/cm**2\n",
+ "The potential phi_F= -3.49e-01 V\n",
+ "The maximum depletion width is ,Wmax = 3.03e-05 cm\n",
+ "The minimum capicitance is ,Cmin = 2.31e-08 F/cm**2\n",
+ "The capicitance under flat band conditions is ,Cfb = 5.43e-08 F/cm**2\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.7:pg-400"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "mu_n=600\n",
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=10**16\n",
+ "ni = 1.5*10**10\n",
+ "apsilen_ox = 3.9*8.85*10**-14\n",
+ "dox = 500*10**-8\n",
+ "phi_ms = -1.13\n",
+ "Qss = 10**11\n",
+ "VGS = 5.0\n",
+ "Z=25*10**-6\n",
+ "L=1.5*10**-6\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\" V\"\n",
+ "Cox = apsilen_ox/dox\n",
+ "print\"The oxide capicitance per unit area is ,Cox =\",\"{:.2e}\".format(Cox),\" F/cm**-2\"\n",
+ "Vfb = phi_ms-((Qss*e)/Cox)\n",
+ "print\"The flat band potential is Vfb =\",\"{:.2e}\".format(Vfb),\"V\"\n",
+ "Vs = -(2*phi_F)\n",
+ "print\"The surface potential is ,Vs =\",\"{:.2e}\".format(Vs),\" V\"\n",
+ "VT = Vfb+Vs+(sqrt(4*e*apsilen*Na*(-phi_F))/Cox)\n",
+ "print\"In the absence of any oxide charge, the threshold voltage is ,VT =\",\"{:.2e}\".format(VT),\" V\"\n",
+ "ID = (Z*mu_n*Cox*(VGS-VT)**2)/(2*L)\n",
+ "print\"The saturation current is ,ID = \",\"{:.2e}\".format(ID),\" A\"\n",
+ "\n",
+ "#NOTE: The value of Vfb in the text book is wrong for the above solution and thus the value of VT and saturation current is also wrong\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The potential phi_F= -3.49e-01 V\n",
+ "The oxide capicitance per unit area is ,Cox = 6.90e-08 F/cm**-2\n",
+ "The flat band potential is Vfb = -1.36e+00 V\n",
+ "The surface potential is ,Vs = 6.97e-01 V\n",
+ "In the absence of any oxide charge, the threshold voltage is ,VT = 3.78e-02 V\n",
+ "The saturation current is ,ID = 8.50e-03 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex9.8:pg-402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "Z = 10*10**-4\n",
+ "L = 1*10**-4\n",
+ "mu_n=700\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=4*10**14\n",
+ "ni = 1.5*10**10\n",
+ "apsilen_ox = 3.9*8.85*10**-14\n",
+ "dox = 200*10**-8\n",
+ "VGS = 5.0\n",
+ "Qs = sqrt(4*apsilen*(-phi_F)*e*Na)\n",
+ "print\"The maximum depletion width is ,Qs =\",\"{:.2e}\".format(Qs),\" cm**-2\"\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\" V\"\n",
+ "Cox = apsilen_ox/dox\n",
+ "print\"The oxide capicitance per unit area is ,Cox =\"\"{:.2e}\".format(Cox),\" cm**-1\"\n",
+ "Vs = -(2*phi_F)\n",
+ "print\"The surface potential is ,Vs =\",\"{:.2e}\".format(Vs),\" V\"\n",
+ "VT = Vs+((Qs/Cox))\n",
+ "print\"The threshold voltage is ,VT =\",\"{:.2e}\".format(VT),\" V\"\n",
+ "VDS = VGS-VT\n",
+ "print\"The saturation voltage is ,VDS =\",\"{:.2e}\".format(VDS),\" V\"\n",
+ "ID = (Z*mu_n*Cox*(VDS)**2)/(2*L)\n",
+ "print\"The saturation current is ,ID =\",\"{:.2e}\".format(ID),\" A\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ " The maximum depletion width is ,Qs = 9.70e-09 cm**-2\n",
+ "The potential phi_F= -2.65e-01 V\n",
+ "The oxide capicitance per unit area is ,Cox =1.73e-07 cm**-1\n",
+ "The surface potential is ,Vs = 5.30e-01 V\n",
+ "The threshold voltage is ,VT = 5.86e-01 V\n",
+ "The saturation voltage is ,VDS = 4.41e+00 V\n",
+ "The saturation current is ,ID = 1.18e-02 A\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Ex9.9:pg-402"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "VDS = 0.1\n",
+ "Z = 10*10**-4\n",
+ "L = 2*10**-4\n",
+ "Cox=10**-7\n",
+ "ID1= 50.0\n",
+ "ID2= 80.0\n",
+ "VGS1 = 1.5\n",
+ "VGS2 = 2.5\n",
+ "mu_n = (((ID2-ID1)*10**(-6)*L)/(VDS*Z*Cox*(VGS2-VGS1)))\n",
+ "print\"The mobility of electron in silicon is ,mu_n =\",round(mu_n,2),\" cm**2/Vs\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The mobility of electron in silicon is ,mu_n = 600.0 cm**2/Vs\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex9.10:pg-403"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "Na=2*10**16\n",
+ "ni = 1.5*10**10\n",
+ "VSB = 1.0\n",
+ "apsilen_ox = 3.9*8.85*10**-14\n",
+ "dox = 500*10**-8\n",
+ "Cox = apsilen_ox/dox\n",
+ "print\"The oxide capicitance per unit area is ,Cox =\",\"{:.2e}\".format(Cox),\" F*cm**-2\"\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\" V\"\n",
+ "dVT = ((sqrt(2*e*apsilen*Na)/Cox)*((sqrt((-2*phi_F)+VSB)-sqrt(-2*phi_F))))\n",
+ "print\"The shift in threshold voltage is ,dVT =\",\"{:.2e}\".format(dVT),\" V\"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The oxide capicitance per unit area is ,Cox = 6.90e-08 F*cm**-2\n",
+ "The potential phi_F= -3.67e-01 V\n",
+ "The shift in threshold voltage is ,dVT = 5.47e-01 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "\n",
+ "Ex9.11:pg-406"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "kbT = 0.026\n",
+ "apsilen = 11.9*8.85*10**-14\n",
+ "e = 1.6*10**-19\n",
+ "D = 10**-5\n",
+ "Na=10**14\n",
+ "dVT=.5\n",
+ "ni = 1.5*10**10\n",
+ "apsilen_ox = 3.9*8.85*10**-14\n",
+ "phi_F= (-kbT*log(Na/ni))\n",
+ "print\"The potential phi_F=\",\"{:.2e}\".format(phi_F),\" V\"\n",
+ "dox = 5*10**-6\n",
+ "Cox = apsilen_ox/dox\n",
+ "print\"The oxide capicitance per unit area is ,Cox =\",\"{:.2e}\".format(Cox),\" cm**-1\"\n",
+ "phi_ms = -0.83\n",
+ "VT = (phi_ms)-(2*phi_F)+((sqrt(4*e*apsilen*Na*(-phi_F)))/Cox)\n",
+ "print\"the threshold voltage is ,VT =\",\"{:.2e}\".format(VT),\" V\"\n",
+ "Na = (dVT*Cox)/(e*D)\n",
+ "print\"the dopant density is ,Na=\",\"{:.2e}\".format(Na),\" cm**-3\"\n",
+ "# Note : due to different precisions taken by me and the author ... my answer differ \n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The potential phi_F= -2.29e-01 V\n",
+ "The oxide capicitance per unit area is ,Cox = 6.90e-08 cm**-1\n",
+ "the threshold voltage is ,VT = -3.15e-01 V\n",
+ "the dopant density is ,Na= 2.16e+16 cm**-3\n"
+ ]
+ }
+ ],
+ "prompt_number": 11
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter1.png b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter1.png
new file mode 100644
index 00000000..8f46f2fc
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter1.png
Binary files differ
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter10.png b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter10.png
new file mode 100644
index 00000000..238d03db
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter10.png
Binary files differ
diff --git a/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter6.png b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter6.png
new file mode 100644
index 00000000..0e3231df
--- /dev/null
+++ b/Semiconductor_Devices_Basic_Principle_by_J._Singh/screenshots/chapter6.png
Binary files differ