diff options
Diffstat (limited to 'Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb')
-rw-r--r-- | Semiconductor_Devices_Basic_Principle_by_J._Singh/chapter8.ipynb | 473 |
1 files changed, 473 insertions, 0 deletions
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 |