Ngspice is a mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE, version , which was released in 1993. A small group of maintainers and the user community contribute to the ngspice project by providing new features, enhancements and bug fixes. Ngspice is based on three open-sourcefree-software packages: , and :
SPICE is the origin of all electronic circuit simulators, its successors are widely used in the electronics community.
Xspice is an extension to Spice3 that provides additional C language code models to support analog behavioral modeling and co-simulation of digital components through a fast event-driven algorithm.
Cider adds a numerical device simulator to ngspice. It couples the circuit-level simulator to the device simulator to provide enhanced simulation accuracy. Critical devices can be described with their technology parameters, all others may use the original ngspice compact models.
Behavioral modeling: Internal B-, E-, and G-sources, as well as R, C and L devices, offer modeling by mathematical expressions, driven by node voltages, branch currents, parameters and constants.
The Xspice codemodel interface: This is a C-code interface that helps the modeling process by simplifying the access to simulator's internal structure.
ADMS verilog model compiler: The ADMS model compiler generates C code from Verilog-A model descriptions for integration into ngspice.
C language coded models with spice format: As an open-source project, Ngspice allows new models to be linked to the sources and compiled.
Ngspice supports parametric netlists. PSPICE compatible parametric macromodels, often released by manufacturers, can be imported as-is into the simulator. Polynomial sources are available. Ngspice provides an internal scripting language to facilitate complex simulation and evaluation control flows. Ngspice may be compiled into a readily to be integrated into a calling program. Its interface provides access to all simulation parameters, input and output data. , another shared library version, offers an interface to Tcl/Tk. Ngspice is licensed under the New BSD license. Ngspice has a command lineinput interface and offers plotting capability. An open source GUI with schematic entry, simulation and plotting is provided by . Ngspice has been integrated as a simulation engine into several free or commercial EDA tools: KiCad, EAGLE, CoolSPICE, EasyEDA and . Recent progresses on Ngspice have been presented at conferences such as FOSDEM and FSiC.