LTspice – Why Are These Commercial MESFET Model Parameters Unrecognized by LTspice?

ltspicemodeling

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

Simple DC analysis to get an idea if the model is working

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 the LEVEL 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 the nA which are incorrectly placed. For example, Cgs=0.8 pF should be changed to Cgs=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 with P since it's a LEVEL=4-only model parameter.

Another thing to notice is that Vbi in the PSpice tables matches the description of Pb in the LTspice table. Therefore, you need to change Vbi to Pb to make it compatible with LTspice.

Moving on to Tnom, which is also specified in the .model statement. This is not supposed to happen, as TNOM is supposed to be a global .options parameter. Perhaps PSpice allows TNOM to be set locally on each semiconductor, but I cannot find any documentation to support this. Anyway, what TNOM means is that it's the temperature at which the model parameters were measured. Since it's set to 27°C and the global TNOM is 27°C by default you can delete the Tnom from the .model statement and not have to worry about it.

Last, you have to deal with Rg and Cds. 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 of Rg and Cds.

Putting all of the above together, you should get something that looks like this:

enter image description here