Forum: Analoge Elektronik und Schaltungstechnik LTspice XVII: Probleme mit Spice-Modell von NXP


von Roman (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich möchte in einer Schaltung den BJT "BFU690F" von NXP verwenden.
Habe mir hierzu das Spice-Modell (REV 1.3) direkt von NXP 
heruntergeladen:

http://www.nxp.com/products/discretes-and-logic/bipolar-transistors/rf-bipolar-transistors/lnas-mixers-frequency-multipliers-buffers/1-ghz-plus-2-ghz-l-band/npn-wideband-silicon-rf-transistor:BFU690F?tab=Design_Tools_Tab

Im Schaltplan habe ich das npn.asy Symbol wie üblich eingefügt, "Prefix" 
auf X, "Value" auf BFU690F geändert und mit ".inc BFU690F.prm" das 
Subcircuit-File eingebunden, welches sich im Ordner der .asc Datei 
befindet.

Sobald ich nun simuliere, erhalte ich die Meldung:

Questionable use of curly braces in "q1 11 22 33 33 chip_690 area=1 
region=1 temp=25 trise=0 mode=1 noise={yes} m=30"
    Error: undefined symbol in: "[yes]"
Error on line 641 : q:u3:1 u3:11 u3:22 u3:33 u3:33 u3:chip_690 area=1 
region=1 temp=25 trise=0 mode=1 noise=(yes) m=30
   Unknown parameter "region"

Ich bin jetzt auch kein Spice-Experte, aber es scheint wohl so, als 
würde LTspice die Syntax des Spice-Modells teilweise nicht kennen.

Kann mir jemand erklären, an was genau das liegt und wie ich es beheben 
kann, sodass ich vernünftig simulieren kann?

Danke im Voraus!

Grüße
Roman

von Roman (Gast)


Angehängte Dateien:

Lesenswert?

Anbei zum schnelleren Nachvollziehen der Fehlermeldung noch eine 
beliebige einfache Schaltung.

von hinz (Gast)


Lesenswert?

Roman schrieb:
> "q1 11 22 33 33 chip_690 area=1
> region=1 temp=25 trise=0 mode=1 noise={yes} m=30"

Lass mal das was hier in der zweiten Zeile steht weg.

von Roman (Gast)


Lesenswert?

hinz schrieb:
> Roman schrieb:
>> "q1 11 22 33 33 chip_690 area=1
>> region=1 temp=25 trise=0 mode=1 noise={yes} m=30"
>
> Lass mal das was hier in der zweiten Zeile steht weg.

Ja, klar, dann kommt keine Fehlermeldung mehr, aber ohne diese Parameter 
verhält sich ja das Modell anders. Möchte es eigentlich so lösen, dass 
ich die Funktion des Modells nicht verändere.

von hinz (Gast)


Lesenswert?

Dann kauf dir PSpice.

von Roman (Gast)


Lesenswert?

hinz schrieb:
> Dann kauf dir PSpice.

Also liegt es nur an LTspice? Mit PSpice sollte es gehen?
Ich will ja nur wissen, warum dieser Fehler auftaucht.
Falls es keine andere Lösung als PSpice gibt, ist es eben so.

von Roman (Gast)


Lesenswert?

Hat sonst noch jemand Ideen, wie ich die Syntax anpassen kann/muss, 
damit es auch in LTspice funktioniert? Das Entfernen der Zeile "q1 11 22 
33 33 chip_690 area=1 region=1 temp=25 trise=0 mode=1 noise=yes m=30" 
verhindert natürlich die Fehlermeldung, aber damit beeinflusse ich ja 
dann das Verhalten des Modells, oder nicht?
Ob PSpice oder LTspice sollte ja eigentlich egal sein, die Spice-Syntax 
sollte ja von beiden Programmen verstanden werden, denke ich mal. 
Vielleicht kann mir ja jemand den Hintergrund des Problems erläutern, 
damit ich was dazulernen kann. Danke im Voraus!

von hinz (Gast)


Lesenswert?

Roman schrieb:

> Das Entfernen der Zeile "q1 11 22
> 33 33 chip_690 area=1 region=1 temp=25 trise=0 mode=1 noise=yes m=30"
> verhindert natürlich die Fehlermeldung, aber damit beeinflusse ich ja
> dann das Verhalten des Modells, oder nicht?

Ich hab ja nicht gesagt, dass du die ganze Zeile entfernen sollst, 
sondern nur die Parameter mit denen LTSpice sowieso nichts anfangen 
kann.


> Ob PSpice oder LTspice sollte ja eigentlich egal sein, die Spice-Syntax
> sollte ja von beiden Programmen verstanden werden, denke ich mal.

Schön wärs.


> Vielleicht kann mir ja jemand den Hintergrund des Problems erläutern,
> damit ich was dazulernen kann.

Du willst mit einem Bayer Platt sprechen.

von Helmut S. (helmuts)


Lesenswert?

Es sieht so aus, dass LTspice Area*M für die "Gesamt-area" nimmt.
Deshalb mein Vorschlag unten.

.SUBCKT BFU690F 1 2 3
*Q1 11 22 33 33 Chip_690 Area=1 Region=1 Temp=25 Trise=0 Mode=1 
Noise=yes M=30
Q1 11 22 33 33 Chip_690 Area=1 Temp=25 M=30
....

von Roman (Gast)


Lesenswert?

Ok, habe es jetzt so gemacht. Danke an euch zwei!

von Jack (Gast)


Lesenswert?

Roman schrieb:
> Ob PSpice oder LTspice sollte ja eigentlich egal sein, die Spice-Syntax
> sollte ja von beiden Programmen verstanden werden, denke ich mal.

Es gibt schon seit Jahren nicht mehr DIE Spice-Syntax. Die heutigen 
kommerziellen Spice-Versionen, auch LTSpice und PSpice, haben alle ihre 
eigenen Erweiterungen. Je nachdem, ob sie von Berkeleys SPICE 2 (die 
ganz alten) oder SPICE 3 abgeleitet ("inspiriert") sind, ist sogar schon 
die Basis leicht unterschiedlich.

LTSpice bemüht sich, zum Teil undokumentierten, möglichst viele der 
speziellen PSpice-Erweiterungen zu verstehen, ist aber nicht vollständig 
PSpice-kompatibel. Daher muss man bei PSpice-Modellen in LTSpice 
manchmal Hand anlegen. Die Dokumentation zu PSpice ist online verfügbar. 
Die muss man bei solchen Gelegenheiten mal lesen.

Besonders bei den Klammer-Typen, dem Exponential-Operator (steht auch in 
der Doku) und den Mosfet-Modellen muss man aufpassen.

Andere Halbleiter-Hersteller, außer vielleicht demnächst der neue 
Eigentümer Analog Devices, liefern keine LTSpice-Modelle. Schon weil 
Linear das in der Lizenz verbietet:

>> This program is specifically not licensed for use by semiconductor
>> manufacturers in the design, promotion, demonstration or sale of their
>> products.

Auch ohne da Verbot dürfte es nur wenige Mitbewerber geben die ihre 
Kunden mit der Nase auf Linear Technology stoßen würden.

von Roman (Gast)


Lesenswert?

Ok, Jack, danke für die Ausführungen. Werde mich in Zukunft wohl auch 
mal ausgiebig in PSpice einarbeiten müssen.

von Helmut S. (helmuts)


Lesenswert?

Roman schrieb:
> Ok, Jack, danke für die Ausführungen. Werde mich in Zukunft wohl auch
> mal ausgiebig in PSpice einarbeiten müssen.

Woher weißt du, dass PSPICE diese Paramter akzeptiert?
Hat das jemand getestet oder ist das nur eine Vermutung?
In dem PSPICE manual PSPCREF.pdf finde ich das nicht.

von Helmut S. (helmuts)


Lesenswert?

Helmut S. schrieb:
> Roman schrieb:
>> Ok, Jack, danke für die Ausführungen. Werde mich in Zukunft wohl auch
>> mal ausgiebig in PSpice einarbeiten müssen.
>
> Woher weißt du, dass PSPICE diese Paramter akzeptiert?
> Hat das jemand getestet oder ist das nur eine Vermutung?
> In dem PSPICE manual PSPCREF.pdf finde ich das nicht.

Ich habe jetzt mal dieses Modell mit PPSICE getestet.
Pspice kennt weder "area" noch "m". Man kann da noch etwas mogeln indem 
einfach 30 hinschreibt. Das ist allerdings nicht 100% das Beabsichtigte.

Nur Cafence Spectre kennt alle Parameter die in der "Instance"-Zeile von 
NXP verwendet wurden. Diesen SPICE Simulator haben aber nur 
IC-Entwickler die mit Cadence-Tools arbeiten. Dieser Simulator kostet 
$$$$$.
Seite 50
http://eece.cu.edu.eg/~fhussien/Spectre_tutorial.pdf

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.