{
 "metadata": {
  "name": "",
  "signature": "sha256:a9955a4e75715c6f84ab43985c194e433d9dd5aed6d9e7b9aa45256275f6d9ef"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Chapter9-Field Effect Transistor"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex1-pg300"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_1\n",
      "import math\n",
      "h = 5.*10**-4      ##channel height in centimeters\n",
      "a= (1/2.)*h       ##channel width in centimeters\n",
      "rho = 10.         ##resistivity in ohm_cm\n",
      "sigma = 1./rho    ##conductivity in mho/cm\n",
      "micro_p = 500.      ##mobility in cm_sq/Vs\n",
      "apsilent_r = 12.  ##relative permiability in F/cm of silicon\n",
      "apsilent_not=8.854*10**-14  ##permiability in vaccum in F/cm\n",
      "print'%s %.2e %s'%(\"a = \",(a),\"cm\")\n",
      "print'%s %.2f %s'%(\"sigma = \",(sigma),\"mho/cm\")\n",
      "print'%s %.2f %s'%(\"micro_p = \",(micro_p),\"cm-sq/Vs\")\n",
      "print'%s %.2f %s'%(\"apsilent_r = \",(apsilent_r),\"F/cm\")\n",
      "Vp = (a**2)*sigma/(2*apsilent_r*apsilent_not*micro_p) ## pinch off voltage for silicon p channel FET\n",
      "print(\"Vp = (a^2)*sigma/(2*apsilent_r*apsilent_not*micro_p)\")\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "a =  2.50e-04 cm\n",
        "sigma =  0.10 mho/cm\n",
        "micro_p =  500.00 cm-sq/Vs\n",
        "apsilent_r =  12.00 F/cm\n",
        "Vp = (a^2)*sigma/(2*apsilent_r*apsilent_not*micro_p)\n",
        "Vp =  5.88 V\n"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex2-pg 300"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_2\n",
      "import math\n",
      "##calculating for conductance:\n",
      "delta_ID = (4.*10**-3)-(2.*10**-3)##change in drain current in amperes\n",
      "delta_VGS = 3.-2.##chande in gate-source voltage in volts\n",
      "print'%s %.2E %s'%(\"delta_ID = \",(delta_ID),\"A\")\n",
      "print'%s %.2f %s'%(\"delta_VGS = \",(delta_VGS),\"V\")\n",
      "gm = delta_ID/delta_VGS##condutance at VDS = constant\n",
      "print(\"gm = delta_ID/delta_VGS\")\n",
      "print'%s %.2f %s'%(\"gm = \",(gm),\" mho\")\n",
      "##calculating for drain resistance:\n",
      "delta_ID = (3.2-3.)*10**-3##change in drain current in amperes\n",
      "delta_VDS = (12.-8.)##change in voltage across drai and source\n",
      "print'%s %.2E %s'%(\"delta_ID = \",(delta_ID),\"A\")\n",
      "print'%s %.2f %s'%(\"delta_VDS = \",(delta_VDS),\"V\")\n",
      "rd = delta_VDS/delta_ID\n",
      "print(\"rd = delta_VDS/delta_ID\")\n",
      "print'%s %.2f %s'%(\"rd = \",(rd),\" ohm\")\n",
      "##calculating for micro:\n",
      "micro  = rd*gm##amplification factor\n",
      "print(\"micro = rd*gm\")\n",
      "print'%s %.2f %s'%(\"micro = \",(micro),\"\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "delta_ID =  2.00E-03 A\n",
        "delta_VGS =  1.00 V\n",
        "gm = delta_ID/delta_VGS\n",
        "gm =  0.00  mho\n",
        "delta_ID =  2.00E-04 A\n",
        "delta_VDS =  4.00 V\n",
        "rd = delta_VDS/delta_ID\n",
        "rd =  20000.00  ohm\n",
        "micro = rd*gm\n",
        "micro =  40.00 \n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex3-pg301"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_3\n",
      "import math\n",
      "print(\"Vp = (a^2)*sigma/(2*apsilent*micro_p)\")##piunch off voltage\n",
      "h = 2.*10**-4      ##channel height in centimeters\n",
      "a= h/2.       ##channel width in centimeters\n",
      "rho = 1.         ##resistivity in ohm_cm\n",
      "sigma = 1./rho    ##conductivity in mho/cm\n",
      "micro_p = 1800.      ##mobility in cm_sq/Vs\n",
      "apsilent_r = 16.  ##relative permiability in F/cm of germanium\n",
      "apsilent_not=8.854*10**-14  ##permiability in vaccum in F/cm\n",
      "print'%s %.2f %s'%(\"a = \",(a),\"cm\")\n",
      "print'%s %.2f %s'%(\"rho = \",(rho),\"ohm-cm\")\n",
      "print'%s %.2f %s'%(\"sigma = \",(sigma),\"mho/cm\")\n",
      "print'%s %.2f %s'%(\"micro = \",(micro_p),\"cm_sq/Vs\")\n",
      "print'%s %.2f %s'%(\"apsilent_r = \",(apsilent_r),\"F/cm\")\n",
      "print'%s %.2E %s'%(\"apsilent_not = \",(apsilent_not),\"F/cm\")\n",
      "Vp = (a**2.)*sigma/(2.*apsilent_r*apsilent_not*micro_p) ## pinch off voltage for germanium p_channel FET\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Vp = (a^2)*sigma/(2*apsilent*micro_p)\n",
        "a =  0.00 cm\n",
        "rho =  1.00 ohm-cm\n",
        "sigma =  1.00 mho/cm\n",
        "micro =  1800.00 cm_sq/Vs\n",
        "apsilent_r =  16.00 F/cm\n",
        "apsilent_not =  8.85E-14 F/cm\n",
        "Vp =  1.96 V\n"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex4-pg301"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_4\n",
      "import math\n",
      "gm1= 2.*10**-3; gm2 =4.*10**-3##conductance\n",
      "print'%s %.4f %s'%(\"gm1 = \",(gm1),\"mho\")\n",
      "print'%s %.4F %s'%(\"gm2 = \",(gm2),\"mho\")\n",
      "Effective_gm = gm1+gm2\n",
      "print'%s %.2f %s'%(\"Effective gm = gm1 + gm2 = \",(Effective_gm),\"mho\")##resulant conductance\n",
      "rd1 = 20.*10**3; rd2 = 30.*10**3##resistances\n",
      "Effective_rd = (rd1*rd2)/(rd1+rd2)\n",
      "print'%s %.2f %s'%(\"rd1 = \",(rd1),\"ohm\")\n",
      "print'%s %.2f %s'%(\"rd2 = \",(rd2),\"ohm\")\n",
      "print'%s %.2f %s'%(\"Effective rd = (rd1*rd2)/(rd1+rd2) = \",(Effective_rd),\"ohm\")##resulant resistance\n",
      "\n",
      "\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "gm1 =  0.0020 mho\n",
        "gm2 =  0.0040 mho\n",
        "Effective gm = gm1 + gm2 =  0.01 mho\n",
        "rd1 =  20000.00 ohm\n",
        "rd2 =  30000.00 ohm\n",
        "Effective rd = (rd1*rd2)/(rd1+rd2) =  12000.00 ohm\n"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex5-pg302"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_5\n",
      "import math\n",
      "VGS = 4.## voltage applied to gate terminal\n",
      "IG = 2.*10**-9##current flowing in gate\n",
      "RGS = VGS/IG\n",
      "print'%s %.2f %s'%(\"VGs = \",(VGS),\"V\")\n",
      "print'%s %.2e %s'%(\"IG = \",(IG),\"A\")\n",
      "print'%s %.2e %s'%(\"RGS = VGS/IG = \",(RGS),\"ohm\")##resistance brtween gate and source\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "VGs =  4.00 V\n",
        "IG =  2.00e-09 A\n",
        "RGS = VGS/IG =  2.00e+09 ohm\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex6-pg302"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_6\n",
      "import math\n",
      "Vp = -4##pinch off voltage\n",
      "ID = 4.*10**-3##drain current\n",
      "IDSS = 6.*10**-3##maximum drain current\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n",
      "print'%s %.2e %s'%(\"ID = \",(ID),\"A\")\n",
      "print'%s %.2f %s'%(\"IDSS = \",(IDSS),\"A\")\n",
      "VGS = abs(Vp)*((ID/IDSS)**.5-1.)\n",
      "print'%s %.2f %s'%(\"VGS = Vp*((ID/IDSS)^.5-1) = \",(VGS),\"V\")##voltage across gate and source\n",
      "\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Vp =  -4.00 V\n",
        "ID =  4.00e-03 A\n",
        "IDSS =  0.01 A\n",
        "VGS = Vp*((ID/IDSS)^.5-1) =  -0.73 V\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex7-pg302"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_7\n",
      "import math\n",
      "##parameters of JFET 1:\n",
      "rd1 = 20.*10**3##resistance\n",
      "gm1 = 3.*10**-3##conductance\n",
      "print'%s %.2f %s'%(\"rd1 = \",(rd1),\"ohm\")\n",
      "print'%s %.2e %s'%(\"gm1 = \",(gm1),\"mho\")\n",
      "##parameters of JFET 2:\n",
      "rd2 = 40.*10**3##resistance\n",
      "gm2 = 4.*10**-3##conductance\n",
      "print'%s %.2f %s'%(\"rd2 = \",(rd2),\"ohm\")\n",
      "print'%s %.2e %s'%(\"gm2 = \",(gm2),\"mho\")\n",
      "##the given JFETs are connected in parallel manner\n",
      "micro = ((rd1*rd2*gm1)+(rd1*rd2*gm2))/(rd1+rd2)\n",
      "print'%s %.2f %s'%(\"micro = (rd1*rd2*gm1)+(rd1*rd2*gm2)/(rd1+rd2) = \",(micro),\"\")##amplification factor\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "rd1 =  20000.00 ohm\n",
        "gm1 =  3.00e-03 mho\n",
        "rd2 =  40000.00 ohm\n",
        "gm2 =  4.00e-03 mho\n",
        "micro = (rd1*rd2*gm1)+(rd1*rd2*gm2)/(rd1+rd2) =  93.33 \n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex8-pg303"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_8\n",
      "import math\n",
      "##according to the given figure in the textbook for problem 8 in chapter 9:\n",
      "VGS = -2.##voltage across gate and source\n",
      "IDSS = 6.*10**-3##maximum drain current\n",
      "Vp = -6##pinch-off voltage\n",
      "print'%s %.2f %s'%(\"IDSS = \",(IDSS),\"A\")\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n",
      "print'%s %.2f %s'%(\"VGS = \",(VGS),\"V\")\n",
      "ID = IDSS*(1.-(VGS/Vp))**2\n",
      "print'%s %.2e %s'%(\"ID = IDSS*(1-(VGS/Vp))^2 = \",(ID),\"A\")##drainm current\n",
      "Rd = 2*10^3##drain resistance\n",
      "VDD = 9##drain voltage\n",
      "VDS = VDD - ID*Rd\n",
      "print'%s %.2f %s'%(\"VDD = \",(VDD),\"V\")##drain voltage\n",
      "print'%s %.2f %s'%(\"Rd = \",(Rd),\"ohm\")##drain resistance\n",
      "print'%s %.2f %s'%(\"VDS = VDD - ID*Rd = \",(VDS),\"V\")##voltage across drain and source\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "IDSS =  0.01 A\n",
        "Vp =  -6.00 V\n",
        "VGS =  -2.00 V\n",
        "ID = IDSS*(1-(VGS/Vp))^2 =  2.67e-03 A\n",
        "VDD =  9.00 V\n",
        "Rd =  23.00 ohm\n",
        "VDS = VDD - ID*Rd =  8.94 V\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex9-pg304"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_9\n",
      "import math\n",
      "Vp = -4.##pinch off voltage\n",
      "VGS = -1.5##gate source voltage\n",
      "VDS_minimum = VGS - Vp##minimum VDS for Pinch Off voltage\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n",
      "print'%s %.2f %s'%(\"VGS = \",(VGS),\"V\")\n",
      "print'%s %.2f %s'%(\"VDS_minimum = VGS - Vp = \",(VDS_minimum),\"V\")\n",
      "IDSS = 6.*10**-3##maximum drain current\n",
      "ID = IDSS*(1-(VGS/Vp))**2##drain current at VGS = 0V\n",
      "print'%s %.2f %s'%(\"IDSS = \",(IDSS),\"A\")\n",
      "print'%s %.4f %s'%(\"ID = IDSS*(1-(VGS/Vp))^2 = \",(ID),\"A\")\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Vp =  -4.00 V\n",
        "VGS =  -1.50 V\n",
        "VDS_minimum = VGS - Vp =  2.50 V\n",
        "IDSS =  0.01 A\n",
        "ID = IDSS*(1-(VGS/Vp))^2 =  0.0023 A\n"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Ex10-pg304"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "##Ex9_10\n",
      "import math\n",
      "VGS = -2.##voltage across gate and source\n",
      "IDSS = 8.*10**-3##maximum drain current\n",
      "Vp = -6##pinch-off voltage\n",
      "print'%s %.2f %s'%(\"IDSS = \",(IDSS),\"A\")\n",
      "print'%s %.2f %s'%(\"Vp = \",(Vp),\"V\")\n",
      "print'%s %.2f %s'%(\"VGS = \",(VGS),\"V\")\n",
      "ID = IDSS*(1.-(VGS/Vp))**2\n",
      "print'%s %.2e %s'%(\"ID = IDSS*(1-(VGS/Vp))^2 = \",(ID),\"A\")##drainm current\n",
      "RD = 2.*10**3##drain resistance\n",
      "VDD = 12.##drain voltage\n",
      "VDS = VDD - ID*RD\n",
      "print'%s %.2f %s'%(\"VDD = \",(VDD),\"V\")##drain voltage\n",
      "print'%s %.2f %s'%(\"RD = \",(RD),\"ohm\")##drain resistance\n",
      "print'%s %.2f %s'%(\"VDS = VDD - ID*RD = \",(VDS),\"V\")##voltage across drain and source\n",
      "\n",
      "## note : notification used for saturated drain-soucre current is given wrong in question i.e., IDS but is right in solution i.e., IDSS.\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "IDSS =  0.01 A\n",
        "Vp =  -6.00 V\n",
        "VGS =  -2.00 V\n",
        "ID = IDSS*(1-(VGS/Vp))^2 =  3.56e-03 A\n",
        "VDD =  12.00 V\n",
        "RD =  2000.00 ohm\n",
        "VDS = VDD - ID*RD =  4.89 V\n"
       ]
      }
     ],
     "prompt_number": 12
    }
   ],
   "metadata": {}
  }
 ]
}