mikrocontroller.net

Forum: FPGA, VHDL & Co. Lattice bringt nicht ersichtlichen Fehler


Autor: matzunami (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
matzunami schrieb:
> Please open a web case about this problem

Und hast Du das schon gemacht?

Duke

Autor: matzunami (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein :-)

Autor: SuperWilly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: matzunami (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das ganze schonmal simuliert?
Manchmal geben die Simulatoren auch ganz gute Fehlerhinweise ab.

Duke

Autor: cfgardiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.