1 Einführung - Hochschule Landshut

Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
1 Einführung
Aufgabenstellung
Der Entwurf einer Schaltung erfolgte in der klassischen
Arbeitsweise in folgenden Schritten:
 Aufgabenstellung  Schaltungsentwurf und
Dimensionierung (Synthese)
 Versuchsaufbau
 Messung und Auswertung (Analyse)
 Mit den Ergebnissen der Analyse erfolgt bei Bedarf eine
Änderung des Schaltungskonzeptes (Redesign)
oder/und eine Änderung der Schaltungsparameter
(Optimierung)
Schaltungsentwurf
Versuchsaufbau
Messung
Auswertung
Mit der Möglichkeit, integrierte Schaltungen herzustellen
wuchs die Komplexität der Schaltungen explosionsartig
und man stieß sowohl bei der Synthese als auch bei der
Analyse an Zeitgrenzen und prinzipielle Grenzen.
fertige Schaltung
Grenzen bei der Synthese:
Zeitproblem:
prinzipielles Problem
Aufgabenstellung
Entwurf dauert zu lange
"Engineer
blow
out":
Begrenzte Kapazität des
menschlichen Gehirns
CAD
 Rechnerunterstützter Schaltungsentwurf: Computer
Aided Design (CAD)
Grenzen bei der Analyse:
Zeitproblem:
prinzipielle Probleme:
Simulation
Integrierte Schaltungen zu
komplex
für
diskreten
Aufbau und Messung
parasitäre
Effekte
bei
diskretem Aufbau
Kontrolle der Toleranzen
bei digitalen Schaltungen:
Verifikation der Spezifikation
Auswertung
fertige Schaltung
 Schaltungssimulation
Weitere Vorteile der Schaltungssimulation (auch bei kleineren Schaltungen):
 Ausfallursachenforschung:
IC`s
besitzen
nur
vergleichsweise
Anschlusspins
 Ausbeuteanalyse
 Zerstörungsfreie Grenzwertuntersuchung
 Designtheorie-Verifikation (effektives Lernen von Schaltungsprinzipien)
1-1
TW 17.03.15 SM_1.doc
wenige
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Ziel jeder Simulation: Möglichst genaue Übereinstimmung mit der Wirklichkeit
Modellierung aller Effekte erfordert bei der heutigen Schaltungskomplexität einen
unrealistischen Aufwand an Speicherplatz und Rechenzeit
(Verhältnis bleibt wegen der simultanen Entwicklung der Schaltungskomplexität und
der Computertechnik annähernd gleich!)
 Problemangepasste Näherungen
Abstraktionsebenen:
1) Bauelementesimulation (Device-Level):
Modellierung eines oder einiger weniger (max. 10) Bauelemente
Parameter: Geometrie (2-,3-dim.), Prozess
Beispiel: Ansys
2) Schaltkreissimulation (Circuit-Level)
Modellierung einer aus Bauelementen (z.B. Transistoren, Widerstände) (einige
1000 Transistoren) zusammengesetzten Schaltung
Parameter. elektrische (z.B. Widerstand, Kapazität, Kennlinie) und physikalische
Eigenschaften der Bauelemente (z.B. Beweglichkeit, Bandlücke) aus Theorie bzw.
Bauelementesimulation
Beispiel: SPICE
3) Schaltwerk- oder Logiksimulation (Gate-Level)
Modellierung einer aus Standardschaltkreisen (Gattern) (z.B. NAND, NOR, FlipFlop) (entsprechend einige 100 000 Transistoren) zusammengesetzten Schaltung
Parameter: Laufzeiten, Schaltzeiten der Gatter
Beispiel: XILINX
4) Systemsimulation (System-Level)
Modellierung eines aus funktionellen Blöcken (z.B. Addierer, Speicher)
(entsprechend einige Millionen Transistoren) zusammengesetzten Systems (z.B.
Mikroprozessor).
Parameter: Funktion und Zeitverhalten der funktionellen Blöcke
Beispiel: VHDL
Abstraktionsgrad
Der Übergang zwischen
den einzelnen Abstraktionsebenen ist fließend. Die
Tendenz geht zunehmend
in Richtung umfassender
Simulationswerkzeuge, die
mehrere oder alle Ebenen
der Abstraktion beherrschen und eine automatische Übergabe der Parameter von niedrigen zu
höheren
Abstraktionsebenen erlauben.
Schaltkreissimulation
(Circuit-Level)
Logiksimulation
(Gate-Level)
Systemsimulation
(System-Level)
Bauelementesimulation
(Device-Level)
1
10
3
10
5
10
Anzahl der Transistoren
1-2
TW 17.03.15 SM_1.doc
7
10
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Wichtige SPICE-Simulatoren:
LTspice (Hersteller: Linear Technology)
PSpice (Hersteller: Cadence Design Systems)
HSPICE (Hersteller: Synopsys)
Multisim (Hersteller: National Instruments)
B2 Spice (Hersteller: Beige Bag Software)
TINA (Hersteller: Texas Instruments)
ngspice (Open Source Project)
Programmstruktur von LTspice:
LTSpice besteht aus mehreren Programmteilen, die über Files Informationen
austauschen.
Kern des Programmpakets ist der Simulator, der die sogenannte Netzliste (.net)
simuliert.
Da die verschiedenen SPICE-Simulatoren alle eine solche Netzliste als Eingabe
akzeptieren, ist eine gewisse Kompatibilität gewährleistet.
Es müssen allerdings alle Anweisungen ersetzt werden, die in einer bestimmten
SPICE-Version nicht implementiert sind.
Zusätzlich benötigt der Simulator in der Regel Modelldefinitionen aus BibliothekFiles.
Die Simulationsergebnisse werden nach erfolgreicher Simulation in Listenform (.log)
und in Tabellenform (.raw) abgespeichert.
Die Liste kann mit einem Texteditor gelesen werden, während die Tabellen Binärfiles
sind und nur vom Programmteil Waveformviewer als Kurven ausgegeben werden
können.
Die Netzliste kann im Prinzip mit jedem Texteditor erstellt werden. LTSpice stellt
jedoch einen leistungsfähigen Schaltplaneditor zur Verfügung, mit dem der
Schaltplan grafisch erstellt werden kann. Aus dem Schaltplan wird vor der Simulation
die Netzliste automatisch erstellt.
Für die Erstellung des Schaltplans steht im Schaltplaneditor eine Symbolbibliothek
mit graphischen Bauteilen zur Verfügung. Der eingegebene Schaltplan wird in einem
File (.asc) abgespeichert.
Der Schaltplaneditor erzeugt aus den graphisch eingegebenen Bauteilen
Elementbeschreibungen, die den Regeln der Netzliste entsprechen und speichert sie
in ein File (.net). Jedes Symbol besitzt dabei eine Liste von Attributen, die der Reihe
nach in die Netzlistenzeile geschrieben werden.
Der Anwender muss die Syntax der Elementbeschreibung nur kennen, wenn er mit
Hilfe des Symboleditors eigene, neue Bauteile erstellen will.
1-3
TW 17.03.15 SM_1.doc
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Die Netzliste enthält zusätzlich zur Schaltung noch Steuerbefehle für die Simulation.
Diese Steuerbefehle werden zum Teil durch Menüs im Schaltplaneditor und zum Teil
durch sog. SPICE Directives erzeugt, die im Schaltplan plaziert werden.
Für alle Steuerbefehle, die nur durch SPICE Directives erzeugt werden können,
muss der Anwender die Syntax kennen (s. Arbeitsblätter A27-A29 "Steuerbefehle").
Archiviert wird nur das File (.asc) sowie evtl. zugehörige Library-Files.
Der Schaltplaneditor kann auch eine komplette Schaltung als Unterschaltung
abspeichern und ein entsprechendes Symbol für die Unterschaltung erzeugen.
Mit dem Symboleditor kann eine Grafik für ein Symbol erstellt werden, die Anzahl
und Reihenfolge der Pins kann festgelegt werden und die Attribute für die Erzeugung
des Netzlisteneintrages können festgelegt werden.
Inhalt der Files
Extension
.net
.raw
.sub
.log
.plt
.asc
.asy
Inhalt
erzeugt durch
Bauelementebeschreibungen und Schaltplaneditor (Run)
Steuerbefehle
Texteditor
Simulationsergebnisse in
Simulator
Tabellenform
(automatisch nach (evtl. teilweise)
erfolgreicher Simulation)
Modelldefinitionen und
Texteditor
Unterschaltungen
Simulationsergebnisse in
Simulator
Listenform/ Abbruchursache
(automatisch bei Simulation)
Displays
Waveform Viewer
Simulationseinstellungen und
Schaltplaneditor
grafische Schaltplanbeschreibung
Beschreibung der graphischen
Symbol-Editor
Bauteilsymbole
1-4
TW 17.03.15 SM_1.doc
Myfile.asy
Schaltungssimulation
Master Elektrotechnik
Name.net
Symboleditor
Myfile.sub
Texteditor
Myfile.xxx
Symbolbibliothek
.asy
Name.asc
Schaltungsbeschreibungen
.asc oder .net
Name.net
Name.net
Schaltplaneditor
konfig.
Auszug
Modellbibliothek
.sub
konfig.
Auszug
Name.raw
Simulator
Name.log
Waveform Viewer
Name.plt
Texteditor
konfig.
Auszug
Files mit
Param.
u. Funkt.
Prof. Dr. T. Wolf
Hochschule Landshut
Eingabe
Archiv
Eingabe
Simulation
Ausgabe
Archiv
Programmstruktur
5
TW 17.03.15 SM_1.doc
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Aufbau der Netzliste (.net)
Die Netzliste ist ein Textfile, dessen Zeilen als Anweisungen betrachtet werden.
Die erste Zeile und alle mit * beginnenden Zeilen werden als Kommentar betrachtet,
ebenso alles, was in einer Zeile nach einem ; folgt.
Es gibt zwei Sorten von Anweisungen:
1) Elementbeschreibungen
Durch die Elementbeschreibungen wird die Schaltung eingegeben.
Jedem Element der Schaltung entspricht eine Elementbeschreibung.
Die Elementbeschreibung beginnt mit dem Kennbuchstaben des Elementtyps (s.
Arbeitsblatt "Komponenten").
An den Kennbuchstaben wird ohne Leerzeichen ein eindeutiger Elementname
angehängt.
Danach folgen, getrennt durch ein Trennzeichen (in der Regel Space) die
Knotennamen, an denen das Element angeschlossen ist.
Bei vielen Elementen folgt danach der Name eines Modells.
Danach folgen je nach Elementtyp eine Reihe von Parametern.
Beispiel: D1 out 0 1N4148
Diode mit dem Modell 1N4148 zwischen Knoten out (Anode) und
Knoten 0 (Kathode).
2) Steueranweisungen
Durch die Steueranweisungen werden die Analysearten spezifiziert, die Simulation
gesteuert, sowie Funktionen und Parameter definiert.
Alle Steueranweisungen beginnen mit einem . (s. Arbeitsblätter "Steuerbefehle")
Die Reihenfolge aller Anweisungen ist mit einer Ausnahmen beliebig:
.END muss immer die letzte Anweisung einer Schaltung sein
Trennzeichen zwischen Eingaben: Leerzeichen, Komma, Klammern () und =
Wenn eine Zeile mit einem + beginnt, wird sie als Fortsetzung der vorhergehenden
Zeile betrachtet.
Aufbau eines Library-Files (.sub)
Für ein Library-File gelten zusätzlich folgende Regeln:
 Die erste Zeile ist nicht automatisch Kommentarzeile
 Es sind nur die Steueranweisungen .MODEL, .SUBCKT, .ENDS, .PARAM und
.LIB zulässig.
6
TW 17.03.15 SM_1.doc
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Beispiel:
Schaltplan (Netzliste.asc)
Netzliste (Netzliste.net)
* C:\Daten\Vorlesungen\Sm\Sm_Vorlesung_SS15\SPICE_Vorlesung\Netzliste.asc
V1 N001 0 2V
R1 N001 out 1k
D1 out 0 1N4148
.model D D
.lib C:\Program Files (x86)\LTC\LTspiceIV\lib\cmp\standard.dio
.op
.backanno
.end
7
TW 17.03.15 SM_1.doc
Prof. Dr. T. Wolf
Hochschule Landshut
Schaltungssimulation
Master Elektrotechnik
Ausgabe-File (.log)
Wichtiges File für den Benutzer, da hier Fehlermeldungen und sämtliche
Informationen des Simulators, die nicht in Kurvenform vorliegen, ausgedruckt
werden.
Ausgabefile für obiges Beispiel:
--- Expanded Deck Component Count --D's 1
R's 1
V's 1
tot: 3
--- Expanded Netlist --* C:\Daten\Vorlesungen\Sm\Sm_Vorlesung_SS15\SPICE_Vorlesung\Netzliste.asc
v1 n001 0 2v
r1 n001 out 1k
d1 out 0 1n4148
.model 1n4148 d(is=2.52n rs=.568 n=1.752 cjo=4p m=.4 tt=20n iave=200m vpk=75
mfg=onsemi type=silicon)
.op
.end
Direct Newton iteration for .op point succeeded.
Semiconductor Device Operating Points:
--- Diodes --Name:
d1
Model: 1n4148
Id:
1.40e-03
Vd:
6.00e-01
Req: 3.24e+01
CAP: 6.24e-10
Date: Sun Mar 15 18:07:38 2015
Total elapsed time: 0.028 seconds.
tnom = 27
temp = 27
method = trap
totiter = 7
traniter = 0
tranpoints = 0
accept = 0
rejected = 0
matrix size = 4
fillins = 0
solver = Normal
Matrix Compiler1: 100 Bytes object code size
Matrix Compiler2: 248 Bytes object code size
8
TW 17.03.15 SM_1.doc