Analyzing circuits on GNU/Linux
Based on three open source software packages, Spice3f5 the most famous and used electronic circuit simulator, Cider a mixed-level simulator that already includes Spice3f5 and adds a device simulator to it, and Xspice an extension to Spice3 that provides code modeling support and simulation of digital components through an embedded event driven algorithm.
Most of microelectronic circuit design is curried out with the aid of a computer aided circuit analysis program such as SPICE. SPICE stands for Simulation Program with Integrated Circuit Emphasis and is considered as industrial standard for computer-aided circuit analysis for microelectronic circuits. Originally SPICE was implemented at the University of Berkeley. Other SPICE flavours have been derived from this implementation, and today there are several of them. It is important to understand that each spice flavour might behave different in various areas; some of them are more compatible, others are less compatible. It is always necessary to read the documentation which came with the specific spice implementation. The NGSpice distribution comes with a detailed reference manual.
The NGSpice acronym stands for Next Generation Simulation Program With Integrated Circuit Emphasis, but the NG prefix has lot of meanings: Next Generation, New Good, etc. Choose or invent the one you prefer. The heart of the project is the ngspice program!
NGSpice supports the circuits which contain resistors, capacitors, inductors, mutual inductors, independent or dependent voltage and current sources, loss-less and lossy transmission lines, switches, uniform distributed RC lines and the most common semiconductor devices: diodes, Bipolar junction transistors (BJT), Junction field effect transistors (JFET), Metal-oxide semiconductor transistors (MOS) and Metal Schottky field effect transistors (MESFET). In addition, it also supports block level simulation of the electrical systems through analog behavior modeling. New devices can also be modeled through advanced xspice-tools.
It supports both basic and advanced analysis such as Nonlinear DC analysis (the result of this analysis is commonly referred to as the DC bias or operating-point characteristic), Nonlinear transient analysis (computes the voltages and currents with respect to time), Linear AC analysis (linearises the circuit around the DC operating point and then calculates the output as a function of frequency), Temperature analysis (allows a series of analyses to be performed while varying the temperature of the circuit), Noise analysis (calculates the noise contribution of each elements and the total effect on the output in a mean-square sense), Sensitivity analysis (indicates which components affect the circuit performance most critically) and Fourier analysis (computes the Fourier series coefficients of the circuit's voltages or currents).
NGspice is a part of gEDA Project a full GPL'd (General Public License) suite of Electronic Design Automation tools but it is distributed separately from mainstream gEDA applications. Ngspice is now one of most versatile spice implementation as it can deal with a very large set of netlists functionalities. It's mainly used for the following analysis:
Based circuit simulation (Analog, Digital, Mixed mode simulations);
Used for different kind of Analysis (e.g. DC, AC, Transient etc.);
Simulation of linear and non-linear circuits.