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