Re: Welches SPICE?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
68715.news.uni-berlin.de>:

Quoted text here. Click to load it

switchercad (linear.com) hat keine Limits, aber eine "Linear-lastige"
Bibliothek :-). Man kann aber auch andre Modelle verwenden und kommt
mit den paar Transistoren usw. die dabei sind schon gut aus.

M.

Re: Welches SPICE?
Quoted text here. Click to load it

Hallo Bernd,
die von Ben erwähnte PSPICE-Student Version ist beschrankt auf Schaltungen
mit <12% Transistoren oder 3 OpAmps. Wenn das reicht ist PSPICE sicherlich
interessant. Es wird auch an vielen Unis und FHs verwendet um den Umgang
mit Analogsimulationen zu lehren/lernen. Allerdings werden wohl später nur
die Entwickler in großen Firmen sich die sündhaft teure Vollversion kaufen
können.

Ich arbeite praktisch nur noch mit LTSPICE, da es fast alles kann
was PSPICE kann und zudem noch, mit Ausnahme digitaler ICs, auf Netzlisten-
ebene sehr kompatible zu PSPICE ist. LTSPICE ist kostenlos und
hat überhaupt keine Einschränkungen bezüglich Anzahl der Bauteile.

LTSPICE ist zusätzlich ideal für die Schaltnetzteilentwicklung mit
ICs von Linear Technology da es Modelle für deren Schaltregler-ICs enthält.

LTSPICE wird ständig weiterentwickelt/verbessert und auch Benutzer-
wünsche werden berücksichtigt.

Bauteile anderer Hersteller lassen sich leicht in LTSPICE einbinden
wenn man sich mal ein Beispiel(z.B. von mir) anschaut.

Ach ja, und mit Wine läuft es auch unter Unix; offiziell supported.


Für Leute die sich eine Vollversion kaufen können, gelten sicher
noch andere Kriterien, z.B. die Verfügbarkeit von besonderen
Bauteile-Bibliothen die man nicht von den Halbleiterhersteller bekommt.

Quoted text here. Click to load it
keine
den

Aus purer Neugier habe ich mir auch schon viele dieser Demoversionen
heruntergeladen. Viele haben total überladene Auswahlmenues in knalligen
Farben. Dagegen ist das übersichtliche Menue von LTSPICE gerade zu
eine Wohltat.

Quoted text here. Click to load it

Siehe oben.

Simulatoren
Probier mal Google mit:  spice overview simulator

SPICE wurde an einer Uni in den USA entwickelt. Aufbauend auf diesem
Source Code haben viele Firmen dann diese Software weiterentwickelt.
Man erkennt das daran, daß dort SPICE im Namen vorkommt, PSPICE, HSPICE
LTSPICE u.s.w. .
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE /

Der Originalcode enthält übrigens eine Unmenge Bugs und Speicher-Lecks
wie von Kennern berichtet wird. Ist eben typischer Akademiker Code,
geniale Algorythmen aber keine Ahnung/Zeit daraus ein zuverlässiges
Programm zu machen.

Ich gehe davon aus, daß du LTSPICE schon kennst, aber es gibt sicher
auch andere Leser dieser NG die gerne mal simulieren möchten und
eine Entscheidungshilfe suchen.
Ich empfehle das freie unlimitierte LTSPICE. Support dafür gibt es auch
und zwar hier in den NG, der YAHOO-LTSPICE group und auch direkt vom
Entwickler Mike Engelhardt falls man Bugs findet oder ein Feature wünscht.

Gruß
Helmut

Download:
www.linear.com/software

Die User Group:
http://groups.yahoo.com/group/LTspice /




Re: Welches SPICE?

|> Der Originalcode enthält übrigens eine Unmenge Bugs und Speicher-Lecks
|> wie von Kennern berichtet wird. Ist eben typischer Akademiker Code,
|> geniale Algorythmen aber keine Ahnung/Zeit daraus ein zuverlässiges
|> Programm zu machen.

Wusst gar nicht, dass auch Windows aus der Ecke kommt und geniale Algorithmen
hat ;-) Ich glaube eher, dass die Bugs durch die Portierung von Fortran nach C
reingekommen sind.

BTW: LTspice finde ich auch gut :-)

--
         Georg Acher, snipped-for-privacy@in.tum.de
         http://wwwbode.in.tum.de/~acher
We've slightly trimmed the long signature. Click to see the full one.
Re: Welches SPICE?
Quoted text here. Click to load it
Wobei noch zu ergänzen wäre:
* wurde von Studenten portiert die natürlich keine
  routinierten Programmierer und besonders keine routinierten
  C-Programmierer waren. Aber eben billig.
* die Fortran-Version der 70er Jahre war besser nicht weil
  Studenten damals besser Fortran konnten, sondern weil
  * damals mehr im Brennpunkt des akademischen Interesses und sich
    damit mehr und auch kompetente Leute engagierten.
  * die Industrie förderte. Weil Halbleiterhersteller sowas
    wollten.

MfG  JRD

Re: Welches SPICE?
Quoted text here. Click to load it

Um die Speicher-Lecks zu sehen muß man kein Experte sein. Schlimmer sind
aber die zahlreichen nicht initialisierten Pointer bzw. die verfrühte
oder falsche Speicherfreigabe. Vielleicht hat man ja deshalb den
garbage collector in ngspice mit eingebaut.

Der Berkley-Simulator wird in den Projekten ngspice und tclspice
(basierend auf ngspice mit tcl-bindings) immer mal wieder
weiterentwickelt (z.B Integration von XSpice,...).

mfg
werner
--
http://www.my-stuff.onlinehome.de

Re: Welches SPICE?
Bernd Maier schrieb:

[LTSpice]
Quoted text here. Click to load it

Das hat Helmut erst kürzlich ausführlich erklärt. Schau mal nach dem
Thread 'Frage zu LTSpice'.


Gruß Dieter

Re: Welches SPICE?
Quoted text here. Click to load it
richtige
"nett"
Quoted text here. Click to load it

Hallo Bernd,
es gibt keinen speziellen Library Editor. Man editiert zuerst mit dem
Symbol-Editor von LTSPICE die Symbole.
   File->New Symbol
oder falls man schon was ähnliches hat
   File->Open   Symbols(*.asy)
oder einfach mit der Maus den File name.asy auf LTSPICE schieben.
In die Symbole trägt man dann bei Subcircuits(X..) den Namen des
Library-Files ein.
Bei eingebauten Modellen (D, NPN, PNB, NJF, PJF, NMOS, PMOS)
muß man etwas anders vorgehen.

Es gibt dafür zwei Methoden:
Methode-1:
----------
Man fügt die Modelle einfach am Ende der entsprechenden
Original-Files ein. Diese befinden sich im Verzeichnis
C:\Programme\Ltc\SwCADIII\lib\cmp
Die Datei für Bipolar-Transistoren heißt z.B. Standard.bjt .
Also einfach den folgenden Text am Ende dieser Datei anhängen.
Das geht mit jedem Texteditor.

.MODEL BC107 NPN (
+ Is=1.16pA BF36%4 BR=4 Rb42%.6ohm Re10%.6ohm
+ Rc=4.26ohm Cjs0F% Cje36%.8pF Cjc10%.8pF Vje75%0mV
+ Vjc75%0mV Tf53%0ps Tr87%.4ns mje33%3m mjc33%3m
+ VA12%0V ISE42%.2pA IKF12%0mA Ne=2)
*
.model Q2N2222 NPN (
+ Is14%.34f Xti=3 Eg=1.11 Vaf74%.03 Bf25%5.9 Ne=1.307
+ Ise14%.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1
+ Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje22%.01p Mje=.377
+ Vje=.75 Tr46%.91n Tf41%1.1p Itf=.6 Vtf=1.7 Xtf=3 Rb10%)

LTSPICE muß danach neu gestartet werden falls es noch an war,
da diese Model-Dateien nur beim Start gelesen werden.
Jetzt addiert man im Schaltplan ganz normal einen npn-Transistor.
Danach Cursor über Transistor im Schalplan bewegen, dann
rechte Maustaste -> Pick new transistor .
In dem Auswahlmenue müßten jetzt am Ende die beiden hinzugefügten
Transistoren erscheinen.

Bei einem Internet-Update von LTSPICE beiben die angehängten Modelle
erhalten. Bei einer echten Neuinstallation sind sie allerdings weg.

Methode-2:
----------
Man packt die Modelle in einen File den man entweder in ein
Unterverzeichnis nach "C:\Programme\Ltc\SwCADIII\lib\sub"
oder in das selbe Verzeichnis wiré den Schaltplan(.asc) legt.
Beispiel:
Den folgenden Text in eine Datei nach
"C:\Programme\Ltc\SwCADIII\lib\sub\mybip.lib" packen.

.MODEL BC107 NPN (
+ Is=1.16pA BF36%4 BR=4 Rb42%.6ohm Re10%.6ohm
+ Rc=4.26ohm Cjs0F% Cje36%.8pF Cjc10%.8pF Vje75%0mV
+ Vjc75%0mV Tf53%0ps Tr87%.4ns mje33%3m mjc33%3m
+ VA12%0V ISE42%.2pA IKF12%0mA Ne=2)
*
.model Q2N2222 NPN (
+ Is14%.34f Xti=3 Eg=1.11 Vaf74%.03 Bf25%5.9 Ne=1.307
+ Ise14%.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1
+ Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje22%.01p Mje=.377
+ Vje=.75 Tr46%.91n Tf41%1.1p Itf=.6 Vtf=1.7 Xtf=3 Rb10%)

Jetzt addiert man im Schaltplan ganz normal einen npn-Transistor.
Danach Cursor über den Text NPN des Transistor im Schalplan bewegen.
Dann rechte Maustaste drücken. Den Text NPN ersetzen durch BC107.
Jetzt noch die Zeile  .INCLUDE mybip.lib  im Schaltplan
hinzufügen. Dazu auf .op im Befehlsmenue klicken und in die Kommandozeile
.include mybip.lib  eintragen. Diese Zeile erscheint nachher genau
so in der Netzliste.
Ohne weitere Pfadangabe muß der Libraryfile dann entweder im
Arbeitsverzeichnis des Schaltplans liegen oder im Installations-
verzeichnis C:\Programme\Ltc\SwCADIII\lib\sub .

Hinweis:
Man kann mit dem .op Komamndo im Befehlsmenue alle möglichen SPICE
Kommandos als Text hinzufügen, z.B. auch die hier verwendeten Modelle.
Dann bräuchte man schon gar keine .include ... Zeile mehr.
Das kann für Lehrzwecke ganz nützlich sein, da man dann die
Parameter der Modelle gleich im Schaltplan sieht.
Da sollt aber bitte die Ausnahme sein, da man im Schaltplan wenig
Text haben möchte.

Quoted text here. Click to load it

Ja


Nein, aber man muß LTSPICE neu starten, Grund siehe oben.

Ergänzung:
Es gibt auch eine Menge Herstelelr die für die Transistoren
Subcircuits (X..) verwenden in die die Transistormodelle
eingebettet sind. DIese Subcircuits enthalten dann meistens noch
die Zuleitungsinduktivitäten und Kapazitäten.
Dafür muß man dann Symbole nach dem Schema wie für Opamps machen.
Die Symbole gibt es auch fertig unter
http://groups.yahoo.com/group/LTspice/files/lib/sym /
als xnpn.asy, xpnp.asy, ....
Dazu muß man sich allerdings in der Group
http://groups.yahoo.com/group/LTspice/ registrieren um in den
Filebereich zu kommen. Das Ganze ist kostenlos und Fragen werden
dort auch gerne beantwortet.

Im Anhang befindet sich auch nóch eine Anleitung für das
Einbinden von Opamp-Modellen.

Gruß
Helmut

Quelle für die Modelle BC107, Q2N2222:
http://www.es.oersted.dtu.dk/~el/osc-2002.pdf
Eingebettet im Text.



Anhang:
Einbinden von Opamp-Modellen
----------------------------

Quoted text here. Click to load it

Hallo,
der Pfad "...Ltc\SWCADIII\lib\lib\Private" muß natürlich
         "...Ltc\SWCADIII\lib\sub\Private" heißen.

Ich habe die Original-Mail korrigiert und wieder angehängt.
Zusätzlich habe ich im 2. Beispiel die Reply "> " Kennung entfernt.
Also bitte nur diese korrigierte Mail "archivieren".

Gruß
Helmut



Korrigierte Original-Mail
-------------------------

Hallo Günter,
ich habe hier mal einen Mix aus meinen früheren Postings zusammengestellt.
Die Vorgehensweise gilt natürlich für alle Subcircuits.
Subcircuits sind alle Bauteile die in ihrer Definition mit .SUBCKT beginnen.

Gruß
Helmut


1. Ein Beispiel für einen TI-Opamp TL072.
-----------------------------------------
Zunächst legt man am besten zwei eigene Unterverzeichnisse an.
Das dient einzig und allein der Übersichtlichkeit.
"..." ist das Installationsverzeichnis, z.B. "C:\Programme\".

"...Ltc\SWCADIII\lib\sym\Private"
"...Ltc\SWCADIII\lib\sub\Private"

Die SPICE-Text-Dateien mit den Modellen kopiert man dann ins
Verzeichnis "...Ltc\SWCADIII\lib\sub\Private", z.B. "Ti.lib"
wird "...Ltc\SWCADIII\lib\sub\Private\Ti.lib".
In die "Ti.lib"-Datei kann man beliebig viele SPICE Modelle
hineinkopieren.

Die noch zu generierenden Symbole legt man entsprechend unter
"...Ltc\SWCADIII\lib\sym\Private" ab, z.B "TL072.asy".

Wenn man in Switchercad jetzt eines dieser neuen Bauteile
addieren will, dann findet man das im Menu im Verzeichnis
"Private" das parallel zum Verzeichnis "Opamp" liegt.
Dort gibt es dann z.B. den TL072. Nur noch anklicken und schon
ist er auf dem Schaltplan.


Generierung neuer Symbole:
--------------------------
Als erstes kopiert man am besten ein ähnliches Symbol nach
"sym\private".  Z.B. "LT1013.asy"  nach "...\sym\private\TL072.asy".
Das spart unnötige Arbeit. Dann die Datei TL072.asy mit LTSPICE
öffnen.

In der Kommandozeile "Edit -> Attributes -> Edit Attributes"
klicken. Die Box mit den Attributen wird angezeigt.

Den Wert von Value und Value2 von "LT1013" auf "TL072" ändern.
Diese Werte müssen mit dem Namen des Subcircuits übereinstimmen.

Wert von "SpiceModel" von "LTC.lib" auf "Private\Ti.lib" ändern.
Das ist der relative Suchpfad für den Library-File. Wäre dort
nur "Ti.lib" eingetragen, dann würde LTSPICE "nur" im Verzeichnis
"...\lib\sub" und im Arbeitsverzeichnis, wo die komplette
Schaltung(*.asc) liegt, nach dem Library-File "Ti.lib" suchen.
Der kleine Nachteil mit dem Unterverzeichnis "Private" für
den Library-File ist, daß man bei der Weitergabe von Symbolen
darauf hinweisen muß, daß die Library-Files im Unterverzeichnis
"Private" gespeichert werden müssen oder der Pfad im Symbol
angepasst werden muß.

Natürlich kann man auch das graphische Symbol selbst in dem Editor
verändern.

Ebenso kann man auch Pin-Namen ändern, löschen oder hinzufügen.
Dazu Cursor auf Pin setzen und dann recht Maustaste.
In der Box den neuen Namen und die "Netlist Order" eintragen.

Überprüfen ob die "Netlist Order"(Reihenfolge 1,2,3..) der Pins im
Symbol mit der Reihenfolge der Netze im Subcircuit-Modell übereinstimmt.
Dazu Cursor auf Pin setzen und dann recht Maustaste.
Beispiel: In+,1     1. Netz in .SUBCKT 'Non iverting' ...
Dieser Pin "In+" hat im Symbol die "Netlist Order" 1. Damit muß er
mit dem ersten Pin/Netz im Model .SUBCKT 1 2 3 4 5 übereinstimmen.
Der erste Pin im Model TL072 ist der "NON-INVERTING INPUT". Dieser
entspricht "In+" vom Symbol und ist damit richtig.
In unserem Beispiel stimmt die "Netlist Order" aller Pins bereits mit
der Netzreihenfolge im Modell(Library) vom TL072 überein.
Also braucht man da nichts ändern.
Achtung, die Pin-Namen im Symbol haben für LTSPICE keine Bedeutung.
Es kommt einzig auf deren "Netlist Order"-Wert an.
Zum Glück haben fast alle SPICE-Opamps verschiedener Hersteller die
gleiche Pin/Netz-Reihenfolge in ihren Modellen. Damit hat man dann
schon mal keine Arbeit mit Umnumerierung beim Generieren eines Symbols.

Symbolfile "TL072.asy":
"Label"           In+ In- V+ V- Out
"Netlist Order"    1   2  3  4   5

Auszug aus Subcircuit definition(Ti.lib):
* TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
* CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
* (REV N/A)      SUPPLY VOLTAGE: +/-15V
* CONNECTIONS:   NON-INVERTING INPUT
*                | INVERTING INPUT
*                | | POSITIVE POWER SUPPLY
*                | | | NEGATIVE POWER SUPPLY
*                | | | | OUTPUT
*                | | | | |
.SUBCKT TL072    1 2 3 4 5


Dann "Save" klicken und damit das neue Symbol speichern.

LTSPICE beenden!

Das neue Symbol kann erst nach einem Neustart von LTSPICE benutzt werden.

PS: Es gibt auch noch die Möglichkeit des "One fits all"-Symbols
wenn man viele gleichartige Symbole hat. Die Idee dahinter ist, daß
man erst im Schaltplan die Opamp-Type einträgt. Aber das laß ich jetzt
lieber erstmal weg.



SWCADIII\lib\sym\private\TL072.asy
--------------------------------------------------

Version 3
SymbolType CELL
LINE Normal -8  8 8 16
LINE Normal -8 24 8 16
LINE Normal -8 8 -8 24
LINE Normal -7 12 -5 12
LINE Normal -7 20 -5 20
LINE Normal -6 21 -6 19
LINE Normal  0  8 0 12
LINE Normal  0 24 0 20
LINE Normal  1 11 3 11
LINE Normal  2 10 2 12
LINE Normal  1 21 3 21
WINDOW 0 4 8  Left 0
WINDOW 3 4 24  Left 0
SYMATTR Prefix X
SYMATTR SpiceModel Private\Ti.lib
SYMATTR Value TL072
SYMATTR Value2 TL072
SYMATTR Description Fast Fet Operational Amplifier
PIN -8 20 NONE 0
PINATTR PinName In+
PINATTR SpiceOrder 1
PIN -8 12 NONE 0
PINATTR PinName In-
PINATTR SpiceOrder 2
PIN  0  8 NONE 0
PINATTR PinName V+
PINATTR SpiceOrder 3
PIN  0 24 NONE 0
PINATTR PinName V-
PINATTR SpiceOrder 4
PIN 8 16 NONE 0
PINATTR PinName  OUT
PINATTR SpiceOrder 5



Datei  SWCADIII\lib\sub\private\Ti.lib
---------------------------------------------------

* TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
* CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
* (REV N/A)      SUPPLY VOLTAGE: +/-15V
* CONNECTIONS:   NON-INVERTING INPUT
*                | INVERTING INPUT
*                | | POSITIVE POWER SUPPLY
*                | | | NEGATIVE POWER SUPPLY
*                | | | | OUTPUT
*                | | | | |
.SUBCKT TL072    1 2 3 4 5
*
  C1   11 12 3.498E-12
  C2    6  7 15.00E-12
  DC    5 53 DX
  DE   54  5 DX
  DLP  90 91 DX
  DLN  92 90 DX
  DP    4  3 DX
  EGND 99  0 POLY(2) (3,0) (4,0) 0 .5 .5
  FB    7 99 POLY(5) VB VC VE VLP VLN 0 4.715E6 -5E6 5E6 5E6 -5E6
  GA    6  0 11 12 282.8E-6
  GCM   0  6 10 99 8.942E-9
  ISS   3 10 DC 195.0E-6
  HLIM 90  0 VLIM 1K
  J1   11  2 10 JX
  J2   12  1 10 JX
  R2    6  9 100.0E3
  RD1   4 11 3.536E3
  RD2   4 12 3.536E3
  RO1   8  5 150
  RO2   7 99 150
  RP    3  4 2.143E3
  RSS  10 99 1.026E6
  VB    9  0 DC 0
  VC    3 53 DC 2.200
  VE   54  4 DC 2.200
  VLIM  7  8 DC 0
  VLP  91  0 DC 25
  VLN   0 92 DC 25
.MODEL DX D(IS80%0.0E-18)
.MODEL JX PJF(IS15%.00E-12 BETA27%0.1E-6 VTO=-1)
.ENDS




Re: Welches SPICE?
Vielen Dank!

MfG, Bernd

Site Timeline