ngspice
A SPICE simulator

What is ngspice?
What are the latest features in the current release?
What does it look like?
Who are the authors of ngspice?
What is the current version?
Where can I download it?

ChangeLog Bugs TODO

What is ngspice?

Ngspice is a mixed-level/mixed-signal circuit simulator based on three open source software packages: Spice3f5, Cider1b1 and Xspice.

Spice3 is the most famous and used circuit simulator.

Cider is mixed-level simulator that already includes Spice3f5 and adds a device simulator to it: DSIM. Cider couples the circuit level simulator to the device simulator to provide greater simulation accuracy (at the expense of greater simulation time). Critical devices can be described with technology parameters (numerical models) and non critical ones with the original spice's compact models.

Xspice is an extension to Spice3 that provides code modeling support and simulation of digital components through an embedded event driven algorithm.

Ngspice is, anyway, a little more than the simple sum of the packages above, as many people contributed to the project with their experience, their bug fixes and their improvements. Ngspice is now an usable simulator: many of the original bugs are fixed, it includes many recently developed compact models (BSIM3, BSIM4, SOI models, VBIC, HISIM, etc.) and some older models have been improved.

Describing all the improvements and additions is quite complex, the best way to discover them is to download the package and look at its documentation and changelogs (since, as always, documentation is behind development). An incomplete list is:

If you are interested in tcl scripting for your simulator, you can try tclspice. Tclspice took the development where ngspice stopped more than two years ago. When the ngspice development restarted the first step was to get in sync with tclspice incorporating many of its features (but not tcl scripting). Now there is an almost complete superposition between the two simulators. Both simulators shares the same CVS and mailing lists.

Porting:

Ngspice uses GNU Autoconf suite for the package configuration, but it is not necessary to install GNU autoconf unless you want to develop for ngspice. A "sh" compatible shell should suffice. Most flavours of UNIX should be supported once the GNU tools are installed. Support for MS Windows is provided through the many unix-like environments (Cygwin, Mingw).

Development:

Ngspice is an ongoing project, growing everyday from users contributions, suggestions and reports. What we will be able to do depends mostly on user interests, contributions and feedback.

There are three different mailing lists for ngspice (and tclspice):

Ngspice (and tclspice) development is carried on CVS. Anonymous (read-only access) is available. The code in CVS is a snapshot of the development activity and is not guaranteed to work (may even not compile). The instructions to retrive the code from cvs repository is:

  1. Login into CVS: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ngspice login
    You will be asked to enter a password. Just press the "Enter" key.
  2. Checkout code: cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ngspice co ngspice/ng-spice-rework

If you are interested in having a view of the development status of the project you can browse the CVS repository through a web interface.

What are the latest features in the current release ?

New features:

Bug fixes:

What does it look like?

Look at screenshots page

Who are the authors of ngspice?

Ngspice has an open development group. Anyone who wishes to contribute is welcomed. It is not possible to write a complete list of developers here, without leaving someone out People who contributed are:

Vera Albrecht
Steven J. Borley
Stuart Brorson
GLAO S. Dezai
Daniele Foci
Alan Gillespie
Chris Inbody
Stefan Jones
Paolo Nenzi
Arno W. Peters
Serban-Mihai Popescu
Georg Post
Emmanuel Rouat
Hitoshi Tanaka
Dietmar Warning
Michael Widlok
Charles D.H. Williams

There are other people who contributed to this project. If you want to appear in this list write to p DOT nenzi AT ieee DOT org

What is the current version?

rework 17 released on 30/08/2005 (ng-spice-rework-17.tar.gz)

Where can I download it?

Ngspice is distributed separately from gEDA.

The ngspice project has a web site where you can access all the information you need about the project. Use the download page to download the latest and the previous releases.