Altium Spice Simulation - Globale Parameter
Der in Altium Designer integrierte Simulator verwendet zur Beschreibung analoger Bauteile die Standard SPICE-Syntax. Neben dem Altium Tutorial TU0113 "Simulation Models and Analyses Reference" kann somit auch andere verfügbare Literatur zur Simulation mit Spice herangezogen werden.
Abkürzungen von Bauelementen:
R = Widerstand; C = Kondensator;
L = Spule; D = Diode; Q = Transistor.
Einheiten:
giga | = | G | = | g | = | 1E9 |
mega | = | Meg | = | meg | = | 1E6 |
kilo | = | K | = | k | = | 1E3 |
mili | = | M | = | m | = | 1E-3 |
mikro | = | U | = | u | = | 1E-6 |
nano | = | N | = | n | = | 1E-9 |
piko | = | P | = | p | = | 1E-12 |
Bei Altium wie auch bei Spice ist es dabei egal ob man die Einheiten Klein- Großschreibung oder gemischte Groß- und Kleinschreibung verwendet.
Beachten sollte man jedoch das Ziffern nach der Einheit, oder auch allen anderen nicht- Ziffern Eingaben verworfen werden.
Ebenso hier noch mal der Hinweis einen Punkt statt des Kommas zu verwenden.
Wird im Schaltbild anstatt einer Wertangabe eine Variable {VariableNamen} geschrieben,
und diese dann im Analyse Setup als GlobaleVariable aufgeführt, kann diese dann auch bei Parameter Sweep verändert werden.
Advanced Options
Dadurch können spezielle Aspekte einer Simulation (z.B. Iterationen-Limite, Temperatur, Durchlaufverzögerungszeiten, Parallelresistanzen usw.) gesteuert werden.
Es handelt sich dabei um Einstellungen, die nur fortgeschrittene Benutzer ändern sollten.
Will sagen: Hier möglichst keine Parameter verändern, oder aber die alte Einstellung merken!
Was meistens geholfen hat, wenn bei der Simulation Konvergenzprobleme auftreten war den Wert für ITL4: "Max transient analysis timepoint iterations" auf 40 zu vergrössern.
So, ich mach jetzt mal einen auf schlau ;-) bzw. der Vollständigkeit halber. -
Die meisten Variablen der nachfolgenden Auflistung, mit ihrer Beschreibung der Funktion, habe ich aber nur abgeschrieben und verstehe sie auch nicht im Detail.
- ABSTOL - bestimmt die absolute Strom-Fehlertoleranz des Programms. Setzen Sie ABSTOL=RELTOL* (niedrigste Strom- Größenordnung in der Schaltung). Vorgabe = 1 Picoampere
- CHGTOL - setzt eine untere Grenze für Ladung bzw. Flux in Kondensatoren / Spulen für den LTE-Zeitschritt-Steueralgorithmus. Vorgabe = 1.0e-14 Coulomb
- DEFAD - setzt die MOS-Drain-Diffusionsfläche. Vorgabe = 0.0 m2.
- DEFAS - setzt die MOS-Source-Diffusionsfläche. Vorgabe = 0.0 m2
- DEFL - setzt die MOS-Kanallänge. Vorgabe = 100.0 Mikrometer.
- DEFW - setzt die MOS-Kanalbreite. Vorgabe = 100.0 Mikrometer.
- GMIN - setzt die minimale Konduktanz (maximale Resistanz) irgend einer Komponente in der Schaltung. Gibt auch den Wert der Konduktanz, die parallel zu jedem PN-Übergang in der Schaltung gesetzt wird. Vorgabe = 1.0e- 12 S (mho). N.B.: Ein höherer Wert hier mag bezüglich Simulations- Konvergenz helfen, aber auch die Genauigkeit verringern.
- ITL1 - setzt die Anzahl Iterationen für die Arbeitspunkt-Analyse. Vorgabe = 100. -> Muss für manche Schaltung eventuell auf bis zu 500 erhöht werden.
- ITL2 - setzt die Anzahl Iterationen für die DC-Durchlaufanalyse. Vorgabe = 50. -> Muss für einige Schaltungen eventuell auf bis zu 200 erhöht werden.
- ITL3 - setzt die untere Iterationen-Limite für die Transientenanlyse. Vorgabe = 4. -> Gilt nicht für SPICE3. Nur für Netzlisten-Kompatibilität mit SPICE2.
- ITL4 - setzt die Anzahl Zeitpunkte-Iterationen der Transientenanalyse. Vorgabe = 10. -> Erhöhung dieses Werts auf 100 oder mehr kann den Fehler "timestep too small" verhindern. Verbessert auch Konvergenz und Schnelligkeit.
- ITL5 - setzt die Gesamtzahl Iterationen in der Transientenanalyse. Vorgabe = 5000, wird für SPICE3 nicht benützt und ist nur noch für die Netzlisten-Kompatibilität mit SPICE2 erforderlich.
- PIVREL - setzt das relative Verhältnis zwischen dem grössten Kolonnen-Eintrag in der Matrix und einem akzeptablen Drehwert. Der Wert muss zwischen 0 and 1 liegen. Vorgabe = 1.0e-3. Im numerischen Dreh-Algorithmus ist der erlaubte minimale Drehwert gegeben durch EPSREL=AMAX1(PIVREL*MAXVAL,PIVTOL) wobei MAXVAL das grösste Element in derjenigen Kolonne ist, in welchem ein Drehpunkt gesucht wird (partielle Drehung).
- PIVTOL - setzt den absoluten Maximalwert für einen Matrix-Eintrag, der als Drehwert akzeptabel ist. Vorgabe = 1.0e-13.
- RELTOL - setzt die relative Fehlertoleranz des Programms. Der Wert muss zwischen 0 und 1 liegen. Vorgegeben ist 0.001 (0.1%). Höhere Werte beschleunigen die Simulation, führen aber zu geringerer Genauigkeit.
- TEMP - setzt die effektive Betriebstemperatur der Schaltung.
- TNOM - bewirkt eine Änderung der Simulations-Resultate. Vorgabe = 27°C. Die generelle TEMP-Angabe, kann für einzelne temperaturabhängige Teile mit deren eigener Temperaturspezifikation ausser Kraft gesetzt werden. TNOM setzt die Nenn-Temperatur, für welche die Bauteile Modelle modelliert worden sind. Vorgabe = 27°C. -> TNOM kann durch eine Temperaturangabe in einem temperaturabhängigen Modell für dieses außer Kraft gesetzt werden.
- TRTOL - wird im LTE-Zeitschritt-Algorithmus benutzt. Abschätzung des Faktors, um den SPICE den effektiven Rundungsfehler überbewertet. Vorgabe = 7.0.
- VNTOL - bestimmt die absolute Spannungs-Fehlertoleranz des Programms. -> VNTOL= RELTOL* (Kleinste Spannungs-Grössenordnung in Schaltung). Vorgabe = 1 Mikrovolt.
- BOOLL - den "Low"-Augangspegel eines Bool'schen Ausdrucks. Vorgabe=0.0V.
- BOOLH - setzt den "High"-Augangspegel eines Bool'schen Ausdrucks. Vorgabe=4.5V.
- BOOLT - setzt den Eingangs-Schwellwert eines Bool'schen Ausdrucks. Vorgabe=1.5V.
- BADMOS3 - benutzt die ältere Version des MOS3-Modells mit der 'Kappa'-Diskontinuität. Vorgabe = NO (die ältere Version nicht benutzen).
- KEEPOPINFO - benutzt für die AC-Analyse die vorher gewonnene Arbeitspunkt-Information. Vor allem nützlich, wenn Sie bei einer grossen Schaltung keinen redundanten Arbeitspunkt-Analysedurchlauf wünschen. Vorgabe = NO (immerArbeitspunkt-Analyse).
- TRYTOCOMPACT - für das LTRA-Modell anwendbar. Wenn aktiviert, versucht der Simulator die Eingangs-Spannungs/Strom-Vorgeschichte der Transmissionsleitung LTRA zu verdichten. Vorgabe = NO (nicht verdichten).
- NOOPITER - Arbeitspunkt-Iterationen auslassen und direkt zum GMIN-Anstieg-Algorithmus übergehen. Vorgabe = NO (nicht auslassen).
- GMINSTEP - setzt die Anzahl Schritte im GMIN-Anstieg-Algorithmus. Wenn auf 0 gesetzt ist der GMIN-Anstieg ausgeschaltet. Dann ist der Quellenanstieg der vorgegebene DC-Konvergenz-Algorithmus des Simulators. Vorgabe = 10 Schritte.
- SRCSTEP - setzt die Anzahl Schritte im Quellenanstieg-Algorithmus für den DC- (Arbeitspunkt-) Konvergenz-Algorithmus. Vorgabe = 10 Schritte.
- ACCT - die Anzeige von rückblickenden und aktuellen statistischen Daten. Vorgabe = NO (keine Anzeige).
- LIST - Zeigt eine vollständige Liste aller Elemente in der Schaltung einschliesslich ihrer Konnektivität und ihrer Werte. Vorgabe = NO (keine Liste).
- OPTS - zeigt eine Liste der Parameter-Einstellungen für alle Optionen im Standard-PSPICE3. Vorgabe = NO (keine Liste).
- BYPASS - aktiviert das "Device Bypass Scheme" des Simulators für die Evaluation nicht linearer Modelle. Vorgabe = 1 (eingeschaltet).
- MINBREAK - die Minimalzeit zwischen "Breakpoints". Vorgabe = 0 Sekunden (die Zeit wird automatisch gesetzt).
- MAXOPALTER - setzt die maximale Anzahl Analog/Ereignis-Wechsel für die DC- (Arbeitspunkt-) Konvergenz. Vorgabe = 0.
- MAXEVTITER - setzt die maximale Anzahl Ereignis-Iterationen für die DC- (Arbeitspunkt-) Konvergenz. Vorgabe = 0.
- NOOPALTER - aktiviert den DC- (Arbeitspunkt-) Abwechslungsvorgang. Vorgabe = NO.
- RAMPTIME - steuert die Anstiegzeit unabhängiger Quellen sowie bei Kondensatoren und Spulen den erstmaligen Anstieg von 0 auf ihren Endwert während der hier spezifizierten Dauer. Vorgabe = 0.0 Sekunden.
- CONVLIMIT - Schaltet den in einigen eingebauten Bauteil-Modellen benutzten Konvergenz- Algorithmus aus. Vorgabe = NO (bleibt aktiv).
- CONVSTEP - setzt die Limite für die bei "Code Model"-Eingängen zum Erzielen von DC- (Arbeitspunkt-) Konvergenz benutzte relative Schrittgrösse. Vorgabe = 0.25.
- CONVABSSTEP - setzt die Limite für die bei "Code Model"-Eingängen zum Erzielen von DC- (Arbeitspunkt-) Konvergenz benutzte absolute Schrittgrösse. Vorgabe = 0.1.
- AUTOPARTIAL - die automatische Berechnung von partiellen Herleitungen für XSPICE-Codemodule. Vorgabe = NO.
- PROPMNS - setzt den zur Bestimmung der minimalen Durchlaufverzögerungszeit benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halber typischer Wert).
- PROPMXS - setzt den zur Bestimmung der maximalen Durchlaufverzögerungszeit benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 1.5 (anderthalbfacher typischer Wert).
- TRANMNS - setzt den zur Bestimmung der minimalen Übertragungszeit benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halber typischer Wert).Setzt den zur Bestimmung der minimalen Übertragungszeit benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halber typischer Wert).
- TRANMXS - setzt den zur Bestimmung der maximalen Übertragungszeit benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 1.5 (anderthalbfacher typischer Wert).
- LOADMNS - setzt den zur Bestimmung des minimalen Eingangs-Lastfaktors benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 1.5 (anderthalbfache typische Eingangsresistanz).
- LOADMXS - setzt den zur Bestimmung des maximalen Eingangs-Lastfaktors benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halbe typische Eingangsresistanz).
- DRIVEMNS - setzt den zur Bestimmung des minimalen Ausgangs-Lastfaktors benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 1.5 (anderthalbfache typische Ausgangsresistanz).
- DRIVEMXS - setzt den zur Bestimmung des maximalen Eingangs-Lastfaktors benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halbe typische Ausgangsresistanz).
- CURRENTMNS - setzt den zur Bestimmung des minimalen Speisestroms benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 1.5 (anderthalbfacher typischer Innenwiderstand).
- CURRENTMXS - setzt den zur Bestimmung des maximalen Speisestroms benutzten Skalierungsfaktor, wenn der effektive Wert im SimCode-Modell nicht angegeben ist. Vorgabe = 0.5 (halber typischer Innenwiderstand).
- TPMNTYMX - überschreibt vorübergehend den "Propagation Delay Index" sämtlicher SimCode-Bauteile (0=Vorgabe, 1=min, 2=typ, 3=max). Vorgabe = 0.
- TTMNTYMX - überschreibt vorübergehend den "Transition Time Index" sämtlicher SimCode-Bauteile (0=Vorgabe, 1=min, 2=typ, 3=max). Vorgabe = 0.
- LDMNTYMX - überschreibt vorübergehend den "Input Loading Index" sämtlicher SimCode- Bauteile (0=Vorgabe, 1=min, 2=typ, 3=max). Vorgabe = 0.
- DRVMNTYMX - überschreibt vorübergehend den "Output Drive Capacity Index" sämtlicher SimCode-Bauteile (0=Vorgabe, 1=min, 2=typ, 3=max). Vorgabe = 0.
- IMNTYMX - überschreibt vorübergehend den "Supply Current Index" sämtlicher SimCode- Bauteile (0=Vorgabe, 1=min, 2=typ, 3=max). Vorgabe = 0.
- SIMWARN - ein von Null abweichender wert besagt, dass SimCode-Warnmeldungen während des Programm-Ablaufs angezeigt werden können. SimCode-Warnungen sind solche, die Timing-Verletzungen (tsetup, thold, trec, tw, etc) oder Unterspannung der Speisung melden. Vorgabe = 0.
- RSHUNT - Ohmwert der Parallelwiderstände, die zur Vermeidung von Fehlern wie "singular matrix" zwischen jedem Netzknoten und der Masse zugeschaltet sind. Im allgemeinen sollte für RSHUNT ein sehr hochohmiger Wert gewählt werden (1e+12). Vorgabe = 0 (keine Parallelwiderstände).
- ADCSTEP - Die benötigte minimale Schrittgrösse, damit ein Ereignis am Eingang eines der internen A/D-Konverter erkannt wird. Vorgabe = 0.01 Volt.