CHAPTER 06 - THE FIELD EFFECT TRANSISTOR AND MOSFET

Example E01 - Pg 162

In [1]:
#  Exa 6.1
%matplotlib inline
import math
import numpy as np
import matplotlib.pyplot as plt
# Given data
I_DSS = 10.;#  in mA
V_P = -4;#  in V
V_GS= np.linspace(V_P,0,num=41);#
I_D=np.zeros(41)
for i in range (0,41):
	I_D[i] = I_DSS * ((1 - (V_GS[i]/V_P))**2);#in A

plt.plot(V_GS,I_D);
plt.xlabel("V_GS in volts");
plt.ylabel("I_D in mA")
plt.title("Transfer curve")
plt.show()
print '%s' %("The transfer curve shown in the figure.")
The transfer curve shown in the figure.

Example E02 - Pg 165

In [2]:
%matplotlib inline
# Exa 6.2
# Given data
import math
import numpy as np
from matplotlib import pyplot
I_DSS = 4.;# in mA
V_P = 3.;# in V
V_GS=np.linspace(0,V_P,num=31);
I_D = np.zeros(31);
for i in range(0,31):
	I_D[i] = I_DSS * ((1 - (V_GS[i]/V_P))**2);# in A
	

pyplot.plot(V_GS,I_D);
pyplot.xlabel("V_GS in volts");
pyplot.ylabel("I_D in mA")
pyplot.title("Transfer curve")
pyplot.show();
print "The transfer curve shown in the figure.";
The transfer curve shown in the figure.

Example E03 - Pg 166

In [3]:
#  Exa 6.3
#  Given data
I_Don = 10.;#  in mA
I_Don = I_Don * 10.**-3.;#  in A
V_GS = -12.;#  in V
V_GSt = -3.;#  in V
# From I_Don = Kn*((V_GS-V_GSt)**2);
Kn = I_Don/((V_GS-V_GSt)**2);#  in A/V
Kn= Kn* 10.**3.;#  in mA/V
V_GS = -6.;#  in V
I_D = Kn*((V_GS-V_GSt)**2);#  in mA
print '%s %.2f' %("The drain current in mA is",I_D);
The drain current in mA is 1.11

Example E04 - Pg 167

In [4]:
#  Exa 6.4
#  Given data
I_DSS = 8.;#  in mA
I_DSS = I_DSS * 10.**-3.;#  in A
V_P =-5.;#  in V
V_GS = -2.;#  in V
V_DSmin = V_GS - V_P;#  in V
print '%s %.2f' %("The minimum value of V_DS in V is",V_DSmin);
I_DS = I_DSS*((1 - (V_GS/V_P))**2);#  in A
I_DS = I_DS * 10.**3.;#  in mA
print '%s %.2f' %("The drain current in mA is",I_DS);
The minimum value of V_DS in V is 3.00
The drain current in mA is 2.88

Example E05 - Pg 168

In [5]:
#  Exa 6.5
#  Given data
import math
I_DSS = 1.65;#  in mA
I_DSS = I_DSS * 10.**-3.;#  in A
V_P = -2.;#  in V
I_D = 0.8;#  in mA
I_D = I_D * 10.**-3.;#  in A
V_DD = 24.;#  in V
V_GS = V_P * (1 - math.sqrt( I_D/I_DSS ));#  in V
print '%s %.2f' %("The value of V_GS in V is",V_GS);
g_mo = -2. * (I_DSS*10.**3./V_P);#  in ms
g_m = g_mo * (1 - V_GS/V_P);#  in ms
print '%s %.2f' %("The value of g_m in ms is",g_m); 
The value of V_GS in V is -0.61
The value of g_m in ms is 1.15

Example E06 - Pg 173

In [6]:
#  Exa 6.6
#  Given data
Vt = 2.;#  in V
unCox = 20.;#  in uA/V**2
Kdasn = unCox;#  in uA/V**2
W = 100.;#  in um
L = 10.;#  in um
V_GS = 3.;#  in V
V_DS = 0.5;#  in V
V_GS = 3.;#  in V
Vt = 2.;#  in V
del_V = V_GS-Vt;#  in V
i_D = Kdasn*10.**-6.*(W/L)*( del_V*V_DS - 1./2.*(V_DS**2.) );#  in A
i_D = i_D * 10**6;#  in uA
print '%s' %("Part (a) For V_D= 0.5 V, NOMS is operating in Triode region.")
print '%s %.2f' %("The drain current in A is",i_D);
V_DS = 1.;#  in V
i_D = (1./2.)* Kdasn*10.**-6.*(W/L)*( del_V**2. );#  in A
i_D = i_D * 10**6;#  in uA
print '%s' %("Part (b) For V_D= 1 V, NOMS is operating in saturation region.")
print '%s %.2f' %("The drain current in uA is",i_D);
V_DS = 5;#  in V
i_D = (1./2.)* Kdasn*10.**-6.*(W/L)*( del_V**2. );#  in A
i_D = i_D * 10**6;#  in uA
print '%s' %("Part (c) For V_D= 5 V, NOMS is operating in saturation region.")
print '%s %.2f' %("The drain current in uA is",i_D);
Part (a) For V_D= 0.5 V, NOMS is operating in Triode region.
The drain current in A is 75.00
Part (b) For V_D= 1 V, NOMS is operating in saturation region.
The drain current in uA is 100.00
Part (c) For V_D= 5 V, NOMS is operating in saturation region.
The drain current in uA is 100.00

Example E07 - Pg 174

In [7]:
#  Exa 6.7
#  Given data
Vt = 2.;#  in V
i_D = 1.;#  in mA
i_D = i_D * 10.**-3.;#  in A
V_GS = 3.;#  in V
#  From i_D= 1/2*KnwByL*(V_GS-Vt)**2
KnwByL= 2.*i_D/(V_GS-Vt)**2;
V_GS= 4.;#  in V
V_DS= 5.;#  in V
i_D= 1./2.*KnwByL*(V_GS-Vt)**2.;#  in A
i_D= i_D*10.**3.;#  in mA
print '%s %.f' %("The value of i_D in mA is : ",i_D)
r_DS= 1./(KnwByL*(V_GS-Vt));#  in ohm
print '%s %.f' %("The value of drain to source resistance in ohm is : ",r_DS)
The value of i_D in mA is :  4
The value of drain to source resistance in ohm is :  250

Example E08 - Pg 174

In [8]:
#  Exa 6.8
#  Given data
Vt = -2.;#  in V
KnwByL = 2.*10.**-3.;#  in A/V**2
V_GS = 1.;#  in V
V_DS = V_GS-Vt;#  in V
print '%s %.f' %("The minimum value of V_DS in V is",V_DS);
i_D = 1./2.*KnwByL*V_DS**2.;#  in A
i_D = i_D * 10.**3.;#  in mA
print '%s %.f' %("The value of i_D in mA is",i_D);
The minimum value of V_DS in V is 3
The value of i_D in mA is 9