/* Put rfMaxima.mac in the same directory as this notebook, or add its
directory to file_search_maxima. */
load("rfMaxima.mac")$MESFET Notebook
Generated from MESFET.wxm with rfMaxima 0.2.5 on Maxima 5.46.0.
All results were computed by executing the notebook; none is transcribed.
https://qucs.sourceforge.net/docs/report/MESFET.pdf
(See also: "A MESFET Model for Use in the Design of GaAs Integrated Circuits", Walter R. Curtice,
IEEE Transactions on Microwave Theory & Techniques, Vol. 28, No. 5, May 1980, pp. 448-456)
Curtice MESFET Model Parameters
Name: description [Unit]
Vto: pinch-off voltage [V]
Beta: transconductance parameter [A/V^2]
Alpha: saturation voltage parameter [1/V]
Lambda: channel length modulation parameter [1/V]
Bdp: doping profile parameter [1/V] (SPICE symbol B; renamed to avoid a clash with rfMaxima's noise bandwidth B)
Qp: power law exponent parameter
Delta: power feedback parameter [1/W]
Vmax: maximum junction voltage before cap. limiting [V]
Vdelta1: capacitance saturation transition voltage [V]
Vdelta2: capacitance threshold transition voltage [V]
Gamma: DC drain pull coefficient
Nsc: subthreshold conductance parameter
Is: diode saturation current [A]
N: diode emission coefficient
Vbi: built-in gate potential [V]
Bv: gate-drain junction reverse breakdown voltage [V]
Xti: diode saturation current temperature coefficient
Tau: transit time under gate [s]
Rin: channel resistance [Ohm]
Fc: forward-bias depletion capacitance coefficient
Area: area factor
Eg: bandgap voltage [eV]
M: grading coefficient
Cgs: zero-bias gate-source capacitance [F]
Cgd: zero-bias gate-drain capacitance [F]
Cds: zero-bias drain-source capacitance [F]
Betatc: Beta temperature coefficient [%/DegC]
Alphatc: Alpha temperature coefficient [%/DegC]
Gammatc: Gamma temperature coefficient [%/DegC]
Ng: subthreshold slope gate parameter
Nd: subthreshold drain pull parameter
ILEVELS: gate-source current equation selector
ILEVELD: drain-source current equation selector
QLEVELS: gate-source charge equation selector
QLEVELD: gate-source charge equation selector
QLEVELDS: drain-source charge equation selector
Vtotc: Vto temperature coefficient [V/DegC]
Rg: gate series resistance [Ohm]
Rd: drain series resistance [Ohm]
Rs: source series resistance [Ohm]
Rgtc: gate series resistance temperature coefficient [1/DegC]
Rdtc: drain series resistance temperature coefficient [1/DegC]
Rstc: source series resistance temperature coefficient [1/DegC]
Ibv: gate reverse breakdown current [A]
Rf: forward bias slope resistance [Ohm]
R1: breakdown slope resistance [Ohm]
Af: Flicker noise exponent
Kf: flicker noise coefficient
Gdsnoi: channel thermal noise coefficient
Tnom: device parameter measurement temperature [DegC]
Temp: device circuit temperature [DegC]
Vto:-1.8$
%beta:3e-3$
%alpha:2.25$
%lambda:0.05$
Bdp:0.3$ /* renamed from B: rfMaxima uses B for the noise bandwidth */
Qp:2.1$
Delta:0.1$
Vmax:0.5$
Vdelta1:0.3$
Vdelta2:0.2$
Nsc:1$
Is:1e-14$
N:1$
Vbi:1.0$
Bv:60$
Xti:0$
%tau:1e-9$
Rin:1e-3$
Fc:0.5$
Area:1$
Eg:1.11$
M:0.5$
Cgs:0.2e-12$
Cgd:1e-12$
Cds:1e-12$
Betatc:0$
Alphatc:0$
Gammatc:0$
Ng:2.65$
Nd:-0.19$
ILEVELS:3$
ILEVELD:3$
QLEVELS:2$
QLEVELD:2$
QLEVELDS:2$
Vtotc:0$
Rg:5.1$
Rd:1.3$
Rs:1.3$
Rgtc:0$
Rdtc:0$
Rstc:0$
Ibv:1e-3$
Rf:10$
R1:10$
Af:1.0$
Kf:0.0$
Gdsnoi:1.0$
Tnom:26.85$
Temp:26.85$MESFET Equations
DC Equations
Boltzmann's constant [J/K] Electric charge [Coulombs]
kB:1.3806503e-23$
q:1.602176634e-19$TK(Temp):=Temp+273.15$
TnK(Tnom):=Tnom+273.15$
Tr(Temp,Tnom):=TK(Temp)/TnK(Tnom)$
Vt(Temp):=kB*TK(Temp)/q$
Gmin:1e-12$Is(Temp):=Is*exp(Xti/N*ln(Tr(Temp,Tnom))-(Eg/N/Vt(Temp))*(1-Tr(Temp,Tnom)));Gate-source diode current, in three bias regions:
V_GS < -Bv+50*Vt reverse breakdown -Bv+50*Vt <= V_GS < -5*Vt reverse saturation V_GS >= -5*Vt forward conduction
0.2.4 wrote these as three separate definitions of I_GS in three separate cells, so only the last one survived and there was no piecewise function. It also used the bare symbol Vt where the thermal-voltage FUNCTION Vt(Temp) was meant.
I_GS(Temp,V_GS):=
if V_GS < -Bv+50*Vt(Temp) then
-Is(Temp)*(1+exp(-(Bv+V_GS)/Vt(Temp)))+Gmin*V_GS
elseif V_GS < -5*Vt(Temp) then
-Is(Temp)+Gmin*V_GS
else
Is(Temp)*(exp(V_GS/(N*Vt(Temp)))-1)+Gmin*V_GS;For V_GS-Vto>0
I_DS(V_DS,V_GS):=%beta*(V_GS-Vto)^2*(1+%lambda*V_DS)*tanh(%alpha*V_DS);Charge Equations
Q_GS:Cgs*V_GS$
Q_GD:Cgd*V_GD$
Q_DS:Cds*V_DS+%tau*I_DS$IV Curves
kill(V_DS,V_GS);wxplot2d([I_DS(V_DS,Vto),I_DS(V_DS,-1.5),I_DS(V_DS,-1),I_DS(V_DS,-0.5),I_DS(V_DS,0)],
[V_DS,0,10],
[legend,false],
[xlabel,"V_DS [V]"],
[ylabel,"I_DS [A]"],
[style,[lines,3,11]],
[style,[lines,3,11]],
[style,[lines,3,11]],
[style,[lines,3,11]],
[style,[lines,3,11]],
[gnuplot_preamble,"set grid"])$