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