Common Source Example¶
Python Setup¶
In [21]:
from pygmid import Lookup as lk
import numpy as np
nmos = lk('../mat/nfet_01v8_lvt.mat')
Input Parameters¶
In [22]:
# Circuit Parameters
vdd = 1.8
ugf = 50e6
cload = 1e-12
# Device Parameters
## gm/ID
gm_id_M1 = 20
## Length
l_M1 = 0.5
Calculations¶
In [ ]:
# 'Optimize' Loop
cself = 0
for k in range(10):
# Transconductance (gm [S])
gm_M1 = 2 * np.pi * (cload + cself) * ugf
# Current (ID [A])
id_M1 = gm_M1 / gm_id_M1
# Drain Capacitance (CDD [F])
cdd_M1 = gm_M1 / nmos.lookup('GM_CDD', GM_ID=gm_id_M1, VDS=vdd/2, VSB=0, L=l_M1)
cself = cdd_M1
# Overdrive Voltages (Vdsat [V])
vdsat_M1 = 2 / gm_id_M1
# Gate-Source Voltage (Vgs [V])
vgs_M1 = nmos.lookupVGS(GM_ID=gm_id_M1, VDS=vdd/2, VSB=0, L=l_M1)
# Current Density (JD [µA/m])
jd_M1 = nmos.lookup('id_W', GM_ID=gm_id_M1, VDS=vdd/2, VSB=0, L=l_M1)
# Width (W [µm])
w_M1 = id_M1 / jd_M1
# Intrinsic Gains (gm/gds [V/V])
av_M1 = nmos.lookup('GM_GDS', GM_ID=gm_id_M1, VDS=vdd/2, VSB=0, L=l_M1)
# Output Conductances (gds [S])
gds_M1 = gm_M1 / av_M1
# Threshold Voltages (Vth [V])
vth_M1 = nmos.lookup('VT', VGS=vgs_M1, VDS=vdd/2, VSB=0, L=l_M1)
# Load Resistance
res = vdd/2 / id_M1
# Circuit Gain (A0 [V/V, dB])
a0_Mag = gm_M1 / (gds_M1 + 1 / res)
a0_dB = 20 * np.log10(a0_Mag)
# Circuit Consumption (IDD [A])
idd = id_M1
# Circuit Unity-Gain Frequency (UGF [Hz])
ugf = gm_M1 / (2 * np.pi * (cload + cself))
Output¶
In [24]:
print('M1 PARAMETERS:')
print(f'W = {w_M1:1.3f} um')
print(f'L = {l_M1:1.3f} um')
print(f'gm/ID = {gm_id_M1:1.3f} S/A')
print(f'JD = {jd_M1/1e-6:1.3f} uA/um')
print(f'gm/gds = {av_M1:1.3f} V/V')
print(f'gm = {gm_M1/1e-6:1.3f} uS')
print(f'ID = {id_M1/1e-6:1.3f} uA')
print(f'gds = {gds_M1/1e-6:1.3f} uS')
print(f'Vdsat = {vdsat_M1/1e-3:1.3f} mV')
print(f'Vth = {vth_M1/1e-3:1.3f} mV')
print('\nCIRCUIT PARAMETERS:')
print(f'R = {res/1e3:1.3f} kΩ')
print(f'Vbias = {vgs_M1/1e-3:1.3f} mV')
print(f'A0_Mag = {a0_Mag:1.3f} V/V')
print(f'A0_dB = {a0_dB:1.3f} dB')
print(f'UGF ~ {ugf/1e6:1.3f} MHz')
print(f'IDD = {idd/1e-6:1.3f} uA')
M1 PARAMETERS: W = 17.533 um L = 0.500 um gm/ID = 20.000 S/A JD = 0.906 uA/um gm/gds = 89.262 V/V gm = 317.657 uS ID = 15.883 uA gds = 3.559 uS Vdsat = 100.000 mV Vth = 517.800 mV CIRCUIT PARAMETERS: R = 56.665 kΩ Vbias = 530.642 mV A0_Mag = 14.979 V/V A0_dB = 23.510 dB UGF ~ 50.000 MHz IDD = 15.883 uA