Ngspice
# Ngspice

Ngspice ist eine freie Software zur Schaltungssimulation. Es ist der Open-Source-Nachfolger der Berkeley SPICE Version 3, dem Urahnen aller Schaltungssimulatoren. Das Projekt wurde gestartet an der Universität von Rom von Paolo Nenzi. Heute tragen eine kleine Gruppe von Maintainern und Nutzern zum ngspice-Projekt bei, indem sie neue Features, Erweiterungen und Bug-Fixes zur Verfügung stellen. Ngspice ist Teil des gEDA-Projekts und wird vom PCB-Entwicklungswerkzeug KiCad und einigen kommerziellen Anbietern für die Simulation eingesetzt.

Ngspice beruht auf drei freien Software-Paketen: Spice3f5, Xspice and Cider1b1:

* SPICE ist der Ursprung aller elektronischen Schaltungssimulatoren; seine Nachfolger sind in der Elektrotechnik weit verbreitet.
* XSpice ist eine Erweiterung von Spice3, die zusätzlichen, in der Programmiersprache C programmierten Code enthält
* Cider ergänzt ngspice um einen numerischen Bauelementsimulator. Es verbindet den Schaltkreissimulator mit dem Bauelementesimulator, um damit die Simulationsgenauigkeit zu erhöhen, dies aber auf Kosten der Simulationsdauer. Wichtige Bauelemente können durch ihre technologischen Parameter mit numerischen Modellen beschrieben werden. Alle anderen können die originalen ngspice-Kompaktmodelle benutzen.

Bei ngspice können drei Arten von Netzwerksimulationen angewendet werden:

* nichtlineare Gleichstromsimulation
* nichtlineare Einschwingvorgänge
* lineare Wechselstromsimulation

Die Simulation von Einschwingvorgängen schließt Rauschsimulation mit ein. Bei der Wechselstromsimulation besteht die Möglichkeit zur Simulation von Kleinsignalrauschen, Polnullstellen und Übertragungsfunktionen.

Ngspice enthält mehrere Bauelemente wie Widerstände, Kondensator und Spule, Übertragungsleitungen und eine wachsende Anzahl von Halbleiterbauelementen, wie Dioden, Transistoren, MOSFET (sowohl bulk als auch SOI); MESFET, JFET und HFET.

Dem Simulator können neue Modelle hinzugefügt werden.

* Verhaltensgesteuerte Modelle: Einfache Modelle können aus verhaltensgesteuerten Quellen (B, E, G) und zugehörigen Gleichungen erzeugt werden.
* OSDI-Schnittstelle, OpenVAF: Der Verilog Model Compiler OpenVAF kompiliert Verilog-A-Kompaktmodelle zu Bibliotheken, die von der in ngspice integrierten OSDI-Schnittstelle zur Laufzeit geladen werden können. Damit werden nahezu alle Verilog-A-Kompaktmodelle in ngspice verfügbar.
* XSpice Codemodel Interface: Diese Schnittstelle erlaubt es, C-codierte analoge oder digitale Schaltungsblöcke in ngspice zu laden und zu simulieren. Etwa 100 Blöcke sind bereits verfügbar, neue vom Nutzer erstellte können hinzugefügt werden.
* Modelle im Spiceformat in C: ngspice ist ein Open-Source-Projekt, neue Modelle können zu den Quelldateien verlinkt und kompiliert werden.

Ngspice unterstützt parametrisierte Netzlisten. Parametrisierte Makromodelle, die oft von Halbleiterherstellern veröffentlicht werden, können, wie sie sind, importiert werden. Die alten Spice2-Netzlisten, die polynominal sources enthalten, werden korrekt geparst. Ngspice hat eine interne Skriptsprache, um komplexe Simulationen zu erleichtern.

