Hallo guys, Ich möchte mal fragen, warum funktioniert meine Simulation mit Modelsim aber nicht mit Isim? Es kommen immer die Fehlermeldungen: FATAL_ERROR:Simulator:CompilerAssert.h:40:$Id: Fuse.cpp,v 1.35 2007/11/07 21:25:47 sonals Exp $ - Internal Compiler Error in file ../src/VhdlExpr.cpp at line 7975 Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. FATAL_ERROR:Simulator:CompilerAssert.h:40:$Id: Fuse.cpp,v 1.35 2007/11/07 21:25:47 sonals Exp $ - Internal Compiler Error in file ../src/VhdlExpr.cpp at line 7975 Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. Ich benutze Xilinx 10.1.
Manu schrieb: > Ich benutze Xilinx 10.1. Kannst Du evtl. updaten? Gerade bei isim sollte sich zwischen der 10.1 und der 13.3 (aktuell) einiges getan haben. Duke
Ähnliche Fehlermeldungen bekomme ich auch unter 12.1..13.2, insbesondere bei der Verwendung von Strukturen/Referenzierung. Lässt sich aber teilweise umgehen..
Für den Hobbybereich reicht's, vom Einsatz im Profibereich ist abzuraten: Teil man z.B. unter best. Umständen a <= b in a(k-1 downto 0) <= b(k-1 downto 0); a(n-1 downto k) <= b(n-1 downto k); auf, wird ein Teil korrekt behandelt, der Andere nicht. (Xilinx-Forum:Fehler im DeltaZyklen-Algo??) Und da man nicht in alle verwendeten Komponenten eines Projekts schauen kann...
Hallo Bert, könntest Du bitte einen Link zu diesem Xilinx-Forum-Thread posten? Bzw. Beispielcode, wo Modelsim richtig, und ISIM falsch simuliert? Danke.
Hab's gerade noch mal unter 13.2 probiert, noch immer der selbe Fehler wie in http://forums.xilinx.com/t5/General-Technical-Discussion/VHDL-simple-process-loop-problem/m-p/84860 beschrieben. Probiers einfach mal aus..
Edit: Das Problem ist nich einfach ein Split der Zuweisung wie Oben von mir beschrieben, es hängt irgendwie mit der Schleife (LOOP) und der Trennung in mehrere Prozesse zusammen. Hoffentlich kommen jetzt keine dummen Komentare zur Mehrprozessschreibweise. An der liegt's nicht..
Moin, bestimmt gibt es wieder auf die Mütze für einen "Nimm doch XY"-Beitrag, aber ich habe parallel zu isim nun vermehrt GHDL eingesetzt, welches bei komplexen Projekten deutlich effektiver arbeitet und wunderbar die Co-Simulation mit den fertigen Treiberroutinen (aufwendige Testbench-Coverage ade) erlaubt. Aufpassen muss man nur bei Xilinx-Cores, GHDL ist recht streng, was VHDL-Standards angeht. Musste mal wieder realisieren: Dass es nichts kostet, muss nicht heissen, dass es nichts taugt. (Im Gegensatz zu Webpack...) Grüsse, - Strubi
Hi Strubi, GHDL ist klasse. Man sollte nur tunlichst vermeiden, so Sachen wie RAMs und Multiplier als Instanz/Component einzubinden, dann wird es naemlich seeeehr langsam und die .vcd Ausgabefiles werden sehr viel groesser. Viel besser ist dann, diese Bloecke generisch in VHDL zu beschreiben (also z.B. type ... is array ... fuer ein RAM). Man kann das z.B. mit GENERICs prima zwischen Simulation und Synthese umschaltbar machen...
>Hab's gerade noch mal unter 13.2 probiert, noch immer der selbe >Fehler wie in > >http://forums.xilinx.com/t5/General-Technical-Disc... > >beschrieben. Probiers einfach mal aus.. Danke für den Link. Habe es gerade ausprobiert, und zwar sowohl mit ISIM als auch mit Modelsim. Und beide (!) Simulatoren liefern dasselbe "fehlerhafte" Ergebnis. Was auch kein Wunder ist, weil es nämlich gar kein Fehler ist, sondern einfach eine VHDL-Eigenheit. Siehe Erklärung hier, unter Punkt 4.2.13, bei dem Loop-Beispiel: http://www.eda.org/comp.lang.vhdl/FAQ1.html
Hm, auf die Idee mit einem Modelsim-Test hätte man auch selber kommen können...:( So auf die Schnelle würde ich sagen, dass das Entscheidende die Definition von "longest static prefix" ist (für Loop: nur der Variable/Signal-Name, nicht der Range-Zusatz der Schleife). Für eine (statische!!) Schleife könnte man oP die Range noch in den Namen einfliessen lassen und das Problem wäre gelösst. Oder für jede Komponente des Vektors einen eigenen Graph.. Meine Lehre: Je Signal/Signalvektor nur eine Concurrent- bzw. Prozess-Zuweisung. Danke für den Link!
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.