There are no plans right now.gamma, ibc,nk,qco,rco,voIs there an update for the ngspice sgp model planned? Or is this simply ltspice specific?
The LTSPICE device equations using these parameters are not publicly available. Maybe that they can be collected and assembled from several different sources, or one can use some guesswork.
Holger
So, a good reason to convert them might be so they can be used in ngspice. But I have no observed a 1:1 conversion of the quasi-saturation parameters with this script. They need to be re-fitted. I will see if there is a simple relationship that can be included in the script.
EDIT: The quasi-saturation parameters all transfer in VBIC except for Vo. There is no value of Vo that matches the effect of Vo in LTspice's modified SGP.
I am surprised if the Ibc parameter is not in the ngspice SGP model. It's role in the model is very straightforward. Ibc and Ibe are the saturation current for the emitter and collector, where normally Is is used for both.
EDIT: The quasi-saturation parameters all transfer in VBIC except for Vo. There is no value of Vo that matches the effect of Vo in LTspice's modified SGP.
I am surprised if the Ibc parameter is not in the ngspice SGP model. It's role in the model is very straightforward. Ibc and Ibe are the saturation current for the emitter and collector, where normally Is is used for both.
Last edited:
I figured something out about HRCF. HRCF only has an effect if Vo<1. I don't have any references that mention it.
It doesn't seem to be a parameter switch, but HRCF has no detectable effect when Vo>>1. Schematic attached.
It doesn't seem to be a parameter switch, but HRCF has no detectable effect when Vo>>1. Schematic attached.
Attachments
Last edited:
Because we are in ngspice thread - the following mjl21194 model I converted with the script and made some parameter tweaking for Q-S:
Only to show Q-S capability. It is to see that beta decrease is not correct and I am sure lots of others too.
BTW: HRCF and VO are redundant. Let HRCF on Default as above to see.
Code:
.model mjl21194 npn (level=4 rcx=0.05 rbx=1.0e-01
+ rci=0.08 gamm=2.0e-06 vo=20 Hrcf=1.0 qco=1e-12
+ rbi=1.09204e+01 re=6.75706e-04 is=1e-10 nf=8.58602e-01 nr=9.25054e-01 fc=8.0e-01
+ cje=1.70807e-08 pe=4.0e-01 me=5.20397e-01 cjc=4.003635e-10 cjep=9.96365e-11 pc=9.5e-01
+ mc=2.38884e-01 cjcp=0 ps=7.5e-01 ms=5.0e-01 ibei=1e-12 nei=8.58602e-01
+ iben=7.00007e-12 nen=3.43749 ibci=1.926442e-11 nci=9.25054e-01 ibcn=3.25e-13 ncn=4
+ vef=4e+01 ver=4.18283393 ikf=7.6 nkf=5.0e-01 ikr=4.0 tf=1.0e-08
+ xtf=4.73046e+01 vtf=1.88154 itf=5.60261e-01 tr=1.0e-07 td=0 ea=1.11955
+ eaie=1.11955 eaic=1.11955 eane=1.11955 eanc=1.11955 xis=1.00001 xii=8.49187e-01
+ xin=8.49187e-01 kfn=0 afn=1)
BTW: HRCF and VO are redundant. Let HRCF on Default as above to see.
Attachments
Default value for HRCF is infinite. If HRCF=0 is used, that is interpreted as infinite.
EDIT: The LTspice manual says the default value is infinite but I suspect it is wrong...
If I use HRCF << 1 (say hrcf=1m), then the lower quasi-saturation corners match in modified SGP and VBIC. But I can't do anything to get the regions above that to match.
I don't know about HRCF and Vo being redundant. I had to find the correct combination in order to model deep quasi-saturation in the converted 2SC3264 model.
If Vo>>1, HRCF has no effect.
If HRCF<<1, Vo has no effect.
In between both extremes you get complex behavior that is useful for modeling deep QS. But as far as I can tell nothing that is equivalent to the modified SGP Vo implementation.
EDIT: The LTspice manual says the default value is infinite but I suspect it is wrong...
If I use HRCF << 1 (say hrcf=1m), then the lower quasi-saturation corners match in modified SGP and VBIC. But I can't do anything to get the regions above that to match.
I don't know about HRCF and Vo being redundant. I had to find the correct combination in order to model deep quasi-saturation in the converted 2SC3264 model.
If Vo>>1, HRCF has no effect.
If HRCF<<1, Vo has no effect.
In between both extremes you get complex behavior that is useful for modeling deep QS. But as far as I can tell nothing that is equivalent to the modified SGP Vo implementation.
Last edited:
Equation 59 on page 17 deals with Vo and HRCF:
http://www.designers-guide.org/VBIC/documents/VbicText.pdf
http://www.designers-guide.org/VBIC/documents/VbicText.pdf
There are no plans right now.
The LTSPICE device equations using these parameters are not publicly available. Maybe that they can be collected and assembled from several different sources, or one can use some guesswork.
Holger
Thx! At least one SGP parameter may be recycled converting "nk" to "nkf". Could you please verify if reading a sgp model, ngspice could allow "nk" or "nkf" as parameter name?
From ngspice-30 manual
- NKF High current Beta rolloff exponent default: 0.5
- nk High current roll-off coefficient default: 0.5
New script version 2.0.1-1615
Changes:
Changes:
- fix wrong silicon 'eg' parameters (eg < 1 or eg > 1.3 will be set to 1.12)
- add version information
- add sgp normalization for ngspice
- better debug
- add e.g. 3k3 conversion to 3.3k
- write vbic level=9 per default
Attachments
ASTX, I just realized that if the thermal model for VBIC is enabled, you need to disable it in order to sanity check the models for match to the SGP versions. I was quite puzzled why many transistors appeared to be in voltage breakdown in your batch process output. Thermal modeling would explain this.
BTW, the default value for Eg in LTspice is 1.1, not 1.12. I guess if the model doesn't already specify Eg then we want to give the most reasonable value.
BTW, the default value for Eg in LTspice is 1.1, not 1.12. I guess if the model doesn't already specify Eg then we want to give the most reasonable value.
Last edited:
Hmm how to disable thermal modeling when vbic models used?ASTX, I just realized that if the thermal model for VBIC is enabled, you need to disable it in order to sanity check the models for match to the SGP versions...
...
You are right. In ngspice the 'EG' default is 1.11 and in SGP parameterlist on page 88 of "Joerg Berkner / Kompaktmodelle fuer Bipolartransistoren" it is also 1.11....
BTW, the default value for Eg in LTspice is 1.1, not 1.12.
...
Here it is defined as 1.166 at 300 degree Kelvin I think: 2.2.5 Temperature dependence of the energy bandgap
A bit confusing, but will change this to 1.11 default for next release. 😀
current changelog:
Code:
------------------------------------------------------------------------
r1619 | astx | 2019-02-28 16:29:24 +0100 (Don, 28. Feb 2019) | 1 Zeile
fix EG parameter default to 1.11
------------------------------------------------------------------------
r1618 | astx | 2019-02-27 12:10:33 +0100 (Mit, 27. Feb 2019) | 1 Zeile
update license / copyright
------------------------------------------------------------------------
r1617 | astx | 2019-02-27 12:09:38 +0100 (Mit, 27. Feb 2019) | 1 Zeile
update license / copyright
------------------------------------------------------------------------
r1616 | astx | 2019-02-26 16:08:35 +0100 (Die, 26. Feb 2019) | 1 Zeile
keep comments
Last edited:
1.16 is what I used in my 6145 model, so maybe 1.166 is a more accurate value overall?
What kind of transistor does 1.1 correspond to?
BTW, my emails keep failing to send.
EDIT:
I notice Linear Systems models are generally good, and provided with model fit data. They use Eg=1.17. So I think it might be a good idea to default Eg to 1.166.
What kind of transistor does 1.1 correspond to?
BTW, my emails keep failing to send.
EDIT:
I notice Linear Systems models are generally good, and provided with model fit data. They use Eg=1.17. So I think it might be a good idea to default Eg to 1.166.
Last edited:
Very interesting - some bjt types may be really a bit different.
I have set parameter EG to 1.12 using Bob Cordell's models to get best thermal simulations for SA20xx series - the results in thermal simulations are fixed by this parameter change.
Maybe some transistor types use different substrat/dotation whatever and this changes the EG effect. Also possible they have incorporated some self heating feature in the EG parameters. I would leave it 1.11 as well known default from literature and from the original sgp2vbic converter. In the converter code I emit a warning if EG is less as 1.0 or higher as 1.3 and set it hard to the default.
BR, Toni
P.S.: email sending should work now.
I have set parameter EG to 1.12 using Bob Cordell's models to get best thermal simulations for SA20xx series - the results in thermal simulations are fixed by this parameter change.
Maybe some transistor types use different substrat/dotation whatever and this changes the EG effect. Also possible they have incorporated some self heating feature in the EG parameters. I would leave it 1.11 as well known default from literature and from the original sgp2vbic converter. In the converter code I emit a warning if EG is less as 1.0 or higher as 1.3 and set it hard to the default.
BR, Toni
P.S.: email sending should work now.
Here is the best reference on VBIC I have found:
https://www.franz-sischka.de/Downlo..._hpcreator_widget_Download_17426589?id=267928
I think this is one of the ones I originally lost that helped me to understand quasi-saturation modeling. It has very good illustrations.
Here is something similar for MEXTRAM as well:
https://www.nxp.com/wcm_documents/models/bipolar-models/mextram/nlur2001801_2.pdf
https://www.franz-sischka.de/Downlo..._hpcreator_widget_Download_17426589?id=267928
I think this is one of the ones I originally lost that helped me to understand quasi-saturation modeling. It has very good illustrations.
Here is something similar for MEXTRAM as well:
https://www.nxp.com/wcm_documents/models/bipolar-models/mextram/nlur2001801_2.pdf
Uh oh, what's my grade? Did I pass? 😀
I fit Cbc at two datapoints, the 0V point you gave me and the 10V value in the datasheet.
I fit Cbc at two datapoints, the 0V point you gave me and the 10V value in the datasheet.
Looks like I have done it correctly... 
...many new things learned about parameter extraction.
Thx keantoken for pushing me to the right direction!

...many new things learned about parameter extraction.
Thx keantoken for pushing me to the right direction!
Actually I'm confused, I'm not sure exactly what's going on.
One suggestion I would make is to measure capacitive reactance using only the imaginary part of the collector current, this way you can exclude leakage resistance from the measurement. So it would be something like
Xc=Vbc/Ic -> Xc=Vbc/im(Ic)
This way you may get more meaningful data in the forward biased region where the junction becomes significantly resistive.
One suggestion I would make is to measure capacitive reactance using only the imaginary part of the collector current, this way you can exclude leakage resistance from the measurement. So it would be something like
Xc=Vbc/Ic -> Xc=Vbc/im(Ic)
This way you may get more meaningful data in the forward biased region where the junction becomes significantly resistive.
- Home
- Design & Build
- Software Tools
- Installing and using ngspice - an opensource simulator