In this article, we will explore the fascinating world of Ngspice and its impact on today's society. Ngspice is a topic that has captured the attention of experts and amateurs alike, generating debates and reflections in a wide range of fields and disciplines. Throughout history, Ngspice has played a crucial role in shaping events and narratives, influencing the way people interact with each other and perceive the world around them. In this comprehensive analysis, we will examine various aspects and facets of Ngspice, offering a complete overview that allows the reader to understand its importance and relevance today.
| Ngspice | |
|---|---|
![]() | |
| Original author | Paolo Nenzi et. al.[1][a] |
| Developers | Ngspice Contributors Team: Holger Vogt, Giles Atkinson, Brian Taylor, Dietmar Warning e.a. |
| Initial release | 1993 |
| Stable release | 45.2
/ 5 September 2025 |
| Repository | sourceforge |
| Written in | C |
| Operating system | Linux, Windows, macOS, BSD, others |
| Platform | x86-64, Apple silicon, and others [b] |
| Size | 7.6 MB (Linux) |
| Available in | English |
| Type | Electronic circuit simulation |
| License | BSD-3-Clause |
| Website | ngspice |
Ngspice[2][3][4] is an open-source mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE, version 3f.5, 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-source free-software packages: Spice3f5, Xspice and Cider1b1:
Ngspice implements three classes of analysis:
Transient analysis includes transient noise simulation. AC analysis includes small-signal noise simulation, pole-zero and transfer function analysis:[9]
Ngspice implements various circuits elements, like resistors, capacitors, inductors (single or mutual), transmission lines and a growing number of semiconductor devices like diodes, bipolar transistors, MOSFETs (both bulk and SOI), MESFETs, JFETs and HFETs. Verilog-A compact device models[10] are supported.
Ngspice supports parametric netlists (i.e. netlists can contain parameters and expressions). 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. Open source Process design kits (PDKs)[11][12][13] are fully supported, HSPICE compatible PDKs as far as possible.
Ngspice makes available mixed-signal simulation, where ngspice is responsible for the analogue part, and the digital part is provided by Verilog, compiled with Verilator or Icarus Verilog, or in case of VHDL compiled with GHDL. The interface is provided by a dedicated code model (d_cosim), as described in chapters 8.4.25 and 10.3 of the ngspice manual[14].
For mixed-signal circuit simulation with new internal code models ngspice allows users to create a user-defined node definition file (UDN) of a new device model interface. The implementation of the node is created and simulated by using C language with macros which is compiled by standard C/C++ compilers.
New models can be added to the simulator using:
Ngspice has a command line input interface and offers plotting capability. An open source GUI with schematic entry, simulation and plotting is provided by Qucs-S. A GUI focussing on IC development is XSCHEM.
In addidtion to its standard executable, ngspice may be compiled into a shared library (*.dll or *.so) readily to be integrated into a calling program. Its interface provides access to all simulation parameters, input and output data. tclspice, another shared library version, offers an interface to Tcl/Tk (software) for better integration with software like XCircuits.
Ngspice is licensed under the BSD-3-Clause license. This permissive open source license allows its integration as a simulation engine into several — proprietary or free/libre — EDA tools such as KiCad,[16][17] EAGLE (program),[18] CoolSPICE, Altium and others.
Ngspice progress has been continuously presented at FOSDEM[19] and FSiC[20] conferences since 2019.
{{cite web}}: CS1 maint: url-status (link)