Mathematische Methoden in der Schaltungssimulation

Werbung
Mathematische Methoden in
der Schaltungssimulation
SSIM_VO, SS2005
P. Söser
www.ife.tugraz.at Æ Lehrveranstaltungen Æ Schaltungssimulation
Institut für Elektronik
Verhaltensbeschreibung von
elektronischen Schaltungen (1)
ƒ
ƒ
ƒ
ƒ
Allg.: nichtlineare zeitabhängige Netzwerke
Kirchhoff´sche Knotenregel (Strom)
Kirchhoff´sche Maschenregel (Spannung)
Bestimmungsgleichungen für das Verhalten
der Zweigelemente
ƒ Linear (R)
ƒ Nichtlinear (D, BJT, MOSFET …)
ƒ Integral-/Differentialgleichungen (L, C)
Institut für Elektronik
Schaltungssimulation, VO
2
1
Verhaltensbeschreibung von
elektronischen Schaltungen (2)
ƒ Lösung der Kirchhoff´schen Regeln über
ein System von linearen Gleichungen
ƒ Gleichungssystem bildet die Topologie der
Schaltung ab
ƒ Ziel
ƒ Ermittlung der Knotenspannungen
ƒ Ermittlung der Zweigströme
Institut für Elektronik
Schaltungssimulation, VO
3
Simulation = Lösung des
Gleichungssystems
ƒ Lösung dieses linearen
Gleichungssystems ist das Ziel der
Simulation
ƒ Genauigkeit der Lösung hängt von
einigen Parametern ab
ƒ Genauigkeit der Bauelementemodelle
ƒ Rechengenauigkeit
ƒ Hier wird die Methode von SPICE
behandelt
Institut für Elektronik
Schaltungssimulation, VO
4
2
Welches Verhalten der Schaltung
interessiert mich?
ƒ DC Arbeitspunkt
ƒ Frequenzbereich
ƒ Zeitverhalten
Institut für Elektronik
Schaltungssimulation, VO
5
DC Analyse
ƒ Vorteilhaft unter Verwendung des
Knotenpotentialverfahrens (Nodal Analysis,
NA) durchführbar
ƒ Einfach bei einem linearen Netzwerk mit
unabhängigen Stromquellen
ƒ C Æ nicht beachtet=offen, L Æ Kurzschluss
ƒ Lineares Gleichungssystem G*V=I
ƒ
ƒ
ƒ
G … Leitwertsmatrix
V … Vektor der gesuchten Knotenspannungen
I … Vektor der unabhängigen Stromquellen
Institut für Elektronik
Schaltungssimulation, VO
6
3
Leitwertsmatrix
ƒ Bezugsknoten der Schaltung (Masse) ist der
Knoten 0
ƒ Alle anderen Knoten werden
durchnummeriert (Potential auf 0 bezogen)
ƒ Elemente der Leitwertsmatrix
ƒ Diagonale (Gjj): Summe der Leitwerte, die am
jeweiligen Knoten j angeschlossen sind
ƒ Elemente Gjk: negativer Leitwert zwischen Knoten
j und k
ƒ Viele Matrixelemente sind Null!
Institut für Elektronik
Schaltungssimulation, VO
7
Spannungs- /Stromvektor
ƒ Spannungsvektor enthält die gesuchten
Spannungen der Knoten bezogen auf
den Knoten 0
ƒ Im Stromvektor wird ein Strom in den
Knoten positiv eingetragen (vom
Knoten Æ negativ), Strom in/aus
den/dem Knoten 0 wird nicht angeführt!
Institut für Elektronik
Schaltungssimulation, VO
8
4
Leitwertsmatrix - Beispiel
DC Analyse; lineares Netzwerk
− G 2 ⎞ ⎛ V 1 ⎞ ⎛ IDC ⎞
⎛ G1 + G 2
⎟∗⎜ ⎟ = ⎜
⎟
⎜⎜ − G 2
G
2 + G3 ⎟⎠ ⎜⎝V 2 ⎟⎠ ⎜⎝ 0 ⎟⎠
⎝
⎛ 2 − 1⎞
G = ⎜⎜
⎟⎟
⎝−1 2 ⎠
Lösung:
Institut für Elektronik
⎛ 3⎞
I = ⎜⎜ ⎟⎟
⎝ 0⎠
⎛ 2⎞
V = ⎜⎜ ⎟⎟
⎝1⎠
Schaltungssimulation, VO
9
Wie kann das lineare
Gleichungssystem gelöst werden?
ƒ Bilden der inversen Leitwertsmatrix ist sehr
aufwändig
ƒ Gaußsche Elimination
ƒ Bilden der oberen Dreiecksmatrix
ƒ Rückwärts einsetzen
ƒ LU Faktorisierung (in SPICE verwendet)
ƒ Leitwertsmatrix ist das Produkt einer unteren (L,
Lower) und einer oberen (U, Upper) Dreiecksmatrix
ƒ Vorwärts- und anschließend rückwärts einsetzen
Institut für Elektronik
Schaltungssimulation, VO
10
5
Beispiel LU-Faktorisierung
Allgemein:
L-, U-Matrix zum vorigen Beispiel:
Ax = b
LUx = b
0
⎡ 1
L = ⎢a21 a11
1
⎢
⎢⎣a31 a11 a32 a22
Ux = L−1b
x = U −1L−1b
Institut für Elektronik
0⎤
⎡u11 u12
0⎥ ; U = ⎢ 0 u22
⎥
⎢
⎢⎣ 0
1⎥⎦
0
u13 ⎤
u23 ⎥
⎥
u33 ⎥⎦
0⎤ −1 ⎡ 1
⎡ 1
L=⎢
⎥; L = ⎢1 2
⎣ − 1 2 1⎦
⎣
⎡2 − 1 ⎤ −1 ⎡1 2
U=⎢
⎥; U = ⎢ 0
⎣
⎣0 3 2⎦
0⎤
1⎥⎦
1 3⎤
2 3⎥⎦
⎡2 3 1 3 ⎤
U −1 ⋅ L−1 = ⎢
⎥
⎣1 3 2 3⎦
Schaltungssimulation, VO
11
Vorteile der LU-Faktorisierung
ƒ Wiederholtes Berechnen der Lösungen
bei verschiedenen Eingangsvektoren
(z.B. Sensitivitäts-, Rausch-Analyse) ist
einfach
ƒ L-1 und U-1 können einfach gebildet
werden (Å Dreiecksmatrizen)
Institut für Elektronik
Schaltungssimulation, VO
12
6
Modifiziertes
Knotenpotentialverfahren (1)
ƒ MNA (Modified Nodal Analysis)
ƒ Problem mit Spannungsquellen und
Induktivitäten im Knotenpotentialverfahren
ƒ Erweiterung der Leitwertsmatrix um eine
Zeile und eine Spalte pro Spannungsquelle
ƒ +1 an der Stelle der neuen Zeile bzw. Spalte,
die dem positiven Anschluss entspricht
ƒ -1 für den negativen Anschluss
ƒ Restliche Elemente sind 0
Institut für Elektronik
Schaltungssimulation, VO
13
Modifiziertes
Knotenpotentialverfahren (2)
ƒ Modifikation des Spannungs- bzw.
Stromvektors
ƒ N x N – Matrix entsteht
ƒ N=n+nV+nL
ƒ n … Anzahl der Knoten
ƒ nV … Anzahl der Spannungsquellen
ƒ nL … Anzahl der Induktivitäten
Institut für Elektronik
Schaltungssimulation, VO
14
7
Beispiel MNA
− G2
1 ⎞ ⎛ V 1 ⎞ ⎛ IDC ⎞
⎛ G1 + G 2
⎟
⎟ ⎜
⎜
⎟ ⎜
G
G
G
−
2
2
+
3
−
1⎟ ∗ ⎜ V 2 ⎟ = ⎜ 0 ⎟
⎜
⎜
⎜
⎟
⎜ 1
⎟
−1
0 ⎠ ⎝ IV 1⎠ ⎝ V 1 ⎟⎠
⎝
⎛ 2 −1 1 ⎞
⎛ 3⎞
⎜
⎟
⎜ ⎟
a = ⎜ − 1 2 − 1⎟; c = ⎜ 0 ⎟
⎜ 1 −1 0 ⎟
⎜ 5⎟
⎝
⎠
⎝ ⎠
Institut für Elektronik
⎛ 4 ⎞
⎜ ⎟
Lösung b = ⎜ − 1 ⎟
⎜ − 6⎟
⎝ ⎠
Schaltungssimulation, VO
15
MNA – Gleichungsmuster für
weitere Netzwerkelemente
Quelle: Diplomarbeit M. Prediger
Institut für Elektronik
Schaltungssimulation, VO
16
8
Genauigkeitseinflüsse
ƒ Topologisch
ƒ V und L generieren eine 0 in der Diagonale der
MNA-Matrix
ƒ Umsortierung notwendig, da sonst das System
nicht direkt gelöst werden kann Æ Pivoting
ƒ Parameter PIVTOL (default 10-13) und PIVREL
(default 10-3) für SPICE
ƒ Numerisch
ƒ Double precision IEEE floating point Darstellung
Institut für Elektronik
Schaltungssimulation, VO
17
Nichtlinearitäten
ƒ Linearisierung notwendig, damit das
MNA-Verfahren zur Lösung des
Gleichungssystems angewendet
werden kann
ƒ Newton Algorithmus
ƒ Iterative Lösung
ƒ Lösung muss konvergieren!
Institut für Elektronik
Schaltungssimulation, VO
18
9
Linearisierungsbeispiel - Diode
ƒ In jedem Arbeitspunkt der
Diode wird die
Diodencharakteristik durch
die Tangente in diesem
Punkt angenähert
Id
Steigung=Geq
ƒ
Entspricht einer
Parallelschaltung von
Leitwert und Stromquelle
Io
Io = Ieq + Vo ⋅ Geq
Vo
Vd
Ieq
Institut für Elektronik
Schaltungssimulation, VO
19
Linearisierungsbeispiel – Diode (2)
− G 2 ⎞ ⎛ V 1 ⎞ ⎛ IDC ⎞
⎛ G1 + G 2
⎜⎜
⎟∗⎜ ⎟ = ⎜
⎟
−
G
2
G
2
+ Geq ⎟⎠ ⎜⎝V 2 ⎟⎠ ⎜⎝ − Ieq ⎟⎠
⎝
Iteration Newton(-Raphson) solange, bis sich die Lösungen nur mehr um eine eingestellte
Toleranz unterscheiden.
D.h.: die Lösung muss konvergieren!
Institut für Elektronik
Schaltungssimulation, VO
20
10
Konvergenz und dafür relevante
Optionen/Parameter in SPICE
ƒ Modifikation des Newton Algorithmus´
ƒ Limitierung der Änderung
ƒ Setzen eines Startwertes für die
Knotenspannung (.NODESET)
ƒ GMIN (default 10-12) parallel zu jedem pnÜbergang
ƒ Parameter für Abbruch der Iteration
ƒ RELTOL, VNTOL, ABSTOL, ITL1, ITL2, ITL4
ƒ Source Ramping (PSPICE, SPICE3, ITL6
bei SPICE2)
Institut für Elektronik
Schaltungssimulation, VO
21
AC Analyse
ƒ Kleinsignal Wechselspannungsanalyse
ƒ DC Arbeitspunkt Æ Linearisierung
ƒ Amplitude darf nur so groß werden, dass die
Linearisierung noch korrekt ist!
ƒ Sinusförmige Eingangsquellen; alle haben die
selbe Frequenz
ƒ Matritzenelemente sind komplexe Zahlen
ƒ Yr = 1/R ; Yc = jωC ; Yl = 1/jωL
Institut für Elektronik
Schaltungssimulation, VO
22
11
AC Analyse - Beispielmatrix
− G 2 ⎞ ⎛ V 1 ⎞ ⎛ IACe − jφ ⎞
⎛ G1 + G 2
⎟
⎟∗⎜ ⎟ = ⎜
⎜⎜ − G 2
G 2 + jωC1⎟⎠ ⎜⎝V 2 ⎟⎠ ⎜⎝
0 ⎟⎠
⎝
Φ … Phasenlage der Eingangsquelle
Institut für Elektronik
Schaltungssimulation, VO
23
Transienten Analyse (1)
ƒ Antwort der Schaltung in der Zeitdomäne
ƒ Zeitintervall 0 … T wird betrachtet
ƒ Lösung zum Zeitpunkt 0 über DC Arbeitspunkt
ƒ Anfangszustand der Energiespeicher in der
Schaltung (L und C) kann angegeben werden
ƒ Zeitintervall wird in Zeitschritte variabler Länge
unterteilt (0, t1, t2 …T)
ƒ Automatische Zeitschrittverkürzung bei großen
Signaländerungen
Institut für Elektronik
Schaltungssimulation, VO
24
12
Transienten Analyse (2)
ƒ Numerischer Integrationsalgorithmus
zur Lösung der Differentialgleichungen
ƒ Vorwärts Euler
ƒ Rückwärts Euler
ƒ Trapez
ƒ Formeln nach Gear
Institut für Elektronik
Schaltungssimulation, VO
25
Rückwärts Euler Verfahren
ƒ Kapazität C
ƒ i = C dv/dt
ƒ dv/dt ≈ (vn+1 - vn) / T ; T … Zeitschrittlänge
ƒ in+1 = C/T * vn+1 - C/T * vn
ƒ Æmit DC-Analyse erhält man die Spannung zur Zeit tn+1
Institut für Elektronik
Schaltungssimulation, VO
26
13
Vorwärts/Rückwärts Euler Verfahren
ƒ Verfahren erster
Ordnung
ƒ (a) … FE (forward-Euler)
ƒ (b) … BE (backward-
Euler)
ƒ LTE (local truncation
error) bestimmt die
automatische
Zeitschrittverkürzung
LTE =
Institut für Elektronik
h 2 ..
⋅ xn
2
Schaltungssimulation, VO
27
Trapezverfahren
ƒ Verfahren 2-ter Ordnung
h 2 ...
LTE =
⋅ xn
6
Institut für Elektronik
Schaltungssimulation, VO
28
14
Formeln nach Gear
Quelle: [5]
Institut für Elektronik
Schaltungssimulation, VO
29
Institut für Elektronik
Schaltungssimulation, VO
30
15
Referenzen
[1] Laurence W. Nagel.: SPICE2: A computer program to simulate
semiconductor circuits
Memorandum No. ERL-M520, 1973
Electronic Research Laboratory, College of Engineering
University of California, Berkeley
[2] Hoefer, E. E. E., Nielinger, H.: SPICE:. Analyseprogramm für
elektronische Schaltungen.
Benutzerhandbuch mit Beispielen
Springer Verlag, 1985
[3] V.Litovski and M. Zwolinski: VLSI Circuit Simulation and Optimization
Chapman & Hall 1997
[4] Prediger, M.: Symbolische Verarbeitung und Analyse von Netzlisten
Diplomarbeit am Lehrstuhl für Rechnergestützten Schaltungsentwurf,
Friedrich-Alexander-Universität Erlangen-Nürnberg 1998
[5] Vladimirescu A.: The SPICE book
John Wiley & Sons, Inc.; 1994
Institut für Elektronik
Schaltungssimulation, VO
31
16
Herunterladen