Ngspice is an open source, free and cross-platform graphical and command-line software implemented in C and designed as a mixed-signal and mixed-level circuit simulator originally based on the Spice3f5, Xspice and Ciber1b1 circuit simulators.
Improves the Spice3f5 circuit simulator
The application’s main goal is to improve the Spice3f5 circuit simulator, as well as to support as many operating systems as possible. In addition, Ngspice adds many new features, enhancements and bug fixes to the original code of the circuit simulators that is based on.
Features at a glance
Among its highlights, we can mention a built-in scripting language that lets users to add control flows to one simulation, which might be very useful when you want to run mathematical operations on simulation results, support for controlling the software via output or input fifos, and a shared function that allows you to compile ngspice as a dynamic link library or shared library.
Additionally, the program comes with a tclspice option that allows you to add TCL scripting functionality to the software, an ASCO optimizer for remote control and parallel processing, includes functions like AGAUSS, processing functions for Monte Carlo analysis, automatic generation of current values and random voltage, as well as behavioral sources (B, E, G, R, L, C).
Another interesting feature is the availability of several transmission line models. Furthermore, it offers various optimization for using TCL as a scritping language or a set of ngspice scripts. the ASCO optimizer, as well as an optimization procedure derived from the "differential evolution" algorithm.
Supported operating systems and hardware architectures
Ngspice is a multiplatform software written in the C programming language. It has been successfully tested on several distributions of Linux, as well as on the BSD, Solaris, Microsoft Windows and Mac OS X operating systems. Both 32-bit and 64-bit instruction set architectures are supported at this time.