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 simulatorThe 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 glanceAmong 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 architecturesNgspice 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.
What is new in this release:
- 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.
What is new in version 21:
- Several bugs have been fixed, improving stability and reliability.
- A compatibility mode for dealing with other simulators was added.
- BSIM 4 was updated to release 4.6.5. BSIMSOI was updated to version 4.3.1.
- Transmission lines from kspice were updated and corrected.
- B sources were improved with a PWL function, the addition of "HERTZ", "time" and "temper" variables, and the addition of a Ternary function.
- PWL sources were improved with a repeat parameter (r=value) and a delay parameter (td=value).
What is new in version 18:
- The Tclspice simulator library has been merged with ngspice.
- New options have been introduced: brief, listing, autostop, and scale.
- Support for .lib files has been introduced. .measure statements: avg, integ, rms, max, min, delay, and param. .global statement support. .func macros for inlining functions into netlists.
- The numparam library has been improved to support fully parametrized netlists.
- BSIM model binning.
- New multi-input gate VCVS using XSPICE extensions.