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
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
Ich halbiere die Datei immer weiter um so einen Fehler zu finden. Sozusagen eine "sukzessive Approximation".
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.