Hallo, ich habe ein Problem mit Lattice. Und zwar habe ich ein Top Level mit jeweils drei Modulen. Integriere ich Modul 1 und 2, oder 1 und 3 oder 2 und 3 funktioniert alles integriere ich aber alle 3 Module bekomme ich folgende Fehlermeldung. @E:Signal 011 error in m_gen_lattice.exe Stack trace =========== 0044591E 005A656C 005A6D09 ... .. . Please open a web case about this problem. A Synopsys CAE will then contact you. Instructions to open a web-case: 1. Go to the Synopsys support web site, https://solvnet.synopsys.com. 2. Login with your user name and password. If you do not have an account, please register and set one up. 3. Click the `Enter A Call' link. 4. Provide a detailed description of the problem, and fill in all required fields. 5. Attach any test cases or archived project files required to reproduce the problem. Error output EDIF file c:/.../ctrl_eval/edtIroq5CtrlEval.edi Error executing Synplicity VHDL/Verilog HDL Synthesizer with code 2 Done: failed with exit code: 0002. Hat sowas schon mal jemand gehabt? Das komische ist, wenn ich irgendein Stück Quellcode auskommentiere (nicht egal welches Stück - hab ich durch probieren rausgefunden, es gibt aber in jedem Modul eine Zeile Code, wenn ich diese auskommentiere funktioniert alles (also entweder in Modul 1 eine Zeile auskommentieren oder in Modul 2 oder 3))???? (ach so der Fehler kommt bei Build Database) Ich komme eigentlich aus der Xilinx Ecke, wo man ja eigentlich nichts Gutes über die Software höht, aber solche Probleme hatte ich da nicht??? freu mich über Hilfe matzunami
>Integriere ich Modul 1 und 2, oder 1 und 3 oder 2 >und 3 funktioniert alles Kann es sein, dass bei diesen Zweier-Kombinationen der relevante Pfad wegoptimiert wird und der Fehler somit nicht sichtbar wird ? Versuch doch mal jede Komponente für sich als Toplevel zu synthetisieren. VG, SuperWilly
Jedes Modul für sich als Toplevel funktioniert. Immer nur ein Modul ins Toplevel eingebunden geht auch, oder halt 2. Aber alle drei gehen nicht. In einem Modul existiert zb. ein Input std_logic_vector der intern einem Register gleicher länge übergeben wird. signal_intern <= signal_extern; Wenn ich die Zeile Auskommentiere geht alles. Aber wie gesagt ich kann die Zeile auch stehen lassen und kommentier in einem anderen Modul was aus, dann gehts auf einmel auch. Die Module haben unterschiedliche Funktionen und haben nix miteinander zu tun, legentlich die verbindung in dem Toplevel. Werd mir gleich mal das WebPack von Xilinx runterladen, um mal zu schauen was der sagt. Jedenfalls sehr Mysteriös.
Hast Du das ganze schonmal simuliert? Manchmal geben die Simulatoren auch ganz gute Fehlerhinweise ab. Duke
Hi Matsunami, welcher Lattice Tool verwendest Du, ispLever oder Diamond? Falls es ispLever ist, seit einigen Tagen gibt es 8.1 SP1. Es ist wohl auch etwas im Synthesemodul (Synopsys ehemals. Synplicity) geändert worden. So was hatte ich vielleicht ein Mal in drei Jahren. Lässt sich in der Regel durch eine andere Formulierung des HDL Codes umgehen, sofern man die Stelle findet. Sonst würde ich zunächst mit verschiedenen Einstellung versuchen. In ispLever gibt es hier zwei Möglichkeiten einzugreifen (für den Synthese Schritt) 1) Mit dem FPGA Top-Level Selektiert (gelbes Icon oben links im Projekt Fenster): - Rechte Maustaste auf 'Map Design' im Prozess Fenster, z.B. Register Retiming, Timing Driven Mapping verändern. 2) Meine bevorzugte Lösung, mit der Top-Level Hdl Datei selektiert (eine ebene unter den FPGA Icon aber nicht irgendwelche Packages) 'Synplify Synthesise VHDL File' im Prozess Fenster selektieren und z.B. 'Pipelining and Retiming' oder 'Resource Sharing' verändern. Andere Kandidaten wären 'Frequency', 'Area', 'FSM Encoding' oder 'Fanout Limit' M.e, sollte 'Resource Sharing' immer gesetzt sein, es sei dann das Design ist völlig Zeitunkritisch Ich würde es aber auf jeden Fall an Lattice melden (auch wenn sie natürlich gleich ein Test Case haben wollen, aber das tun sie alle). Deren Support finde ich recht gut. Grüße, Charles
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.