[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: geda-user Digest, Vol 54, Issue 32






On Nov 10, 2010, at 4:09 PM, clif@xxxxxxxxxxxxx wrote:

Hi Gang,

I've been playing with ngspice and gnucap and have gotten good results with the Non-Linerar Dependent Sources eg ASRC Bxxxx devices in ngspice. I mostly use those with VC-Switches to make full wave bridges, SCRs, Triacs, etc...

Why not use the semiconductor models for semiconductor devices? Make full wave bridges from diodes, SCR's from cross-coupled transistors, etc. A great deal of effort has gone into accurately modeling semiconductor physics in these simulators: why not exploit it? A Google search for "spice scr model" turns up quite a few subcircuit models of this sort. If you can't find exactly the model you need, it's probably better to tweak one of these than make one up.

I do try to use models that I find out there when I can, though some are overkill for anything more then just a few devices, and can really bog down the simulation. At other times I've had problems with the diodes in a full wave bridge breaking down not at the peak reverse voltage but in the middle range somewhere. I wasn't sure if this was a bug or some esoteric behavior that my circuit was tickleing. Either way I wanted to get on with designing my circuit so I switched to a voltage controled switch model.

I relize that it's not advisable to brut force a simulation to what you think it should be... but I had to move on. Maybe I'll go back later to see if I can figure out why it behaves that way.

Though I see that they are not supported in gnucap. I guess the alternative is to use POLYs. I've looked around and except for a short description in the gnucap manual I haven't found a comprehensive howto on how to use them.

A common way to go from data sheets to model parameters is to model test circuits and then tweak the parameters until there's a decent resemblance.

Yes and I've done this too.

I sapose you would want a curve fitting program to help you generate the coeficents like grace, or simfit, or you could use the fit function in gnucap. However this isn't supported in ngspice, so you couldn't use that model in both.

You can configure ngspice to support POLY. See http://www.brorson.com/gEDA/SPICE/x496.html.

Yes but there isn't much in the way of examples on how to use them.

Are POLYs really that much better at solving convergence problems to be worth the extra trouble? Is there a good into or howto on how to use them?

There is a vast literature on the subject of constructing polynomial approximations to functions. Google for "polynomial approximation". You'll never be able to digest it all.

True, but that dosn't help with for exmaple how to make models for multiple variables. Apparently you can say something like POLY(2) or POLY(3) but then how do you list the values? In Gnucap it seems you list the coeficent of X^0 (1) but a lot of models start with X^1. It would be helpfull to have a howto that described the best practices for all of this with some example problems.

Also some discussion on when to use them vs arbituray expressions as in Bxxxx sources. Naively one might assume that becuase they should be well behaived functions that each point would have a usable first or even second derivative, and this would help convergance. Though here is a quote from the NGspice manual Chapt 12.2.7 BSIM1 model (level 4):

"A known problem of this model is the negative output conductance and the convergence problems, both related to poor behavior of the polynomial equations."

So it's not even obvious that they will perform better. Are they there
just to support legacy models, or are there times when they are the best tool we have?


Are negitive coeficents even legal?

Sure, why not?

Sorry, I thought I read somewhere that they weren't, can't find it now.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx

	Thanks,
	Clif


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user