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