Analogsimulation mit Workview und PSPICE - Alice
Transcrição
Analogsimulation mit Workview und PSPICE - Alice
Fraunhofer Gesellschaft Institut für Integrierte Schaltungen Analogsimulation mit Workview und PSPICE Ein Praktikum Autor: Robert Henke Ansprechpartner: Dipl. Ing. Dieter Peer B. S. E. E. Carol Hovenga Analogsimulation mit Workview und PSPICE Inhalt 0. Einleitung ................................................................................................1 0.1. Übersicht über die Übungen.................................................................................. 1 0.2. Übersicht über die Beispiele.................................................................................. 1 1. Die Bedienung der Analog-Umgebung ..................................................2 1.1. Die NAUI-Menüs .................................................................................................. 2 1.2. Komponenten hinzufügen und parametrisieren..................................................... 2 1.2.1. Einfache Elemente.......................................................................................... 2 1.2.2. Komponenten mit vielen Sub-Typen ............................................................. 3 1.2.3. Parameter hinzufügen und editieren............................................................... 3 2. Die beteiligten Dateien............................................................................4 2.1. Workview: Schaltpläne, Netzlisten, Symbole, Modelle........................................ 4 2.2. SPICE: CIR, OUT, TXT, LIB............................................................................... 4 3. Organisation der Dateien: Modelle, Libraries, Schaltpläne, Symbole...................................................................................................6 3.1. Der Informationsfluß............................................................................................. 6 3.2. Modelle.................................................................................................................. 7 3.3. Libraries................................................................................................................. 7 3.4. Symbole................................................................................................................. 8 4. Der Netlister WSPICE: Vom Schaltplan zur CIR-Datei ........................9 4.1. Die Kommandozeilenargumente ........................................................................... 9 4.2. Vordefinierte Instrumente, Quellen und Komponenten ...................................... 10 4.2.1. Instrumente................................................................................................... 10 4.2.2. Quellen ......................................................................................................... 11 4.2.3. Komponenten ............................................................................................... 12 4.3. Eigene Komponenten .......................................................................................... 12 4.3.1. Zwingend nötige Attribute ........................................................................... 13 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen I Analogsimulation mit Workview und PSPICE 4.3.2. Wichtige Attribute........................................................................................ 13 4.3.3. Sinnvolle eigene Symbole............................................................................ 14 4.3.3.1. 4.3.3.2. Ein Library-Symbol ............................................................................ 14 Das geänderte CSDF-Symbol CSDFPINS ......................................... 15 4.3.4. Tips zum Anlegen der Symbole ................................................................... 17 4.4. Parameterübergabe: das ORDER-Attribut .......................................................... 17 4.4.1. Flache Netzliste ............................................................................................ 18 4.4.1.1. Beispiel: Parametrisierung bei flacher Netzliste................................. 19 4.4.2. Hierarchische Netzliste (Subcircuits)........................................................... 21 4.4.2.1. 4.4.2.2. Beispiel: Parametrisierung bei hierarchischer Netzliste ..................... 21 Verhaltensbeschreibung...................................................................... 24 4.5. Eigene und geänderte SPICE-Modelle in Workview.......................................... 26 4.5.1. Vorgehen bei geänderten und neuen Symbolen ........................................... 26 4.5.2. Gekoppelte Induktivitäten ............................................................................ 26 4.5.2.1. Aus Standardsymbolen abändern........................................................ 26 4.5.2.2. Aus Standardsymbolen zusammensetzen ........................................... 27 4.5.2.3. Als SPICE-Modell .............................................................................. 31 4.5.2.3.1. Beispiel: Relais als SPICE-Modell.............................................. 32 4.6. Anfangsbedingungen für die Simulation............................................................. 35 4.6.1. Anfangsbedingungen über einzelne Komponenten...................................... 35 4.6.1.1. Beispiel: Anfangsbedingung am Kondensator.................................... 36 4.6.2. Anfangsbedingungen an Knoten .................................................................. 36 4.6.2.1. 5. Beispiel: Anfangsbedingung am Knoten ............................................ 37 Auswertung der Simulationsergebnisse: ein Beispiel ..........................38 5.1. Vorbereitung einer Schaltung zur Analogsimulation .......................................... 38 5.2. Simulatoraufruf ................................................................................................... 40 5.3. Signaldarstellung mit VIEWtrace ....................................................................... 40 5.3.1. Signale ein- und ausblenden......................................................................... 41 5.3.2. Signalselektion im Schaltplan per PROBE .................................................. 42 5.3.3. Signalselektion im Schaltplan mittels CSDFPINS ...................................... 42 5.3.4. Verschiedenene Achsen-Skalierungen ......................................................... 42 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen II Analogsimulation mit Workview und PSPICE 5.3.5. Weitere Achsen-Einstellungen ..................................................................... 43 5.4. Weitere Messungen und Analysen ...................................................................... 45 5.4.1. Messungen im Zeit- und Frequenzbereich ................................................... 46 5.4.2. Backannotation von Spannungen ................................................................. 48 5.4.3. Überblick über weitere Funktionen.............................................................. 49 5.4.3.1. 5.4.3.2. 5.4.3.3. 6. Mathematische Umformungen............................................................ 49 Bildgestaltung ..................................................................................... 50 Signale abspeichern weiterverwerten.................................................. 51 Anhang ..................................................................................................52 6.1. BASIC-Programm zur Erzeugung einer PWL-Datei .......................................... 52 6.2. Verbessertes NAUI Menü für VIEWdraw .......................................................... 53 7. Literaturverzeichnis...............................................................................54 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen III Analogsimulation mit Workview und PSPICE 0. Einleitung Dieses Dokument soll den Leser befähigen, analoge Schaltungen mit dem Schaltplaneditor VIEWdraw des CAE-Systems Workview einzugeben, mit einem SPICE-Analogsimulator zu simulieren, und sie mit dem Programm VIEWtrace graphisch auszuwerten und ggf. mathematisch zu analysieren. Besonderer Wert wird auf das Verständnis des Zusammenspiels beider Programmsysteme und auf die Einbindung eigener Modelle in das System gelegt. Voraussetzungen sind eine installierte Workview-Version 4.0b oder höher, PSPICE, dieses Dokument und die im aktuellen Projekt-Verzeichnis installierten Übungsbeispiele der Begleitdiskette. Der Leser sollte Grundkenntnisse in der Bedienung von Workview und Kenntnisse der Schaltungsmodellierung mit SPICE haben, wie sie in [7] und [3] vermittelt werden. Weitere Informationen sind in der Studienarbeit zu diesem Thema enthalten [1]. 0.1. Übersicht über die Übungen Definition eines projektbezogenen LIB-Symbols ............................................................. 14 Modifikation des CSDF-Symbols zum CSDFPINS-Symbol............................................ 15 8-fach Pulldown-Netzwerk mit Parameterübergabe........................................................ 20 Denkfrage: Ist die Modellierung des VCO ohne NO_PINS-Attribut möglich? ............ 24 Gekoppelte Induktivitäten - ein eigener Transformator durch Modifikation eines Modells............................................................................................................... 26 Denkfrage: Welchen Sinn haben das &- und $-Zeichen im ORDER-Attribut? ........... 30 Simulation und Selektierung der Signale in VIEWtrace................................................. 40 Messung des 3 dB-Frequenzgangs ..................................................................................... 45 Mathematische Auswertung der Simulationsergebnisse ................................................. 48 0.2. Übersicht über die Beispiele Generierung eines LIB-Symbols ........................................................................................... 14 Parameterübergabe bei flachen Netzlisten........................................................................ 19 Parameterübergabe bei hierarchischen Netzlisten........................................................... 21 Komponentendefinition mittels ORDER-Attribut: ein VCO.......................................... 23 Gekoppelte Induktivitäten über ein Ersatzschaltbild definieren.................................... 27 Modellierung per SPICE-Modell: ein einfaches Relais-Modell ....................................... 31 Anfangsbedingung am Kondensator ..................................................................................... 35 Anfangsbedingung am Knoten .............................................................................................. 36 NF-Verstärker als Testobjekt für VIEWdraw-Auswertungen ....................................... 38 Signale selektieren und deselektieren ................................................................................ 40 Verschiedene Achsen-Skalierungsarten ............................................................................ 41 Analysen im Zeitbereich ..................................................................................................... 45 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 1 Analogsimulation mit Workview und PSPICE 1. Die Bedienung der Analog-Umgebung 1.1. Die NAUI-Menüs Die "New Analog User Interface"-Menüs ersetzen die Standard-Menüs von Workview1, mit denen zwar auch eine Analogsimulation möglich ist, jedoch nicht so komfortabel. Die Vorteile der NAUI-Menüs liegen vor allem in den vielen Untermenüs zum Hinzufügen von Komponenten, Instrumenten und Quellen. Die Aufteilung der Funktionen zum Hinzufügen und Ändern von Labels und Texten, die Benennung der Editierfunktionen für alle Elemente ist anders als die der Standard-Menüs. Ändern kann man mit den Menüeinträgen Change oder Edit, Elemente fügt man in den Schaltplan durch die Kommandos Add oder Create ein. Eine leicht zu installierende, bequemer zu bedienende Version der Menüs ist im Anhang unter "6.2. Verbessertes NAUI Menü für VIEWdraw", S. 51 angeführt. Dort ist die Zahl der Menüebenen verringert, und die Einträge in den längeren Menüs sind alphabetisch sortiert und damit leichter zu erlernen. Die Hilfe im HELP-Kommando und die Handbücher treffen allerdings immer noch für die Bezeichnung der Befehle zu. Wegen des letzten Punktes konnten die Menüs nicht allgemein ganz neu angeordnet werden. 1.2. Komponenten hinzufügen und parametrisieren 1.2.1. Einfache Elemente Alle Elemente werden mit dem Kommando Add hinzugefügt. Für häufig benötigte Bauelemente existieren eigene Menüeinträge, die sich für Kondensatoren zum Beispiel in polar und unpolar, und dann wiederum in horizontale oder vertikale Ausrichtung gliedern. Einfache Bauelemente, wie Widerstände und Kondensatoren, müssen anschließend per Dialog Spice mit den Werten im Feld VALUE versehen werden. 1Wie in [8] , Band 6 beschrieben durch Setzen von WDIR: SET WDIR=C:\WORKVIEW\NAUI;C:\WORKVIEW\STANDARD © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 2 Analogsimulation mit Workview und PSPICE 1.2.2. Komponenten mit vielen Sub-Typen Für Elemente wie Transistoren, Dioden und Operationsverstärker gibt es eine Vielzahl unterschiedlicher Typen. Für jede Art von Anschlußbelegung existiert jedoch nur ein graphisches Symbol. Im Attribut MODEL muß deshalb der Name des gewünschten Bauelements, ohne die MOD-Endung, angegeben werden. Die dazugehörigen MOD-Dateien befinden sich in den Workview-Analog-Libraries2. 1.2.3. Parameter hinzufügen und editieren Im allgemeinen ist es am einfachsten, Elemente per Dialog All mit Attributen zu versehen, vorhandene Attribute zu ändern oder zu löschen. Das Dialogfenster von Dialog Spice ist durch eine reduzierte Auswahl an angezeigten Attributen übersichtlicher als Dialog All, verbirgt aber unter Umständen notwendige Attribute vor dem Benutzer. Sollen Attribute komplett gelöscht werden, dann müssen Name und Wert aus der Dialogbox entfernt werden. Wenn Attributdefinitionen einen Level tiefer vorgenommen wurden, steht der Wert in einem dreispaltigen Dialogmenü in der Mitte und kann nicht gelöscht werden, sondern nur durch einen neuen Wert in der rechten Spalte überschrieben werden. Es kann jedoch sinnvoller sein, nach einem Level Push ... Kommando das Original zu editieren. Bibliothekssymbole lassen sich nur dann unter ihrem Namen speichern, wenn Schreibzugriff auf sie erlaubt ist. Sie können jedoch, am besten mit einem anderen Namen, in das aktuelle Projekt-Verzeichnis geschrieben werden. 2S. auch den Überblick über die Libraries S. 7. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 3 Analogsimulation mit Workview und PSPICE 2. Die beteiligten Dateien Der Signalfluß zwischen Workview und PSPICE (oder einem anderen der möglichen auf SPICE basierenden Analog-Simulatoren) läßt sich leichter verstehen, wenn man sich eine einfache Tatsache vor Augen hält: Zwei eigenständige Entwicklungssysteme mit ihren eigenen Dateien, Verzeichnisstrukturen und Suchpfaden arbeiten getrennt voneinander, und werden nur durch drei Dateitypen miteinander verbunden: Die auf CIR endenden Dateien (kurz: CIR-Dateien), und die OUT- und TXT-Dateinen. Alle Dateien sind Textdateien, lassen sich also über einen Texteditor betrachten und ändern. 2.1. Workview: Schaltpläne, Netzlisten, Symbole, Modelle In der Verzeichnisstruktur von Workview befinden sich unter dem jeweiligen Projekt-Verzeichnis drei Unterverzeichnisse für die Schaltpläne (SCH), die Netzlisten (WIR, Wirelists) und die Symbole (SYM). Die Dateien in diesen Verzeichnissen enden mit einer Zahl als Extension. Sie hat den Wert 1 bei einseitigen Plänen, bei Schaltplänen mit mehreren Seiten Umfang sind die Seiten aufsteigend durchnummeriert. Im SYM-Verzeichnis können auch benutzerdefinierte SPICE-Modelle liegen. Sie werden im jeweiligen Symbol angegeben und bestehen aus einer SPICE-Beschreibung einer einzelnen Komponente als ".model". Sie haben die Endung MOD. 2.2. SPICE: CIR, OUT, TXT, LIB Die Dateien von SPICE werden bei der Einbindung in Workview genauso benutzt, wie im Stand-Alone-Betrieb, nur daß sie jetzt automatisch generiert bzw. ausgewertet werden. Manuelle Eingriffe in die CIR-Dateien sind unnötig. CIR: Circuit Description File Wird vom Netlister WSPICE generiert, kann auch nach der Generierung betrachtet und, falls es sinnvoll erscheinen sollte, bearbeitet werden. Beeinflußt wird diese Generierung von Kommandozeilenparametern und vor allem von speziellen Attributen der Komponenten im Schaltplan, sowie durch spezielle "Instrumente". © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 4 Analogsimulation mit Workview und PSPICE OUT: Standard Output File Wird standardmäßig von SPICE generiert. Es ist für Menschen verständlich, enthält Fehlermeldungen und SPICE-Analyseergebnisse, die nicht von VIEWtrace geliefert werden (z.B. Sensitivity-Analyse). Es kann auch für VIEWtrace als Input dienen. Die Simulationsergebnisse werden als Tabelle mit gleichen Zeitabständen ausgegeben; durch die dazu nötige Interpolation entstehen allerdings Fehler. Beim Einlesevorgang benötigt VIEWtrace deutlich länger (beim Beispiel NFSTUFE z.B. 87s statt 3s). Deshalb ist das folgende Format schneller und genauer: TXT: CSDF Output File Durch das Symbol CSDF (Common Simulation Data Format) wird die Ausgabe der berechneten Werte in voller Genauigkeit erzwungen, statt nur interpolierter Werte im OUT-Format. Es ist für Menschen schwer verständlich, da es nur Zahlenkolonnen enthält. Dieses Dateiformat ist mit VIEWtrace sehr schnell einzulesen und genau und bequem auswerten. Es enthält keine Auswertungen wie z.B. die Sensitivity-Analyse. LIB: Library File In Bibliotheken (Libraries) sind Gruppen von Modellen definiert. Mit Workview können weitere Workview - Modelle (MOD-Dateien) in die CIRDatei aufgenommen werden, ohne daß sie in den Standard-Libraries vorhanden sein müssen. Modelle, die für Workview nicht definiert sind, müssen in einer SPICE-Library definiert sein. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 5 Analogsimulation mit Workview und PSPICE 3. Organisation der Dateien: Modelle, Libraries, Schaltpläne, Symbole 3.1. Der Informationsfluß Das folgende Diagramm gibt einen groben Überblick über die Herkunft und den Fluß der Informationen zwischen den verschiedenen Programmen: Abb. 1: Signalfluß bei der Analogentwicklung Der gesamte Prozeß wird in der Workview-Umgebung durchlaufen, die Kopplung der Programme erfolgt im allgemeinen ohne Intervention des Benutzers. Vor der ersten Simulation müssen für beide Programme die Suchpfade getrennt angegeben werden; dies geschieht bei der Standard-Installation des jeweiligen Programms. Bei Workview werden die Pfade durch © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 6 Analogsimulation mit Workview und PSPICE das Programm VIEWfile definiert, bei PSPICE durch Setzen der Umgebungsvariablen PSPICELIB, bzw. durch die Sammel-Bibliothek NOM.LIB, wie Abb. 1 angedeutet. 3.2. Modelle Es gibt dreierlei Arten von Modellen im Gesamtsystem Workview-PSPICE: ❍ Modelle, die als Attribut nur in einem Symbol definiert sind, z. B. die Induktivität IND.1, die zu den Workview Standardbauteilen gehört. ❍ Modelle, die zusammen mit den Symbolen in den Library-Verzeichnissen von Workview als PSPICE-Modelle mitgeliefert wurden: MOD-Dateien in den jeweiligen SYM-Verzeichnissen, z.B. für Transistoren und Dioden. Das jeweilige Modell muß im Attribut MODEL angegeben werden. Modelle finden sich z.B. auch im Verzeichnis AMODELS. ❍ Modelle, die sich auf SPICE-Modelle beziehen. Sie sind nicht in den Workview-Libraries enthalten, sondern müssen für PSPICE durch die Suchpfade auffindbar sein. 3.3. Libraries Auch Libraries existieren sowohl für Workview, wie auch für SPICE. Die analogen Workview-Libraries untergliedern sich wie folgt: ANALOG Grundelemente und Instrumente für die Simulation einfacher analoger Schaltungen, einschließlich spezieller Komponenten wie CSDF oder O'SCOPE. AMODELS Einfache PSPICE-Modelle (MOD-Dateien). EXTENDED Weitere, von VIEWlogic gelieferte, komplexe Modelle für die Simulation. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 7 Analogsimulation mit Workview und PSPICE PSPICE hat seine Libraries normalerweise im Unterverzeichnis LIB unter dem PSICEVerzeichnis. Die verwendeten Libraries sind in NOM.LIB angeführt. Dieser Suchpfad für die Libraries muß vor Beginn der Simulationen in der Variablen PSPICELIB3 angegeben sein. 3.4. Symbole Workview sucht Symbole zuerst im SYM-Verzeichnis unter dem aktuellen ProjektVerzeichnis. Anschließend werden die "Project Search" Pfade aus der VIEWDRAW.INI Datei abgesucht. 3Beispielsweise durch folgenden Befehl auf der DOS-Ebene: SET PSPICELIB=C:\PSPICE\LIB © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 8 Analogsimulation mit Workview und PSPICE 4. Der Netlister WSPICE: Vom Schaltplan zur CIR-Datei WSPICE ist das Programm, das die CIR-Datei für SPICE aus den Workview-Netzlisten zusammenstellt. Es wird durch den Befehl SIM ... oder durch WINDOW OPEN UTILITY ANALOG WIRELIST PSPICE HIER/FLAT aufgerufen, nachdem die Netzlisten überprüft wurden. Es läßt sich jedoch auch mit dem SYS-Befehl aufrufen, falls bestimmte Ausgabeformate gewünscht werden. 4.1. Die Kommandozeilenargumente Kommandozeilenargumente werden nach einem Minuszeichen "-" angegeben, mehrere Schalter können so zusammengefaßt werden: -#pfd (ohne Leerzeichen). Dies aktiviert die Schalter #, p, f, d; das sind übrigens die Standard - Einstellungen. Es folgt die Liste aus dem Analog User's Guide der Version 4.1.1, die aber auch schon für die Version 4.0b zu gelten scheint. # Ziffern statt Namen für die Knoten verwenden (Standard) a fremder Simulator, Warnungen für spezielle SPICE-Probleme werden unterdrückt b keine Warnung für parametrierte Attribute cnn Maximal nn Zeichen in einem Namen d Dictionary (Namens-Übersetzungstabelle) ausgeben (Standard) e Dracula - Netzliste f flache Netzliste (Standard) g Datei Name der Datei, die am Anfang eingefügt wird h hierarchische Netzliste i PRINT - Befehle ignorieren k Datei Konfigurationsdateiname (Sammlung dieser Schalter). Standard: WSPICE.INI lxx Zusätzlich xx als LEVEL=wert benutzen m Metasofts HSPICE Netzliste n Knotennamen, nicht Ziffern benutzen oxx xx als erste Wahl für ORDER=attr_name p PSPICE Netzliste (Standard) q kein Dictionary ausgeben (quiet) r Rating-Werte in Datei ausgeben s Berkley SPICE Netzliste t AT&T Netzliste u Datei OAT/DTB Dateiname v Ausführliches DIctionary x Cross-Reference Datei schreiben © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 9 Analogsimulation mit Workview und PSPICE yxx xx als erste Wahl für PREFIX=attr_name z Keine MOD-Dateien einlesen Eine sinnvolle Anwendung der Liste ist die Abänderung des SIM PSPICE - Kommandos in einen Simulatoraufruf mit einer hierarchischen Netzliste, oder die Anpassung an einen anderen SPICE-ähnlichen Simulator. 4.2. Vordefinierte Instrumente, Quellen und Komponenten Viele analoge Symbole in Workview (in den Untermenüs Add SOURCE / PROBE / INSTRUMENT) sind keine realisierbaren Komponenten. Sie werden auf dem Schaltplan plaziert, ähnlich wie man Meßinstrumente und Testpunkte an eine Schaltung anschließt. Sie sind vordefiniert, können aber leicht bearbeitet werden. Diese Symbole bewirken alle, daß eine oder mehrere Zeilen in die CIR-Datei eingefügt werden, genauso wie man diese Zeilen per Hand in die CIR-Datei schreiben würde. Der Beginn der SPICE-Zeile ist im Attribut GENERATOR angegeben, die weiteren Argumente werden als Pins oder über das ORDER-Attribut übergeben. 4.2.1. Instrumente Fast alle unter SPICE üblichen Instrumente sind als Symbole vorhanden. Die Parameter (z.B. TSTEP und TFINAL beim Oszilloskop (.TRAN)) werden mit Attributen angegeben. Gut geeignet sind dafür die Befehle DIALOG SPICE oder DIALOG ALL. Beispiele für solche komplexen Meßinstrumente und ihre Namen im Menü (Aufruf per Add INSTRUMENT) sind: ❍ Arbeitspunkt-Übersicht (BIAS-PT), Bodeplot (BODE), Oszilloskop (O'SCOPE) zur Angabe der Simulationszeiten und -Schritte, Spannungs- oder Strommesser, Spektrumanalyzer, Monte für eine Monte-Carlo-Analyse, NOISE für eine Berechnung des Rauschens, SENSTVTY (=sensitivity) gibt die linearisierte Gleichspannungsempfindlichkeit am Arbeitspunkt an, STEP um beliebige Eingangssignale durchzuwobbeln, SWEEP läßt Gleichstrom- oder Modellparameter in einem Bereich einen Wertebereich durchstreifen, TEMP setzt eine bestimmte Temperatur, WCASE steht für Sensitivity-Analyse und Worst Case Simulation. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 10 Analogsimulation mit Workview und PSPICE ❍ Hilfsinstrumente, die bestimmte Simulationsparameter einstellen, wie das CSDF, (Common Simulation Data Format), OPTIONS wie der gleichlautende Befehl in der SPICE Quelldatei, WIDTH, der die Zeilenbreite in der OUTAusgabedatei angibt. ❍ Spezielle Analysefunktionen: XFER für die im Arbeitspunkt linearisierte Übertragungsfunktion (Transfer Function) an einem Knoten, FOURIER für eine Fourier-Analyse in die OUT-Datei (nicht zu verwechseln mit der FFT in VIEWtrace). Am Beispiel OPTIONS-Instrument erkennt man, daß dieses Symbol einfach nur verschiedene Werte in die CIR-Datei einträgt. In den Attributen sind die Simulations-Standardwerte angegeben, die sich über dieses Instrument leicht ändern lassen. Zwei zulässige Attribute sind zum Beispiel: LIMPTS Begrenzt die Simulation auf die gegebene Zahl von Datenpunkten. Standard sind 2000 Punkte. Muß bei Simulationen mit vielen Datenpunkten entsprechend erhöht werden, da die Simulation sonst abgebrochen wird; der Wert 0 steht für unendlich viele Datenpunkte. NUMDGT Gibt die Genauigkeit der Simulationswerte in der *.OUT Datei an. Standard ist 6 Fließkommastellen. 4.2.2. Quellen Auch Quellen werden über die Attribute definiert; es sind Strom- oder Spannungsquellen vorhanden, mit Frequenzen ab 0 Hz, mit unterschiedlichen Verläufen (sinusförmig, exponentiell, logarithmisch, pulsierend, frequenzmoduliert oder abschnittweise linear beschrieben (piecewise linear = PWL)). Speziell für PWL-Quellen gilt zusätzlich, daß man bei mehr als 10 Wertepaaren eine Datei mit den Datenpaaren angeben kann, für beliebig umfangreiche Signale. Diese Datei wird vom Netlister in die CIR-Datei eingefügt, was natürlich den Umfang sehr vergrößern kann. Zur Erzeugung von PWL-Dateien findet sich im Anhang, S. 50, ein Beispielprogramm in der Programmiersprache BASIC (GWBASIC, QBASIC). Es erzeugt ein komplexes Signal: es wird das Läutsignal auf einer Telefonleitung simuliert, wenn nach dem Zustandekommen der Verbindung noch eine weitere "0" gewählt wird. Kombiniert ist hier eine Gleichspannungsquelle mit einer getakteten Sinusspannung, wobei das gesamte Signal wiederum durch die Wählimpulse unterbrochen wird. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 11 Analogsimulation mit Workview und PSPICE 4.2.3. Komponenten Für Standardbauteile liegen Symbole vor, die automatisch die Modelle aus der VIEWlogicBibliothek aufrufen. Bei Bauteilen mit vielen Typen (z.B. Transistoren) muß die gewünschte MOD-Datei im Attribut MODEL angegeben werden, sonst wird ein Standard-Typ angenommen. Werden oft Bauelemente benötigt, die nicht direkt im Menü enthalten sind, dann sollte die Dialogbox für Dateioperationen mit dem Tastaturbefehl DBOXON aktiviert werden. Nach dem Befehl Add Component Other lassen sich diese Komponenten dann aus einer Auswahlliste selektieren. 4.3. Eigene Komponenten Das Erzeugen eigener Symbole und Komponenten läßt sich am leichtesten durch Betrachten eines Beispieles nachvollziehen. Als Beispiel diene das Symbol eines NFET mit den dazugehörigen Attributen: Abb. 2: NFET-Standardsymbol mit allen Attributen Viele dieser Attribute sind für die Simulation unwichtig. Sie werden für Stücklisten benötigt (REFDES, PARTS), für Layout-Programme (PINTYPE, PARTS, PKG_TYPE, #), oder für beliebige andere Zwecke. Manche Attribute, wie REFDES, werden von verschiedenen Programmen ausgewertet. In diesem Beispiel werden die Attribute ORDER, PREFIX, MODEL und REFDES für die Analogsimulation genutzt. Die Funktion der Attribute wird im folgenden erläutert, wobei dem ORDER-Attribut wegen seiner überragenden Bedeutung ein Abschnitt "4.4. Parameterübergabe: das ORDER-Attribut", S. 17, gewidmet ist. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 12 Analogsimulation mit Workview und PSPICE 4.3.1. Zwingend nötige Attribute Folgende Attribute werden auf jeden Fall benötigt, um eine eigene Komponente zu definieren: MOD Verweist auf ein Modell in SPICE-Libraries, die mit .LIB angegeben wurden. Bei der Verwendung von SPICE-Modellen sollte MOD statt MODEL eingesetzt werden, selbstverständlich auch im ORDER-Attribut. Der Netlister versucht dann nicht, die Datei selbst zu finden, sondern delegiert die Suche an SPICE. MODEL Verweist auf ein Modell in der Workview -Library, (z.B. SYM oder ANALOG, AMODELS, EXTENDED). WSPICE sucht nach einer Modelldatei mit dem angegebenen Namen und der Endung MOD und fügt sie in die CIR-Datei ein. Falls Modelle der SPICE-Bibliothek benutzt werden sollen, muß MOD verwendet werden, wie eben erklärt wurde. ORDER Definiert das oder die Argumente nach dem Bauteil-Bezeichner in der CIR-Datei. Dieses Attribut ist so wichtig, daß es im Abschnitt "4.4. Parameterübergabe: das ORDER-Attribut" genau besprochen wird. PREFIX Gibt den Kennbuchstaben des Bauteil-Bezeichners für SPICE an. Muß laut SPICE-Handbuch gewählt werden. REFDES Gibt den Bauteil-Bezeichner (Reference Designator) für Workview an. Ein oder mehrere Buchstaben, dann ein Fragezeichen. 4.3.2. Wichtige Attribute NO_PINS Ist als Wert die Zahl 1 angegeben, dann fügt der Netlister vor dem String durch das ORDER-Attribut nicht die Liste der Netze an den Pins des Bauteils an. Hinter der Bauelement-Referenz steht also nur das, was durch das ORDER-Attribut erzeugt wird. Eine 0 bewirkt, daß das NO_PINS Attribut keine Funktion hat, und genauso gut fehlen könnte. PINORDER Gibt an, in welcher Reihenfolge die Liste der Netze an den Pins übergeben werden soll. TYPE Für Quellen gibt dieses Attribut an, welche Datei das Modell enthält. Beispiel: TYPE=SIN spezifiziert die Datei SIN.MOD. PARNAM Gibt bei einem hierarchischen Entwurf an, mit welchen Argumenten ein .subckt aufgerufen wird. Ein Beispiel dazu befindet sich auf Seite 22. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 13 Analogsimulation mit Workview und PSPICE 4.3.3. Sinnvolle eigene Symbole Sinnvoll sind in erster Linie Symbole, für die eigene Modelle oder Modelle in SPICEBibliotheken existieren, und denen kein Symbol zugeordnet ist. Häufig benutzte Bauteile, die man in Workview als Standardbauteil + MOD-Datei jedesmal neu mit Attributen angeben muß (z.B. ein bestimmter NFET), sollten als eigene Symbole abgelegt werden. 4.3.3.1. Ein Library-Symbol Zu SPICE Funktionen, für die keine Symbole existieren, müssen ebenfalls eigene Symbole angelegt werden, z.B. für den Aufruf eigener Bibliotheken, die nur in einem bestimmten Projekt verwendet werden sollen. Die Attribute für ein neu zu schaffendes Symbol MEINELIB wären GENERATOR =.LIB ORDER =LIB$ LIB =Datei.LIB Für Datei wäre die Library mit Pfad anzugeben, die man am häufigsten benötigt. Bei der Benutzung einer anderen Library wird das Symbol MEINELIB auf den Schaltplan plaziert und der Wert von LIB mit DIALOG ALL geändert. Mehrere Libraries lassen sich durch mehrere Symbole oder ein Symbol mit einer Sammel-LIB vergleichbar mit NOM.LIB angeben. Die durch dieses Symbol erzeugte Zeile in der CIR-Datei wird von WSPICE folgendermaßen generiert: .LIB Datei.LIB Achtung: Man sollte für die Variable in den beiden unteren Zeilen den Namen LIB nehmen, und nicht den Namen FILE verwenden. Bei FILE setzt der Netlister selbst die gesamte Datei ein, und vergrößert so die CIR-Datei unnötig. Übungsvorschlag 1: Legen Sie ein Symbol für eine Bibliothek an. Es soll auf eine Library C:\WORKVIEW\UEBUNG\Meine.lib verweisen, und so die Angabe einer projektbezogenen Library auf Schaltplanebene ermöglichen. Die Form des Symbols ist Ihnen überlassen. Was für einen "Blocktype" hat das Symbol? Wie geben Sie die Attribute an ? Stop! Wie lautet die Antwort? © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 14 Analogsimulation mit Workview und PSPICE Lösungsvorschlag: Zeichnen Sie ein Symbol, definieren Sie es mit Blocktype Module, definieren Sie LIB als C:\WORKVIEW\UEBUNG\Meine.lib (vgl. Beispiel MEINELIB, dritten Zeile). Benutzen Sie DIALOG All zur Definition der Attribute. Sie sollten die Attribute unsichtbar machen. Nach einem File Write können Sie es im Schaltplan einsetzen. Eine Musterlösung liegt als Symbol Mylib vor. Beachten Sie bitte den Hinweis auf S. 13 über den Einsatz des Attributes MOD statt MODEL. Eine bereits angedeutete Abwandlung dieses Symbols ermöglicht das Einbinden eines Standardtextes, z.B. des Firmennamens und Bearbeiters in die generierten CIR-Dateien. Statt der Variablen LIB wird einfach FILE eingesetzt. Die Zeilen in der einzulesenden Datei sollten Kommentare sein. Beispiele dafür finden sich im Symbol KOPF und der Logo-Datei MEIN.LGO. 4.3.3.2. Das geänderte CSDF-Symbol CSDFPINS Ein weiteres, sinnvolles Symbol ist eine Verbesserung des CSDF-Symbols. Das normale Symbol bewirkt die Speicherung aller Signale in der Ausgabedatei. Durch ein neues CSDFPINS-Symbol, das nur bestimmte, hier maximal sechs Signale in die TXT-Datei ausgeben läßt, lassen sich die Datenmengen und damit die Simulations- und Auswertezeiten auf deutlich weniger als ein Zehntel reduzieren, je nach Komplexität der Schaltung auch mehr. Übungsvorschlag 2: Das normale CSDF-Symbol soll um Pins erweitert werden. Bearbeiten Sie das Standardsymbol, so daß es wie in Abb. 3 aussieht. Speichern Sie es unter dem Namen CSDFPINS ab. Müssen Attribute geändert werden? Wenn ja, welche? Abb. 3: Aussehen des CSDF-Symbols mit 6 Pins Stop! Wie lautet die Antwort? © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 15 Analogsimulation mit Workview und PSPICE Lösungsvorschlag: Das ORDER-Attribut muß nicht angepaßt werden, sondern es müssen nur Pins zum Anschluß der gewünschten Signale an das Symbol angebracht werden. Sie müssen eindeutige Labels erhalten. Ein Lösungsvorschlag liegt als Symbol CSDFP vor. Bei einem FILE WRITE sollten ungefähr folgende Informationen gelistet werden: SYMBOL NAME: CSDFPINS.1 BLOCK TYPE: MODULE UNATTACHED ATTRIBUTES: Attribute PREFIX=* Attribute ORDER= Attribute GENERATOR=.PROBE/CSDF PIN INFORMATION: Pin Pin Pin Pin Pin Pin Label: Label: Label: Label: Label: Label: A F B C E D Die Namen der Netze an den Anschlüssen werden hinter den Text durch das GENERATORStatement gesetzt. Wenn also drei Signale VIN, VOUT, VNIX an beliebigen Pins des Symbols anliegen (oder kurze Netze mit entsprechenden Labels), dann steht in der CIR-Datei folgende Zeile .PROBE/CSDF VIN VNIX VOUT Sind keine Signale am Symbol angeschlossen, dann wirkt es demnach genau wie das original mitgelieferte Symbol, der Netzlister gibt jedoch eine Warnung aus, daß kein Pin angeschlossen ist. Für die Zahl der Pins gibt es keine praktisch interessierende Grenze. Anstatt über Pins, oder zusätzlich zu Pins, könnten Signale auch per ORDER-Attribut angeben werden, falls dies der Übersichtlichkeit wegen günstiger erscheint. Beispiel: Ein- und Ausgangssignal sollen in jeder Simulation protokolliert werden und sind im ORDER-Attribut definiert, weitere Meßpunkte werden an die Pins angeschlossen. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 16 Analogsimulation mit Workview und PSPICE 4.3.4. Tips zum Anlegen der Symbole Folgende Punkte sind beim Anlegen eines Symbols wichtig: ❍ Erst das Symbol zeichnen, dann mit LEVEL PUSH SCHEMATIC auf die dazugehörige Schaltplanseite wechseln. Beide haben so den gleichen Namen und sind in den richtigen Verzeichnissen. ❍ Die Pins am Symbol mit CREATE PIN anlegen, die anderen Linien mit CREATE LINE/BOX/CIRCLE/.... Pins anschließend mit Labels versehen. ❍ Symbole ohne darunterliegenden Schaltplan mit CHANGE .. BLOCKTYPE MODULE zu einem Grundmodule machen. ❍ Bei nachträglichen Fehler-Verbesserungen jeweils den neuen Stand mit FILE WRITE sichern, sonst ist u.U. im übergeordneten Schaltplan noch das alte Symbol (vor der Änderung) eingetragen. 4.4. Parameterübergabe: das ORDER-Attribut Das komplexeste Thema beim Zusammenspiel von Workview und SPICE ist die Übergabe von Parametern aus der Schaltplanebene in die CIR-Datei-Ebene. Das ORDER-Attribut mit sechs Sonderzeichen ermöglicht komplizierte Parameterübergaben. Das ORDER-Attribut kann feste, variable und formelhafte Argumente übergeben. Im einfachsten Beispiel, dem Widerstand, werden die beiden Anschlüsse und der Wert übergeben: R1 VOUT 0 100 würde durch ORDER=VALUE$ VALUE=100 angegeben. Der erste Pin muß dabei im Schaltplan an GND (0) angeschlossen sein, der zweite an ein Netz mit der Bezeichnung VOUT. Das PREFIX-Attribut erzeugt die Zeichen "R1", der Netlister fügt die Liste der Netze ein (0 VOUT), und das ORDER-Attribut erzeugt den gesamten Text nach der Liste aller angeschlossenen Netze, hier also nur "100", in anderen Fällen aber Zeichenketten, die leicht eine Schreibmaschinenzeile einnehmen können. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 17 Analogsimulation mit Workview und PSPICE Die speziellen Zeichen, die in einem ORDER-Attribut auftreten können, haben folgende Bedeutung: Ein $ am Ende des Parameters bewirkt eine Wertübergabe: Nur der Wert des Attributes wird in die Netzliste übergeben (im Beispiel ist das "100"). = bewirkt die Übergabe des vollständigen String des Attributes. Dabei wird der Name des Attributes und sein Wert gemeinsam in die Netzliste übergeben (im Beispiel wäre das "VALUE=100"). & wird benutzt, um andere Komponenten mit ihrem internen Namen (z.B. $1I33 für einen Transistor QEINGANG) anzugeben. QEINGANG würde dann in der CIR-Datei erscheinen. Dies ist äußerst wichtig, sobald von einem Symbol mehrere Instanzen in einer Schaltung übergeben werden. Ein Beispiel dazu findet sich auf Seite 27 ff. Der eigene Name wird mit . übergeben. [ am Ende eines Pin-Labels gibt an, daß das an dem jeweiligen Pin anliegende Netz (sein Label) übergeben werden soll. Es wird also ein Knoten in die Netzliste eingefügt. Dies kann zusammen mit dem NO_PINS=1 Attribut verwendet werden, um spezielle Anordnungen der Pins zu übergeben. " umschließt Zeichenketten, die unverändert übergeben werden, womit sich z.B. SPICE-Funktionen definieren lassen. \ vor einem " " " ermöglicht es, Anführungszeichen ebenfalls zu übergeben. Für die weiteren Betrachtungen müssen die flache Netzliste (Standard) und die hierarchische Netzliste unterschieden werden: 4.4.1. Flache Netzliste Folgende Überlegungen gehen von einem selbst definierten Symbol für ein Potentiometer aus. Standardmäßig hat es einen Widerstand von 1kΩ, und steht in der Mitte: Position = 0,5. Die Position gibt an, wieviel des Gesamtwiderstandes auf die obere Potentiometerhälfte (zwischen IN2 und OUT) entfällt. Die Schaltung soll mit verschiedenen Werten simuliert werden, es soll dabei nur den Wert für die Position geändert werden müssen, nicht die der beiden Teilwiderstände. Nach dem Befehl SIM PSPICE wird eine flache Netzliste (Wirelist) erzeugt. In ihr müssen die Variablen mit einem @ beginnen, z.B. @POS für die Position. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 18 Analogsimulation mit Workview und PSPICE 4.4.1.1. Beispiel: Parametrisierung bei flacher Netzliste In Abb. 4 ist eine Testschaltung4 gegeben, die aus einer Quelle und dem Potentiometer besteht. Das Attribut @POS wurde im Schaltplan auf den Wert 0.9 geändert. Für die VIEWtrace-Auswertung wurden die Symbole CSDF und OSCILLOSCOPE hinzugefügt. Abb. 4: Schaltplan mit einem parametrisiertem Potentiometer Wird nun das Potentiometer selektiert und ein LEVEL PUSH SCHEMATIC durchgeführt, dann erscheint folgender Schaltplan: Abb. 5: Schaltplanebene des Potentiometers für flache Netzlisten Die VALUE-Attribute der beiden Teilwiderstände wurden auf die oben angegebenen Werte gesetzt. Der Anteil .001 ist als Schleiferkontaktwiderstand zu verstehen. Er sorgt dafür, daß SPICE auch bei Werten von 1 oder 0 für die Position Widerstandswerte mit Zahlen ungleich Null rechnet. Ein Wert von 0 als Widerstandswert ist verboten. 4Schaltung PARAF1 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 19 Analogsimulation mit Workview und PSPICE In der darüberliegenden Symbol-Ebene müssen die Attribute für das Symbol in diesem Fall folgendermaßen aussehen, damit die geforderten Standard-Werte definiert sind: @RPOT=1000 @RPOS=0.5 REFDES=P? @RPOT gibt den Standardwert für den Potentiometer-Gesamtwiderstand an, @RPOS den Wert für die Schleifer-Stellung. Die resultierende CIR-Datei ist dann: * Project PARAF1 * WorkVIEW Wirelist Created with Version 3.11 VIN N10 0 SIN ( 0V 100MV 100KHZ 0 0 0 ) R1 0 VAUSGANG 9.0000E+02 R2 VAUSGANG N10 1.0000E+02 .TRAN 1US 100US .PROBE/CSDF * DICTIONARY 2 * $1N10 = N10 * GND = 0 .PRINT TRAN V([VAUSGANG]) .END Wegen der flachen Netzliste sieht man das Potentiometer nicht mehr als eine Einheit, sondern in seine Komponenten zerlegt. Bei größeren Teilschaltungen kann dies schnell unübersichtlich werden. Übungsvorschlag 3: Entwerfen Sie ein 8-fach Pull-down Widerstandsnetzwerk (8 Widerstände gleichen Wertes sind zur Leitungsterminierung gegen Masse geschaltet). Es soll in der Schaltplanebene mit einer einzigen Angabe seinen Widerstandswert zugewiesen bekommen. Zum Test des Symbols sind in der einfachen Testschaltung PULLDT eine Spannungsquelle und acht Kapazitäten gegeben, an der das kapazitive Verhalten eines Busses studiert werden könnte. Schließen Sie ihr Widerstandsnetzwerk an und lassen sie eine SPICE-Netzliste generieren5. Kontrollieren Sie die CIR-Datei mit einem Editor. Stop! Wie lautet die Antwort? 5Über Menü per Window Open Utility Analog Wirelist PSpice Flat © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 20 Analogsimulation mit Workview und PSPICE Lösungsvorschlag: Ein Symbol mit 8 Pins wird angelegt, ein Attribut REFDES und @RPULLD definiert, in einem Schaltplan unter der Symbolebene wird ein Widerstand mit VALUE=@RPULLD erzeugt, siebenfach kopiert, und alle Widerstände mit den Pins und mit GND verbunden. Die Attribute werden unsichtbar gemacht. Ein Lösungsbeispiel liegt im Symbol PULLDWN8 und der Schaltung PULLTEST vor. 4.4.2. Hierarchische Netzliste (Subcircuits) Hierarchische Netzlisten lassen sich generieren, indem man WINDOW OPEN UTILITY ANALOG WIRELIST PSPICE HIER oder per Tastatur mex whpspice ausführt. Die Simulation wird dann gestartet mit sys pspice schaltungsname. 4.4.2.1. Beispiel: Parametrisierung bei hierarchischer Netzliste Bei hierarchischen Netzlisten werden Teilschaltungen als Subcircuit (.SUBCKT) -Einträge in der CIR-Datei definiert. Man benötigt hierfür mehr Attribute, gewinnt dafür auch mehr Übersichtlichkeit in der CIR-Datei; die Schaltplanebene sieht jedoch ähnlich aus6 Abb. 6: Potentiometer für hierarchische Netzliste mit allen, sichtbar gemachten Attributen 6S. Datei PARAH1 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 21 Analogsimulation mit Workview und PSPICE Neu hinzugekommene Attribute: PARNAM gibt die Argumente (in der eigentlichen SubcircuitDefinition) für den .SUBCKT Aufruf an, und ein geändertes ORDER-Attribut, das den Text im Aufruf der Teilschaltung angibt: ORDER=" PARAMS: " POS= RPOT= PARNAM=PARAMS: POS=0.8 RPOT=2000 Im String innerhalb der Anführungszeichen (") steht das SPICE-Schlüsselwort PARAMS: mit je einem Leerzeichen davor und dahinter. Sie sorgen dafür, daß das Word PARAMS: nicht mit den anderen Einträgen der CIR-Zeile zusammenstößt. Dieses Wort PARAMS: weist PSPICE an, die Parameter zu ersetzen; es sollte nicht mit dem Attribut PARNAM für den Netlister verwechselt werden. Das Attribut PARNAM gibt die erste Zeile der Definition des Subcircuits an, die angegebenen Parameter sind die Standard-Werte, die durch ein entsprechendes ORDER-Attribut geändert werden können. Zur besseren Unterscheidung von den durch das ORDER-Attribut bewirkten Einträgen in die CIR-Datei sind in diesem Beispiel die Standardwerte für RPOT auf 2000 Ω und für POS auf 0,8 festgelegt worden. Unter der Symbolebene liegt eine gegenüber der flachen Netzliste geänderte Schaltplanebene: Abb. 7: Schaltplanebene des Potentiometers für hierarchische Netzlisten Das ganze ORDER-Attribut ist jeweils ein String, mit geschweiften Klammern um den Ausdruck. Dieser Ausdruck erscheint so, wie angegeben als String in der CIR-Datei und wird erst von SPICE evaluiert. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 22 Analogsimulation mit Workview und PSPICE Die dazu gehörige CIR-Datei sieht folgendermaßen aus: * Project PARAH1 * WorkVIEW Wirelist Created with Version 3.11 * Definition for project POT2H .SUBCKT POT2H IN1 IN2 OUT PARAMS: POS=.8 RPOT=2000 R1 IN1 OUT {.001+(RPOT*(1-POS))} R2 OUT IN2 {.001+(RPOT*POS)} * CROSS-REFERENCE 1 * GND = 0 .ENDS VIN N10 0 SIN ( 0V 100MV 100KHZ 0 0 0 ) X6 0 N10 VAUSGANG POT2H PARAMS: POS=.5 RPOT=1000 .TRAN 1US 100US .PROBE/CSDF * DICTIONARY 1 * GND = 0 .PRINT TRAN V([VAUSGANG]) .END Die Zeile durch das PARNAM-Attribut ist fett hervorgehoben, die durch das ORDER-Attribut ist fett und kursiv ausgezeichnet. Wie ersichtlich, wurden die im Schaltplan angegebenen Werte eingesetzt. 4.4.2.2. Verhaltensbeschreibung Eine weitere Variante ist die rein mathematische Beschreibung einer Komponente und ihre Definition in einem ORDER-Attribut. Als Beispiel ein spezieller VCO: Abb. 8: VCO-Symbol mit dazugehörigen Attributen Die äußere Beschaltung (Widerstände, Spannungsquelle, Meßgeräte) sieht in diesem Übungsbeispiel7 so aus: 7S. Datei VCOTEST © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 23 Analogsimulation mit Workview und PSPICE Abb. 9: Testbeschaltung für VCO Die Widerstände sind nötig, damit SPICE einen Strompfad von den jeweiligen Anschlüssen zur Masse findet. Daraus ergibt sich dann folgende CIR-Datei: * Project VCOTEST * WorkVIEW Wirelist Created with Version 3.11 G1 OUTV 1 VALUE={10MA*SIN(2*3.14*10KHZ*TIME*(10V+V( N3)))} R1 OUTV 0 10MEG R2 1 0 10MEG VIN N3 0 SIN ( 3 3 1KHZ 0 0 0 ) R3 0 N3 10MEG .PROBE/CSDF .TRAN 1US 1MS * * * * * * * * DICTIONARY 4 OUTV- = 1 OUTV+ = OUTV $1N3 = N3 GND = 0 PROBES 2 V(1) V([OUTV]) .PRINT TRAN V(1) V([OUTV]) .END Man sieht, wie die Anschlüsse IN, OUT+ und OUT- durch die Knotennamen ausgedrückt wurden: IN wurde durch das Netz N3, OUT+ durch das Netz OUTV (statt OUTV+ im Schaltplan) und OUT- durch 1 (OUTV- im Schaltplan) ersetzt. Die letzten Namen mußte der Netlister ändern, da sie sonst nicht PSPICE-konform gewesen wären. Eine Übersetzungstabelle steht ab DICTIONARY in der CIR-Datei; die Zahl nach DICTIONARY gibt die Zahl der übersetzten Namen an. Übungsvorschlag 4: Denkfrage: Ist die Modellierung des VCO ohne NO_PINS-Attribut möglich? Hilft das Attribut PINORDER dabei? © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 24 Analogsimulation mit Workview und PSPICE Stop! Wie lautet die Antwort? Lösungsvorschlag: Der VCO ist über das ORDER- und das PREFIX-Attribut definiert. Hinter der BauteileReferenz G1 steht nur der durch das ORDER-Attribut definierte Ausdruck. Ohne ein NO_PINS=1 Attribut würde zwischen diesen beiden Teilen eine Liste der angeschlossenen Netze eingefügt. Die Aufgabe ließe sich nur durch eine Model-Datei mit einer entsprechenden SubcircuitDefinition lösen, wobei PINORDER zur Angabe der Argumenten-Reihenfolge dienen könnte. Man bräuchte allerdings neben dem MODEL- auch das PARNAM-Attribut, damit die Argumente auch an den Subcircuit richtig übergeben werden. Diese Lösung ist also viel zu umständlich. Vergleichen Sie dazu die Beispiele auf Seiten 22 und 30. 4.5. Eigene und geänderte SPICE-Modelle in Workview 4.5.1. Vorgehen bei geänderten und neuen Symbolen Will man vorhandene Symbole nur abändern, dann sollte man sie zuerst in ein eigenes Projekt kopieren, also die zusammengehörenden Dateien aus den Unterverzeichnissen SYM, SCH und ggf. MOD-Dateien. Falls viele selbstdefinierte Symbole existieren, sollten sie zusammen in ein eigenes Projekt gelegt werden, das dann im VIEWdraw-Suchpfad eingetragen werden kann. Hier ist übrigens die Reihenfolge der Einträge identisch mit der Suchfolge. Beim Kopieren sollte man andere Namen vergeben, und zwar sowohl für das Symbol, wie auch für den Schaltplan. Bei FILE WRITE TO werden nicht automatisch beide Namen geändert. Für neue Symbole gilt das Gleiche, nur sollte man die "4.3.4. Tips zum Anlegen der Symbole", S. 17 berücksichtigen. 4.5.2. Gekoppelte Induktivitäten Gekoppelte Induktivitäten gehören zu den Baugruppen, die auf jeden Fall in jeder Schaltung anders definiert werden müssen. Für einfache Transformatoren kann man mit den Standardsymbolen von Workview zurechtkommen, in komplexeren Fällen muß man sich ein eigenes Symbol mit einer Beschreibung in einer selbstgeschriebenen MOD-Datei anlegen. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 25 Analogsimulation mit Workview und PSPICE 4.5.2.1. Aus Standardsymbolen abändern Unterschiedlichste gekoppelte Induktivitäten lassen sich aus Standardsymbolen zusammensetzen. Für den einfachen Transformator existiert ein Symbol TRANSF.1, für einen Transformator mit einer Mittenanzapfung heißt das Äquivalent TRANSFCT.1 (transformer with coil tap). Zur Schaffung eines eigenen Transformators müssen die gleichnamigen MODDateien der ANALOG-Library unter einem anderen Namen gespeichert und geändert werden, und im Schaltplan muß als MODEL dieser Name angeben werden. Übungsvorschlag 5: Entwerfen Sie eine einfache Testschaltung mit einer Signalquelle, einem StandardTransformator TRANSFCT mit Mittenanzapfung und Lastwiderständen. Einen einfachen Schaltungsvorschlag finden sie in Abb. 11. Lassen sie eine CIR-Datei erstellen und speichern Sie sie als Referenz ab. Ändern Sie Induktivitäten und Kopplungsfaktor in einer Kopie TRANSNEU des Transformators im aktuellen Projekt und testen Sie die Schaltung mit ihrem neuen Transformator: Hat sich die CIR-Datei wie erwartet geändert8? Stop! Wie lautet die Antwort? Lösungsvorschlag: Abb. 11 ist ein Beispiel für eine Testschaltung. Falls Sie die Schaltungen simulieren wollen: Die Simulationen müßten Sie mit zwei verschiedenen Schaltungen laufen lassen, oder, in einer Schaltung, alle Spulen und Kopplungsfaktoren unterschiedlich benennen. Wie Sie das automatisch erledigen lassen können, steht im nächsten Abschnitt. Kontrollieren Sie die OUTDatei mit einem Editor, oder das Simulationsergebnis mit VIEWtrace, wie später ab Seite 39 beschrieben9. 8Damit Sie die Datei TRANSFCT.MOD im ANALOG-Verzeichnis von Workview bearbeiten können, dürfen die Modelle nicht im Megafile-Format vorliegen. Mit dem Programm SETUP können Sie das Format ändern. Denken Sie bitte daran, ggf. die VIEWdrawSuchpfade entsprechend zu ändern. 9Musterlösungen liegen in den Dateien TRSFCT und TRSFCT1 vor, mit dem Modell TRANSNEU.MOD im SYM-Verzeichnis © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 26 Analogsimulation mit Workview und PSPICE 4.5.2.2. Aus Standardsymbolen zusammensetzen Der rein graphische Weg, eigene Komponenten zu entwerfen, besteht darin, ein Ersatzschaltbild aus Standardelementen anzulegen, und es einem eigenen Symbol zuzuordnen. Zuerst wird ein geeignetes Symbol gezeichnet und mit den nötigen Attributen versehen. Bei der Angabe der Spulennamen im Kopplungsfaktor TCORE ist eines zu beachten: daß die Spulen nicht mit benutzerdefinierten Namen wie L1-L3 versehen werden, sondern daß die jeweils von VIEWdraw vergebenen Namen (in diesem Fall $1I1-$1I3) angegeben werden. Dies ermöglicht, zusammen mit dem &-Zeichen im ORDER-Attribut des Kopplungsfaktors, ein automatisiertes Durchnummerieren der Elemente in der CIR-Datei. Bei benutzerdefinierten Namen ist dies nicht möglich, wie der Vergleich weiter unten zeigt. Abb. 10: Ersatzschaltbild einer gekoppelte Induktivität mit &-Zeichen im ORDER-Attribut Das Standard-Symbol IND.1 ist eine waagrechte Induktivität, IND.2 eine senkrechte, TCORE ist der Kopplungsfaktor. In Abb. 11 wurden Ind.2 und TCORE benutzt. Die Induktivitätswerte werden in die Attribute eingetragen. Man beachte vor allem die Attribute für den Kopplungsfaktor: ORDER=A& B& C& COEFFICIENT$ COEFFICIENT=0.99 A=$1I1 B=$1I2 C=$1I3 Nicht gesondert gezeigt ist das Symbol, das der Ersatzschaltung übergeordnet wurde; es sieht ihr zwar ähnlich, ist aber nicht gleich! © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 27 Analogsimulation mit Workview und PSPICE Abb. 11: Testschaltung für eine gekoppelte Induktivität Mit der Testschaltung ergibt sich diese CIR-Datei: * Project KOPL1TST * WorkVIEW Wirelist Created with Version 3.11 L1 P 0 300U L2 S1 0 200U L3 0 S2 100U K1 L1 L2 0.999 C1 N7 P 1U R1 0 S1 10K R2 S2 0 10K V3 N7 0 DC 15V .TRAN 100NS 1MS .PROBE/CSDF * DICTIONARY 2 * $1N7 = N7 * GND = 0 .PRINT TRAN V([P]) V([S1]) V([S2]) .END Man erkennt die generierten Spulennamen L1-L3 und den Kopplungsfaktor K1. Bei zwei oder mehr dieser Bauelemente in einer Schaltung ist es jedoch entscheidend, ob man mit dem &-Zeichen im ORDER-Attribut arbeitet, oder mit dem $. Wie ein Vergleich zeigt, ist das &-Zeichen in diesem Fall zwingend nötig. In Anlehnung an Programmiersprachen wie PASCAL könnte man sagen, das $-Zeichen bewirke einen call by value, das &-Zeichen einen call by reference. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 28 Analogsimulation mit Workview und PSPICE Abb. 12: Zwei gekoppelte Induktivitäten, &-Zeichen Die dazu gehörige CIR-Datei: * Project KOPL2TST * WorkVIEW Wirelist Created with Version 3.11 L1 P1 0 300U L2 S11 0 200U L3 0 S12 100U K1 L1 L2 L3 0.99 C1 N7 P1 1U R1 0 S11 10K R2 S12 0 10K V3 N7 0 DC 15V V43 N40 0 DC 15V C2 N40 P2 1U R3 0 S21 100K R4 S22 0 100K L541 P2 0 300U L542 S21 0 200U L543 0 S22 100U K541 L541 L542 L543 0.99 .TRAN 100NS 1MS .PROBE/CSDF * * * * * * * * DICTIONARY 7 S2-2 = S22 S2-1 = S21 $1N40 = N40 $1N7 = N7 S1-2 = S12 S1-1 = S11 GND = 0 .PRINT TRAN V([P1]) V([S11]) V([S12]) V([P2]) V([S21]) V([S22]) .END Man erkennt die jeweils drei Spulen L1-L3, L541-L543 und die Kopplungsfaktoren K1 und K542. Im Gegensatz dazu das gleiche, mit $ statt des &-Zeichens im ORDER-Attribut des Kopplungsfaktors: © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 29 Analogsimulation mit Workview und PSPICE * Project KOPL3TST * WorkVIEW Wirelist Created with Version 3.11 L1 P1 0 300U L2 S11 0 200U L3 0 S12 100U K1 L1 L2 L3 0.99 C1 N7 P1 1U R1 0 S11 10K R2 S12 0 10K V3 N7 0 DC 15V V43 N40 0 DC 15V C2 N40 P2 1U R3 0 S21 100K R4 S22 0 100K L541 P2 0 300U L542 S21 0 200U L543 0 S22 100U K541 L1 L2 L3 0.99 .TRAN 100NS 1MS .PROBE/CSDF * * * * * * * * DICTIONARY 7 S2-2 = S22 S2-1 = S21 $1N40 = N40 $1N7 = N7 S1-2 = S12 S1-1 = S11 GND = 0 .PRINT TRAN V([P1]) V([S11]) V([S12]) V([P2]) V([S21]) V([S22]) .END Wie zu sehen ist, werden in den kursiven Zeilen jedesmal die Bezeichnungen L1, L2, L3 benutzt, obwohl eigentlich andere Spulen gemeint sind. Das &-Zeichen ermöglicht also die Angabe einer anderen Instanz eines Bauelements in der CIR-Datei, während das $-Zeichen nur den direkten Wert übergibt. Übungsvorschlag 6: Überlegen Sie sich: Welchen Sinn haben das &- und $-Zeichen im ORDER-Attribut? Sind die Simulationsergebnisse der Variante in Abb. 11 verglichen mit der gleichen Schaltung und dem $-Zeichen statt des &-Zeichens im ORDER-Attribut des Kopplungsfaktors gleich oder unterschiedlich? Welche Rolle spielen die Kopplungsfaktoren ? Stop! Wie lautet die Antwort? Lösungsvorschlag: Da in der zweiten Lösung kein Unterschied zwischen den Kopplungen der beiden Übertrager gemacht wird, kann das Ergebnis nicht stimmen. Die Kopplungen der Spulen werden falsch berechnet. Wertangaben, z.B. für die Induktivität, dagegen kann man problemlos per $Zeichen übergeben, da sie ja den unterschiedlichen Induktivitäten eindeutig zugeordnet sind. 4.5.2.3. Als SPICE-Modell SPICE-Modelle ähneln den vorgefertigten TRANSF.MOD Modellen, nur daß man hier bei der Gestaltung nicht mehr an die gelieferten Grundmuster gebunden ist. Die gesamte Schaltung © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 30 Analogsimulation mit Workview und PSPICE wird als .model-Statement für SPICE definiert und mit dem passenden MODEL-Attribut dem Symbol (BLOCKTYPE=MODULE) zugeordnet. Wie bei der Beschreibung des ORDER-Attributes mit einer hierarchischen Netzliste10 schon geschildert, lassen sich Parameter, die in der obersten Schaltplanebene angegeben werden, als Parameter dem Modell übergeben. Beispiele sind dabei die Zünd- und Brennspannung von Funkenstrecken für ein allgemeines Funkenstrecken-Modell oder der Diodentyp in einem Brückengleichrichter. 4.5.2.3.1. Beispiel: Relais als SPICE-Modell Als ein Übungsbeispiel mit Parameterübergabe sei ein Modell eines monostabilen Relais mit einem Umschaltkontakt vorgestellt. Das Schaltverhalten ist nur grob angenähert, die Impedanzen der Kontakte und der Spule sind im Modell berücksichtigt. Zuerst wurde ein Symbol11 entworfen: Abb. 13: Monostabiles Relais mit einem Umschaltkontakt, Symbol Dem Symbol wurden folgende Attribute zugeordnet: SYMBOL NAME: RELAY.1 BLOCK TYPE: MODULE UNATTACHED ATTRIBUTES: Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute LSP=50U RSP=200 VOFF=6.8 VON=7 ROFF=1E7 RON=1E-1 ORDER=MODEL$ " PARAMS: " RON= ROFF= VON= VOFF= RSP= LSP= MODEL=RELAY REFDES=RY? PREFIX=X PINORDER=A1 A2 A I C PIN INFORMATION: Pin Label: A Pin Label: A1 10S. Ausführungen zur Parameterübergabe, S. 17 11Symbol RELAY mit RELAY.MOD © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 31 Analogsimulation mit Workview und PSPICE Pin Label: A2 Pin Label: C Pin Label: I Lsp, Rsp sind die Spulenparameter, Ron, Roff die Kontaktwiderstände, Von, Voff die Einund Ausschaltspannung des Relais. Das Modell schaltet nicht mit Hysterese, sondern ist in dem Bereich zwischen Von und Voff stetig. Bei unstetigem Verhalten kann SPICE keine Lösung für den Arbeitspunkt der Schaltung finden. Das Listing des Modells, also die MODDatei aus dem SYM-Verzeichnis ist hier zu sehen: * Einfaches Modell eines Relais * R. Henke, 17.2.92 * Kontakte folgen verzoegerungslos dem Spulenstrom .subckt RELAY Spule1 Spule2 Schalt Ruhe Gemein PARAMS: Ron=1e-2 + Roff=1e7 Von=7 Voff=6.5 Rsp=100 Lsp=100uH * Ruhekontakt .model RKontakt VSWITCH (Ron={Ron} Roff={Roff} Von={Von} Voff={Voff}) * Schaltkontakt .model SKontakt VSWITCH (Ron={Roff} Roff={Ron} Von={Von} Voff={Voff}) RSPULE LSPULE VSense Hklick Rdummy ERel SRuhe SSchalt SPULE1 1 {Rsp} SPULE2 2 {Lsp} 1 2 DC 0V 3 0 VSense 1 3 0 100Meg 4 0 Value = {ABS(V(3)) * Rsp} Gemein Ruhe 4 0 RKontakt Gemein Schalt 4 0 SKontakt .ENDS Nach .subckt folgt der Modellname, die Pins in der Reihenfolge wie im PINORDERAttribut und die Übergabeparameter mit den Standardwerten. Das Modell besteht aus zwei spannungsgesteuerten Schaltern SRuhe und SSchalt und der Spule aus Induktivität und Widerstand. Es reagiert auf den Strom durch die Spule, der mit der Spannungsquelle VSense gemessen wird und durch die Quellen Hklick.und ERel mathematisch umgeformt wird, so daß das Modell auf den Betrag des Spulenstroms reagiert. Mit einer Testschaltung12 läßt sich das Modell testen und immer weiter verfeinern. Der Übersicht wegen ist die Testbeschaltung minimal gehalten, zudem verkürzt eine sparsame Beschaltung die Simulationszeiten. 12Datei RELTEST © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 32 Analogsimulation mit Workview und PSPICE Abb. 14: Testbeschaltung für das Relais-Modell Die dazu gehörige CIR-Datei zeigt, daß die MOD-Datei von WSPICE komplett in die CIRDatei kopiert wurde. Die Parameter wurden entsprechend dem Schaltplan gesetzt: * Project RELTEST * WorkVIEW Wirelist Created with Version 3.11 R1 VA N22 10K R2 VI N22 10K V20 N22 0 DC 15V VIN N11 0 SIN ( 0V 20V 1000 0 0 0 ) X5 0 N11 VA VI 0 RELAY PARAMS: RON=1E-1 ROFF=1E7 VON=7 + VOFF=6.8 RSP=200 LSP=50U .PROBE/CSDF .TRAN 1US 1MS * * * * * * * * DICTIONARY 3 $1N11 = N11 $1N22 = N22 GND = 0 PROBES 3 V([VI]) V([VA]) V([N11]) .PRINT TRAN V([VI]) V([VA]) V([N11]) * Einfaches Modell eines Relais * R. Henke, 17.2.92 * Kontakte folgen verzoegerungslos dem Spulenstrom .subckt RELAY Spule1 Spule2 Schalt Ruhe Gemein PARAMS: Ron=1e-2 + Roff=1e7 Von=7 Voff=6.5 Rsp=100 Lsp=100uH * Ruhekontakt .model RKontakt VSWITCH (Ron={Ron} Roff={Roff} Von={Von} Voff={Voff}) * Schaltkontakt .model SKontakt VSWITCH (Ron={Roff} Roff={Ron} Von={Von} Voff={Voff}) RSPULE LSPULE VSense Hklick Rdummy ERel SRuhe SSchalt SPULE1 1 {Rsp} SPULE2 2 {Lsp} 1 2 DC 0V 3 0 VSense 1 3 0 100Meg 4 0 Value = {ABS(V(3)) * Rsp} Gemein Ruhe 4 0 RKontakt Gemein Schalt 4 0 SKontakt .ENDS © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 33 Analogsimulation mit Workview und PSPICE .END 4.6. Anfangsbedingungen für die Simulation Anfangsbedingungen sind oft nötig, damit die Bestimmung des Arbeitspunktes erfolgreich ist, oder um die Simulationszeiten zu verringern. Sie lassen sich auf zweierlei Art angeben: als Zustand an einem Knoten oder als Zustand einer Komponente. In beiden Fällen muß PSPICE jedoch mitgeteilt werden, daß Anfangsbedingungen berücksichtigt werden sollen. Dazu muß das ORDER-Attribut des Instrumentes OSCILLOSCOPE erweitert und ein weiteres Attribut hinzugefügt werden: ORDER=TSTEP$ TFINAL$ INIT$ INIT=UIC Durch INIT= (kein Argument) wird wieder eine Simulation ohne Anfangsbedingungen eingestellt. Das geänderte Instrument sollte man unter einem anderen Namen abspeichern. Das Schlüsselwort UIC (Use Initial Conditions) veranlaßt SPICE, die Anfangsbedingungen in der Schaltung zu verwenden. 4.6.1. Anfangsbedingungen über einzelne Komponenten Wieder müssen zwei Änderungen vorgenommen werden: Das ORDER-Attribut wird um IC= erweitert, und ein Attribut IC wird z.B. so hinzugefügt: IC=0V. Bei Kondensatoren wird eine Spannung, bei Spulen ein Strom angegeben. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 34 Analogsimulation mit Workview und PSPICE 4.6.1.1. Beispiel: Anfangsbedingung am Kondensator Abb. 15: 0V Anfangsbedingung am Kondensator Die resultierende CIR-Datei sieht dann so aus: * Project IC2 * WorkVIEW Wirelist Created with Version 3.11 V2 N8 0 DC 15V R1 N8 VAUSGANG 15K C1 VAUSGANG 0 15PF IC=0V .TRAN 0.25NS 100NS UIC .PROBE/CSDF * DICTIONARY 2 * $1N8 = N8 * GND = 0 .PRINT TRAN V([VAUSGANG]) .END 4.6.2. Anfangsbedingungen an Knoten Ähnlich sind die Änderungen beim Knoten: hier werden zwei Attribute hinzugefügt, es muß jedoch selbstverständlich kein ORDER-Attribut geändert werden: LABEL=VAusgang IC=0V Es handelt sich also um ein Label für den Knoten und um ein Attribut für die Anfangsbedingung, wobei das Label nicht zwingend ist. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 35 Analogsimulation mit Workview und PSPICE 4.6.2.1. Beispiel: Anfangsbedingung am Knoten Abb. 16: 0V Anfangsbedingung am Knoten Vausgang Die resultierende CIR-Datei sieht folgerichtig so aus: * Project IC1 * WorkVIEW Wirelist Created with Version 3.11 V2 N8 0 DC 15V R1 N8 VAUSGANG 15K C1 VAUSGANG 0 15PF .TRAN 0.25NS 100NS UIC .PROBE/CSDF .IC V([VAUSGANG])=0V * DICTIONARY 2 * $1N8 = N8 * GND = 0 .PRINT TRAN V([VAUSGANG]) .END © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 36 Analogsimulation mit Workview und PSPICE 5. Auswertung der Simulationsergebnisse: ein Beispiel Die Ergebnisse der Simulation werden von SPICE auf zwei Formaten geliefert: das TXT- und das OUT-Format13. Das OUT-Format benötigt man nur zur Auswertung von SPICEFehlermeldungen und einiger SPICE-Analysen, die nicht mit VIEWtrace ausgewertet werden können (Arbeitspunkt, Sensitivity-Liste, Worst-Case-, Monte Carlo-, ÜbertragungsfunktionsAnalysen usw.). Für alle Auswertungen der Schaltungen im Zeit- und Frequenzbereich sollte das TXT-Format benutzt werden (es wird durch das CSDF-Instrument gewählt), um die Signale mit VIEWtrace grafisch darzustellen und auszuwerten. Bei der Auswertung mit VIEWtrace läßt sich die Schaltung außerdem zu verschiedenen Zeitpunkten per Backannotation der Spannungen in den Schaltplan untersuchen. 5.1. Vorbereitung einer Schaltung zur Analogsimulation Der Schaltplan stellt bei der Simulation nicht nur die eigentliche Schaltung dar, sondern den gesamten "Versuchsaufbau". Er vereint die Signalquellen, die Meßinstrumente und die Meßpunkte und -leitungen. Zudem wird im Schaltplan definiert, welche Bauteile in welcher Modellierung verwendet werden, und welche Eigenschaften sie dabei haben sollen. Aus dieser Aufzählung ergibt sich die folgende Checkliste für die analoge Simulation: ❍ Eingabe der kompletten Testschaltung, mit allen Nennwerten für die Bauteile. ❍ Falls nötig, Angabe der entsprechenden Modelle und Parametrisierungen durch Bauteile-Attribute per Dialog All oder Dialog Spice. ❍ Angabe der Signalquellen mit allen Parametern. ❍ Vergabe von Labels für alle interessanten Signale. ❍ Plazierung von Meßpunkten (PROBEs) an wichtige Signale. 13Vgl. "3.1. Der Informationsfluß", S. 6 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 37 Analogsimulation mit Workview und PSPICE ❍ Hinzufügen des CSDF- oder CSDFPINS-Symbols für die Generierung des TXT-Formates14 (versehen mit den Netzen und Labels der festzuhaltenden Signale). ❍ Wahl eines Symbols für die gewünschte Analyse: O'SCOPE für die Transientenanalyse, oder BODEPLOT, oder andere15, versehen mit den Simulationsparametern. ❍ Angabe zusätzlicher Libraries für die Simulation durch LIB-Symbole16 Ein Beispiel für einen Schaltplan ist die Abb. 1717: Abb. 17: Ein NF-Verstärker mit den Instrumenten zur Simulation In den folgenden Abschnitten werden mit SPICE und VIEWtrace mögliche Auswertungen anhand dieser Schaltung durchgeführt. 14Vgl. "TXT: CSDF Output", S. 5 15Vgl. die Kurzübersicht über die Instrumente S. 10 16Vgl. "4.3.3.1. Ein Library-Symbol", S. 14 17Aus [4] S. 54 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 38 Analogsimulation mit Workview und PSPICE 5.2. Simulatoraufruf Der normale Simulatoraufruf geschieht über das Menü durch SIM PSPICE. Workview prüft den Schaltplan auf Korrektheit und erzeugt eine CIR-Datei. Diese Datei wird an PSPICE durch einen Aufruf der Batchdatei PSPICE.BAT mit der CIR-Datei als Argument übergeben. PSPICE gibt die Ergebnisse in den Dateien OUT und TXT aus. Beide Dateiarten können mit VIEWtrace ausgewertet werden, jedoch ist das TXT-Format viel günstiger. Falls hierarchische Netzlisten erzeugt werden sollen, muß die Netzlistengenerierung getrennt von der Simulation gestartet werden. Werden hierarchische Schaltungen oft simuliert, dann sollte man anhand des Simulatoraufrufs für flache Netzlisten einen weiteren Menüpunkt für hierarchische Netzlisten anlegen18. 5.3. Signaldarstellung mit VIEWtrace Bei einer Simulation der Schaltung mit dem CSDF-Instrument, aber ohne PROBEs (wie in Abb. 17), werden alle anfallenden Signale mit einer linearen Achsenteilung dargestellt. Das gilt auch für die Signale, die eventuell in Subcircuits anfallen. Wie zu erkennen ist, führt dies schnell zu einem unübersichtlichen Bild. Abb. 18: VIEWtrace direkt nach Laden der Simulationsergebnisse 18Der Aufruf ist genauer beschrieben auf Seite 21 im Kapitel "4.4.2. Hierarchische Netzliste (Subcircuits)" © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 39 Analogsimulation mit Workview und PSPICE Auf dem Computermonitor sind die Signale zusätzlich farblich unterschieden, und damit ist das Diagramm leichter auszuwerten. Es stehen jedoch nur relativ wenige, sich mehrfach wiederholende Farben zur Verfügung, so daß man die unwichtigen Signale ausblenden sollte. Eine Verbesserungsmöglichkeit ist die Menüoption SIGNALS HIDE, die alle markierten Signale unterdrückt, eine andere ist eine benutzerdefinierte Farbmarkierung der Signale, die über das Menü SIGNALS COLOR erzielbar ist. 5.3.1. Signale ein- und ausblenden Mit der Maus können durch Klicken mit der linken Taste einzelne Signale selektiert werden, durch ein zweites Klicken werden sie deselektiert. Bei vielen Signalen sollte man jedoch Tastaturkommandos nutzen: Im folgenden Bild wurden mit dem Tastaturkommando SELECT * zuerst alle Signale selektiert, danach mit HIDE vom Schirm entfernt. Mit dem Auswahlmenü des Befehls SIGNALS SHOW wurden die interessierenden Signale anschließend wieder aktiviert. Abb. 19: Die uninteressanten Signale sind ausgeblendet Übungsvorschlag 7: Simulieren Sie die Schaltung NFSTUFEB. Öffnen Sie das VIEWtrace-Fenster. Unterdrücken Sie alle Signale bis auf Ug, Ue und Ua. Vergleichen Sie Ihr Ergebnis mit Abb.19. Sie können mit den danach vorliegenden VIEWdraw- und VIEWtrace-Fenstern die folgenden Ausführungen nachvollziehen. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 40 Analogsimulation mit Workview und PSPICE 5.3.2. Signalselektion im Schaltplan per PROBE Wenn schon vor der Simulation klar ist, welche Signale beim Start von VIEWtrace sichtbar sein sollen, dann sollten an den interessierenden Netzen Probes installiert werden. Dies kann man auch als Trick verwenden, um den Bildschirmaufbau beim Start von VIEWtrace mit vielen Signalen und langen Simulationen deutlich zu verkürzen: Man läßt anfangs ein einziges Signal darstellen, indem man in der Schaltung ein PROBE installiert, und selektiert erst nach dem Start von VIEWtrace die weiteren interessierenden Signale. Dies empfiehlt sich besonders dann, wenn die Schaltung durch zu viele PROBEs unübersichtlich würde, man aber die Zahl der aufzuzeichnenden Signale nicht von vornherein beschränken möchte. 5.3.3. Signalselektion im Schaltplan mittels CSDFPINS Bei komplexeren Schaltungen kann die Simulationszeit, und die Zeit, die benötigt wird, um die Ergebnisse in VIEWtrace einzulesen, und damit die Dateigröße der TXT- und OUTDateien, so stark anwachsen, daß sinnvolles Arbeiten schwer möglich ist. In diesem Fall sollte man sich ein CSDF-Symbol mit ausreichender Zahl von Pins generieren19, nur die interessierenden Netze anschließen, und auf diese Weise die Menge der Simulationsdaten direkt reduzieren. Der Nachteil der Lösung liegt darin, daß unter Umständen interessante Simulationsdaten fehlen, und die Simulation nach Änderung des Schaltplans nochmals gestartet werden muß, um diese Signale zu gewinnen. Im Gegensatz zur eben angesprochenen HIDE/SHOW-Lösung in VIEWtrace wurden sie ja gar nicht aufgezeichnet. 5.3.4. Verschiedenene Achsen-Skalierungen Eine lineare Skala ist für die Frequenzgangmessung nicht sinnvoll; VIEWtrace stellt deshalb unterschiedliche Achsenskalierungen und Darstellungen der Skalenwerte zur Verfügung. Als erstes Beispiel sei in Abb. 20 eine der logarithmischen Skalen angeführt: 19Vgl. Abschnitt "4.3.3.2. Das geänderte CSDF-Symbol CSDFPINS", S. 15 © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 41 Analogsimulation mit Workview und PSPICE Abb. 20: y-Achse in dB-Skala geändert Man muß dazu die betreffende Achse markieren und mit AXIS TYPE die entsprechende Skalierung einstellen. Hier sind noch ein paar Beispiele: Abb. 21: Darstellung der Phasenverschiebung durch Abb. 22: Darstellung der Achsendarstellung in Radiant (Bogenmaß) Imaginärteile 5.3.5. Weitere Achsen-Einstellungen Im Axis - Menü existieren weitere Einstellungen, von denen nur noch ein weiteres Beispiel gezeigt werden soll: Die Wahl der Variablen für die x-Achse. Nach einer Transienten-Analyse (INSTRUMENT O'SCOPE) ist die Zeit als x-Achse eingestellt. Mit Axis X-Variable läßt sich jedoch jedes Signal anwählen. In der Abb. 23 ist © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 42 Analogsimulation mit Workview und PSPICE zur Anzeige der Linearität des Verstärkers UA über UG aufgetragen. Wie zu sehen ist, kann man ab ca. 30-50 mVss nicht mehr von linearem Verhalten sprechen. Abb. 23: Ug statt Zeit als x-Achse Das Achsen-Menü bietet viele weitere Möglichkeiten, unter anderem: ❍ Achsen lassen sich hinzufügen, indem die Signale für die neue Achse markiert werden und Axis Add aufgerufen wird. Ströme und Spannungen werden automatisch auf zwei Achsen verteilt, aber es lassen sich weitere Achsen mit jeweils eigenen Einstellungen für Notation, Typ, Beschriftung und Plazierung einführen. Split dupliziert die markierte Achse, Remove entfernt die markierte(n) Achse(n). ❍ Notation gibt das Zahlenformat für die Achse an. ❍ Label ermöglicht die Änderung der Beschriftung. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 43 Analogsimulation mit Workview und PSPICE 5.4. Weitere Messungen und Analysen Die dargestellten Signale lassen sich genau vermessen, wie am Beispiel des 3dBVerstärkungsabfalls in Abb. 24 gezeigt:20 Abb. 24: Meßpunkte für 3dB-Punkt Messung Die aktuellen Meßdaten werden in der Info-Box angezeigt. Diese muß mit Measure Info_Box On eingeschaltet und mit Display Moveinfo an eine günstige Stelle verschoben werden. Mit Measure SnapMode kann der Marker unter anderem so eingestellt werden, daß er zum nächsten Gitterpunkt (Grid) oder dem nächsten Punkt des selektierten Signals (Closest) springt. Ein Referenzpunkt (Marker) wird auf folgende Weise gesetzt (in diesem Beispiel bei 1 kHz): Das interessierende Signal VUA wird markiert und der Marker mit Measure Set_mark bei 1 kHz positioniert. 20Die Info-Box besitzt auf dem Bildschirm einen schwarzen Hintergrund und ist gut ablesbar © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 44 Analogsimulation mit Workview und PSPICE Der Meßpunkt wird entsprechend mit Measure Set_point gesetzt. Durch fortwährendes Klicken mit der mittleren Maustaste zum Setzen des "Points", und durch Zoomen des fraglichen Bereiches mit der Taste F9 läßt sich die Stelle finden, wo der Abfall 3 dB beträgt; die Zeile delta=31.0897k , -3.007230 in der Info-Box der Abb. 24 gibt die gewünschten Werte an. Übungsvorschlag 8: Verwenden Sie dieselbe Schaltung wie in Übung 7, stellen Sie die y-Achse auf dB-Teilung und aktivieren Sie die Info-Box. Bestimmen Sie die beiden Grenzen des -3dBFrequenzganges, und lassen Sie sich damit die Bandbreite des Verstärkers anzeigen. TIP: Der Befehl Measure Exchange vertauscht Mark und Point . Stop! Wie lautet die Antwort? Lösungsvorschlag: Der gefundene -3 dB-Punkt wird mit Measure Exchange zum Referenzpunkt. Wenn der eine -3 dB-Punkt gefunden ist, läßt sich der zweite dadurch finden, daß man den zur Bandmitte spiegelbildlichen Punkt sucht, bis die Differenz zwischen beiden Punkten 0 dB beträgt. Dann gibt "delta" die Bandbreite und den Pegelunterschied 0 zwischen den Punkten an, Mark und Point die Bandgrenzen. Die Frequenzgang sollte ungefähr wie folgt sein: von 26,8 Hz bis 32 kHz bei -3 dB Abfall. 5.4.1. Messungen im Zeit- und Frequenzbereich Nachfolgend werden zusätzlich zu der Analyse aus Abb. 23 einige Messungen von Verzerrungen im Zeit- und Frequenzbereich vorgestellt. Dazu muß die Signalquelle von AC in SIN gewechselt werden. Die Meßfrequenz soll hier 1 kHz, die Amplitude 100 mV betragen21. Am Oszilloskop-Instrument wird die Zeitauflösung und die Zeitdauer angegeben. Die Auflösung bleibt auf dem Standardwert von 1µs, die Dauer sei 10ms. Probes sind an UG, UE und UA angeschlossen. 21Als Hinweis auf die eingeschränkte Gültigkeit der verwendeten Modelle können Sie die Schaltung mit 1 oder 2 V für das ss Eingangssignal UG simulieren und auf die Größe der Ausgangssignale achten. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 45 Analogsimulation mit Workview und PSPICE Abb. 25: Zeitbereich-Analyse: eine Sinusquelle mit Abb. 26: Zeitbereich-Analyse: das "Oszilloskop" mit Frequenz- und Amplitudenangabe der Angabe des Simulationsendes Wird nun nach der Simulation VIEWtrace gestartet, dann erscheint das Simulationsergebnis ähnlich wie auf einem Oszilloskop, nur daß es sich jetzt auf viele Arten auswerten läßt22: Abb. 27: Zeitbereich: 1 kHz Meßfrequenz Weitere Signale lassen sich mit Signal Show / Hide ein- und ausblenden und mit den Zoomfunktionen vergrößern. Die Simulationspunkte werden mit Display Symbols On eingeblendet und mit Signals Symbol kann für die markierten Signale die Form des Simulationspunkt-Markers festgelegt werden. 22Die Schaltung befindet sich in der Datei NFSTUFE © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 46 Analogsimulation mit Workview und PSPICE 5.4.2. Backannotation von Spannungen Sobald man mit Measure Set_point einen bestimmten Zeitpunkt markiert hat, lassen sich die Spannungswerte gegen GND in den Schaltplan zurückübertragen. Das Vorgehen besteht aus folgenden Schritten: ❍ Marker auf den gewünschten Zeitpunkt setzten. Es ist dabei egal, welches Signal markiert ist, da alle angezeigten Signale übertragen werden. ❍ Mit dem Befehl Measure To_Sch werden die Daten in eine VAL-Datei übertragen ❍ Das Schaltplanfenster (VIEWdraw) aktivieren ❍ Werte mit Sim Values PSpice aus der VAL-Datei eintragen lassen. Abb. 28: Backannotation Möchte man Genaueres über die in Abb. 2723 deutlich sichtbaren Verzerrungen erfahren, dann empfiehlt sich die Fourier-Analyse. Neben der PSPICE-Fourieranalyse24, die ihre Ergebnisse in Textform in die OUT-Datei schreibt, bietet VIEWtrace eine FFT aller simulierten Signale. Der Befehl dazu lautet CALC XFORM FFT und liefert ein weiteres VIEWtrace-Fenster. 23Die Werte sind auf dem Bildschirm problemlos zu erkennen, hier im Plot gibt es Überschneidungen mit anderen Zeichnungsobjekten. 24Per ADD INSTRUMENT FOURIER im Schaltplan © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 47 Analogsimulation mit Workview und PSPICE Abb. 29: FFT der Verzerrungen bei 1 kHz - mit Abb. 30: FFT der Verzerrungen bei 1 kHz- mit interpolierten Linien Meßpunkten (Ausschnitt) Die automatische Interpolation der Linien zwischen den Meßpunkten sollte man mit DISPLAY LINE Off ausschalten, da man es ja mit Linienspektren zu tun hat, wie in der Abbildung 30 gezeigt. 5.4.3. 5.4.3.1. Überblick über weitere Funktionen Mathematische Umformungen VIEWtrace kann benutzt werden, um Signale einer Vielzahl von arithmetischen Operationen zu unterwerfen. Das oder die Signale werden zu diesem Zweck markiert und mit Calc weiterverarbeitet. Einfache Operationen erscheinen im Calc-Menü, z.B. die Grundrechenarten, Offset-Addition und Subtraktion, Verstärkung und Abschwächung eines Signals. Komplexere Funktionen finden sich unter Calc Special, mit trigonometrischen, hyperbolischen, exponentiellen, komplexen, statistischen, Bessel- , und weiteren Funktionen. Übungsvorschlag 9: Die Schaltung NFSTUFEX wird betrachtet. Berechnen Sie aus Strom und Spannung am Lastwiderstand RL die abgegebene Ausgangsleistung. Berechnen Sie daraus den zeitlichen Mittelwert (RMS). Stop! Wie lautet die Antwort? © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 48 Analogsimulation mit Workview und PSPICE Lösungsvorschlag: Nach Simulation und Start von VIEWtrace werden alle Signale bis auf UA und I[RL] ausgeblendet. Beide Signale werden markiert und mit CALC * multipliziert. Mit HIDE werden die Ausgangssignale unterdrückt, und mit F10 die Leistungskurve gezoomt. Sie wird markiert und mit CALC SPECIAL RMS der zeitliche Mittelwert berechnet. Mit MEASURE VALUES ON lassen sich die Meßwerte anzeigen, mit AXIS LABEL könnte man die AchsenBeschriftungen korrigieren: Watt statt Volt als Einheit. Abb. 31: Leistung am Widerstand RL bis t=3ms durchschnittlich 241µ µW 5.4.3.2. Bildgestaltung Im Menü Display Widths lassen sich die Breiten der einzelnen Bildregionen variieren und Meßwerte sichtbar machen, Display Precision ändert die angezeigte Stellenzahl, Zoom entspricht den Zoomfunktionen, die auch schon über die Funktionstasten möglich sind. Die Werte für alle Signale an der Marker-Position lassen sich mit Measure Values On sichtbar machen. 5.4.3.3. Signale abspeichern, weiterverwerten File Write ermöglicht es, die aktuellen Signale, also auch durch Berechnungen entstandene Signale, in verschiedenen Formaten zu speichern: GEN VIEWlogic-Format, um den aktuellen Stand für später zu sichern. CSDF CSDF-Format. PWL Piecewise linear-Format, kann mit einer PWL-Quelle im Schaltplan in eine Schaltung wieder eingespeist werden. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 49 Analogsimulation mit Workview und PSPICE 6. Anhang 6.1. BASIC-Programm zur Erzeugung einer PWL-Datei 'Author: Robert Henke ' FhG Erlangen, ICD ' Date: 21. 8. 1991 ' ' This is a BASIC program to simulate an incomming call on a ' telephone line. ' DEFDBL T, V 'For Time and voltage TimeStart# = 0 TimeEnd# = 30 Timesteps% = 3000 TimeStepped% = 0 Frequency# = 25 RingFrequency# = 1 RingRatio# = .5 DCVoltage# = 60 RingVoltage# = 120 DialFrequency# = 10 DialNumber# = 10 DialRatio# = .67 'resolution 'Timesteps passed '25 Hz ring signal 'Ring frequency 'On-Time / Off-Time '60 volts telephone supply 'Peak to Peak 'Frequency of the dial pulses 'Number after the *real* phone number 'On / Off time# = 0 PhoneVoltage# = 0 RingOn# = 0 'Resulting Voltage OPEN "Telsig.pwl" FOR OUTPUT ACCESS WRITE AS #1 'Generate this file PRINT #1, 'First line in blank RingVoltage# = RingVoltage# / 2 'We need only VSS/2 WHILE TimeStepped% <= Timesteps% ' First, generate the ring signal IF (time# - FIX(time# * RingFrequency#) / RingFrequency#) < RingRatio# THEN RingOn# = RingVoltage# * SIN(time# * Frequency#) ' Ring voltage is on ELSE RingOn# = 0 ' Ring voltage is off END IF REM PRINT "Ringon:", RingOn# ' Then, add the dial pulses IF ((time# - FIX(time# * DialFrequency#) / DialFrequency#) < DialRatio# / DialFrequency#) AND (time# < DialNumber# / DialFrequency#) THEN PhoneVoltage# = 0 ELSE PhoneVoltage# = DCVoltage# + RingOn# END IF PRINT #1, "+ "; time#; " "; PhoneVoltage# TimeStepped% = TimeStepped% + 1 time# = ((TimeEnd# - TimeStart#) / Timesteps%) * TimeStepped% WEND © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 50 Analogsimulation mit Workview und PSPICE 6.2. Verbessertes NAUI Menü für VIEWdraw Die NAUI-Menüs, die als Analogstandard bei Workview mitgeliefert werden, haben einige Nachteile: ❍ Sie sind von der Systematik der Befehle anders als die Standard-Menüs für Digitalentwicklungen. ❍ Sie sind unbequem in der Handhabung, da sie aus vielen kurzen, tief verschachtelten Menüs bestehen. ❍ Die einzelnen Befehle in den Menüs sind weder dem Sinne nach, noch sonst irgendwie nach einer erkennbaren Logik angeordnet. In Workview lassen sich die Menüs problemlos neu definieren, man könnte sie sogar ins Deutsche übersetzen; dann allerdings wären die Handbücher und Tutorials und die bisherigen Lehrgänge nur noch mit Mühe für die neuen Menüs verwendbar. Ich habe mich deshalb zu einem Kompromiß für das wichtigste und bei weitem komplexeste Menü, das VIEWdraw-Menü, entschlossen. Die Terminologie der englischen Unterlagen bleibt erhalten, die Bedienung wird jedoch erleichtert: ❍ Die Menüs wurden zusammengefaßt, somit weniger tief verschachtelt (meist statt dreier nur zwei Ebenen). ❍ In den Menüs wurden die Befehle alphabetisch angeordnet, sie sind somit leichter, bzw. schneller zu lernen und aufzufinden. Ein Listing des verbesserten VIEWdraw-Menüsystems findet sich in [1] und auf der Begleitdiskette. © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 51 Analogsimulation mit Workview und PSPICE 7. Literaturverzeichnis [1] Henke, Robert Schaltungsentwurf mit VIEWlogic: Erstellung eines Praktikums Studienarbeit Lehrstuhl und Laboratorium für technische Elektronik, Prof. Dr.-Ing. D. Seitzer, 1992 [2] Paul, R. Clayton Analysis of Linear Circuits McGraw Hill Book Co. Singapore, New York 1989 [3] PSpice Circuit Analysis Version 4.04, July 1990, MicroSim Corporation, 20 Fairbanks, Irvine, California 92718, USA [4] Tietze, Ulrich, Schenk, Christoph Halbleiter-Schaltungstechnik Springer-Verlag Berlin 81986 [5] Workview Analog User's Guide For use with Workview 4.1 Version B, May 1991 VIEWlogic Systems Inc., 293 Boston Post Road West, Marlboro, Massachusetts 01752, USA [6] Workview Analog Design Analysis Course VIEWlogic Customer Training Group VIEWlogic Systems Inc., 293 Boston Post Road West, Marlboro, Massachusetts 01752, USA [7] Workview Analog Tutorial Version A, Workview Release 4.0, December 1989 VIEWlogic Systems Inc., 313 Boston Post Road West, Marlboro, Massachusetts 01752, USA [8] Workview Series I, Volume 1-7 For use with Workview 4.0, Version A, December 1989 VIEWlogic Systems Inc., 313 Boston Post Road West, Marlboro, Massachusetts 01752, USA © 1992, Fraunhofer Gesellschaft, Institut für Integrierte Schaltungen 52