[Top][All Lists]

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

Re: [Gnucap-devel] SPICE to gnucap transition

From: al davis
Subject: Re: [Gnucap-devel] SPICE to gnucap transition
Date: Sun, 18 Mar 2007 02:30:38 -0400
User-agent: KMail/1.9.5

On Saturday 17 March 2007 23:13, Scott Dattalo wrote:
> > On Saturday 17 March 2007 13:30, Scott Dattalo wrote:
> >> (perhaps this should go to the 'help-gnucap' list?)
> >
> > Try it.  You will get a more user oriented answer there.
> Okay - for the next thread I'll ask there.

It depends what kind of answer you want.

> <snip> - differences in user's SPICE and gnucap perspectives.
> > There is a need for documentation here.  If you want to
> > help, it would be very much appreciated.  I have been
> > concentrating on enhancing the program itself, with the
> > idea that the transition will come in time.
> >
> From my viewpoint, gnucap is mostly a one-man-show. I'll be
> glad to make some contributions to the degree I can.

It has been.  That is one of the reasons for plug-ins.  
Hopefully it will open up for more community help.

> > Compatibility will improve when the language plug-in
> > capability is working, but actually I consider Spice to be
> > very crippled.
> 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.

Gnucap works too, it just has a different set of features and 
mis-features than spice does.  Which are more important depends 
on what you are doing.

Try doing a reasonably complete analysis of a class-B audio 
amplifier on Spice, complete with AC, stability, distortion, 
slew rate, output impedance, impact of transistor matching ....
I can do all of that on gnucap.  A lot of it just doesn't work 
on spice.  I can do it on some high end simulators like 
Spectre, but I don't want to.

> > 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:

First, you need to change the command order.  This is the 
difference I mentioned.  

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.

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.

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

> 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 ( 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...  

> For example, I have defined parametric models of 
> capacitance sensing circuitry that are parsed by C scripts
> and turned into SPICE models. These in turn are batch
> processed by SPICE and the results fed back to other C
> scripts that perform post processing. Despite being a custom
> application, I doubt my requirements are too unusual. I have
> not tried gnucap for this.

You might find that gnucap has some features that make your job 
a lot easier.  When it doesn't, it might be reasonable to make 
a plugin that adds the feature you need.

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?

Matching Spice commands exactly also means to match the mistakes 
exactly.  The goal is to move forward, not duplicate spice.

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.

If gnucap follows the same road as Spice, it will never catch 
up.  It must go a different way.  It certainly means fewer 
users today, but I think it will be better in the long run.

> Most users will read examples and ignore documentation.

I know.

> 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.

> >> 3) What is the preferred waveform viewer? From the
> >> archives it appears that gwave is the one. (Or, at least
> >> gwave is the only one that accepts the ASCII tabular
> >> output of gnucap.)
> >
> > gwave ..
> >
> > I find it strange that gwave is the only one that accepts
> > the gnucap files.  The gnucap files can be read by anything
> > that is not spice specific, easily.  The only viewers that
> > have a problem are the ones specifically written for the
> > bizarre format that spice uses.  There are many of these.
> I was under the impression that there was some modification
> made to gwave to accommodate gnucap since the web site
> specifically mentions gnucap. I'm somewhat reluctant to use
> gwave because it would be the *only* application installed on
> my FC6 box that depends on the ancient gtk-1.2.x!

It was added to the documentation later.  It is probably used a 
lot more with gnucap than it is with CaZM.  Not much work has 
been done on gwave in the past few years.  There is a lot of 
room for more.

The latest version doesn't build on my machine.  I get some 
strange guile errors I don't understand.  I use an older 
version that has a Debian package.

reply via email to

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