Schaltungssimulation VO

Werbung
Schaltungssimulation
Schaltungssimulation
Sammlung von Antworten
Einleitung
Diese Antwortensammlung wurde auf Basis der Vorlesung und Übung im Sommersemester
07 erstellt und betrifft die Fragen der im Internet angebotenen Sammlung. Die Sammlung
erhebt keinerlei Anspruch auf Vollständigkeit oder Korrektheit. Sollten Ihnen Fehler
auffallen, bitte ich Sie, mir das per E-Mail mitzuteilen.
Version:
1.0
Stand:
05.06.2007
Erstellt von: Bernhard Geiger ([email protected])
© Bernhard Geiger, 2007-06-05
1
Schaltungssimulation
Stellen Sie nach dem modifizierten Knotenpotentialverfahren die
Gleichungen für die gegebene Schaltung auf.
Stellen Sie die SPICE Netzliste für die (oben) gegebene Schaltung auf.
R_R1
C_C1
R_R3
L_L1
R_R4
R_R2
V_V2
V_V1
I_I1
4 1 1k
1 2 1n
3 2 1k
3 5 10uH
3 0 1k
0 1 1k
1 2 DC 5
4 0 DC 5
2 5 DC 1m
Welche Vor- und Nachteile besitzt die Simulation gegenüber einem
Prototyping?
Vorteile: Simulation über den Temperaturbereich leicht möglich, worst case-Analyse,
Auswirkungen der Toleranzen, auch bei integrierten Schaltungen ist eine Simulation möglich,
wenn ein Prototyping zu aufwändig wäre.
Nachteile: Oft sind für Spezialbauteile keine Modelle verfügbar.
Welche Besonderheiten weisen die Leitwertsmatrizen von elektronischen
Schaltungen auf?
Sie sind symmetrisch. In der Hauptdiagonale befinden sich die Leitwerte der an den
jeweiligen Knoten angeschlossenen Zweige, in den Nebenelementen befinden sich die
Koppelleitwerte zwischen den Knoten. Zusätzlich weisen sie viele Nullen auf, da bei großen
Schaltungen nur wenige Knoten miteinander verbunden sind. SPICE kann daher ein
Pointersystem verwenden, das nur auf die besetzten Stellen zeigt.
© Bernhard Geiger, 2007-06-05
2
Schaltungssimulation
Was ist das Knotenpotentialverfahren
Knotenpotentialverfahren?
und
das
modifizierte
Das Knotenpotentialverfahren ist ein Verfahren zum Aufstellen und Lösen eines linearen
Gleichungssystems. Anwendung findet das Verfahren bei linearen bzw. linearisierten
Netzwerken, in dem nur unabhängige Stromquellen vorhanden sind. Das Gleichungssystem
wird in der Form GV=I aufgestellt, wobei G die Leitwertsmatrix, V der Vektor der
Knotenpotentiale und I die Ströme der unabhängigen Stromquellen sind. Fließt ein Strom in
einen Knoten, wird er im jeweiligen Vektor positiv gewichtet.
Um auch gesteuerte Quellen und Spannungsquellen in der Schaltung verwenden zu können,
muss man das modifizierte Knotenspannungsverfahren anwenden. Dieses berücksichtigt die
Spannungen, die durch die Spannungsquellen vorgegeben werden und berechnet als weitere
Unbekannte den Strom durch die Spannungsquelle. Dazu wird in der Leitwertsmatrix an den
Knoten mit der positiven Klemme der Spannungsquelle eine 1, an den Knoten mit der
negativen eine 0 eingetragen. Der Vektor I enthält in der entsprechenden Zeile die Spannung,
der Lösungsvektor V den Strom durch die Spannungsquelle.
Welchen Vorteil besitzt die LU-Faktorisierung bei der Lösung der
Gleichungssysteme und bei welchen Simulationsarten tritt dieser zur
Geltung?
Die Leitwertsmatrix des (modifizierten) Knotenpotentialverfahrens wird als Produkt einer
oberen (upper) und einer unteren (lower) Dreiecksmatrix dargestellt. Während die Inversion
einer gewöhnlichen Matrix schwierig ist, lassen sich Dreiecksmatrizen leicht invertieren. Die
invertierten Matrizen lassen sich dann auch für verschiedene Eingangsvektoren
weiterverwenden, was z.B. bei der Gaussschen Elimination nicht möglich gewesen wäre
(Vorteil bei Sweeps). Man verwendet das Verfahren bei der DC-Analyse.
Wie werden Nichtlinearitäten behandelt, erläutern Sie es am Beispiel
einer Diode.
Nichtlinearitäten werden mit dem Newtonschen Näherungsverfahren linearisiert und das
Gleichungssystem wird so iterativ gelöst. Eine Diodenkennlinie wird im Arbeitspunkt
linearisiert und damit durch eine Parallelschaltung von Widerstand und Stromquelle ersetzt.
Von einem Startpunkt ausgehend (Punkt stärkster Krümmung der Kennlinie) wird der
Diodenstrom und daraus der äquivalente Leitwert und die äquivalente Stromquelle berechnet.
Dann wird die lineare Schaltung simuliert. Der Spannungswert, den die Simulation ergibt, ist
nun der neue Startwert für den nächsten Iterationsschritt. Dieses Verfahren wird solange
fortgesetzt, bis sich die Werte zweier aufeinander folgender Iterationen um weniger als eine
eingestellte Schranke unterscheiden. Zur Berechnung werden die folgenden Formeln
verwendet:
Vd
⎛ Vd
⎞
I
I d = I S ⎜⎜ e Vt − 1⎟⎟
Geq = S e Vt
Ieq = I d − Vd * Geq
Vt
⎝
⎠
Wie wird die AC Kleinsignalanalyse in SPICE durchgeführt?
Im Prinzip wird wieder das Knotenpotentialverfahren angewendet, wobei nun auch
Kondensatoren und Spulen berücksichtigt werden können (Darstellung als komplexe
Leitwerte). Zuerst ist aber eine Linearisierung des Gleichungssystems und damit der
Schaltung notwendig (Vorsicht: bei zu großen Amplituden stimmt die Linearisierung nicht
notwendigerweise). Der DC Arbeitspunkt muss außerdem bestimmt werden.
© Bernhard Geiger, 2007-06-05
3
Schaltungssimulation
Ist es möglich, zwei Quellen mit unterschiedlicher Frequenz in einem AC
Simulationslauf zu verwenden?
Nein, alle Quellen müssen dieselbe Frequenz haben.
Was geschieht mit Kondensatoren
Berechnung des Arbeitspunkts?
und
Induktivitäten
bei
der
Kondensatoren werden als Unterbrechungen, Induktivitäten als Kurzschlüsse behandelt.
Warum nimmt man 1 V AC Quellen bei der AC Simulation? Nach welcher
Gleichung berechnet ein dB-Spannungsmarker die angezeigte Größe?
Man nimmt 1 V Quelle, weil der dB-Spannungsmarker die markierte Spannung auf 1 V
bezieht und man so die tatsächliche Verstärkung gegenüber der Quelle in dB direkt ablesen
kann. Die Gleichung lautet: 20 log U
Was erwartet ein SPICE Programm als Eingabe? Sind SPICE Programme
kompatibel? Woher stammen sie ab?
Ein SPICE Programm benötigt die Schaltung (Netzliste), die Modelle für die Bauelemente
(Library), Angaben über die durchzuführende Simulation (Circuit-File) und gegebenenfalls
Informationen über den Stimulus.
Ja, SPICE Programme sind kompatibel, Netzlisten lassen sich importieren.
SPICE (simulation program with integrated circuit emphasis) wurde in Berkeley in den
1970ern entwickelt.
Eine AC Quelle mit 1 V wird durch einen OPAmp, der mit +/-10 V versorgt
wird um den Faktor 100 verstärkt. Sieht man eine Beeinflussung durch
das Übersteuern in der AC Analyse?
Nein. Die AC Analyse verwendet eine Linearisierung der Schaltung um den Arbeitspunkt,
jegliche Nichtlinearitäten (wie z.B. Aussteuergrenzen) werden nicht berücksichtigt. Es liegt
beim Anwender, das Ergebnis auf dessen Sinnhaftigkeit zu überprüfen.
Wie kann man den Klirrfaktor einer Schaltung in der Simulation
bestimmen, was ist dabei besonders zu beachten, wo sieht man das
Ergebnis?
Mit einer Fourieranalyse (Teilanalyse der transienten Analyse) kann man den Klirrfaktor
(Summe der Effektivwerte der Oberschwingungen durch den Effektivwert des Signals) um
eine Mittenfrequenz berechnen.
Die Fourieranalyse betrachtet dabei nur die letzte Periode der Grundschwingung (angegeben
durch die Mittenfrequenz) im Simulationsintervall, daher sollte der Einschwingvorgang bis
dahin abgeschlossen sein. Ferner soll der Zeitschritt klein genug sein, damit die Schwingung
"glatt" aussieht und somit keine zusätzlichen Oberschwingungen erzeugt werden.
Das Ergebnis findet sich im Output-File ganz unten, unter dem Namen "Total Harmonic
Distortion".
Wie können Sie ein Bauteil, das Sie vom Internet laden, in die Simulation
einbinden?
Wird das Bauteil samt Symbol als Library in Internet angeboten, so muss die Library im Part
Browser eingebunden werden und das Bauteil ist dann im Schematic verfügbar. Steht nur das
Modell zur Verfügung, so muss die Modellbibliothek eingebunden werden. Als Symbol
© Bernhard Geiger, 2007-06-05
4
Schaltungssimulation
verwendet man entweder einen Break Part, dem man dann das Modell zuweist, oder man
erstellt mit dem Part Editor ein neues Symbol.
Was wird im SPICE Modell eines Widerstands berücksichtigt?
Widerstandsmultiplikator R (multipliziert eingegebenen Wert)
Temperaturkoeffizienten linear, quadratisch, exponentiell (TC1, TC2, TCE)
Temperatur (absolut, gemessen, relativ zur Simulatortemperatur,
Modelltemperatur)
relativ
zur
Wie können Sie einen Modellparameter modifizieren?
Bauteil markieren -> Edit -> Edit Model -> Edit Instance Model Text -> Parameter
modifizieren.
Eine weitere Möglichkeit besteht darin, das Modell in der Library zu öffnen und die
Änderungen direkt dort vorzunehmen.
Was ist eine Transientenanalyse und wie wird sie gerechnet?
Die Transientenanalyse bestimmt die Antwort einer Schaltung im Zeitbereich über ein
vorgegebenes Intervall. Der Startwert wird dabei über eine DC Arbeitspunktanalyse ermittelt.
Zu jedem Zeitschritt wird die Differentialgleichung, die das Verhalten der Schaltung
bestimmt, linearisiert (d.h. in eine algebraische Gleichung umgewandelt) und ausgewertet
(durch numerische Integration). SPICE arbeitet nicht mit dem Rückwärts-Euler-Verfahren,
sondern mit der Trapezintegration und dem Gear-2-Algorithmus. Das Flussdiagramm zur
Transientenanalyse sieht wie folgt aus:
© Bernhard Geiger, 2007-06-05
5
Schaltungssimulation
Was bestimmt den Zeitschritt bei der Transientenanalyse?
Die Transientenanalyse verwendet eine variable Schrittweite (kleine Schrittweite bei großer
Dynamik bzw. umgekehrt). Befinden sich Energiespeicher (L,C) in der Schaltung, liegt die
maximale Schrittweite bei einem Fünfzigsten der Simulationsdauer, andernfalls bei der <print
step value>. Durch eine Eingabe von <step ceiling value> lässt sich die maximale Schrittweite
verringern.
Mit welcher Analyse kann man das Ausgangskennlinienfeld eines
Transistors darstellen?
Mit einem nested DC Sweep über sowohl UGS als auch UDS, wobei UDS auf der x-Achse,
ID auf der y-Achse aufgetragen wird und UGS der Parameter ist. Optional kann UGS auch als
parametrische Simulation durchgesweept werden.
Warum wird ein Operationsverstärker mit einem
beschrieben und nicht vollständig auf Transistorbasis?
Makromodell
Einerseits sind die genauen Technologiedaten der verwendeten Transistoren bzw. der
Innenschaltung von der Herstellerfirma nicht freigegeben. Andererseits würde eine
vollständige Nachbildung sehr viele Bauteile und damit einen viel größeren Rechenaufwand
erfordern. Das Makromodell verwendet hier gesteuerte Quellen, was die Komplexität stark
verringert.
Welche Unsicherheiten entstehen durch
Makromodells eines Operationsverstärkers?
die
Verwendung
eines
Einzelne Eigenschaften können nicht simuliert werden, da das Makromodell einer
Vereinfachung bzw. Idealisierung entspricht. Da die genauen Transistordaten nicht vorhanden
sind, ist es zum Beispiel nicht möglich, die Stromaufnahme (modelliert durch Widerstand)
exakt zu berechnen (z.B. in Abhängigkeit der Eingangsfrequenz). Ebenso werden kapazitive
Effekte, die durch die Transistoren verursacht werden, nicht bzw. nur näherungsweise
nachgebildet. Auch die Limitierung des Ausgangsaussteuerbereichs wird nur durch ein
vereinfachtes Modell nachgebildet.
© Bernhard Geiger, 2007-06-05
6
Schaltungssimulation
Zeichnen Sie vereinfacht das Modell eines MOSFET. Mit welchen
vereinfachten Gleichungen wird die Stromquelle beschrieben?
⎧
⎪
0
U GS − Vto < 0
⎪⎪Wk ⎛
U DS ⎞
ID = ⎨
U DS < U GS − Vto
⎜U GS − Vto −
⎟U DS (1 + λU DS )
L
2
⎝
⎠
⎪
Wk
⎪
(U GS − Vto )2 (1 + λU DS )
0 < U GS − Vto < U DS
⎪⎩
2L
Mit welchem Zeitschritt arbeitet ein Digitalsimulator?
Es gibt bei der Digitalsimulation keinen fixen Zeitschritt, der Simulator arbeitet eventgetriggert. Er simuliert also nur zu Zeitpunkten, die durch Stimuli, Laufzeiten,
Schaltzeitpunkten, etc. vorgegeben werden.
Welche Information bekommen Sie bei der Digitalsimulation?
Generell nur Informationen über den logischen Pegel, dessen Stärke und Richtung, sowie die
zeitliche Abfolge der Pegel. Amplituden werden nicht simuliert, eine logische 1 kann also
durch einen High-Pegel, durch einen Übergang oder durch eine Signalform repräsentiert
werden. Zeitverletzungen z.B. bezüglich Laufzeiten oder zu hoher Taktraten werden
angezeigt.
Welche Modelle verwendet der Digitalsimulator für ein Bauteil?
Ein Modell für die Laufzeit (Timing Model: Laufzeiten, Haltezeiten, etc. jeweils
MIN/TYP/MAX) und eines für I/O (I/O Model: Signalstärken und -lasten, zusätzlich jeweils
bis zu 4 Submodelle für die Verwendung in mixed-signal Umgebungen).
Oft hat jeder Baustein sein eigenes Timing Model, das I/O Model wird aber oft für ganz
Bauteilfamilien verwendet.
Wie wird die digitale Worst Case Analyse berechnet?
Der Simulator führt eine Transientenanalyse mit den minimalen bzw. maximalen
Verzögerungszeiten für jedes digitale Bauteil durch. Dabei entstehen nach jedem Bauteil mit
definierten Verzögerungen und deren maximalen Abweichungen zeitliche Unsicherheiten, die
sich ausbreiten (wirken sich auf andere Bauteile aus) und sich kumulieren (Verzögerungen
nachfolgender Bauteile addieren sich zu den vorangegangenen Unsicherheiten). Die
Übergänge werden in Probe angezeigt. Sind die Zeitunsicherheiten zu groß und erlauben kein
© Bernhard Geiger, 2007-06-05
7
Schaltungssimulation
stabiles definiertes Signal am Ausgang mehr, werden solche Zeitverletzungen ebenfalls
angezeigt.
Die Laufzeit eines Inverters beträgt 8ns/10ns/12ns. Wie groß ist die
zeitliche Unsicherheit nach dem Durchlauf durch 5 in Serie geschaltete
Inverter bei Simulationseinstellungen Typisch bzw. Worst Case?
Bei Typisch gibt es keine zeitliche Unsicherheit, das Signal kommt nach exakt 5*10ns = 50ns
am Ausgang an.
Bei der Worst Case Analyse beläuft sich die Unsicherheit auf die Differenz der Summen aller
maximaler und aller minimaler Verzögerungen, also auf 5*12ns-5*8ns=60-40=20ns.
Ein TTL Inverter ist mit seinem Eingang an einem Widerstandsteiler
angeschlossen. Wie bestimmt der Simulator den Logikpegel am
Ausgang?
Mithilfe des I/O-Modells des Inverters. In diesem ist die Eingangsstufe als AtoD-Schnittstelle
definiert, die mit einer Tabelle die Spannung am Eingang des Inverters in den logischen
Zustand umrechnet. Dabei werden z.B. die Definitionen des TTL-Standards verwendet, also
z.B. 0…0.0-0.8; X…0.8-2.0; 1…2.0-7.0, etc.
Beschreiben Sie das A/D und D/A Interface bei der mixed signal
Simulation.
Diese Interfaces sind im I/O-Modell definiert. Das A/D-Interface beschreibt neben der
Eingangskapazität noch die Umsetzertabelle des analogen Eingangs (bzw. digitalen
Ausgangs). Das D/A-Interface beschreibt neben des Ausgangskapazität und den Signalstärken
(DRVH, DRVL) die Umsetzertabelle für den Spannungsteiler am Ausgang (d.s. die Pull-Up
bzw. Pull-Down Widerstände). Daraus ergibt sich dann ein Ausgangswiderstand und eine
Ausgangsspannung.
Daneben sind natürlich noch die Schaltzeiten für HiLo und LoHi angegeben.
Wozu dient der Optimizer? Beschreiben Sie seine Funktion.
Mithilfe des Optimizers lassen sich Bauteile einer Schaltung derart verändern, dass die
Schaltung bestimmte gewünschte Eigenschaften aufweist. Dazu müssen die veränderbaren
Parameter (wie bei einer parametrischen Simulation) in einem eigenen Bauteil
(optimizerparam) benannt und initialisiert werden. Der Optimizer verwendet diese Parameter
und verändert sie schrittweise in mehreren Durchläufen, um damit vom Benutzer festgelegte
Spezifikationen erfüllen zu können (z.B. Spannungsteilerverhältnis bei DC, Grenzfrequenzen
bei AC,…). Nach Erreichen des Zielwerts lassen sich die Parameterwerte direkt auf die
Bauteile im Schematic übertragen.
Welche Quellen stellt der Analogsimulator zur Verfügung?
Gleich- (IDC, ISRC) und Wechselstromquellen (IAC, ISIN, ISRC), Stromquellen mit Pulsen
(IPULSE), FM (ISFFM), stückweise lineare Stromquellen in verschiedensten Varianten
(IPWL).
Gleich- (VDC, VSRC) und Wechselspannungsquellen (VAC, VSIN, VSRC),
Spannungsquellen mit Pulsen (VPULSE), FM (VSFFM), stückweise lineare
Spannungsquellen in verschiedensten Varianten (VPWL).
Welche Stimuli stellt der Digitalsimulator zur Verfügung?
Stimuli mit einstellbaren Ereignissen für 1 - 16 bit (STIM1, STIM4,...), Clock Stimuli mit
einstellbarem Duty Cycle und Frequenz (DigClock), Stimuli durch Datei (FileStim).
© Bernhard Geiger, 2007-06-05
8
Schaltungssimulation
Wie wird die analoge Worst Case-Analyse berechnet?
In den Einstellungen gibt man die Zielfunktion, die gewünschte Analyse (DC, AC, Trans), die
Simulationsrichtung (High oder Low), die zu verändernden Parameter (DEV, LOT, BOTH,
alle oder nur bestimmte Bauteile) und optionale Einschränkungen ein. Dann werden in
mehreren Durchläufen jeweils einzelne Bauteile verändert und deren Auswirkungen auf die
Zielfunktion berechnet. Zum Abschluss werden alle Bauteile in jene Richtung hin verändert,
in die die Zielfunktion die größten Abweichungen zeigte. Da aber der Simulator von einer
monotonen Veränderung ausgeht, wird nicht immer der tatsächlich schlechteste Fall
angezeigt.
Bauteiltoleranzen werden dabei mit DEV bzw. LOT berücksichtigt.
Wie wird die Monte Carlo Analyse berechnet?
Ähnlich wie die Worst Case Analyse (gleiche Einstellungen außer Simulationsrichtung;
zusätzlich die Anzahl der Durchläufe), nur werden in jedem Durchlauf alle Parameter nach
dem Zufallsprinzip verändert. Der erste Durchlauf verwendet die Nominalwerte.
Wie simuliert man das Temperaturverhalten einer Schaltung?
Durch Simulieren mehreren Temperaturen (Eingabe von z.B. "0 27 100" im Punkt
"Temperature"), durch einen DC Sweep oder durch einen Parametric Sweep über die
Temperatur.
Was ist ABM? Zeichnen Sie ein ABM eines OPAmp.
Ein ABM ist ein analog behavioural model. Anstatt z.B. eine komplizierte
Operationsverstärkerschaltung diskret aufzubauen, kann man stattdessen eine idealisierte
mathematische Beschreibung des Verhaltens modellieren. Der Benutzer wird dabei durch
Blöcke wie Verstärkung, Übertragungsfunktion und mathematischen Funktionen (sin, cos,
etc) unterstützt.
Ein C seit zur Startzeit auf 2 V aufgeladen. Sie wollen eine
Transientenanalyse durchführen. Mit welcher Anweisung erzielen Sie
diese Startbedingung?
Kondensatoren und Spulen haben eine Startbedingung als zusätzlichen Modellparameter.
Diese lässt sich im Bauteil unter IC (initial condition) einstellen. Jedoch muss dazu noch in
der Transientenanalyse die Berechnung des Arbeitspunkts unterdrückt werden (Skip Initial
Transient Solution).
Mit welchen Anweisungen erzielen Sie in Probe ein Bodediagramm?
Mit einer AC-Analyse (Frequenzsweep), einer 1 V AC-Quelle und Spannungsmarkern der
Form vdb und vphase (zu finden unter Markers -> Mark Advanced…).
Ein Widerstand wird durch eine beliebige nichtlineare Gleichung
R=f(TEMP) beschrieben. Wie bringen Sie diese Gleichung in die
Simulation ein?
Mit einem ABM, z.B. ABM1/I. Diesem kann man eine Funktion zuweisen, die in einer
Include-Datei definiert ist (wieder mit geschwungenen Klammern).Optional lässt sich die
Funktion aber auch direkt in das Bauteil eintragen. Die Include-Datei muss natürlich auch
inkludiert werden, z.B. über das Bauteil INCLUDE. Auf die Temperatur kann die Funktion
über den Parameter {TEMP} zugreifen.
© Bernhard Geiger, 2007-06-05
9
Schaltungssimulation
Eine reine Sinusquelle sieht in Probe stückweise linear aus. Durch
welche Einstellung bei der Simulation können Sie die Darstellung
verbessern?
Durch Verringern der <step ceiling value>.
Wie führen Sie eine parametrische Simulation durch, bei der ein
Modellparameter variiert werden soll?
Dazu benötige ich das Bauteil PARAM, bei diesem kann ich Namen und aktuellen Wert des
Parameters einstellen. Den Namen des Parameters (z.B. rvar) weise ich dem gewünschten
Bauteil als Wert zu (in geschwungenen Klammern, also {rvar}). Dann stelle ich bei der
Simulation (DC Sweep oder Parametric) die Sweepvariable auf <Global Parameter> und gebe
Namen und Sweepeigenschaften dazu ein.
Wie kann man den Ausgang eines TTL-Gatters im Simulator auf die
idealen Spannungswerte 0 V bzw. 5 V umsetzen?
Mit einer Table, die als Komparator fungiert. Den High-Pegel, den das TTL-Gatter durch
Variation des Ausgangsspannungsteilers erzielt, setzt man auf 5 V, den Low-Pegel auf 0 V
um.
© Bernhard Geiger, 2007-06-05
10
Herunterladen