[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Using .global statements in GNUcap and mult transistors
On Wednesday 04 March 2009, r wrote:
> On Wed, Mar 4, 2009 at 7:07 AM, al davis
<ad151@xxxxxxxxxxxxxxxx> wrote:
> >> like it, for example, I put m=50 to report the full
> >> current instead of 1/50 of the current going into it.
> >
> > The Gnucap behavior is consistent with Hspice and Spectre.
> > At least that is what I have been told. I don't have
> > access to them to check it out.
>
> That's incorrect. Both Spectre and Hspice treat devices with
> m>1 as single entities.
ok .... maybe you can help solve this.
I'm dealing with a policy that requires that unmodified models
designed for other simulators, including unmodified spice
models, can be used as plugins.
For example, the BSIM models from Berkeley.
It's my understanding that when you specify (for example)
BSIM430, that means you want BSIM430, whatever that is, not
BSIM440 or anything else.
Also, when a new one comes out, it should be able to be used as
is, so you can have it right away.
Those models do not support the "m" parameter as supplied.
Now, also consider subcircuits .. Specify "m=" when you
instantiate a subckt .. that propagates down to everything
under it. No exceptions. If a device inside also
specified "m", it's not an override, but a multiplier.
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.
The only method I can think of is to add another section to
the "wrapper.h" file, where you can arbitrarily define new
probes (already on the to-do list), or a table where you can
list the probes and mark how they are scaled. Even that is not
a full solution, because it only applies to models that use
wrapper.h and spice-wrapper.cc. Still, this is a manual
operation, something that may not always be done.
If you have any better ideas, please tell me.
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user