Chapter No 8 : Metal Semiconductor Field Effect Transistor

Example 8.1, Page No 323

In [1]:
from __future__ import division
# Given Data
I_DSS = 15.0    #in mA
V_GS_off = -5.0    #in V
V_GS = 0        #in V
I_D = I_DSS*((1-(V_GS/V_GS_off))**2)     #in mA
V_GS = -1                   #in V
I_D1 = I_DSS*((1.0-(V_GS/V_GS_off))**2)         #in mA
V_GS = -4             #in V
I_D2 = I_DSS*((1-(V_GS/V_GS_off))**2)          #in mA
print('When V_GS=0, the drain current is =%.f mA ' %I_D)
print('When V_GS=-1V, the drain current is =%.2f mA ' %I_D1)
print('The interplanner spacing is =%.2f  Å' %I_D2)
When V_GS=0, the drain current is =15 mA 
When V_GS=-1V, the drain current is =9.60 mA 
The interplanner spacing is =0.60  Å

Example 8.4, Page No 327

In [2]:
import math
# Given Data
I_DSS = 20.0            #in mA
V_P = -8            #in V
g_mo = 5000.0       #in µs
V_GS = -4.0            #in V
I_D = I_DSS*((1-(V_GS/V_P))**2)      #in mA
g_m = g_mo*(1-(V_GS/V_P))            #in µs
print('The value of drain current is =%.f mA ' %I_D)
print('The transconductance is =%.f  µs' %g_m)
The value of drain current is =5 mA 
The transconductance is =2500  µs

Example 8.5 Page No 327

In [3]:
import math
# Given Data
I_D1 = 10.0        #in mA
V_GS = -12.0    #in V
V_GSth = -3.0    #in V
K = I_D1/( (V_GS-V_GSth)**2 )         #in mA/V
V_GS= -6                 #in V
I_D = K*((V_GS-V_GSth)**2)         #in mA
print('The value of I_D  is =%.2f mA ' %I_D)
print('Approximation error')
The value of I_D  is =1.11 mA 
Approximation error

Example 8.7, Page No 327

In [4]:
import math
# Given Data
V_GS = -2.0            #in V
V_P = -5.0          #in V
V_DS = V_GS-V_P     #in V
I_DSS = 8.0      #in mA
I_D = I_DSS*((1-(V_GS/V_P))**2)        #in mA
print('The minimum value of V_DS is =%.f  V ' %V_DS)
print('The drain current is =%.2f  mA' %I_D)
The minimum value of V_DS is =3  V 
The drain current is =2.88  mA

Example 8.8 Page No 328

In [5]:
import math
# Given Data
V_P = -2                 #in V
I_DSS = 1.65             #in mA
I_D = 0.8                #in mA
V_DD = 24.0              #in V
V_GS = V_P*(1- math.sqrt(I_D/I_DSS) )    #in V
g_mo = -(2*I_DSS)/V_P           #in mS
g_m = g_mo*(1-(V_GS/V_P))       #in mS
print('The value of V_GS is =%.2f V  ' %V_GS)
print('The value of g_m is =%.2f  mS' %g_m)
The value of V_GS is =-0.61 V  
The value of g_m is =1.15  mS

Example 8.9 Page No 328

In [6]:
import math
# Given Data
V_P = 5.0         #in V
I_DSS = -40.0     #in mA
I_D = -15.0         #in mA
V_GS = V_P*(math.sqrt(I_D/I_DSS)-1 )       #in V
print('The gate source voltage is =%.2f   V' %(V_GS*-1))
The gate source voltage is =1.94   V

Example 8.10, Page No 328

In [7]:
# Given Data
I_D1 = 1.9       #in mA
I_D2 = 1.0       #in mA
del_I_D = I_D1-I_D2          #in mA
V_GS2 = -3.3              #in V
V_GS1 = -3.0            #in V
del_V_GS = V_GS1-V_GS2      #in V
g_m = del_I_D/del_V_GS       #in mA/V
g_m = g_m * 10**3         #in µ mhos
print('The value of transconductance is =%.f µ mhos ' %g_m)
The value of transconductance is =3000 µ mhos 

Example 8.11 Page No 329

In [8]:
import math 
# Given Data
V_DS1 = 14.0          #in V
V_DS2 = 5.0          #in V
del_V_DS = V_DS1-V_DS2      # in V
I_D1 = 3.3            #in mA
I_D2 = 3              # in mA
del_I_D = I_D1-I_D2           #in mA
r_d = del_V_DS/del_I_D          #in k ohms
print('The drain resistance  is =%.f  k ohms' %r_d)
V_GS1 = 0.4              #in V
V_GS2 = 0.1             #in V
del_V_GS = V_GS1-V_GS2     #in V
I_D1 = 3.3             #in mA
I_D2 = 0.71           #in mA
del_I_D = I_D1-I_D2       # in mA
g_m = del_I_D/del_V_GS    # in mA/V
g_m = g_m * 10**3           # in µmhos
print('The transconductance is =%.f µmhos  ' %g_m)
Miu =r_d*10**3*g_m*10**-6
print('Amplification factor is =%.f  ' %Miu)
The drain resistance  is =30  k ohms
The transconductance is =8633 µmhos  
Amplification factor is =259  

Example 8.12 Page No 334

In [9]:
import math
# Given Data
q = 1.6*10**-19         #in C
N_D = 10**15*10**6      #electrons/m^3
a = 3*10**-4            #in cm
a=a*10**-2              #in m
Epsilon_o  = (36 * math.pi * 10**9)**-1
Epsilon = 12*Epsilon_o
V_P = (q*N_D*((a)**2))/(2*Epsilon)       #in V
print('Pinch off voltage is =%.2f   V ' %V_P)
V_GS = 1.0     #in V
V_P = 2.0      #in V
b = a*( 1-math.sqrt(V_GS/V_P) )         #in m
b = b * 10**6              #in µm
print('The channel half width  is =%.2f  µm' %b)
# Note: In the book, the unit of channel half width is wrong.
Pinch off voltage is =6.79   V 
The channel half width  is =0.88  µm

Example 8.13 Page No 335

In [10]:
import math
# Given Data
I_DSS = 8.0       #in mA
V_P = -4.0           #in V
a = 3*10**-4        #in cm
N_D = 10**15        #in electrons/cm^3
I_D = 3.0           #in mA
V_GS = V_P*( 1-math.sqrt(I_D/I_DSS) )           #in V
V_DS_sat = V_GS-V_P                             #in V
print('The value of V_GS is =%.2f   V' %V_GS)
print('The value of V_DS_sat is =%.2f   V ' %V_DS_sat)
The value of V_GS is =-1.55   V
The value of V_DS_sat is =2.45   V 

Example No 8.14 Page No 335

In [11]:
# Given Data
V_P = -4            #in V
I_DSS = 9.0       #in mA
V_GS = -2.0       #in V
I_D = I_DSS*(( 1-(V_GS/V_P) )**2)        #in mA
print('The drain current is =%.2f mA ' %I_D)
The drain current is =2.25 mA 

Example No 8.15 Page No 335

In [12]:
# Given Data
I_DSS = 12.0           #in mA
V_P = -6.0             #in V
V_GS = -1.0              #in V
g_mo = (-2*I_DSS)/V_P      #in mA/V
g_m = g_mo*(1-(V_GS/V_P))         #in mS
print('The value of transconductance is =%.2f  mS' %g_m)
The value of transconductance is =3.33  mS

Example No 8.16 Page No 336

In [13]:
# Given Data
I_DSS = 10.0          #in mA
V_P = -5.0            #in V
V_GS = -2.5          #in V
g_m = ((-2*I_DSS)/V_P)*(1-(V_GS/V_P))         #in mS .... correction
I_D = I_DSS * ((1-(V_GS/V_P))**2)             #in mA
print('The transconductance is =%.f mS ' %g_m)
print('The drain current is =%.2f mA ' %I_D)
The transconductance is =2 mS 
The drain current is =2.50 mA