[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: netlist simulation problems
> > What I mean to say is that the version of ngspice available at the
> > gEDA website is the plain vanilla version, which is broken. Use the
> > fixed verison of ngspice which comes with tclspice.
> >
> > (Unless Ales has placed tclspice on the gEDA website recently . . . .)
>
> by "broken," what do you mean?
It has a lot of memory leaks, and tends to segfault if it doesn't like
something. There were several problems which I had a hand in fixing
for the tclspice branch:
* It didn't like netnames with netnames like Vin- or Vpwr+ or other
non-alpha chars. Fixed in tclspice.
* It didn't do .subckt hierarchy correctly. .Subckt parsing was totally
fubar. Fixed in tclspice.
* It couldn't handle SPICE2 constructs like POLY. Fixed in tclspice
by properly integrating XSPice into the rest of ngspice and fixing the
broken XSpice parser.
* Some others which I have forgotten.
* Ran Valgrind on it to tease out some memory leaks due to
unpaired/mishandled malloc/frees. As a result, there was a flurry of
activity several months ago when several of the tclspice developers
submitted patches to fix the leaks found using Valgrind.
Other bugfixes have been made by others to the tclspice code branch.
The last I heard, Paolo -- the guy running the main ngspice branch --
was gonna integrate our bugfixes, but I haven't heard if he has done
it, or released the code.
Most of these problems affected board-level SPICE simulations, or
simulations using vendor-supplied .subckts and .models, which
is my major interest. Right now I use tclspice/ngspice for a lot of
"production" work (i.e. my own board designs) & it works fine for me.
I am less sure that ngspice was ever broken for folks doing chip
design, where you are more interested in using discrete transistor
models.
> i haven't had any stability problems with ngspice, but have noticed
> bizarre errors when i try to simulate circuits containing FETs with
> length or width less than 1.2u. the error messages indicate that L
> or W are approximately zero... i can't believe the package can't
> deal with features less than 1.2u- is it?!? i have tried various
> notation in the netlist and receive the same errors.
I don't know about this 'cause I don't use that facility. But you can
always try tclspice -- it is under development by people using it for
chip design, so I'd expect that broken chip-specific constructs would
have been fixed in that branch.
Also, it may be heresy to say this on a gEDA-oriented list, but
Linear Tech's LTSpice prog is superb, and it's a free download from
their site & it runs under wine. I'd say that it would be the better
choice to use if you want industrial-strength SPICE. I talk about it
in my HOWTO.
> thanks a lot for the links and info. i will check it all out.
Have fun,
Stuart