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.