summaryrefslogtreecommitdiff
path: root/Integrated_Electronics/Chapter10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Integrated_Electronics/Chapter10.ipynb')
-rwxr-xr-xIntegrated_Electronics/Chapter10.ipynb451
1 files changed, 451 insertions, 0 deletions
diff --git a/Integrated_Electronics/Chapter10.ipynb b/Integrated_Electronics/Chapter10.ipynb
new file mode 100755
index 00000000..63b119f4
--- /dev/null
+++ b/Integrated_Electronics/Chapter10.ipynb
@@ -0,0 +1,451 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 : Field Effect Transistor"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1a, Page No 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "VGG = -2.5 #v\n",
+ "Id = 3.0 #mA\n",
+ "Vds = 10.0 #v\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rd=Vds/Id\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rd is = %.2f kOhm \" %Rd)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rd is = 3.33 kOhm \n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.1b, Page No 337"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "VGG = -2.5 #v\n",
+ "VDD = 20.0\n",
+ "Id = 2.0 #mA drain current\n",
+ "Vds = 2.5 #v\n",
+ "\n",
+ "\n",
+ "#Calculations\n",
+ "Rd=(VDD-Vds)/Id\n",
+ "\n",
+ "\n",
+ "#Results\n",
+ "print(\"The value of Rd is = %.2f kOhm \" %Rd)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Rd is = 8.75 kOhm \n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2a, Page No 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "\n",
+ "a=3*(10**-4) #in cm\n",
+ "Nd=10**15 #in electrons/cm^3\n",
+ "q=1.6*(10**-19) #in C\n",
+ "eo=8.85*(10**-12) #Permittivity of free space\n",
+ "e=12*eo #Relative Permittivity\n",
+ "\n",
+ "#Calculations\n",
+ "Vp=(q*Nd*a*a*10**6*10**-4)/(2*e) #in V\n",
+ "#a is in cm so 10^-4 is multiplied and Nd is in electrons/cm^3 so 10^6 is multiplied\n",
+ "\n",
+ "#Results\n",
+ "print(\"Pinch off Voltage = %.2f v \" %Vp)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Pinch off Voltage = 6.78 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.2b, Page No 338"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "#Given Values\n",
+ "a=3.0*(10**-4) #in m\n",
+ "Nd=10.0**15 #in electrons/m**3\n",
+ "q=1.6*(10**-19) #in C\n",
+ "eo=8.85*(10**-12) #Permittivity of free space\n",
+ "e=12*eo #Relative Permittivity\n",
+ "\n",
+ "#Calculations\n",
+ "Vp=(q*Nd*a*a*10**6*10**-4)/(2*e)#in V\n",
+ "#a is in cm so 10**-4 is multiplied and Nd is in electrons/cm**3 so 10**6 is multiplied\n",
+ "Vgs= Vp/2\n",
+ "b=a*(1-((Vgs/Vp)**(0.5)))#in cm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Channel Half Width = %.2f cm x 10^-4\" %(b*10**4))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Channel Half Width = 0.88 cm x 10^-4\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3a Page No 348"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "VG=0.5 #v\n",
+ "Rd=1.0 #Kohm\n",
+ "Vdd =3.3 #v\n",
+ "\n",
+ "#Calculations\n",
+ "# If VG=0.5vv hen Vgs-Vt = 0.5-1=-.05 which is less than zero and therfore the transistor will be off then\n",
+ "#ID=0\n",
+ "Id=0\n",
+ "Vd=Vdd\n",
+ "\n",
+ "#Results\n",
+ "print(\"The drain current = %.2f mA\" %(Id))\n",
+ "print(\"The drain Voltage = %.2f V\" %(Vd))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current = 0.00 mA\n",
+ "The drain Voltage = 3.30 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.3b Page No 348"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vg=2.0 #v\n",
+ "Rd=1.0 #Kohm\n",
+ "Vdd =3.3 #v\n",
+ "Vt=1.0\n",
+ "\n",
+ "#Calculations\n",
+ "# If VG=2v hen Vgs-Vt = 2-1=-2 which is more than zero and therfore the transistor will be on then\n",
+ "Id=(1.0/2)*(Vg-Vt**2)\n",
+ "Vd=Vdd-(Rd*Id)\n",
+ "\n",
+ "#Results\n",
+ "print(\"The drain current = %.2f mA\" %(Id))\n",
+ "print(\"The drain Voltage = %.2f V\" %(Vd))\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The drain current = 0.50 mA\n",
+ "The drain Voltage = 2.80 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4a Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "#Results\n",
+ "print(\"Vgs= %.2f v \" %Vgs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Vgs= -0.61 v \n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4b, Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "\n",
+ "#Results\n",
+ "print(\"gmo= %.2f mA/V \" %gmo)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "print(\"gm= %.2f mA/V \" %gm)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "gmo= 1.65 mA/V \n",
+ "gm= 1.15 mA/V \n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4c Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "\n",
+ "Rs=-(Vgs/Ids)#in ohm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Rs= %.2f K \" %Rs)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Rs= 0.76 K \n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 10.4d Page No 363"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import math\n",
+ "\n",
+ "#initialisation of variables\n",
+ "Vp=-2#in V\n",
+ "Idss=1.65#in mA\n",
+ "#it is desired to bias the circut at Id=0.8mA\n",
+ "Ids=0.8#in mA\n",
+ "Vdd=24#in V\n",
+ "#Assumption: rd>Rd\n",
+ "\n",
+ "#Calculations\n",
+ "Vgs=Vp*(1-(Ids/Idss)**0.5)#in V\n",
+ "gmo=-(2*Idss/Vp)\n",
+ "gm=gmo*(1-(Vgs/Vp))\n",
+ "Rs=-(Vgs/Ids)#in ohm\n",
+ "print('20dB corresponds to voltage gain of i0')\n",
+ "Av=10\n",
+ "Rd=Av/gm#in ohm\n",
+ "\n",
+ "#Results\n",
+ "print(\"Rd= %.2f ohm\" %Rd)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "20dB corresponds to voltage gain of i0\n",
+ "Rd= 8.70 ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file