gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] SPICE to gnucap transition


From: Scott Dattalo
Subject: Re: [Gnucap-devel] SPICE to gnucap transition
Date: Sun, 18 Mar 2007 20:07:38 -0800 (PST)
User-agent: SquirrelMail/1.4.6

On Sun, 2007-03-18 at 02:30 -0400, al davis wrote:
> On Saturday 17 March 2007 23:13, Scott Dattalo wrote:
>
> Even if SPICE is crippled, it does work!
>
> > > For a real challenge, try to move the other way .. gnucap
> > > to spice, and see what is missing.
> >
> > It would be a challenge since I know nothing about gnucap but
> > am fairly familiar with SPICE.
>
> When moving from one system to another, where they both serve a
> similar purpose, the first thing you will notice is what is
> missing.  Later, you will see the benefits.

Hi Al,

Maybe I'm just being pedantic, but there really is no way for me to
validate gnucap because I don't understand it yet. The reason I don't
understand it is because there really are no practical examples from which
I can learn. As you note, this area needs work. And as I note, it's an
area where I can contribute. But I still need to get over that initial
hump.



> > If you tell us the specifics about the ones that don't
> > > work, I my be able to help more.
> >
> > Okay, here's an example from some experiments I've conducted
> > on TSMC's 0.25u process:
> >
> > http://www.dattalo.com/spice/inverter.cir
> > http://www.dattalo.com/spice/TSMC_025u_Mosis.txt
>
> First, you need to change the command order.  This is the
> difference I mentioned.

Can you be more specific? I tried putting the model include file in
different places, but I did not experiment with putting the print
statements before the netlist or anything like that. If you can fix my
inverter.cir example, then I can give you a half dozen other examples that
will work with gnucap.


> Also, I noticed that one file has a comment on how you needed to
> change it because ngspice is missing something.  Surprised???
> Go from one to another, you will always find something missing.

Actually, before making accusations against ngspice you may wish to read
the Mosis FAQ. They specifically note that their models are SPICE
compliant except for the XW and XL parameters. These parameters were
introduced by HSPICE and subsequent proprietary SPICEs have adopted them.
But ngspice *is* SPICE.

> So, there are certain hacks you just accept .. like the need to
> put in a voltage source where you want to measure current.
> That's a hack because spice only lets you view voltages, so you
> add a subcircuit that has an internal node whose voltage
> corresponds to the current through the end points.  You may not
> realize this, but that is what you are doing.

I realize these things. I know they're hacks. I also know how to work
around them! I also know that except for the promises of gnucap there is
no other decent open source circuit simulation tool out there. I'm hoping
gnucap lives up to my expectations!

> gnucap lets you print the values of all internal variables, so
> you can just ask for "IS(M1)" or whatever you want.

Cool! That sounds really useful. This is the kind of thing that should be
written up in a tutorial/user's manual. I didn't see it the first time I
read through the gnucap manual, and I just did a quick search and still
couldn't find it. I suspect there are many, many other tidbits of really
useful information/features that we can capture into a form that others
can begin to start using.

> This example is one way in which I use SPICE; test out simple
> > circuits in an interactive mode. The other way I use SPICE is
> > to model circuitry in the capacitance sensing ASIC's we
> > produce at Synaptics (http://www.synaptics.com/). I'm not at
> > liberty to post these models, however I can say that I have
> > to write a good chunk of C-code to wrap around SPICE's
> > limitations.
>
> See?   I bet you won't need some of that C code with gnucap.  In
> fairness, you will probably need some other C code.  Like I
> said, go from one to another .....   But gnucap lets you probe
> lots of stuff, has a ".param" that works, has a Fourier
> analysis that works...

I'm fairly certain some pre-processing and post-processing scripting is
needed. However, a .param statement that works could greatly simplify
them!


> How about a plugin that lets you write scripts in python?
>
> As a selfish promotion....   I do offer consulting services to
> do things like that.  Perhaps Synaptics might be willing to
> fund the development of some important features?

No. Synaptics will not fund this. This is something I'm doing on my own.
I'm a research engineer and focus primarily on algorithms. I'm using SPICE
(and hopefully gnucap) as a means of investigating some ideas that couple
algorithms more tightly to hardware. In addition, I'm interested in the
concept of simulation. (More on this later).


> Actually, I think Verilog-AMS is what you need.  Gnucap is not
> there yet.  I am working on it.  That is where gnucap is
> heading.  To do what Spice doesn't do, and never will.

Our ASIC group (of which I'm not a member) has HSPICE, Verilog-A and I
don't know what else. They do full-blown simulations of every section of a
new chip design.

> And there are several people like myself both capable and
> > willing to contribute in this form.
>
> Great!!!!  You see how desperately we need it!!
>
> I have not made that a high priority because much of what is
> there now will change.  I want to make the changes first, then
> bring in the masses.

I've been following the gnucap saga for quite some time. In my opinion,
you should take a step back from making things better and a step towards
making things easier. I don't mean that in a critical or mean way -
seriously! I get the sense that very few people are using gnucap because
they can't understand it.


Scott




reply via email to

[Prev in Thread] Current Thread [Next in Thread]