Author Topic: How to modify LTspice N-Channel JFET model to match real curves from CT?  (Read 994 times)

Greybeard and 1 Guest are viewing this topic.

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
I tried modifying a "test circuit" in LTspice (using integrated J211 model in standard.jft), but the simulated result differs significantly from the measured characteristic curves:

2839966-0



The "gate dividers" were used to adjust the vertical distance of the curves in the family from one step to the next.

The "gate voltage sources" (V4, V5) were used to adjust the vertical shift of a family (EDIT: that can also  be done by changing the Vto parameter):



The used model is:
.MODEL J211 NJF(Beta=1.808m Betatce=-500m Rd=1 Rs=1 Lambda=10m Vto=-2.9 Vtotc=-2.5m Is=101.9f Isr=977.5f N=1 Nr=2 Xti=3 Alpha=13.92u Vk=88.13 Cgd=3.913p M=344.8m Pb=1 Fc=500m Cgs=3.496p Kf=0.7015f Af=1)


Does anyone know how to directly adjust the parameter set of the existing J211 model?

« Last Edit: June 13, 2026, 09:36:42 pm by Greybeard »
 

Offline sourcecharge

  • Frequent Contributor
  • **
  • Posts: 253
  • Country: us
I'm not exactly sure what to change to make the sim model to have the same switching characteristics as your curve tracer data, but here are a couple of links that define spice parameters:

part1
https://techweb.rohm.com/product/simulation/8331/
part2
https://techweb.rohm.com/product/simulation/8370/

Hope that helps.
 
The following users thanked this post: Greybeard

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3141
  • Country: au
Does anyone know how to directly adjust the parameter set of the existing J211 model?

I don't think you can over-ride or replace a single spice parameter in LTspice.
You may need to include the tweaked & renamed model in your design.

Google finds this
https://www.eevblog.com/forum/beginners/jfet-questions/
https://ltwiki.org/index.php?title=Standard.jft


 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
I don't think you can over-ride or replace a single spice parameter in LTspice.
You may need to include the tweaked & renamed model in your design.

You can add a spice directive, copy and paste the original model, rename the device name in the directive line and in the schematic and change parameters as you want:



The lines written in black characters are active spice directives, the blue ones are deactivated text lines.
« Last Edit: June 14, 2026, 11:10:30 am by Greybeard »
 
The following users thanked this post: Someone

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
One thing I noticed:
The measured curves look more "rounded". In the left section, they are more hyperbola-like—not as abrupt as the simulated ones (which are more parabolic shaped).

I am neither a mathematician nor a semiconductor physicist, so I cannot really judge this, but perhaps the mathematics in the models is simply somewhat imprecise?
« Last Edit: June 14, 2026, 12:25:57 am by Greybeard »
 

Online PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 3141
  • Country: au
How accurate do you really need the knee shape? So long as on resistance and slope of current are ok, that should be close enough?
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
How accurate do you really need the knee shape? So long as on resistance and slope of current are ok, that should be close enough?

Okay, you're probably right.

But there must be a parameter that affects the vertical spacing of the curves in the family from one Vgs step to the next.

I think that is important for the gain of the FET amplifier stage.


 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 14086
You certainly can override individual parameters of any LTspice device defined with a .model statement, by creating a new device that inherits all the parameters of the existing device, except those you wish to override.   What you cant do (without a lot more work* and a parameterised .subckt wrapper) is individually override a parameter of the device model of a a specific instance of a device. See: https://ltwiki.org/?title=Undocumented_LTspice#AKO_Aliases_.28A_Kind_Of.29

For the principles behind fitting a JFET model to a set of curves from an actual device, see: https://www.interfet.com/jfet-datasheets/jfet-spice-data-ctc-036-interfet.pdf
There are various utilities to automate this, some standalone but others are specific to a particular SPICE program.

*  N.B. ako: is reportedly buggy in subcircuits
« Last Edit: June 14, 2026, 01:26:55 am by Ian.M »
 
The following users thanked this post: PCB.Wiz, Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
Interesting feature (ako) - I wasn't aware of it before.

What you cant do (without a lot more work* and a parameterised .subckt wrapper) is individually override a parameter of the device model of a a specific instance of a device.
See: https://ltwiki.org/?title=Undocumented_LTspice#AKO_Aliases_.28A_Kind_Of.29

I'm not sure I understand that correctly, but can't you simply use one ako line individually for each device if you name them individually (as I did before)?
« Last Edit: June 14, 2026, 01:05:28 pm by Greybeard »
 

Offline MathWizard

  • Super Contributor
  • ***
  • Posts: 2483
  • Country: ca
Hey Greybread what is that nice CurveTracer looking thing or program on the left ? I've seen some vintge CT's but never looked up any new ones. I have one half built, I must finish that soon.

I'm digging more into semiconductor physics, but yeah what LTSpice does with all those models, and a bunch of stuff I forget already from last year about how it does it all....that and Octave/Matlab and 2 tools I must study way more.
 

Offline chilternview

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: gb
One thing I noticed:
The measured curves look more "rounded". In the left section, they are more hyperbola-like—not as abrupt as the simulated ones (which are more parabolic shaped).

I am neither a mathematician nor a semiconductor physicist, so I cannot really judge this, but perhaps the mathematics in the models is simply somewhat imprecise?

Basically the SPICE JFET level1 model doesn't model the transition from the linear region to the saturated region very well. It's based on the old Shichman-Hodges model.

A good book on the subject of spice modelling, if you're interested, is "Semiconductor Device Modelling with SPICE" by Giuseppe Massobrio and Paolo Antognetti.
« Last Edit: June 14, 2026, 09:49:26 am by chilternview »
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
A good book on the subject of spice modelling, if you're interested, is "Semiconductor Device Modelling with SPICE" by Giuseppe Massobrio and Paolo Antognetti.

When seaching for that book I found another doc:
"Semiconductor Device Modeling and Simulation for Electronic Circuit Design" by Samira Shamsir, Md Sakib Hasan, Omiya Hassan, Partha Sarathi Paul, Md Razuan Hossain and Syed K. Islam
The shown curve looks nice on my first sight, but I have no idea how to cast the included math into a working (LT)spice model...



https://www.researchgate.net/publication/341195282_Semiconductor_Device_Modeling_and_Simulation_for_Electronic_Circuit_Design
 

Offline chilternview

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: gb
The shown curve looks nice on my first sight, but I have no idea how to cast the included math into a working (LT)spice model...

I don't think you can in LTSPICE, its model equations are not decoupled from the solver. The question is really 'how would this impact performance in a real circuit'. If the FET is operated in saturation (i.e. fully on) or in the linear region (just on, with a few hundred millivolts S/D voltage) then it's not going to have any impact.
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
...what is that nice CurveTracer looking thing or program on the left ?

It's a Sony/Tektronix 370 Curve Tracer.
https://w140.com/tekwiki/wiki/370
 

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
The question is really 'how would this impact performance in a real circuit'.
If the FET is operated in saturation (i.e. fully on) or in the linear region (just on, with a few hundred millivolts S/D voltage) then it's not going to have any impact.

I can't answer this question.

The circuit I want to simulate is a weird 100-MHz-Oscilloscope-Y-Amplifier. https://www.eevblog.com/forum/repair/replacement-for-j211-n-channel-jfet/msg6271514/#msg6271514
The AC component of the input signal is amplified in a JFET input stage and following BJTs.
The DC (and low frequency) component is amplified by an OP amp in 1:1 gain configuration.
I've still did not understand the circuit completely, so I want to simulate and "turn some screws" to find out how the circuit reacts.
« Last Edit: June 14, 2026, 12:34:13 pm by Greybeard »
 

Offline MT4S301

  • Regular Contributor
  • *
  • Posts: 50
  • Country: cn
Maybe a level3+ MOSFET model is required for smooth transitions. https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/234/MOSFET_5F00_MODELING.PDF
However volt followers don't come close to the triode region if not overdriven.
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
The problem seems to be finding higher level models for specific JFET types.

BTW:
How did you create the "Vgs = _" labels for the curves?
« Last Edit: June 16, 2026, 11:32:22 pm by Greybeard »
 

Online mtwieg

  • Super Contributor
  • ***
  • Posts: 1641
  • Country: us
Yeah the model you're using is a level 1 model (Schichman-Hodges). A level 2 or 3 model would likely be much closer to your curve tracer.

I googled around and couldn't find a more advanced model for the J211. I did find an interesting reddit post from someone claiming to have made a tool for translating measured data into level 2 models. Glancing at their github page, it looks fairly good, might be worth a try.
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
That seems really interesting.
Unfortunately, I have no idea about ngspice and JavaScript...
« Last Edit: June 19, 2026, 09:30:32 pm by Greybeard »
 

Online mtwieg

  • Super Contributor
  • ***
  • Posts: 1641
  • Country: us
That seems really interesting.
Unfortunately, I have no idea about ngspice and JavaScript...
Apparently it relies on another git project by the same author. I'm guessing that setting everything up would be a fairly trivial matter for a software person. Unfortunately they don't seem to provide idiotproof instructions for the rest of us  :-//

It's likely that they would respond to a direct request for help, both projects seem to have been maintained recently. Maybe they would be willing to crunch the numbers for you if you provide the proper measurement data.
« Last Edit: Yesterday at 04:25:54 pm by mtwieg »
 
The following users thanked this post: Greybeard

Online GreybeardTopic starter

  • Frequent Contributor
  • **
  • Posts: 602
  • Country: de
I tried contacting the author on GitHub, but my account isn't working anymore. So I tried using the "forgot username" or "forgot password" features, but even after correctly solving that stupid 5-step CAPTCHA puzzle multiple times, I keep getting the message "CAPTCHA not solved successfully. WTF?
 

Offline chilternview

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: gb
I googled around and couldn't find a more advanced model for the J211. I did find an interesting reddit post from someone claiming to have made a tool for translating measured data into level 2 models.

Looks like it's trying to fit model parameters to measured data via some sort of optimisation. Could be quite useful if extended to other models. I did start writing BJT model parameter extraction a while ago, using a HP4156 for DC I/V measurements and E4980A for C/V measurements with pyVisa. The devil is in the details though and I never quite finished it.

There are of course commercial tools that semi companies use for this sort of thing. Keysight IC-CAP and Silvaco's UTMOST come to mind. They are not cheap...
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 3792
  • Country: us
  • Not An Expert
Doesn't qspice have a tool for defining fet models based on curves?
 

Offline chilternview

  • Frequent Contributor
  • **
  • Posts: 499
  • Country: gb
Doesn't qspice have a tool for defining fet models based on curves?

Interesting, wasn't aware of qspice.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf