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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren