I am trying to add a commercial GaAs FET model (ATF34143) in LTSpice XVII for simulation. The model is provided on this website (http://www.hp.woodshot.com/hprfhelp/design/SPICE/fets.htm#ATF34). Unfortunately the model is not working and I'm currently trying to debug it step by step.
At the moment I'm defining a new model with the following lines and I'm giving it as value to a MESFET.
.MODEL BATF34143 NMF (level=2, Vto=-0.95, Beta=0.24, Lambda=0.09, Alpha=4,
+ B=0.8, Tnom=27, Vbi=0.7, Delta=0.2, Cgs=0.8 pF,
+ Cgd=0.16 pF, Rd=0.25, Rg=1, Rs=0.125, Cds=0.04 pF,
+ Is=1 nA, P=0.65)
.ENDS
After lunching the simulation the results are completely wrong and the output log reads:
Error on line 6 : .model batf34143 nmf (level=2, vto=-0.95, beta=0.24, lambda=0.09, alpha=4, b=0.8, tnom=27, vbi=0.7, delta=0.2, cgs=0.8 pf, cgd=0.16 pf, rd=0.25, rg=1, rs=0.125, cds=0.04 pf, is=1 na, p=0.65)
* Unrecognized parameter "tnom" -- ignored
* Unrecognized parameter "vbi" -- ignored
* Unrecognized parameter "delta" -- ignored
* Unrecognized parameter "pf" -- ignored
* Unrecognized parameter "pf" -- ignored
* Unrecognized parameter "rg" -- ignored
* Unrecognized parameter "cds" -- ignored
* Unrecognized parameter "pf" -- ignored
* Unrecognized parameter "na" -- ignored
* Unrecognized parameter "p" -- ignored
Digging around I have found out that this is probably a problem of the model spice is using to simulate my MESFET. By changing the "level" parameter it should be possible to access more advanced models, specifically the Statz model, where the inserted parameters should be recognized. However changing this level value doesn't produce any effect at all. Does anyone have any idea what I'm doing wrong or has any idea on how to make the whole model (with subcircuits) to work?
Best Answer
It actually has nothing to do with the
LEVEL
, since LTspice only uses the Statz model and ignores theLEVEL
keyword. You have a combination of things going on here. The model was constructed specifically for PSpice (not for SPICE3/LTspice), and it was also poorly constructed as it relies on the PSpice engine to auto-fix a bunch of the errors. Although the LTspice engine has quite a bit of behind-the-scenes PSpice compatibility & translation, it's not capable of auto-fixing these kinds of discrepancies.The first thing you gotta do is fix the
pF
's and thenA
which are incorrectly placed. For example,Cgs=0.8 pF
should be changed toCgs=0.8p
. In other words, get rid of the space and the units (more importantly the space).You then need to cross-reference the tables on pages 110-113 of this PSpice reference guide along with the 1st table found in the built-in LTspice Help under "Z. MESFET and IGBT Transistors". Notice how one of the parameters,
Delta
, is only used in the higher level models. It's not a Statz level model at all, but the PSpice engine will fix this error for the user by auto-ignoring it. In LTspice, you need to delete this parameter manually since it shouldn't be there in the first place. You should do the same withP
since it's aLEVEL=4
-only model parameter.Another thing to notice is that
Vbi
in the PSpice tables matches the description ofPb
in the LTspice table. Therefore, you need to changeVbi
toPb
to make it compatible with LTspice.Moving on to
Tnom
, which is also specified in the.model
statement. This is not supposed to happen, asTNOM
is supposed to be a global.options
parameter. Perhaps PSpice allowsTNOM
to be set locally on each semiconductor, but I cannot find any documentation to support this. Anyway, whatTNOM
means is that it's the temperature at which the model parameters were measured. Since it's set to 27°C and the globalTNOM
is 27°C by default you can delete theTnom
from the.model
statement and not have to worry about it.Last, you have to deal with
Rg
andCds
. These weren't part of the original Statz model and were added by PSpice. One option is to ignore them all together and simply delete them to be on your way. Another option is to add them externally. If you look at the "GaAsFET Equations" section starting at page 115 of the PSpice reference linked above, you can deduce that both components are linear. However, the equations show that they do have a temperature dependence. What this means is as long as you're running them at the default simulation temperature, it's perfectly fine to add a discrete linear resistor and linear capacitor externally in place ofRg
andCds
.Putting all of the above together, you should get something that looks like this: