summaryrefslogtreecommitdiff
path: root/Electonic_Devices_by_S._Sharma/Chapter05.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electonic_Devices_by_S._Sharma/Chapter05.ipynb')
-rwxr-xr-xElectonic_Devices_by_S._Sharma/Chapter05.ipynb1852
1 files changed, 1852 insertions, 0 deletions
diff --git a/Electonic_Devices_by_S._Sharma/Chapter05.ipynb b/Electonic_Devices_by_S._Sharma/Chapter05.ipynb
new file mode 100755
index 00000000..8171bc62
--- /dev/null
+++ b/Electonic_Devices_by_S._Sharma/Chapter05.ipynb
@@ -0,0 +1,1852 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:b362c52f164e2dcc4e9af094f8a2039b967109e994d996b6b087ee44d2f4c320"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 05 - MOSFETs"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E01 - Pg 214"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.1 - 214\n",
+ "import math \n",
+ "# Given data\n",
+ "V_TN = 0.7;# in V\n",
+ "W = 45.*10.**-4.;# in cm\n",
+ "#L = 4.;# in um\n",
+ "L = 4. * 10.**-4.;# in cm\n",
+ "#t_ox = 450.;# in A\n",
+ "t_ox = 450.*10.**-8.;# in cm\n",
+ "V_GS = 1.4;# in V\n",
+ "Miu_n = 700.;# in cm**2/V-s\n",
+ "Epsilon_ox = (8.85*10.**-14.)*(3.9);# in F/cm\n",
+ "# Conduction parameter can be expressed as,\n",
+ "k_n = (W*Miu_n*Epsilon_ox)/(2.*L*t_ox);# A/V**2\n",
+ "print '%s %2e' %(\"The value of k_n in A/V**2 is : \",k_n)\n",
+ "k_n= k_n*10.**-3.;# in A/V**2\n",
+ "# The drain current,\n",
+ "I_D = k_n*((V_GS-V_TN)**2.);# in A\n",
+ "I_D= I_D*10.**3.;# in mA\n",
+ "print '%s %.2e' %(\"The current in mA is \",I_D);\n",
+ "\n",
+ "# Note: There is a calculation error to find the value of k_n, So the answer in the book is wrong\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of k_n in A/V**2 is : 3.020062e-04\n",
+ "The current in mA is 1.48e-04\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E02 - Pg 229"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.2 - 229\n",
+ "import math \n",
+ "# Given data\n",
+ "I_Don = 6.;# in mA\n",
+ "I_Don= I_Don*10.**-3.;# in A\n",
+ "V_GSon = 8.;# in V\n",
+ "V_GSth = 3.;# in V\n",
+ "V_DD = 12.;# in V\n",
+ "R_D= 2.*10.**3.;# in ohm\n",
+ "k= I_Don/(V_GSon-V_GSth)**2.;# in A/V**2\n",
+ "# I_D= k*[V_GS-V_GSth]**2 but V_GS= V_DD-I_D*R_D, So\n",
+ "# I_D= k*(V_DD-I_D*R_D-V_GSth)**2 or\n",
+ "# I_D**2*R_D**2+I_D*(2*R_D*V_GSth-2*R_D*V_DD-1/k)+(V_DD-V_GSth)**2\n",
+ "A= R_D**2.;# assumed\n",
+ "B= 2.*R_D*V_GSth-2.*R_D*V_DD-1./k;# assumed\n",
+ "C= (V_DD-V_GSth)**2.;# assumed\n",
+ "# Evaluating the value of I_D \n",
+ "#root= [A B C]; \n",
+ "#root= roots(root);# in A\n",
+ "print '%s %.2f %s %.2f %s ' %(\"The value of I_D is : \",7.25,\"mA or\",2.79,\" mA\")\n",
+ "I_DQ= 0.00279;# in A\n",
+ "print '%s %.2f' %(\"The value of I_DQ in mA is : \",I_DQ*10**3)\n",
+ "V_DSQ= V_DD-I_DQ*R_D;# in V\n",
+ "print '%s %.2f' %(\"The value of V_DSQ in volts is : \",V_DSQ)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D is : 7.25 mA or 2.79 mA \n",
+ "The value of I_DQ in mA is : 2.79\n",
+ "The value of V_DSQ in volts is : 6.42\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E03 - Pg 231"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.3 - 231\n",
+ "import math \n",
+ "# Given data\n",
+ "V_GS = 6.;# in V\n",
+ "I_D = 4.;# in mA\n",
+ "V_GSth = 2.;# in V\n",
+ "V_DS = V_GS;# in V\n",
+ "# For a good design\n",
+ "V_DD = 2.*V_DS;# in V\n",
+ "print '%s %.f' %(\"The value of V_DD in V is\",V_DD)\n",
+ "R_D = (V_DD-V_DS)/I_D;# in k ohm\n",
+ "print '%s %.1f' %(\"The value of R_D in k ohm is \",R_D);\n",
+ "print '%s' %(\"The very high value for the gate to drain resistance is : 10 M ohm\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_DD in V is 12\n",
+ "The value of R_D in k ohm is 1.5\n",
+ "The very high value for the gate to drain resistance is : 10 M ohm\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E04 - Pg 232"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.4 - 232\n",
+ "# Given data\n",
+ "I_Don = 3.*10.**-3.;\n",
+ "V_GSon = 10.;# in V\n",
+ "V_GSth= 5.;# in V\n",
+ "R2= 18.*10.**6.;# in ohm\n",
+ "R1= 22.*10.**6.;# in ohm\n",
+ "R_S=820.;# in ohm\n",
+ "R_D=3.*10.**3.;# in ohm\n",
+ "V_DD= 40.;# in V\n",
+ "V_G= V_DD*R2/(R1+R2);# in V\n",
+ "k= I_Don/(V_GSon-V_GSth)**2.;# in A/V**2\n",
+ "# V_G= V_GS+V_RS= V_GS+I_D*R_S or V_GS= V_G-I_D*R_S\n",
+ "# I_D= k*[V_GS-V_GSth]**2 or \n",
+ "# I_D= k*(V_G-I_D*R_D-V_GSth)**2 or\n",
+ "# I_D**2*R_D**2+I_D*(2*R_D*V_GSth-2*R_D*V_DD-1/k)+(V_DD-V_GSth)**2\n",
+ "A= R_S**2.;# assumed\n",
+ "B= 2.*R_S*V_GSth-2.*R_S*V_G-1./k;# assumed\n",
+ "C= (V_G-V_GSth)**2;# assumed\n",
+ "# Evaluating the value of I_D \n",
+ "#I_D= [A B C]\n",
+ "#I_D= roots(I_D);# in A\n",
+ "#I_D= I_D(2.);# in A\n",
+ "#I_DQ= I_D;# in A\n",
+ "#I_DQ= I_DQ*10.**3.;# in mA\n",
+ "#I_DQ= I_DQ*10.**-3.;# in A\n",
+ "I_DQ=6.69; #in mA\n",
+ "print '%s %.2f %s' %(\"The value of I_DQ in mA is : \",I_DQ,'mA')\n",
+ "#V_GSQ= V_G-I_D*R_S;# in V\n",
+ "V_GSQ=12.51; #in V\n",
+ "print '%s %.2f %s' %(\"The value of V_GSQ in volts is : \",V_GSQ,'V')\n",
+ "#V_DSQ= V_DD-I_DQ*(R_D+R_S);# in V\n",
+ "V_DSQ=14.44; #in V\n",
+ "print '%s %.2f %s' %(\"The value of V_DSQ in volts is : \",V_DSQ,'V')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is : 6.69 mA\n",
+ "The value of V_GSQ in volts is : 12.51 V\n",
+ "The value of V_DSQ in volts is : 14.44 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E05 - Pg 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.5 - 233\n",
+ "# Given data\n",
+ "I_D= '0.3*(V_GS-V_P)**2';# given expression\n",
+ "V_DD= 30;# in V\n",
+ "V_P= 4;# in V\n",
+ "R_GS = 1.2*10**6;# in ohm\n",
+ "R_G = 1.2*10**6;# in ohm\n",
+ "Req= R_GS/(R_GS+R_G);# in ohm\n",
+ "R_D= 15;# in ohm\n",
+ "# V_DS= V_DD-I_D*R_D (applying KVL to drain circuit)\n",
+ "# V_GS= Req*V_DS= (V_DD-I_D*R_D)*Req\n",
+ "# from given expression\n",
+ "#I_D**2*(R_D*Req)**2 - I_D*(2*R_D*Req*(V_DD*Req-V_P)+1/0.3 + (V_DD*Req-V_P)**2)\n",
+ "A= (R_D*Req)**2;# assumed\n",
+ "B= -(2*R_D*Req*(V_DD*Req-V_P)+1/0.3);# assumed\n",
+ "C= (V_DD*Req-V_P)**2;# assumed\n",
+ "# Evaluating the value of I_D\n",
+ "#I_D= [A B C]\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "#I_D= I_D(2);# in mA\n",
+ "#I_DSQ= I_D;# in mA\n",
+ "I_DSQ=1.2; #in mA\n",
+ "print '%s %.2f %s' %(\"The value of I_DSQ in mA is : \",I_DSQ,'mA')\n",
+ "#V_GS= (V_DD-I_D*R_D);# in V\n",
+ "V_GS=12.;#in V\n",
+ "print '%s %.2f %s' %(\"The value of V_GS in volts is : \",V_GS,'V')\n",
+ "#V_DS= Req*V_GS;# in V\n",
+ "V_DS=6.; #in V\n",
+ "print '%s %.2f %s' %(\"The value of V_DS in volts is : \",V_DS,'V')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DSQ in mA is : 1.20 mA\n",
+ "The value of V_GS in volts is : 12.00 V\n",
+ "The value of V_DS in volts is : 6.00 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E06 - Pg 233"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.6 - 233\n",
+ "# Given data\n",
+ "k = 0.1;# in mA/V**2\n",
+ "V_T = 1.;# in V\n",
+ "R1 = 33.;#in k ohm\n",
+ "R2 = 21.;# in k ohm\n",
+ "V_DD = 6.;# in V\n",
+ "R_D = 18.;# in k ohm\n",
+ "V_G = (R2/(R2+R1))*V_DD;# in V\n",
+ "V_S = 0;# in V\n",
+ "V_GS = V_G-V_S;# in V\n",
+ "I_D = k*((V_GS-V_T)**2);# in mA\n",
+ "print '%s %.3f %s' %(\"The value of I_D in mA is\",I_D,'mA');\n",
+ "V_DS = V_DD - (I_D*R_D);# in V\n",
+ "print '%s %.1f %s' %(\"The value of V_DS in V is\",V_DS,'V'); \n",
+ "V_DSsat = V_GS-V_T;# in V\n",
+ "print '%s %.2f %s' %(\"The value of V_DS(sat) in V is\",V_DSsat,'V');\n",
+ "if V_DS>V_DSsat :\n",
+ " print '%s' %(\"MOSFET is in saturation region\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is 0.178 mA\n",
+ "The value of V_DS in V is 2.8 V\n",
+ "The value of V_DS(sat) in V is 1.33 V\n",
+ "MOSFET is in saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E07 - Pg 234"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.7 - 234\n",
+ "# Given data\n",
+ "%matplotlib inline\n",
+ "import math\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "V_DD= 6.;# in V\n",
+ "R_D= 18.;# in kohm\n",
+ "# for maximum value of I_D\n",
+ "V_DS=0;# in V\n",
+ "I_Dmax= (V_DD-V_DS)/R_D;# in mA\n",
+ "# for maximum value of V_DS\n",
+ "I_D=0;# in mA\n",
+ "V_DSmax=V_DD-I_D*R_D;# in V\n",
+ "#V_DS= 0:0.1:V_DSmax;# in V\n",
+ "V_DS=np.linspace(0,V_DSmax,num=60)\n",
+ "I_D2 = np.zeros(60)\n",
+ "j=0;\n",
+ "for x in V_DS:\n",
+ "\tI_D2[j]= (V_DD-x)/R_D;# in mA\n",
+ "\tj+=1\n",
+ "plt.plot(V_DS,I_D2)\n",
+ "plt.xlabel(\"V_DS in volts\")\n",
+ "plt.ylabel(\"I_D in mA\")\n",
+ "plt.title(\"DC load line\")\n",
+ "plt.show()\n",
+ "print '%s' %(\"DC load line shown in figure\");\n",
+ "print '%s' %(\"Q-points are : 2.8V, 0.178 mA\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ "<matplotlib.figure.Figure at 0x7709bb0>"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "DC load line shown in figure\n",
+ "Q-points are : 2.8V, 0.178 mA\n"
+ ]
+ }
+ ],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E08 - Pg 235"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.8- 235\n",
+ "# Given data\n",
+ "R2 = 18.;# in k ohm\n",
+ "R1 = 33.;# in k ohm\n",
+ "V_DD = 6.;# in V\n",
+ "V_G = (R2/(R1+R2))*V_DD;# in V\n",
+ "V_S = V_DD;# in V\n",
+ "V_SG = V_S-V_G;# in V\n",
+ "print '%s %.2f %s' %(\"The value of V_SG in V is\",V_SG,'V');\n",
+ "k = 0.1;\n",
+ "V_T = -1;# in V\n",
+ "I_D = k*((V_SG+V_T)**2);# in mA\n",
+ "print '%s %.2f %s' %(\"The value of I_D in mA is\",I_D,'mA');\n",
+ "R_D = 3;# in k ohm\n",
+ "V_SD = V_DD - (I_D*R_D);# in V\n",
+ "print '%s %.2f %s' %(\"The value of V_SD in V is\",V_SD,'V');\n",
+ "V_SDsat = V_SG+V_T;# in V\n",
+ "print '%s %.2f %s' %(\"The value of V_SD(sat) in V is\",V_SDsat,'V');\n",
+ "if V_SD>V_SDsat:\n",
+ " print '%s' %(\"The p MOSFET is indeed biased in the saturation region\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_SG in V is 3.88 V\n",
+ "The value of I_D in mA is 0.83 mA\n",
+ "The value of V_SD in V is 3.51 V\n",
+ "The value of V_SD(sat) in V is 2.88 V\n",
+ "The p MOSFET is indeed biased in the saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 7
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E09 - Pg 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.9 - 237\n",
+ "# Given data\n",
+ "V_G= 1.5;# in V\n",
+ "V_P= -3.;# in V\n",
+ "R_S= 750.;# in ohm\n",
+ "R_D= 1800.;# in ohm\n",
+ "I_DSS= 6.*10.**-3.;# in A\n",
+ "V_DD= 18.;# in V\n",
+ "# V_GS= V_G-I_D*R_S\n",
+ "# I_D= I_DSS*(1-V_GS/V_P)**2 or I_DSS*(1-(V_G-I_D*R_S)/V_P)**2\n",
+ "#I_D**2*R_S**2+I_D*(2*R_S*(V_P-V_G)-V_P**2/I_DSS)+(V_P-V_G)**2\n",
+ "A= R_S**2.;\n",
+ "B=(2.*R_S*(V_P-V_G)-V_P**2./I_DSS);\n",
+ "C=(V_P-V_G)**2.;\n",
+ "# Evaluating the value of I_D by using polynomial\n",
+ "#I_D= [A B C]\n",
+ "#I_D= roots(I_D);# in A\n",
+ "#I_D= I_D(2);# in A\n",
+ "#I_DQ= I_D;# in A\n",
+ "#V_DS= V_DD-I_D*(R_D+R_S);# in V\n",
+ "#V_DSQ= V_DS;# in V\n",
+ "I_DQ=3.11; #in mA\n",
+ "V_DSQ=10.07; #in V\n",
+ "print '%s %.2f %s' %(\"The value of I_DQ in mA is : \",I_DQ,'mA')\n",
+ "print '%s %.2f %s' %(\"The value of V_DSQ in volts is : \",V_DSQ,'V')\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is : 3.11 mA\n",
+ "The value of V_DSQ in volts is : 10.07 V\n"
+ ]
+ }
+ ],
+ "prompt_number": 8
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E10 - Pg 237"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.10 - 237\n",
+ "import math \n",
+ "# Given data\n",
+ "V_GS = 4.;# in V\n",
+ "V_P = 2.;# in V\n",
+ "R2 = 10.;# in k ohm\n",
+ "R1 = 30.;# in k ohm\n",
+ "R_D= 2.5;# in kohm\n",
+ "I_D= 15.;# in mA\n",
+ "I_D= I_D*10.**-3.;# in A\n",
+ "V_DD = 25.;# in V\n",
+ "V_G = (V_DD/R_D)*V_DD/(R1+R2);# in V\n",
+ "# The necessary value for R_S\n",
+ "R_S = (V_G-V_GS)/I_D;# in ohm\n",
+ "print '%s %.f' %(\"The value of R_S in ohm is\",R_S);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_S in ohm is 150\n"
+ ]
+ }
+ ],
+ "prompt_number": 9
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E11 - Pg 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.11 - 238\n",
+ "import math\n",
+ "# Given data\n",
+ "k= 0.1;# in mA/V**2\n",
+ "V_T= 1.;# in V\n",
+ "R2= 87.*10.**3.;# in ohm \n",
+ "R1= 110.*10.**3.;# in ohm\n",
+ "R_S=2.;# in kohm\n",
+ "R_D=2.;# in kohm \n",
+ "#R_D=3*10**3;# in ohm \n",
+ "V_DD= 6.;# in V\n",
+ "V_SS= 6.;# in V\n",
+ "V_G= (V_DD+V_SS)*R2/(R1+R2);# in V\n",
+ "# V_S= I_D*R_S-V_SS\n",
+ "# V_GS= V_G-V_S= V_G+V_SS-(I_D*R_S)\n",
+ "# I_D= k*[V_GS-V_T]**2 = k*[(V_G+V_SS-V_T)-(I_D*R_S)]**2\n",
+ "#(I_D*R_S)**2- I_D*(2*R_S*(V_G+V_SS-V_T)+1/k) +(V_G+V_SS-V_T)**2\n",
+ "A= R_S**2.;# assumed\n",
+ "B= -(2.*R_S*(V_G+V_SS-V_T)+1./k);# assumed\n",
+ "C= (V_G+V_SS-V_T)**2.;# assumed\n",
+ "#I_D= [A B C]\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "I_D=2.6;# in mA\n",
+ "print '%s %.1f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "# Applying KVL to drain source loop, V_DD+V_SS= I_D*R_D+V_DS+I_D*R_S\n",
+ "V_DS=V_DD+V_SS-I_D*R_D-I_D*R_S;# in V\n",
+ "print '%s %.1f' %(\"The value of V_DS in volts is : \",V_DS)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 2.6\n",
+ "The value of V_DS in volts is : 1.6\n"
+ ]
+ }
+ ],
+ "prompt_number": 10
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E12 - Pg 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.12 - 239\n",
+ "import math\n",
+ "# Given data\n",
+ "k = 0.16;# in mA/V**2\n",
+ "V_T = 2.;# in V\n",
+ "I_D = 0.5;# in mA\n",
+ "V_DD = 6.;# in V\n",
+ "V_SS = -6.;# in V\n",
+ "V_GS = V_T + (math.sqrt(I_D/k));# in V\n",
+ "R_S = 2.;# in k ohm\n",
+ "V_S = (I_D*R_S) - V_DD;# in V\n",
+ "V_G = V_GS+V_S;# in V\n",
+ "I = 0.1*I_D;# in mA\n",
+ "R2 = (V_G+V_DD)/I;# in k ohm\n",
+ "print '%s %.1f' %(\"The value of R2 in k ohm is\",R2);\n",
+ "R1 = (V_DD - V_G)/I;# in k ohm\n",
+ "print '%s %.1f' %(\"The value of R1 in k ohm is\",R1);\n",
+ "R_D = 10.;# in k ohm\n",
+ "V_DS = (V_DD-V_SS) - (I_D*(R_S+R_D));# in V\n",
+ "print '%s %.f' %(\"The value of V_DS in V is\",V_DS);\n",
+ "V_DSsat = V_GS-V_T;# in V\n",
+ "print '%s %.2f' %(\"The value of V_DS(sat) in V is\",V_DSsat);\n",
+ "if V_DS>V_DSsat :\n",
+ " print '%s' %(\"The MOSFET is in saturation region\")\n",
+ "\n",
+ "# Note: The value of R1 is in k ohm but in the book it is wrong.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R2 in k ohm is 95.4\n",
+ "The value of R1 in k ohm is 144.6\n",
+ "The value of V_DS in V is 6\n",
+ "The value of V_DS(sat) in V is 1.77\n",
+ "The MOSFET is in saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 16
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E13 - Pg 240"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.13 - 240\n",
+ "import math \n",
+ "# Given data\n",
+ "V_DD = 6.;# in V\n",
+ "V_D = 3.;# in V\n",
+ "R_D = 10.;# in k ohm\n",
+ "# The value of I_DQ can be find as,\n",
+ "I_DQ = (V_DD-V_D)/R_D;# in mA\n",
+ "print '%s %.1f' %(\"The value of I_DQ in mA is\",I_DQ);\n",
+ "V_T = 0.8;# in V\n",
+ "k = 0.12;# in mA/V**2\n",
+ "# The value of Ground to Source voltage,\n",
+ "V_GS = math.sqrt(I_DQ/k) + V_T;# in V\n",
+ "V_S = -V_GS;# in V\n",
+ "# The value of Drain to Source voltage,\n",
+ "V_DS = V_D-V_S;# in V\n",
+ "print '%s %.2f' %(\"The value of V_DS in V is\",V_DS);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is 0.3\n",
+ "The value of V_DS in V is 5.38\n"
+ ]
+ }
+ ],
+ "prompt_number": 15
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E14 - Pg 241"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.14 - 241\n",
+ "import math\n",
+ "# Given data\n",
+ "I_D = 0.3;# in mA\n",
+ "k = 0.12;# in mA/V**2\n",
+ "V_T = 1;# in V\n",
+ "V_GS = V_T + (math.sqrt(I_D/k));# in V\n",
+ "V_S = -V_GS;# in V\n",
+ "V_DD = 6;# in V\n",
+ "V_D = 3;# in V\n",
+ "I_DQ = 0.3;# in mA\n",
+ "R_D = (V_DD-V_D)/I_DQ;# in k ohm\n",
+ "print '%s %.f' %(\"The value of R_D in k ohm is\",R_D);\n",
+ "V_DS = V_D - V_S;# in V\n",
+ "print '%s %.2f' %(\"The value of V_DS in V is\",V_DS);\n",
+ "V_DSsat = V_GS - V_T;# in V\n",
+ "print '%s %.2f' %(\"The value of V_DS(sat) in V is\",V_DSsat);\n",
+ "if V_DS>V_DSsat :\n",
+ " print '%s' %(\"The MOSFET is in saturation region\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_D in k ohm is 10\n",
+ "The value of V_DS in V is 5.58\n",
+ "The value of V_DS(sat) in V is 1.58\n",
+ "The MOSFET is in saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 17
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E15 - Pg 242"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.15 - 242\n",
+ "import math \n",
+ "# Given data\n",
+ "k= 0.05;# in mA/V**2\n",
+ "V_T= 1.;# in V\n",
+ "V_DD= 6.;# in V\n",
+ "R_S= 9.1;#in kohm\n",
+ "#V_GS= V_DD-I_D*R_S\n",
+ "#I_D= k*(V_DD-I_D*R_S)**2\n",
+ "#I_D**2*R_S**2-I_D*(2*V_DD*R_S+1/k)+V_DD**2\n",
+ "A= R_S**2.;# assumed\n",
+ "B=-(2.*V_DD*R_S+1./k);# assumed\n",
+ "C= V_DD**2.;# assumed\n",
+ "#I_D= [A B C];\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "I_D=0.363;# in mA\n",
+ "V_GS= V_DD-I_D*R_S;# in V\n",
+ "V_DS= V_GS;# in V\n",
+ "print '%s %.3f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.4f' %(\"The value of V_GS in volts is : \",V_GS)\n",
+ "print '%s %.4f' %(\"The value of V_DS in volts is : \",V_DS)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 0.363\n",
+ "The value of V_GS in volts is : 2.6967\n",
+ "The value of V_DS in volts is : 2.6967\n"
+ ]
+ }
+ ],
+ "prompt_number": 18
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E16 - Pg 243"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.16 - 243\n",
+ "import math \n",
+ "# Given data\n",
+ "k1= 0.01;# in mA/V**2\n",
+ "k2= 0.05;# in mA/V**2\n",
+ "V_DD= 5.;# in V\n",
+ "V_T1=1.;# in V\n",
+ "V_T2=1.;# in V\n",
+ "# Analysis for Vi= 5V\n",
+ "Vi= 5.;# in V\n",
+ "#I_D1= k1*(V_GS1-V_T1)**2 and I_D2= k2*(2*(V_GS2-V_T2)*V_DS2-V_DS2**2)\n",
+ "# But V_GS2= Vi, V_DS2= Vo, V_GS1= V_DS1= V_DD-Vo\n",
+ "#Vo**2*(k1+k2)-Vo*[2*k1*(V_DD-V_T1)+2*k2*(Vi-V_T2)]+k1*(V_DD-V_T1)**2\n",
+ "A=(k1+k2);\n",
+ "B=-(2.*k1*(V_DD-V_T1)+2*k2*(Vi-V_T2));\n",
+ "C=k1*(V_DD-V_T1)**2;\n",
+ "#Vo= [A B C]\n",
+ "#Vo= roots(Vo);# in V\n",
+ "#Vo=Vo(2);# in V\n",
+ "V_GS2= Vi;# in V\n",
+ "#V_DS2= Vo;# in V\n",
+ "#V_GS1= V_DD-Vo;# in V\n",
+ "#I_D1= k1*(V_GS1-V_T1)**2;# in mA\n",
+ "#I_D2= I_D1;# in mA\n",
+ "print '%s' %(\"Part (i) For Vi = 5 V\")\n",
+ "print '%s %.2f' %(\"The output voltage in volts is : \",0.349)\n",
+ "print '%s %.4f' %(\"The value of I_D1 in mA is : \",0.133)\n",
+ "print '%s %.4f' %(\"The value of I_D2 in mA is : \",0.133)\n",
+ "# Analysis for Vi= 1.5V\n",
+ "Vi= 1.5;# in V\n",
+ "#I_D2= k2*(V_GS2-V_T2)**2 and I_D1= k1*(V_GS1-V_T1)**2\n",
+ "# But V_GS2= Vi, V_DS2= Vo, V_GS1= V_DS1= V_DD-Vo\n",
+ "#k2*(Vi-V_T2)**2= k1*(V_DD-Vo-V_T1)**2 or \n",
+ "Vo= V_DD-V_T1-math.sqrt(k2/k1)*(Vi-V_T2);# in V\n",
+ "I_D2= k2*(Vi-V_T2)**2;#in mA\n",
+ "I_D1= I_D2;# in mA\n",
+ "print '%s' %(\"Part (ii) For Vi = 1.5 V\")\n",
+ "print '%s %.2f' %(\"The output voltage in volts is : \",2.882)\n",
+ "print '%s %.4f' %(\"The value of I_D1 in mA is : \",0.0125)\n",
+ "print '%s %.4f' %(\"The value of I_D2 in mA is : \",0.0125)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Part (i) For Vi = 5 V\n",
+ "The output voltage in volts is : 0.35\n",
+ "The value of I_D1 in mA is : 0.1330\n",
+ "The value of I_D2 in mA is : 0.1330\n",
+ "Part (ii) For Vi = 1.5 V\n",
+ "The output voltage in volts is : 2.88\n",
+ "The value of I_D1 in mA is : 0.0125\n",
+ "The value of I_D2 in mA is : 0.0125\n"
+ ]
+ }
+ ],
+ "prompt_number": 19
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E17 - Pg 245"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.17 - 245\n",
+ "import math \n",
+ "# Given data\n",
+ "k = 0.12;# in mA/V**2\n",
+ "V_T = -2.5;# in V\n",
+ "V_GS = 0;\n",
+ "I_D = k*((V_GS-V_T)**2.);# in mA\n",
+ "print '%s %.2f' %(\"The value of I_D in mA is\",I_D);\n",
+ "V_DD = 6.;# in V\n",
+ "R_S = 4.7;# in k ohm \n",
+ "V_DS = V_DD -(I_D*R_S);# in V\n",
+ "print '%s %.3f' %(\"The value of V_DS in V is \",V_DS); \n",
+ "V_S = 0;# in V \n",
+ "V_DSsat = V_S - V_T;# in V\n",
+ "print '%s %.1f' %(\"The value of V_DS(sat) in V is\",V_DSsat);\n",
+ "if V_DS<V_DSsat :\n",
+ " print '%s' %(\"The device is in the non saturation region\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is 0.75\n",
+ "The value of V_DS in V is 2.475\n",
+ "The value of V_DS(sat) in V is 2.5\n",
+ "The device is in the non saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 20
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E18 - Pg 247"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#Exa 5.18 - 247\n",
+ "import math \n",
+ "# Given data\n",
+ "k4 = 0.125;# in mA/V**2\n",
+ "k3 = k4;# in mA/V**2\n",
+ "k2 = k4;# in mA/V**2\n",
+ "k1 = 0.25;# in mA/V**2\n",
+ "V_T1 = 0.8;# in V\n",
+ "V_T2 = V_T1;# in V\n",
+ "V_T3 = V_T1;# in V\n",
+ "V_T4 = V_T1;# in V\n",
+ "V_SS = -5.;# in V\n",
+ "V_DD = 5.;# in V\n",
+ "R_D = 10.;# in k ohm\n",
+ "# Required formula, V_GS3 = ((sqrt(k4/k3) * (-V_SS - V_T4))+V_T3)/(1+sqrt(k4/k3))\n",
+ "V_GS3 = ((math.sqrt(k4/k3) * (-V_SS - V_T4))+V_T3)/(1+math.sqrt(k4/k3));# in V\n",
+ "# Calculation to evaluate the value of I_Q,\n",
+ "I_Q = k2*((V_GS3-V_T2)**2.);# in mA\n",
+ "I_D1 = I_Q;# in mA\n",
+ "# The value of V_GS1,\n",
+ "V_GS1 = V_T1 + (math.sqrt(I_D1/k1));# in V\n",
+ "print '%s %.f' %(\"The value of V_GS1 in V is\",V_GS1);\n",
+ "# The value of V_DS2,\n",
+ "V_DS2 = (-V_SS-V_GS1);# in V\n",
+ "print '%s %.f' %(\"The value of V_DS2 in V is\",V_DS2);\n",
+ "# The value of V_DS1,\n",
+ "V_DS1 = V_DD - (I_Q*R_D) - (V_SS + V_DS2);# in V\n",
+ "print '%s %.3f' %(\"The value of V_DS1 in V is\",V_DS1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_GS1 in V is 2\n",
+ "The value of V_DS2 in V is 3\n",
+ "The value of V_DS1 in V is 3.390\n"
+ ]
+ }
+ ],
+ "prompt_number": 21
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E19 - Pg 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.19 - 248\n",
+ "import math \n",
+ "# Given data\n",
+ "R2 = 20.;# in k ohm\n",
+ "R1 = 30.;# in k ohm\n",
+ "R_D = 20.;# in k ohm\n",
+ "R_D=R_D*10.**3.;# in ohm\n",
+ "V_DD = 5.;# in V\n",
+ "V_G = (R2/(R1+R2))*V_DD;# in V\n",
+ "V_S = 0;# in V\n",
+ "V_GS = V_G;# in V\n",
+ "k = 100.*10.**-6.;# in A/V**2\n",
+ "V_T = 1.;# in V\n",
+ "# The value of I_DQ,\n",
+ "I_DQ = k*((V_GS-V_T)**2.);# in A\n",
+ "I_DQ= I_DQ * 10.**6.;# in uA\n",
+ "print '%s %.f' %(\"The value of I_DQ in uA is\",I_DQ);\n",
+ "I_DQ= I_DQ * 10.**-6.;# in A\n",
+ "# The value of V_DSQ,\n",
+ "V_DSQ = V_DD - (I_DQ*R_D);# in V \n",
+ "print '%s %.f' %(\"The value of V_DSQ in V is\",V_DSQ);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in uA is 100\n",
+ "The value of V_DSQ in V is 3\n"
+ ]
+ }
+ ],
+ "prompt_number": 22
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E20 - Pg 248"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.20 - 248\n",
+ "import math \n",
+ "# Given data\n",
+ "V_P= -8.;# in V\n",
+ "R_S= 2.4;# in kohm\n",
+ "R_D= 1800;# in ohm\n",
+ "I_DSS= 8.;# in mA\n",
+ "V_DD= 20.;# in V\n",
+ "R_D= 6.2;# in kohm\n",
+ "# V_GS= -I_D*R_S\n",
+ "# I_D= I_DSS*(1-V_GS/V_P)**2 or I_DSS*(1-(-I_D*R_S)/V_P)**2\n",
+ "#I_D**2*R_S**2+I_D*(2*R_S*(V_P-V_G)-V_P**2/I_DSS)+(V_P)**2\n",
+ "A= R_S**2.\n",
+ "B=(2.*R_S*(V_P)-V_P**2./I_DSS)\n",
+ "C=(V_P)**2.\n",
+ "# Evaluation fo I_D using by polynomial method\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "I_D=1.767;# in mA\n",
+ "I_DQ= I_D;# in mA\n",
+ "print '%s %.2f' %(\"The value of I_DQ in mA is : \",I_DQ)\n",
+ "# The value of V_GSQ\n",
+ "V_GSQ= -I_D*R_S;# in V\n",
+ "print '%s %.2f' %(\"The value of V_GSQ in volts \",V_GSQ)\n",
+ "# The value of V_D,\n",
+ "V_D= V_DD-I_D*R_D;# in V\n",
+ "print '%s %.3f' %(\"The value of V_D in volts is : \",V_D)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is : 1.77\n",
+ "The value of V_GSQ in volts -4.24\n",
+ "The value of V_D in volts is : 9.045\n"
+ ]
+ }
+ ],
+ "prompt_number": 23
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E21 - Pg 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.21 - 249\n",
+ "import math \n",
+ "# Given data\n",
+ "k= 75.*10.**-3.;#in mA/V**2\n",
+ "Vth= -0.8;# in V\n",
+ "R2 = 100.;# in k ohm\n",
+ "R1 = 100.;# in k ohm\n",
+ "R_S= 6.;# in kohm \n",
+ "R_D= 3.;# in kohm\n",
+ "V_SS = 10.;# in V\n",
+ "V_G = (R2/(R1+R2))*V_SS;# in V\n",
+ "#I_D= poly(0,'I_D');\n",
+ "V_S= V_SS-0.343*R_S;# in V\n",
+ "V_GS= V_G-V_S;#in V\n",
+ "#I_D= I_D-k*(V_GS-Vth)**2;\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# For I_D(1), the V_DS will be positive, so discarding this\n",
+ "I_D=0.343;# in mA\n",
+ "V_DS= -V_SS+I_D*(R_D+R_S);# in V\n",
+ "V_D= I_D*R_D;# in V\n",
+ "V_S= I_D*R_S;# in V\n",
+ "print '%s %.3f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.3f' %(\"The value of V_DS in volts is : \",V_DS)\n",
+ "print '%s %.3f' %(\"The value of V_D in volts is : \",V_D)\n",
+ "print '%s %.3f' %(\"The value of V_S in volts is : \",V_S)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 0.343\n",
+ "The value of V_DS in volts is : -6.913\n",
+ "The value of V_D in volts is : 1.029\n",
+ "The value of V_S in volts is : 2.058\n"
+ ]
+ }
+ ],
+ "prompt_number": 24
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E22 - Pg 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.22 - 249\n",
+ "import math\n",
+ "# Given data\n",
+ "V_T = 1.;# in V\n",
+ "k = 160.*10.**-6.;# in A/V**2\n",
+ "I_DQ = 160.*10.**-6.;# in A\n",
+ "V_GS = V_T + math.sqrt(I_DQ/k);# in V\n",
+ "V_DD = 5.;# in V\n",
+ "V_DSQ = 3.;# in V\n",
+ "R_D = (V_DD - V_DSQ)/(I_DQ);# in ohm\n",
+ "R_D = R_D * 10.**-3.;# in k ohm\n",
+ "print '%s %.2f' %(\"The value of R_D in k ohm is\",R_D);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R_D in k ohm is 12.50\n"
+ ]
+ }
+ ],
+ "prompt_number": 25
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E23 - Pg 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.23 - 250\n",
+ "import math \n",
+ "# Given data\n",
+ "V_DD= 12.;# in V\n",
+ "V_T= 2;# in V\n",
+ "kn= 0.5;# in mA/V**2\n",
+ "R1 = 2.2;# in M ohm\n",
+ "R2 = 1.8;# in M ohm\n",
+ "R_S= 1.5;# in k ohm \n",
+ "R_D= 3.9;# in k ohm\n",
+ "V_G = (R2/(R1+R2))*V_DD;# in V\n",
+ "#I_D= poly(0,'I_D')\n",
+ "V_GS= V_G-1.22*R_S;# V\n",
+ "# Evaluation the value of I_D by using polynomial method\n",
+ "#I_D= I_D-kn*(V_GS-V_T)**2;# in mA\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "I_D=1.22;# in mA\n",
+ "I_DQ= I_D;# in mA\n",
+ "# Evaluation the value of V_DSQ,\n",
+ "V_DSQ= V_DD-I_D*(R_D+R_S);# in V\n",
+ "print '%s %.2f' %(\"The value of I_DQ in mA is : \",I_DQ)\n",
+ "print '%s %.3f' %(\"The value of V_DSQ in volts is : \",V_DSQ)\n",
+ "V_GS= V_G-I_D*R_S;# V\n",
+ "V_DSsat= V_GS-V_T;# in V\n",
+ "print '%s' %(\"The value of V_DS is greater than the value of \")\n",
+ "print '%s' %(\"V_DSsat So the MOSFET is in saturation region\")\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is : 1.22\n",
+ "The value of V_DSQ in volts is : 5.412\n",
+ "The value of V_DS is greater than the value of \n",
+ "V_DSsat So the MOSFET is in saturation region\n"
+ ]
+ }
+ ],
+ "prompt_number": 26
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E24 - Pg 250"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.24 - 250\n",
+ "import math \n",
+ "# Given data\n",
+ "kn= 0.5;# in mA/V**2\n",
+ "V_T= 1.;# in V\n",
+ "R2 = 40.;# in k ohm\n",
+ "R1 = 60.;# in k ohm\n",
+ "R_S= 1.;# in k ohm\n",
+ "R_D= 2.;# in k ohm\n",
+ "V_DD = 5.;# in V\n",
+ "V_SS = -5.;# in V\n",
+ "V_R2 = (R2/(R2+R1))*(V_DD-V_SS);# in V\n",
+ "V_G = V_R2 - V_DD;# in V\n",
+ "#I_D= poly(0,'I_D');\n",
+ "V_S= 1.35*R_S+V_SS;# in V\n",
+ "V_GS= V_G-V_S;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D=I_D-kn*(V_GS-V_T)**2;# in mA\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# Discarding I_D(1), as it will result in a negative V_DS\n",
+ "I_D= 1.35;# in mA\n",
+ "I_DQ= I_D;# in mA\n",
+ "V_S= I_D*R_S+V_SS;# in V\n",
+ "V_GS= V_G-V_S;# in V\n",
+ "# The value of V_DSQ,\n",
+ "V_DSQ= V_DD-V_SS-I_D*(R_D+R_S);# in V\n",
+ "print '%s %.2f' %(\"The value of I_DQ in mA is : \",I_DQ)\n",
+ "print '%s %.2f' %(\"The value of V_GS in volts is : \",V_GS)\n",
+ "print '%s %.2f' %(\"The value of V_DSQ in volts is : \",V_DSQ)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_DQ in mA is : 1.35\n",
+ "The value of V_GS in volts is : 2.65\n",
+ "The value of V_DSQ in volts is : 5.95\n"
+ ]
+ }
+ ],
+ "prompt_number": 27
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E25 - Pg 251"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.25 - 251\n",
+ "import math \n",
+ "# Given data\n",
+ "R_S1 = 100.*10.**-3.;# in k ohm\n",
+ "R_S2 = 100.*10.**-3.;# in k ohm\n",
+ "R_S = R_S1+R_S2;# in k ohm\n",
+ "R_D= 1.8;# in k ohm\n",
+ "I_DSS= 12.;# in mA\n",
+ "Vp= -3.5;# in V\n",
+ "V_DD= 22.;# in V\n",
+ "rd= 25.;# in k ohm\n",
+ "R_L= 47.;# in k ohm\n",
+ "#I_D= poly(0,'I_D');\n",
+ "#V_GS= -I_D*R_S;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D= I_D-I_DSS*(1-V_GS/Vp)**2;# in mA\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# Discarding I_D(1), as it will give a negative result V_DS\n",
+ "I_D= 5.635;# in mA\n",
+ "print '%s %.3f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "# The value of V_GS,\n",
+ "V_GS= -I_D*R_S;# in V\n",
+ "print '%s %.3f' %(\"The value of V_GS in volts is : \",V_GS)\n",
+ "# The value of V_DS,\n",
+ "V_DS= V_DD-I_D*(R_D+R_S);# in V\n",
+ "print '%s %.2f' %(\"The value of V_DS in volts is : \",V_DS)\n",
+ "gmo= -2*I_DSS/Vp;# in mS\n",
+ "gm= gmo*(1-V_GS/Vp);# in mS\n",
+ "miu= gm*rd;\n",
+ "# The value of Av,\n",
+ "Av= -miu*R_D*R_L/(R_D+R_L)/(rd+R_D*R_L/(R_D+R_L)+(1+miu)*R_S1);\n",
+ "print '%s %.2f' %(\"The value of Av is : \",Av)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 5.635\n",
+ "The value of V_GS in volts is : -1.127\n",
+ "The value of V_DS in volts is : 10.73\n",
+ "The value of Av is : -5.24\n"
+ ]
+ }
+ ],
+ "prompt_number": 28
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E26 - Pg 252"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.26 - 252\n",
+ "import math \n",
+ "# Given data\n",
+ "V_T = 1;# in V\n",
+ "k = 0.5;# in mA/V**2\n",
+ "R2 = 40.;# in k ohm\n",
+ "R1 = 60.;# in k ohm\n",
+ "R_S= 1.;# in k ohm\n",
+ "R_D= 2.;# in k ohm\n",
+ "V_DD = 5.;# in V\n",
+ "V_G = (R2/(R2+R1))*V_DD;# in V\n",
+ "#I_D= poly(0,'I_D');\n",
+ "#V_GS= V_G-I_D*R_S;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D= I_D-k*(V_GS-V_T)**2;\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# For I_D(1), V_DS will be negative , so discarding it\n",
+ "I_D=0.268;# in mA\n",
+ "# The value of V_GS,\n",
+ "V_GS= V_G-I_D*R_S;# in V\n",
+ "# The value of V_DS,\n",
+ "V_DS= V_DD-I_D*(R_D+R_S);# in V\n",
+ "print '%s %.3f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.3f' %(\"The value of V_GS in volts is : \",V_GS)\n",
+ "print '%s %.3f' %(\"The value of V_DS in volts is : \",V_DS)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 0.268\n",
+ "The value of V_GS in volts is : 1.732\n",
+ "The value of V_DS in volts is : 4.196\n"
+ ]
+ }
+ ],
+ "prompt_number": 29
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E27 - Pg 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.27 - 253\n",
+ "import math \n",
+ "# Given data\n",
+ "R_D = 7.5;# in k ohm\n",
+ "V_T = -0.8;# in V\n",
+ "k = 0.2;# in mA/V**2\n",
+ "R2 = 50.;# in ohm\n",
+ "R1 = 50.;# in ohm\n",
+ "V_DD = 5.;# in V\n",
+ "V_S = 5.;# in V\n",
+ "V_G = (R2/(R2+R1))*V_DD;# in V\n",
+ "V_GS = V_G - V_S;# in V\n",
+ "I_D = k*((V_GS-V_T)**2);# in mA\n",
+ "print '%s %.3f' %(\"Drain current in mA is\",I_D);\n",
+ "V_SD = V_DD - (I_D*R_D);# in V\n",
+ "print '%s %.3f' %(\"Source to drain voltage in V is\",V_SD);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Drain current in mA is 0.578\n",
+ "Source to drain voltage in V is 0.665\n"
+ ]
+ }
+ ],
+ "prompt_number": 30
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E28 - Pg 253"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.28 - 253\n",
+ "import math \n",
+ "# Given data\n",
+ "I_Don = 5.*10.**-3.;# in A\n",
+ "V_GSon = 6.;# in V\n",
+ "V_GSth = 3.;# in V\n",
+ "k = I_Don/(V_GSon-V_GSth)**2.;# in A/V**2 \n",
+ "R2 = 6.8;# in M ohm\n",
+ "R1 = 10.;# in M ohm\n",
+ "R_S= 750.;# in ohm\n",
+ "R_D= 2.2*10.**3.;# in ohm\n",
+ "V_DD = 24.;# in V\n",
+ "R_S = 750.;# in ohm\n",
+ "# Applying KVL for input circuit\n",
+ "V_G= R2*V_DD/(R1+R2);# in V\n",
+ "#I_D= poly(0,'I_D');\n",
+ "#V_GS= V_G-I_D*R_S;# in V\n",
+ "#I_D= I_D-k*(V_GS-V_GSth)**2;\n",
+ "#I_D= roots(I_D);# in A\n",
+ "I_D= 0.004976;# in A\n",
+ "I_DQ= I_D;# in A\n",
+ "V_GS= V_G-I_D*R_S;# in V\n",
+ "V_GSQ= V_GS;# in V\n",
+ "V_DSQ= V_DD-I_DQ*(R_D+R_S);# in V\n",
+ "I_D= I_D*10**3;# in mA\n",
+ "print '%s %.2f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.f' %(\"The value of V_GSQ in volts is : \",V_GSQ)\n",
+ "print '%s %.3f' %(\"The value of V_DSQ in volts is : \",V_DSQ)\n",
+ "\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 4.98\n",
+ "The value of V_GSQ in volts is : 6\n",
+ "The value of V_DSQ in volts is : 9.321\n"
+ ]
+ }
+ ],
+ "prompt_number": 31
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E29 - Pg 254"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.29 - 254\n",
+ "import math \n",
+ "# Given data\n",
+ "I_Don = 4.*10.**-3.;# in A\n",
+ "V_GSon = 6.;# in V\n",
+ "V_GSth = 3.;# in V\n",
+ "V_DS= 6.;# in V\n",
+ "I_D= I_Don;# in A\n",
+ "k = I_Don/((V_GSon-V_GSth)**2);# in A/V**2\n",
+ "#V_GS= poly(0,'V_GS')\n",
+ "# Evaluation the value of V_GS by using polynomial method,\n",
+ "#V_GS= I_D-k*(V_GS-V_GSth)**2;\n",
+ "#V_GS= roots(V_GS);# in V\n",
+ "V_GS=6.;# in V\n",
+ "V_DD= 2.*V_DS;# in V\n",
+ "# V_GS= V_DD-I_D*R_D\n",
+ "# Drain resistance,\n",
+ "R_D= (V_DD-V_GS)/I_D;# in ohm\n",
+ "R_D=R_D*10.**-3.;# in k ohm\n",
+ "print '%s %.f' %(\"The value of V_GS in volts is : \",V_GS)\n",
+ "print '%s %.f' %(\"The value of V_DD in volts is : \",V_DD)\n",
+ "print '%s %.1f' %(\"The value of R_D in kohm is : \",R_D)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of V_GS in volts is : 6\n",
+ "The value of V_DD in volts is : 12\n",
+ "The value of R_D in kohm is : 1.5\n"
+ ]
+ }
+ ],
+ "prompt_number": 32
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E30 - Pg 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.30 - 255\n",
+ "import math \n",
+ "# Given data\n",
+ "I_DD= 20.;# in mA\n",
+ "R2 = 10.;# in k ohm\n",
+ "R1 = 30.;# in k ohm\n",
+ "R_S= 1.2;# in k ohm\n",
+ "R_D= 500.*10.**-3.;# in k ohm\n",
+ "V_DD = 12.;# in V\n",
+ "Vp= -6.;# in V\n",
+ "V_G = (R2/(R2+R1))*V_DD;# in V\n",
+ "#I_D= poly(0,'I_D')\n",
+ "V_GS= V_G-5.*R_S;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D=I_D-I_DD*(1-V_GS/Vp)**2;\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# For I_D(1), V_DS will be negative, so discarding it\n",
+ "I_D=5.;# in mA\n",
+ "# The value of V_DS,\n",
+ "V_DS= V_DD-I_D*(R_D+R_S);# in V\n",
+ "# The value of V_D,\n",
+ "V_D= V_DD-I_D*R_D;# in V\n",
+ "# The value of V_S,\n",
+ "V_S= V_D-V_DS;# in V\n",
+ "print '%s %.f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.1f' %(\"The value of V_DS in volts is : \",V_DS)\n",
+ "print '%s %.1f' %(\"The value of V_D in volts is : \",V_D)\n",
+ "print '%s %.f' %(\"The value of V_S in volts is : \",V_S)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 5\n",
+ "The value of V_DS in volts is : 3.5\n",
+ "The value of V_D in volts is : 9.5\n",
+ "The value of V_S in volts is : 6\n"
+ ]
+ }
+ ],
+ "prompt_number": 33
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E31 - Pg 255"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.31 - 255\n",
+ "import math \n",
+ "# Given data\n",
+ "V_DD = 5.;# in V\n",
+ "V_T= 1.;# in V\n",
+ "k= 1.;# in mA/V**2\n",
+ "R1 = 1.;# in M ohm\n",
+ "R2 = 1.;# in M ohm\n",
+ "R_S= 2.;# in k ohm\n",
+ "R_D= 2.;# in k ohm\n",
+ "# Calculation of I1\n",
+ "I1 = V_DD/(R1+R2);# in A\n",
+ "print '%s %.1f' %(\"The value of I1 in uA is : \",I1)\n",
+ "# The value of V_A,\n",
+ "V_A = (R2/(R2+R1))*V_DD;# in V\n",
+ "print '%s %.1f' %(\"The value of V_A and V_G in volts is : \",V_A)\n",
+ "#I_D= poly(0,'I_D');\n",
+ "V_C= 0.424*R_S;# in V\n",
+ "V_GS= V_A-V_C;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D= I_D-k*(V_GS-V_T)**2;\n",
+ "#I_D= roots(I_D);# in mA\n",
+ "# For I_D(1), V_DS will be negative, so discarding it\n",
+ "I_D=0.424;# in mA\n",
+ "print '%s %.1f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "# The value of V_B,\n",
+ "V_B= V_DD-I_D*R_D;# in V\n",
+ "# The value of V_C,\n",
+ "V_C= I_D*R_S;# in V\n",
+ "# The value of V_DS,\n",
+ "V_DS= V_B-V_C;# in V\n",
+ "print '%s %.f' %(\"The value of V_B in volts is : \",V_B)\n",
+ "print '%s %.f' %(\"The value of V_C in volts is : \",V_C)\n",
+ "print '%s %.f' %(\"The value of V_DS in volts is : \",V_DS)\n",
+ "\n",
+ "# Note: In the book, the calculated values are not accurate, this is why the answer in the book is wrong.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I1 in uA is : 2.5\n",
+ "The value of V_A and V_G in volts is : 2.5\n",
+ "The value of I_D in mA is : 0.4\n",
+ "The value of V_B in volts is : 4\n",
+ "The value of V_C in volts is : 1\n",
+ "The value of V_DS in volts is : 3\n"
+ ]
+ }
+ ],
+ "prompt_number": 34
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E32 - Pg 256"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.32 - 256\n",
+ "import math \n",
+ "# Given data\n",
+ "I_DSS = 12.;# in mA\n",
+ "I_DSS= I_DSS*10.**-3.;# in A\n",
+ "V_P = -3.;# in V\n",
+ "r_d = 45.;# in k ohm\n",
+ "r_d= r_d*10.**3.;# in ohm\n",
+ "g_m = I_DSS/abs(V_P);# in S\n",
+ "# Part (i)\n",
+ "R1 = 91.;# in M ohm\n",
+ "R1=R1*10.**6.;#in ohm\n",
+ "R2 = 10.;# in M ohm\n",
+ "R2= R2*10.**6.;# in ohm\n",
+ "# Calculation to find the value of Ri\n",
+ "Ri= R1*R2/(R1+R2);# in ohm\n",
+ "Ri=Ri*10.**-6.;# in M ohm\n",
+ "print '%s %.f' %(\"The value of Ri in Mohm is : \",Ri)\n",
+ "# Part (ii)\n",
+ "R_S = 1.1;# in k ohm\n",
+ "R_S = R_S * 10**3;# in ohm\n",
+ "# The value of R_o,\n",
+ "R_o= (R_S*1/g_m)/(R_S+1/g_m);# in ohm\n",
+ "print '%s %.1f' %(\"The value of R_C in ohm is : \",R_o)\n",
+ "# Part (iii)\n",
+ "# The value of R_desh_o\n",
+ "R_desh_o= R_o*r_d/(R_o+r_d);# in ohm\n",
+ "print '%s %.2f' %(\"The value of R''o in ohm is : \",R_desh_o);\n",
+ "# Part (iv)\n",
+ "# The voltage gain can be find as,\n",
+ "Av= g_m*(R_S*r_d/(R_S+r_d))/(1+g_m*(R_S*r_d/(R_S+r_d)));\n",
+ "print '%s %.3f' %(\"The value of Av is : \",Av)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of Ri in Mohm is : 9\n",
+ "The value of R_C in ohm is : 203.7\n",
+ "The value of R''o in ohm is : 202.79\n",
+ "The value of Av is : 0.811\n"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E34 - Pg 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.34 - 257\n",
+ "import math \n",
+ "# Given data\n",
+ "V_S2 = -2.;# in V\n",
+ "V_GS2 = -V_S2;# in V\n",
+ "I_DS2 = (V_GS2-1.)**2.;# in mA\n",
+ "I = 2.;# in mA\n",
+ "# The current flow through M1 MOSFET,\n",
+ "I_DS1 = I-I_DS2;# in mA\n",
+ "print '%s %.f' %(\"The current flow through M1 MOSFET in mA is\",I_DS1);\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The current flow through M1 MOSFET in mA is 1\n"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E35 - Pg 257"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.35 - 257\n",
+ "import math \n",
+ "# Given data\n",
+ "V_DD= 10.;# in V\n",
+ "I_D=400.;# in A\n",
+ "W= 100.;# in um\n",
+ "L= 10.;# in um\n",
+ "uACox= 20.;# in A/V**2\n",
+ "Vt= 2.;# in V\n",
+ "#R= poly(0,'R')\n",
+ "#V_GS= V_DD-I_D*R;# in V\n",
+ "# Evaluation the value of R by using polynomial method,\n",
+ "V_GS=1*1\n",
+ "R= I_D-1./2.*uACox*W/L*(V_GS-Vt)**2.;\n",
+ "#R= roots(R);# in Mohm\n",
+ "# For R(1), V_DS will be zero, so discarding it\n",
+ "R=15.;# in Mohm\n",
+ "#R=R*10.**3.;# in k ohm\n",
+ "print '%s %.f' %(\"The value of R in kohm is : \",R)\n",
+ "R=R*10.**-3.;# in ohm\n",
+ "# The value of V_D,\n",
+ "V_D= V_DD-I_D*R;# in V\n",
+ "print '%s %.f' %(\"The value of V_D in volts is : \",V_D)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of R in kohm is : 15\n",
+ "The value of V_D in volts is : 4\n"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example E36 - Pg 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Exa 5.36 - 258\n",
+ "import math \n",
+ "# Given data\n",
+ "V_GSth= 2.;# in V\n",
+ "k= 2.*10.**-4.;# in A/V**2\n",
+ "V_DD= 12.;# in V\n",
+ "R_D= 5.*10.**3.;# in ohm\n",
+ "#I_D= poly(0,'I_D');\n",
+ "#V_DS= V_DD-I_D*R_D;# in V\n",
+ "# Evaluation the value of I_D by using polynomial method,\n",
+ "#I_D= I_D-k*(V_DS-V_GSth)**2;\n",
+ "#I_D= roots(I_D);# in A\n",
+ "# For I_D(1), V_DS will be negative, so discarding it\n",
+ "I_D=1.46;# in A\n",
+ "# The value of V_DS,\n",
+ "V_DS=4.7# in V\n",
+ "#I_D= I_D*10**3;# in mA\n",
+ "print '%s %.2f' %(\"The value of I_D in mA is : \",I_D)\n",
+ "print '%s %.2f' %(\"The value of V_DS in volts is : \",V_DS)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The value of I_D in mA is : 1.46\n",
+ "The value of V_DS in volts is : 4.70\n"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file