Ngspice

Last updated
Ngspice
Original author(s) Paolo Nenzi et. al. [1] [lower-alpha 1]
Developer(s) Ngspice Contributors Team: Holger Vogt, Giles Atkinson, Brian Taylor, Dietmar Warning e.a.
Initial release1993;
31 years ago
 (1993)
Stable release
43 / 13 July 2024
(1 month ago)
 (2024-07-13)
Repository sourceforge.net/projects/ngspice/files/ng-spice-rework/
Written inC
Operating system Linux, Windows, macOS, BSD, others
Platform PPC64, IA-32 (i386), x86-64 [lower-alpha 2]
Size 7.6 MB (Linux)
Available inEnglish
Type Electronic circuit simulation
License BSD-3-Clause
Website ngspice.sourceforge.io

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.

Contents

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

Notes

  1. Over 67 contributors have worked on ngspice over time
  2. Compiler dependent. See C language compilers like GCC, clang, or MS Visual C++ for specific ISA and supported platforms.

Related Research Articles

<span class="mw-page-title-main">Electrical network</span> Assemblage of connected electrical elements

An electrical network is an interconnection of electrical components or a model of such an interconnection, consisting of electrical elements. An electrical circuit is a network consisting of a closed loop, giving a return path for the current. Thus all circuits are networks, but not all networks are circuits. Linear electrical networks, a special type consisting only of sources, linear lumped elements, and linear distributed elements, have the property that signals are linearly superimposable. They are thus more easily analyzed, using powerful frequency domain methods such as Laplace transforms, to determine DC response, AC response, and transient response.

Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register-transfer level of abstraction. It is also used in the verification of analog circuits and mixed-signal circuits, as well as in the design of genetic circuits. In 2009, the Verilog standard was merged into the SystemVerilog standard, creating IEEE Standard 1800-2009. Since then, Verilog has been officially part of the SystemVerilog language. The current version is IEEE standard 1800-2023.

In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, usually to design application-specific integrated circuits (ASICs) and to program field-programmable gate arrays (FPGAs).

SPICE is a general-purpose, open-source analog electronic circuit simulator. It is a program used in integrated circuit and board-level design to check the integrity of circuit designs and to predict circuit behavior.

Silvaco Group, Inc., develops and markets electronic design automation (EDA) and technology CAD (TCAD) software and semiconductor design IP (SIP). The company is headquartered in Santa Clara, California, and has offices in North America, Europe, and throughout Asia. Founded in 1984, Silvaco is a publicly traded EDA company. The company has been known by at least two other names: Silvaco International, and Silvaco Data Systems.

<span class="mw-page-title-main">Standard cell</span> Method of designing specialized integrated circuits

In semiconductor design, standard-cell methodology is a method of designing application-specific integrated circuits (ASICs) with mostly digital-logic features. Standard-cell methodology is an example of design abstraction, whereby a low-level very-large-scale integration (VLSI) layout is encapsulated into an abstract logic representation.

<span class="mw-page-title-main">OrCAD</span> Electronic design automation software

OrCAD Systems Corporation was a software company that made OrCAD, a proprietary software tool suite used primarily for electronic design automation (EDA). The software is used mainly by electronic design engineers and electronic technicians to create electronic schematics, and perform mixed-signal simulation and electronic prints for manufacturing printed circuit boards (PCBs). OrCAD was taken over by Cadence Design Systems in 1999 and was integrated with Cadence Allegro in 2005.

Transistors are simple devices with complicated behavior. In order to ensure the reliable operation of circuits employing transistors, it is necessary to scientifically model the physical phenomena observed in their operation using transistor models. There exists a variety of different models that range in complexity and in purpose. Transistor models divide into two major groups: models for device design and models for circuit design.

<span class="mw-page-title-main">Quite Universal Circuit Simulator</span>

Quite Universal Circuit Simulator (Qucs) is a free-software electronics circuit simulator software application released under GPL. It offers the ability to set up a circuit with a graphical user interface and simulate the large-signal, small-signal and noise behaviour of the circuit. Pure digital simulations are also supported using VHDL and/or Verilog. Only a small set of digital devices like flip flops and logic gates can be used with analog circuits. Qucs uses its own SPICE-incompatible backend simulator Qucsator, however the Qucs-S fork supports some SPICE backends.

Verilog-AMS is a derivative of the Verilog hardware description language that includes Analog and Mixed-Signal extensions (AMS) in order to define the behavior of analog and mixed-signal systems. It extends the event-based simulator loops of Verilog/SystemVerilog/VHDL, by a continuous-time simulator, which solves the differential equations in analog-domain. Both domains are coupled: analog events can trigger digital actions and vice versa.

SmartSpice is a commercial version of SPICE developed by Silvaco. SmartSpice is used to design complex analog circuits, analyze critical nets, characterize cell libraries, and verify analog mixed-signal designs. SmartSpice is compatible with popular analog design flows and foundry-supplied device models. It supports a reduced design space simulation environment. Among its usages in the electronics industry is dynamic timing analysis.

<span class="mw-page-title-main">CircuitLogix</span> Electronic circuit simulator software

CircuitLogix is a software electronic circuit simulator which uses PSpice to simulate thousands of electronic devices, models, and circuits. CircuitLogix supports analog, digital, and mixed-signal circuits, and its SPICE simulation gives accurate real-world results. The graphic user interface allows students to quickly and easily draw, modify and combine analog and digital circuit diagrams. CircuitLogix was first launched in 2005, and its popularity has grown quickly since that time. In 2012, it reached the milestone of 250,000 licensed users, and became the first electronics simulation product to have a global installed base of a quarter-million customers in over 100 countries.

<span class="mw-page-title-main">Electronic circuit simulation</span>

Electronic circuit simulation uses mathematical models to replicate the behavior of an actual electronic device or circuit. Simulation software allows for the modeling of circuit operation and is an invaluable analysis tool. Due to its highly accurate modeling capability, many colleges and universities use this type of software for the teaching of electronics technician and electronics engineering programs. Electronics simulation software engages its users by integrating them into the learning experience. These kinds of interactions actively engage learners to analyze, synthesize, organize, and evaluate content and result in learners constructing their own knowledge.

Spectre is a SPICE-class circuit simulator owned and distributed by the software company Cadence Design Systems. It provides the basic SPICE analyses and component models. It also supports the Verilog-A modeling language. Spectre comes in enhanced versions that also support RF simulation (SpectreRF) and mixed-signal simulation.

LTspice is a SPICE-based analog electronic circuit simulator computer software, produced by semiconductor manufacturer Analog Devices. It is the most widely distributed and used SPICE software in the industry. Though it is freeware, LTspice is not artificially restricted to limit its capabilities. It ships with a library of SPICE models from Analog Devices, Linear Technology, Maxim Integrated, and third-party sources.

Automatic Device Model Synthesizer (ADMS) is public domain software used in the semiconductor industry to translate Verilog-A models into C-models which can be directly read by a number of SPICE simulators, including Spectre Circuit Simulator, Ngspice, and HSpice.

CoolSPICE is a computer-aided design tool developed by CoolCAD Electronics Inc. It consist of a specialized version of the SPICE simulation tool that focuses on design and simulation for circuit operation at cryogenic temperatures, circuits operating with Wide-bandgap semiconductors, and simulation of thermal effects on circuit performance.

<span class="mw-page-title-main">NL5 circuit simulator</span> Software product

NL5 is a mixed-signal electronic circuit simulator with ideal and piecewise-linear components.

<span class="mw-page-title-main">SPICE OPUS</span> Analog circuit simulator software

SPICE OPUS is a free general purpose electronic circuit simulator, developed and maintained by members of EDA Group, University of Ljubljana, Slovenia. It is based on original Berkeley’s SPICE analog circuit simulator and includes various improvements and advances, such as memory-leak bug fixes and plotting tool improvements. SPICE OPUS is specially designed for fast optimization loops via its built-in optimizer.

References

  1. "Ngspice circuit simulator - Authors". ngspice.sourceforge.net. Retrieved 2022-05-26.
  2. NGSPICE: recent progresses and future plans, P. Nenzi e.a., MOS-AK, Bucharest 2014, http://www.mos-ak.org/bucharest/
  3. "The NGSPICE circuit simulator". archive.fosdem.org. Retrieved 2024-02-15.
  4. "ngspice, current status and future developments". archive.fosdem.org. Retrieved 2024-02-15.
  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. Gates, David A. (June 1993). "Design-Oriented Mixed-Level Circuit and Device Simulation - PhD thesis" (PDF). University of California, Berkeley . Retrieved 2023-08-28.
  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. "ngspice / ngspice / [c4efe2] /ANALYSES". sourceforge.net. Retrieved 2022-05-26.
  10. "Tutorial: how to set up ngspice and Eeschema for KiCad". ngspice. Retrieved 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. "ngspice, current status and future developments". Free and Open source Software Developers' European Meeting (FOSDEM). Retrieved 2019-06-25.
  14. "ngspice - an open source mixed signal circuit simulator". Free Silicon Foundation (F-Si). Retrieved 2019-06-25.