LTSpice: Mehrere Bauteile in lib-File

Gast #4860751
Lesenswert?
• ▲
▼
Hallo LT-Spice Experten,
ich habe hier zum Simulieren eine Spice-Library mit mehreren Bauteilen 
(~1000). In diese lib werden in den Bauteil-definitionen einige 
Berechnungen durchgeführt. Wenn ich die lib einbinde, erhalte ich dann 
aber einen Fehler "Missing Expression in: .PARAM t01={1/sqrt(1+2/Vn)}".

Da der Ausdruck ".PARAM t01={1/sqrt(1+2/Vn)}" aber 159 mal in der lib 
auftaucht, erscheint mir eine Fehlersuche mit einzelne Bauteile 
rauskopieren recht aufwändig. Ich dachte erst, das entweder das 
mehrfache Auftreten der Variablen, z.b. t01 das Problem ist, oder der 
Ausdruck an sich. Eine mit zwei Bauteilen versehene test.lib lässt sich 
aber laden, das Ersetzen des Ausdrucks t01={1} bringt ebenfalls den 
Fehler. Da im normalen log-File nichts zu finden ist, ist meine Frage, 
gibt es noch eine bessere Debug-Möglichkeit für so etwas? Offensichtlich 
wird die library ja schon beim starten der Simulation auf Fehler hin 
geparst.

Danke für die Hinweise,
Jan

Anbei ein kurzer Ausschnitt (nicht Vollständigkeit, nur zur 
Verdeutlichung)

.SUBCKT Bxxx1234_NF drain gate source
.PARAM h2=3.23578125E-14  Fn=3.23578125E-14  Vn=0.841373315949588
.PARAM t02={1/((1+2/Vn)**1.5*Vn)}
.PARAM t01={1/sqrt(1+2/Vn)}
.PARAM t3 ={0.25*(t01-Acfgs2+t02)}
.FUNC  li1(Uds,Ugs)  {SL(Iges(Uds,Ugs),-1000,1000)}
G_G1 d s 
VALUE={li1(V(d,s),V(g,s))+if(Time>100p,SL(DDT(V(d,s))*Cds(V(d,s)),
+ -500,500),0)}
R1 gate source 2G
Rd0 d s 500Meg
.ENDS

.SUBCKT Bxxx1234_NF drain gate source
.PARAM h2=3.23578125E-14  Fn=3.23578125E-14  Vn=0.841373315949588
.PARAM t02={1/((1+2/Vn)**1.5*Vn)}
.PARAM t01={1/sqrt(1+2/Vn)}
.PARAM t3 ={0.25*(t01-Acfgs2+t02)}
.FUNC  li1(Uds,Ugs)  {SL(Iges(Uds,Ugs),-1000,1000)}
G_G1 d s 
VALUE={li1(V(d,s),V(g,s))+if(Time>100p,SL(DDT(V(d,s))*Cds(V(d,s)),
+ -500,500),0)}
R1 gate source 2G
Rd0 d s 500Meg
.ENDS
Gast #4860875
Lesenswert?
• ▲
▼
Hallo,
nach manuellem Bubble-Sort in ein neues File habe ich in Zeile 44000 den 
Fehler gefunden. Es waren zwei Zeilen in einer. Die Antwort, ob man den 
Fehler auch in einem versteckten Logfile finden könnte würde mich aber 
trotzdem interessieren.


.PARAM g13=219199.666431687  g14=30467.720685112  g15=-1.01170893842911
.PARAM g16=-26.1603856063749  g17=3.80943803117763E-09  al=0.5
1
.PARAM t02={1/((1+2/Vn)**1.5*Vn)} .PARAM t01={1/sqrt(1+2/Vn)}
.PARAM t3 ={0.25*(t01-Acfgs2+t02)}
.PARAM t2 ={-0.25*t02}

Jan
Gast #4861666
Lesenswert?
• ▲
▼
Na in dem Fall haben wir die gleiche Suchstrategie und es scheint wohl 
kein anderes Mittel zu geben. Ich hab dann noch 3 ähnliche Fehler mit 
zusammenhängenden Zeilen entdeckt. Jetzt funktioniert alles.

Danke, Jan

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.