Ngspice Explained

Author:Paolo Nenzi et. al.[1]
Developer:Ngspice Contributors Team: Holger Vogt, Giles Atkinson, Brian Taylor, Dietmar Warning e.a.
Programming Language:C
Operating System:Linux, Windows, macOS, BSD, others
Size: (Linux)
Language:English
Genre:Electronic circuit simulation
License:BSD-3-Clause

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:

Overview

Analysis types

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]

Device models

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.

Netlists

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.

Defining new models

For mixed signal circuit simulation 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:

Development

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,[10] [11] EAGLE (program),[12] CoolSPICE, Altium and others.

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.

Ngspice progress was presented at FOSDEM[13] and FSiC conferences in 2019.[14]

See also

External links

Notes and References

  1. Web site: Ngspice circuit simulator - Authors . 2022-05-26 . ngspice.sourceforge.net.
  2. NGSPICE: recent progresses and future plans, P. Nenzi e.a., MOS-AK, Bucharest 2014, http://www.mos-ak.org/bucharest/
  3. Web site: The NGSPICE circuit simulator . 2024-02-15 . archive.fosdem.org . en.
  4. Web site: ngspice, current status and future developments . 2024-02-15 . archive.fosdem.org . en.
  5. Analysis of Performance and Convergence Issues for Circuit Simulation, T. Quarles, PhD dissertation, Memorandum No. UCB/ERL M89/42, Berkeley 1989, http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/ERL-89-42.pdf
  6. Code-level modeling in XSPICE, F. L. Cox e.a., Proceedings IEEE International Symposium on Circuits and Systems, 1992 (ISCAS 92), vol. 2, pp. 871-874, 10–13 May 1992
  7. Web site: Gates . David A. . June 1993 . Design-Oriented Mixed-Level Circuit and Device Simulation - PhD thesis . 2023-08-28 . University of California, Berkeley.
  8. CODECS: A Mixed-Level Circuit and Device Simulator, K. Mayaram, Memorandum No. UCB/ERL M88/71, Berkeley, 1988, http://www.eecs.berkeley.edu/Pubs/TechRpts/1988/ERL-88-71.pdf
  9. Web site: ngspice / ngspice / [c4efe2] /ANALYSES ]. 2022-05-26 . sourceforge.net.
  10. Web site: Tutorial: how to set up ngspice and Eeschema for KiCad . ngspice . 2019-07-18.
  11. Integrated Spice Simulation with Kicad, T. Wlostowski, FOSDEM, Brussels 2017, https://archive.fosdem.org/2017/schedule/event/spice_kicad/
  12. SPICE Simulation Part 1, S. Sattel, Autodesk Support and Learning, 2017, https://www.autodesk.com/products/eagle/blog/spice-simulation-part-1/
  13. Web site: ngspice, current status and future developments . Free and Open source Software Developers' European Meeting (FOSDEM) . 2019-06-25.
  14. Web site: ngspice - an open source mixed signal circuit simulator . Free Silicon Foundation (F-Si) . 2019-06-25.