ngspice release 27, September 17th, 2017

After more than three years of quiet but continuous development a new release is due. Many new features have been added to ngspice-27, improving its applicability and compatibility.

  • Bug fixes: Several small bugs removed, improved code compliance.
  • New features: XSPICE 2D and 3D table models, digital LUT models; updates to HiSIM and BSIM4 models; new commands 'edisplay' and 'eprvcd'; improved command 'wrdata'; relative cm paths for shared ngspice; OpenMP support for BSIM4.5 and bsim3v3.24 models; new function stddev; new variables 'interactive' 'sqrnoise', and 'batchmode'; improved support for VS2015/2017 compilation, including the code models; new option 'savecurrents'.
  • Documentation: Updated pdf manual and other documentation.

CUSPICE Launched, April 28th, 2014

CUSPICE is the revolutionary ngspice on CUDA platforms. The ngspice simulator has been modified to exploit the parallelism offered by CUDA platforms. The code has been uploaded in the source repository. CUSPICE now supports only a small (growing) set of ngspice devices: BSIM4v7, Capacitor, Self and Mutual Inductor, Current Source, Resistor and Voltage Source.

CUSPICE requires an NVIDIA video card with Fermi (or newer) architecture and a working CUDA enviroment installation.

CUSPICE speeds up model evaluation, circuit and right hand side creation steps up to 3x. Interested testers of the code should read the user guide and have a look at the CUSPICE web page. Feedbacks from testers of this code are appreciated!

ngspice release 26, January 12th, 2014

Several new features have been added to ngspice-26, improving its applicability and compatibility.

  • Bug fixes: Many small bugs removed, handling of libraries updated, improved code compliance.
  • New features: fft command optionally using fftw3; new functions nint, asinh, acosh, atanh, pwr; 'temper' in behavioural devices; check for soa (safe operating area); shared ngspice as a shared object or dynamic link library; hash table to parsing the netlist; basic .if/.else block; Area Calculation Method (ACM) for BSIM3.3.0; `tc1', `tc2' instance parameters.
  • Documentation: Updated pdf manual and other documentation.

ngspice release 25, January 3rd, 2013

As always: new features have been added to ngspice-25, improving its applicability and stability.

  • Bug fixes: Memory leaks removed, especially for several XSPICE devices, improved code compliance.
  • New features: CMC model qa check for actual BSIM and hisim devices; additional parameters accessible in bsim3; new or updated commands: 'snsave', 'snload'; new code model 'memristor'; hisim models updated; 'measure' speed enhanced; port for Mac OS X.
  • Documentation: Updated pdf manual and other documentation.

ngspice release 24, January 31st, 2012

More features have been added to ngspice in this update, improving ngspice applicability and compatibility.

  • Compatibility: Extended syntax for behavioral E and G sources.
  • Bug fixes: Enhanced stability for several device models, code compliance.
  • New features: New or updated commands: wrdata, remcirc, altermod, inventory, devhelp, reset; new functions ceil, floor, cph; new code model 'filesource'; 64 Bit compilation capability with MINGW, MS Visual Studio, LINUX.
  • Documentation: Updated pdf manual and other documentation.

ngspice release 23, June 5th, 2011

More features have been added to ngspice in this update, improving ngspice applicability.

  • Compatibility: More code cleanup considerably reduces compiler warnings.
  • New devices: HiSIM2 and HiSIM_HV models from Hiroshima University have been added.
  • New features: Ngspice builds in a separate directory (e.g. in ng-spice-rework/release); transient noise simulation, a random voltage generator option trrandom and random telegraph noise added to independent voltage and current sources; command wrs2p to write a s-parameter file using Touchstone vers. 1 format.
  • Documentation: Updated pdf manual and other documentation.

ngspice release 22, Sept 26th, 2010

More features have been added to ngspice in this update, improving ngspice compatibility, speed, and stability.

  • Compatibility: An extensive code cleanup considerably reduces compiler warnings.
  • Speed: OpenMP multicore support for BSIM3, BSIM4, and BSIMSOI4 is now available, speeding up a transistor loaded simulation by a factor of two.
  • New features: Reinstate {$var} expansion in interactive interpreter; .TITLE line added; update to 'spectrum' script; par('expression') in .four, .plot, .print, .meas, .save commands; command 'option' for use in spinit, .spiceinit, and in scripts; adms procedure updated; new random number generator, new random functions sunif() and sgauss(), and scripts for Monte Carlo simulations, new plot vectors allv, alli, ally.
  • Documentation: Updated pdf manual and other documentation.

ngspice release 21, June 21st, 2010

This update is another cornerstone in improving ngspice compatibility, stability and reliability.

  • Compatibility: Added compatibility mode for dealing with other simulators.
  • Devices: BSIMSOI: update to version 4.3.1. Transmission lines were updated with txl and cpl from kspice. B sources now include PWL function handling, with variables "HERTZ", "time" and "temper" and Ternary function added. E and G sources, as well as R, C, L devices may contain expressions as value. PWL sources have got a repeat parameter (r=value) and a delay parameter (td=value).
  • Interface: Added "-p" option for running in "pipe mode". Improved measures: added "meas" command in control section. Added "wrdata" command for tabulated data out.
  • Documentation: Updated documentation available in pdf as a separate package.

ngspice release 20, November 16th, 2009

Ngspice release 20 is the second release of the simulator in 2009.

  • Fixes: model names starting with a number (1n4001) are now correctly parsed. The .global command has been reinstated (it was previously disabled) and error messages now display the corresponding line numberin the input deck.
  • New Features: .measure command for transient, ac and dc analyses (still not complete, e.g. DERIV is missing).
  • Devices: Updated BISM4 model to revision 4.6.5. Added PWL (PieceWise Linear) functionality for B (arbitrary generator) sources.

ngspice release 19, April 23rd, 2009

Ngspice release 19 came early after release 18. It reveals an important work in compile scripts, many bug fixes in memory management, interface, and work in device models.

  • Compile scripts: tclspice and ADMS compiling fixes. Architecture compiling fixes for SunOS, MS Visual Studio, MINGW, Cygwin.
  • Memory management: fixed memory leaks, modifies memory management for MS Windos, integration of espice bugfixes and enhancements, bug fixes in plots and cli interface.
  • Rework of BSim models, integration of EPFL-EKV model V2.63, ADMS models mextram, hicum0, hicum2.

ngspice release 18, December 1st, 2008

After a long periode of silence, NGspice team is proud to announce you that ng-spice-rework-18 will be released the 1st of december. This is an incredible gift, you can offer your collegues, your friends or your familly. A lot of work have been done since August, 30th 2005: Bug fixes and new features. Ngspice gets every release closer from a state of the art simulator. Road is long, but release 18 is a step more, and overall it is a promising step. The main interest of ngspice it that it makes converge the many divergent spice implementations, by collecting papers, and looking at the functionalities of other spice branches. Some features have been added at netlist level, as parametrical netlists and .lib statement. Ngspice is now one of most versatile spice implementation as it can deal with a very large set of netlists functionalities.

  • A special thanks to Phil Bakers, for contributing numparam, the parametrical netlist. and .lib statement
  • Holger Vogt for windows integration and fft command on spice vectors
  • Gong Ding for the interface with GSS-TCAD semiconductor simulator.
  • Lionel Sainte Cluque from bringing back tclspice in ngspice.
  • Thanks to Paolo Nenzi, Dietmar Warning, Steven Borley for their huge contribution.

I would say that the importance of release 18 is not only the features it provides, but the basis it makes for futur developpement of ngspice. Ngspice is in the short list of the high quality open source circuit simulation programs. For this reason it has been integrated with little or great success in many EDA workflows. Nevertheless, I think that better integration can be achieved, and open source EDA suites are, for the moment, and I hope this will change, of a much lower quality that proprietary ones. It lacks features, and it lacks integration between tools. NGspice make a step toward others open source EDA softwares by clarifying its license and providing tclspice. Tclspice, released under GNU LGPL, is a library loadable in a tcl interpreter that gives acces to spice simulation through tcl commands. I hope that soon, some nice tcl interfaces can bundle schematic editors, spice pre/post processors, BOM databases, and so on.

A reflexion has been undertaken on the evolutions that can be made. Many big features are planned. I hope these project will take form soon. As an open source project, you are welcome to contribute. Please, visit the Developement and Roadmap pages .

Latest Release Release Date Notes
ngspice-27 17-September-2017

Release Date Notes
ngspice-26 12-January-2014

Release Date Notes
ngspice-25 03-January-2013

Release Date Notes
ngspice-24 29-January-2012