# SPICE (Software)

SPICE (Simulation Program with Integrated Circuit Emphasis) ist eine Software zur Simulation analoger, digitaler und gemischter elektrischer Schaltungen (Schaltungssimulation).

## Entwicklungsgeschichte

Der Vorläufer von SPICE war CANCER (Computer Analysis of Nonlinear Circuits Excluding Radiation), der von Studenten von Ronald Rohrer als Klassenprojekt entwickelt wurde. Der Name war eine Anspielung auf das damalige Antikriegs-Klima in Berkeley (excluding radiation bedeutete, dass es nicht für die Arbeit im Rüstungsprogramm oder im Auftrag des Verteidigungsministeriums gedacht war, wo man auf Fragen von Strahlung und Bestrahlung Wert legte). Hauptentwickler von SPICE war Larry Nagel (Laurence W. Nagel), der schon als Student von Rohrer an CANCER mitgearbeitet hatte, und mit dem dieser bei Donald Pederson promovierte (nachdem Rohrer Berkeley verlassen hatte).
SPICE wurde ursprünglich am Electrical Engineering and Computer Sciences (EECS) Fachbereich der University of California in Berkeley entwickelt, in Fortran geschrieben und steht heute im Quellcode in Version 3f5 zur allgemeinen Verfügung. Auf dieser Version beruhen auch etliche kommerzielle und freie Ableger, die das Original um zusätzliche Funktionen erweitern, worunter aber wiederum die Kompatibilität leidet, was teilweise zu erheblichen Problemen führt, ein funktionierendes Simulationsmodell zu finden.
SPICE1 wurde 1973 erstmals der Öffentlichkeit vorgestellt. 1975 erschien eine stark verbesserte zweite Version. 1989 wurde Version 3 von Thomas Quarles, einem Studenten von A. Richard Newton (der an Spice 2 mitgearbeitet hatte), herausgebracht, die in C geschrieben war.

## Funktion

Grundfunktion der Schaltungssimulation mit SPICE ist das algorithmische Finden von Näherungslösungen für die systembeschreibenden Differentialgleichungen. Deren Zusammenhang wird von der Schaltungstopologie bestimmt und mittels einer Netzliste, welche die Bauelemente und deren Verbindungen beschreibt, an den Simulator übergeben. Die Bauelemente werden durch Modelle beschrieben, die teils an deren physikalischer Baustruktur orientiert sind, aber auch vollkommen abstrakt formuliert sein können. Im letzteren Fall wird ein Subsystem als Black Box nur durch Ein/Ausgänge und verknüpfende Gleichungen beschrieben. Das führt zu rascheren und zugleich exakteren Simulationsergebnissen, da sich die Modellungenauigkeiten der Einzelkomponenten innerhalb des Subsystems nicht hochaddieren können. Allerdings bleibt dann das Zusammenspiel der Einzelkomponenten unbekannt.

## Benutzerschnittstellen

Eine Anzahl von Anwendungen verwendet den Quellcode als Kern für eine grafische Benutzeroberfläche. Das hat den Vorteil, dass sich die Simulation intuitiver erstellen lässt:
* PSpice von Cadence Design Systems
* LTspice von Linear Technology (seit 2017: Analog Devices)
* TINA von DesignSoft
* TINA-TI von Texas Instruments
* Multisim von National Instruments
* ngspice, Open-Source-Projekt
* B2 Spice von Beige Bag Software Inc.
* Felicitas PCBSim von Felicitas Customized Engineering GmbH
* HSPICE von Synopsys
* SystemVision von Mentor Graphics
* Altium Designer, für Windows
* Target 3001 enthält einen Spice-3f5- bzw. PSpice-kompatiblen Simulator
* Proteus (Software) enthält einen Spice-3F5- bzw. ProSpice-kompatiblen Simulator
* Qucs (Quite Universal Circuit Simulator), Open-Source-Projekt
* QSPICE Simulator, free Software by Qorvo, designed by Mike Engelhardt