SPICE-Typische Fallstricke und wie man sie vermeidet
„Garbage in, garbage out.“ —Anonym
SPICE ist ein zuverlässiger Simulationsmotor, hat aber einige Eigenheiten, die selbst erfahrene Nutzer stolpern lassen. Dieser Artikel fokussiert sich auf subtile Dateiformat- und Schaltungstopologie-Regeln, die SPICE erzwingt – nicht auf Bugs, die falsche Ergebnisse liefern. Viele dieser Eigenheiten waren spezifisch für SPICE 2g6, können aber in neueren Versionen noch auftreten.
Richtiger Dateianfang
Jede SPICE-Netlist muss mit einer Nicht-Komponenten-Zeile beginnen – typischerweise ein Titel, Kommentar oder eine Leerzeile. Steht in der ersten Zeile eine Komponenten-Card, bricht SPICE mit „serious error“ ab, oft fälschlicherweise auf Knotenverbindungen schiebend. Ein einfacher Zeilenvorschub oder Kommentar genügt.
Sauberes Dateiende
Die finale .end-Card muss ohne Zeilenende-Zeichen geschrieben werden. Nach Eingabe von .end den Cursor sofort nach dem „d“ stoppen und nicht [Enter] drücken. Andernfalls meldet SPICE „missing .end card“ – die Simulation läuft, aber der Output wird verunreinigt.
Knoten 0 einbinden
Knoten 0 ist die Bezugsmasse (Ground) für alle Spannungsangaben. Jede gültige Netlist muss Knoten 0 enthalten; andernfalls kann SPICE die Spannungsskala nicht auflösen. Beispiel DC-Analyse:
node voltage node voltage ( 1) 15.0000 ( 2) 0.6522
Hier ist Knoten 1 15 V über Masse, Knoten 2 0,6522 V über Masse.
Keine offenen Schaltungen
Offene Schaltungen – besonders offene Spannungsquellen – verhindern, dass SPICE einen Strompfad findet. Beim Anschluss einer Spannungsquelle an den Eingang einer gesteuerten Quelle (z. B. Op-Amp-Modell) einen hochohmigen Widerstand (rbogus) einfügen, um eine minimale Last zu bieten und die Simulation am Laufen zu halten.
Ungewollte Spulen-/Spannungsquellen-Schleifen vermeiden
SPICE behandelt Spulen in der DC-Analyse als Kurzschlüsse und Kondensatoren als offene Schaltungen. Ununterbrochene Schleifen aus Spulen oder Spannungsquellen oder in Reihe geschaltete Kondensatoren ohne DC-Pfad führen zum Solver-Fehler. Typische Problem-Muster:
netlist l1 2 4 10m l2 2 4 50m l3 2 4 25m
netlist v1 1 0 dc 12 l1 1 0 150m
netlist c1 5 6 33u c2 6 7 47u
Abhilfe: Niedrigohmige Shunts für Spulen, hochohmige für Kondensatoren.
original: l1 2 4 10m; l2 2 4 50m; l3 2 4 25m
fixed: rbogus1 2 3 1e-12; rbogus2 2 5 1e-12
l1 3 4 10m; l2 2 4 50m; l3 5 4 25m
Die rbogus-Widerstände sind quasi Kurzschlüsse (1 pΩ), sodass die Spulenschleife für den Solver nicht mehr als perfekter Kurzschluss erscheint. Für Kondensatoren:
original: c1 5 6 33u; c2 6 7 47u fixed: c1 5 6 33u; c2 6 7 47u; rbogus 6 7 9e12
Ein 9 TΩ-Shunt hält den DC-Pfad, ohne das AC-Verhalten zu beeinflussen.
Strommessung in SPICE
Spannungsmessungen sind einfach – zwei Knoten referenzieren. Strommessungen erfordern eine Spannungsquellen-Referenz. Fehlt diese, fügen Sie eine nullvoltige „bogus“-Quelle ein:
c1 4 7 22u vbogus 6 4 dc 0 .print ac i(vbogus)
Die AC-Analyse gilt weiterhin, die Nullvolt-Quelle verändert die Simulation nicht.
Beachten Sie: SPICE weist Strompolarität entgegen der konventionellen Richtung für DC-Quellen zu. In einem einfachen Serienschaltkreis:
example v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i(v1) .end
SPICE meldet −1 mA, da Strom, der den negativen Anschluss von v1 verlässt, als negativ gilt. Umorientierung der Nullvolt-Quelle erzwingt positives Vorzeichen falls erwünscht.
Fourier-Analyse Tipps
Bei Fourier-Analyse (Frequenzbereich) immer die Zielwellenform drucken/plotten; andernfalls pausiert SPICE und bricht nach „initial transient solution“ ab. Für Pulsquellen, die Rechteckwellen erzeugen, realistische Anstiegs-/Abfallzeiten angeben. Eine ideale Rechteckwelle (momentane Flanken) führt fälschlicherweise zu geraden Harmonischen in SPICEs Fourier-Transformierte.
Industrietechnik
- Google-Style Autocomplete in Echtzeit bauen: Architektur, Design & Best Practices
- SPICE-Einführung: Textbasierte Schaltungssimulation
- Die Evolution von SPICE: Von CANCER zur modernen Schaltungssimulation
- SPICE über die Kommandozeile: Die Bedeutung des „<“-Operators
- SPICE Netlist-Syntax: Bauteilbenennung, passive & aktive Elemente, Quellen
- Determinismus und Fehlertoleranz: Wesentliche Designprinzipien für industrielle Steuerungsnetzwerke
- Umfassender Leitfaden zur Halbleiterbauelement-Modellierung in SPICE
- JFET-Eigenheiten entschlüsseln: Häufige Fallstricke und wie man sie beherrscht
- Häufige IGFET-Eigenheiten und wie man sie mildert
- Elektrische Schaltungssimulation mit SPICE meistern: Praktischer Leitfaden für Entwickler und Studenten