chevron_left
chevron_right

Auf die richtige Methode kommt es an

Bei der Entwicklung analoger Schaltungen verlassen sich Ingenieure auf Simulationen. Spice ist ein solches Werkzeug, das das umfangreiche Signalverhalten beliebiger Schaltungen berechnen kann. Dazu müssen Differentialgleichungen numerisch integriert werden, und genau hier kommt es auf die Methoden an, damit die Software korrekte Ergebnisse generiert.

 

Um die Leistungsfähigkeit ihrer Schaltungen zu bestimmen, setzten Entwicklungsingenieure auf Simulation. Der Wert der Simulation hängt davon ab, wie gut sie die physikalischen Gegebenheiten vorherberechnen kann und wie schnell sie Ergebnisse erbringt. Diskrepanzen zwischen der simulierten und der realen Leistungsfähigkeit können ein Produkt in kostenintensive Debugging-Zyklen zwingen.

Berechnungsmethode beeinflusst die Simulationsergebnisse

Spice berechnet das gesamte Signalverhalten analoger Schaltungen. Für den Erfolg einer solchen Simulation sind drei numerische Methoden verantwortlich: Die Newton-Iteration dient dazu, eine Lösung für Schaltungen mit nicht-linearen Elementen zu finden. Mit der Sparse-Matrix-Methode (dünnbesetzte Matrix) lassen sich riesige Matrizen in den Adressbereich eines geeigneten Computers ablegen. Schliesslich werden mit der impliziten Integration differentielle Gleichungen integriert, die von Schaltungswiderständen hervorge­rufen werden.

Die Fähigkeit eines Spice-Simulators zuverlässig korrekte Ergebnisse zu generieren, hängt wesentlich davon ab, wie gut diese Methoden implementiert sind. Dieser Artikel zeigt, warum LTspice besser bei der Generierung korrekter Ergebnisse ist als andere Spice-Implementierungen.

Je nach Implementierung treten Unstetigkeiten auf

Die Newton-Iteration bedeutet das Ausweiten der I-V-Kurve jedes nichtlinearen Schaltungsteils in eine Taylor-Serie. Die Robustheit dieser Iteration hängt davon ab, ob die I-V-Kurven aller Schaltungselemente verfügbar sind und ob alle nichtlinearen Elemente mit Kondensatoren überbrückt sind. Jede physikalische Schaltung erfüllt diese Bedingungen, aber nicht alle Spice-Programme verfahren hier richtig. In Berkeley-Spice, beispielsweise, treten bei halbleitenden Schaltungen Unstetigkeiten auf, die auch auf andere Spice-Implementierungen übertragen wurden. Anders dagegen in LTspice: Bild 1 zeigt die I-V-Kurve einer Diode in PSpice und im Vergleich dazu in LTspice. Solche Unstetigkeiten beeinflussen die Fähigkeit eines Simulators, nicht-lineare Gleichungen zu lösen, negativ.

Eine Sparse-Matrix hilft bei grossen Datenmengen

Die Taylor-Reihe ist mehrdimensional – eine Dimension steht für jeden unbekannten Spannungsknoten in der Schaltung. Bei einem analogen IC können das bis zu 100 000 unterschiedliche Spannungsknoten sein, was zu einer Verbindungsmatrix von 100 000 mal 100 000 oder 80 Milliarden Byte für Matrix-Koeffizienten mit doppelter Genauigkeit führt. Selbst moderne 64-Bit-Prozessoren können nicht genügend Adressen ansprechen, um auf einen derart grossen Speicher zuzugreifen. Glücklicherweise ist fast jeder Koeffizient gleich Null, sodass sie nicht gespeichert werden müssen. Sparse-Matrix-Methoden verfolgen nur die Elemente weiter, die ungleich Null sind. Dies erlaubt es, eine riesige Matrix in einem vergleichsweise winzigen Speicher aufzulösen.

Die Unterschiede liegen in der Integrationsmethode

Die Simulation analoger Schaltungen erfordert eine numerische Integration von Differenzialgleichungen, um das Verhalten der Kondensatoren und Spulen nachzuverfolgen. Die grössten Unterschiede zwischen den einzelnen Spice-Implementierungen liegen in den Methoden, die zur Integration der Differenzialgleichungen vorhanden sind.

Die Numerische Integration enthält Fehler. Diese können sich so lange aufsummieren, bis eine numerische Methode – genannt implizite Integration – eingesetzt wird. Ohne implizite Integration wäre eine Transientenanalyse in Spice nicht möglich.

Gear oder Trap, das ist hier die Frage

Spice nutzt die Integration zweiter Ordnung. Die meisten Implementierungen folgen Berkeley-Spice und bieten zwei Formen der impliziten Integration 2. Ordnung: Gear und Trapezförmig (Trap). Die Trap-Integration ist schneller und genauer als die Gear-Integration. Allerdings kann sie numerische Artefakte hervorrufen, wobei die integrierte Lösung von diskreten Zeitschritten von Zeitschritt zu Zeitschritt um das wahre kontinuierliche Zeitverhalten herum oszilliert. Dies kann den Nutzer dazu veranlassen, an der Korrektheit des Simulators zu zweifeln, obwohl jedes Trapezoid den korrekten integrierten Bereich enthält. Entwickler von analogen Schaltungen haben befürchtet, dass das zyklische Trap-Überschwingen (ringing) nicht mehr akzeptabel wird, sodass die Trap-Integration aus der kommerziellen Implementierung, PSpice, entfernt wurde. Damit bleibt nur noch die langsamere und weniger genaue Gear-Integration als Option übrig.

Dämpfung mit fatalen Folgen

Die Gear-Integration dämpft nicht nur das numerische Überschwingen (ringing), sie dämpft das zyklische Überschwingen insgesamt, was es erlaubt, eine Schaltung mit einer Fehlfunktion im realen Betrieb, wegen der Oszillation als perfekt stabil und funktionell zu simulieren, weil die Instabilität aus der numerischen Existenz weggedämpft wurde. Dies hat zur desaströsen Situation geführt, bei der ein IC-Design in PSpice simuliert und anschliessend gelayoutet und hergestellt wurde. Doch schliesslich funktionierte die Schaltung nicht. Und das nur wegen einer Instabilität, die die Gear-Integration von PSpice nicht erkannte. Eine Neuerstellung der Masken – mit beträchtlichen Aufwendungen bezüglich Zeit und Kosten – ist nötig, um diese Instabilität zu beseitigen und zu versuchen, die ursprüngliche Funktion zu erzielen.

Ein kleiner Zeitschritt führt zur korrekten Lösung

Bild 2 zeigt, dass die PSpice-Gear-Integration die beiden Blindwiderstände an nur einem Knoten nicht korrekt integriert. Dieser Fehler lässt die Schaltungen in der Simulation stabiler erscheinen, als sie in Wirklichkeit sind. Um die Auswirkungen dieses Fehlers in ein praktisches Beispiel umzusetzen, zeigt Bild 4 einen Audio-Leistungsverstärker, der nicht stabil ist, weil der Kompensationskondensator C2 zu klein ist. Bild 5 vergleicht das fälschlicherweise stabile Ergebnis (links) mit dem korrekten oszillierenden Ergebnis von LTspice (rechts).

Integrieren ohne Schwingungsanteil

Es braucht eine schnelle und genaue Methode, wie bei der Trap-Integration, aber ohne deren Schwingungsanteil. LTspice bietet das mit der Option modifizierter Trap. Nach heutigem Wissensstand ist dies das beste Hilfsmittel, um die Differenzialgleichungen einer analogen Schaltung zu integrieren und wurde noch von keinem anderen Spice-Programm dupliziert. LTspice unterstützt aber auch die anderen bekannten Methoden, Trap und Gear. Das aber auf eine Weise, dass der Anwender die fehlerhaften Ergebnisse von anderen Spice-Simulatoren verwenden kann, um zu verifizieren, ob die Modelle gleich interpretiert werden und nur die Integrationsmethode unterschiedlich ist.

Der Entwickler muss der Simulation vertrauen

LTspice wurde in den letzten zehn Jahren populär. Es gibt viel Know-how das in Form von Bibliotheken in den Solver eingeflossen ist. Doch das Tool ist nicht das einzige frei verfügbare Spice-Programm. Die Robustheit, Geschwindigkeit und Integrität des Simulators hängen stark davon ab, wie gut diese Methoden implementiert sind. Letztlich muss ein Simulator das Vertrauen des Entwicklers gewinnen, dass er das Schaltungsverhalten korrekt lösen kann. Dies ist unmöglich, wenn der Solver die numerischen Kernmethoden nicht korrekt ausführt.

Infoservice


Linear Technology GmbH
Osterfeldstrasse 84, Haus C, DE-85737 Ismaning
Tel. 0049 89 962 45 50, Fax 0049 89 963 147
www.linear.com