On Friday 06 March 2009, r wrote: > > ok .... maybe you can help solve this. > > Well, I'm not sure. I don't know how it is implemented in > these simulators. I guess these guys have simply modified the > models (they have modified quite a few other things there so > I guess they wouldn't have minded adding "m" parameter as > well).
If someone wants to step to the task of modifying all of the models, go ahead! That's what NGspice does. So, when you use an NGspice model as a Gnucap plugin, probes like "gm" are scaled. To see what it takes, look at the source and see how much is changed. Compare the NGspice code against the 3f5 code for the same model, or to the official BSIM code from Berkeley. Please don't take this as a slam against NGspice .. I'm just pointing out the work impact in taking this approach. Part of the goal of the Gnucap plugin system is to be able to use the models and more from everywhere else, with a minimum of changes, preferably with no changes at all. It's fine to change code to enhance it, but I refuse to require such changes. > > Also consider that there are a bunch of parameters that can > > be probed. Some multiply, some divide, some are not > > changed. There is no indication in the code of which is > > which. There could be hundreds of parameters that could be > > probed. All that is known is a name and the type (real, > > int, string, ....) that it returns. There is no notion of > > across, through, or anything that helps the decision of how > > to scale. > > Perhaps it could be done at the time of stamping the matrix - > by multiplying all gm's by a factor of "m". The Gnucap approach is to do it at the time of stamping the matrix by multiplying the stamp value by "m". > Then all the > probes would "just work". I have no idea how it could be done > technically, though. They don't, because the probes are the state variables of the model. > BTW, some simulators preprocess the netlist and reduce > parallel devices into a single device with an "m" parameter > set. This gives a huge performance boost in extracted sims. As I said, Gnucap does "m" when the matrix is stamped, so you get that performance boost you speak of. Gnucap does much better than most in boosting performance. As to combining devices in the netlist to save evaluation time, Gnucap does some work to that effect, but not a full combine. I have plans for future work, which will do a lot more than that, but have not had the time to do it. _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user