mikrocontroller.net

Forum: FPGA, VHDL & Co. FATAL ERROR in Xilinx ISE


Autor: The Scientist (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich schreibe gerade an dem Code für einen XC9572 als Speichercontroller. 
Der Code besteht aus drei VHDL-Modulen die bestimmte Bausteine 
enthalten. Der Syntaxcheck verläuft positiv, aber wenn ich den Code 
implementieren will, schreibt er folgendes:

FATAL_ERROR:Xst:Portability/export/Port_Main.h:127:1.17 - This 
application has discovered an exceptional condition from which it cannot 
recover.  Process will terminate. For more information on this error, 
please consult the Answers Database or open a WebCase with this project 
attached at http://www.xilinx.com/support.

Laut Xilinx sollte dieser Fehler in meiner Version(9.2) bereits gefixed 
sein und auch die möglichen Fehlerursachen, die dort aufgelistet sind 
treffen nicht auf mein projekt zu soweit ich sie verstehe. Ich arbeite 
erst seit kurzem mit programmierbaren Logikbausteinen und habe deshalb 
auch wenig Hintergrundwissen.

Der Code ist zwar noch nicht ganz fertig, aber zumindest kompilieren 
lassen sollte er sich. Falls jemand eine Ursache des Fehlers kennt, wäre 
ich sehr daran interressiert. Als rar hab ich mal die drei vhd's im 
anhang falls der Fehler dort liegt.

mfg The Scientist

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code funktioniert nicht. binary6Counter sollte vermutlich 
binary16Counter heißen und die Ports stimmen auch nicht.

Autor: The Scientist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aha,
ich kann die stelle mit dem binary6Counter grad nich finden, sag mal 
bitte datei und zeile.
Und welche Ports meinst du stimmen nicht?

mfg The Scientist

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In logicAnalysator wird überall binary16Counter verwendet. Die Datei und 
die Entity drin hat aber den Namen binary6Counter. Wenn man das ändert 
kommt als nächstes die Beschwerde das ein Port ctrActive fehlt.

Autor: The Scientist (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
oh verdammt ich hab ausversehen die falsche datei verschickt. tut mir 
leid. hier die richtige.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir beschwert sich ISE (9.2.03) über eine Zeile in binary16Counter.
ERROR:Xst:827 - "D:/Prog/vhdl/logikanalysator/binary16Counter.vhd" line 56: Signal addressBuff cannot be synthesized, bad synchronous description.

Wenn du den flankengetriggerten Reset ausbaust, dann lässt sich das 
Design auch übersetzen.

Sollte etwa so aussehen:
  if (extReset='1') then
    addressBuff <= "0000000000000000";
  elsif (counterClk'event and counterClk='1') then

Autor: The Scientist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab das geändert aber der Fehler tritt weiterhin auf. Allerdings ist es 
merkwürdig das dein ISE sich darüberbeschwehrt aber meins net. Für 
welchen XC9572 haste das denn gemacht?

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen XC9572-7-PC44 eingestellt. Vielleicht liegt es ja auch 
irgendwie an deinen restlichen Projektdateien? Versuche mal ein neues 
Projekt zu machen oder die generierten Files zu löschen (Menupunkt 
"Cleanup Project Files").

Autor: Mike (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier mal noch den Report angehängt.

Autor: The Scientist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so habe jetzt die projekt files aufgeräumt und jetzt ist dieser FATAL 
ERROR weg. Allerdings meckert er jetzt an meinen resetvorgang im Zähler 
rum. Es ist der gleiche Fehler den du oben beschrieben hast. Könnte es 
sein, das auf diesen addressBuff entweder nur lesend oder nur schreibend 
in einer Funktion zurückgreifen darf? Wenn ja, wie lässt sich denn dann 
ein Reset realisieren?

Autor: na (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du willst aus addressBuff ein Register bauen nehme ich an. Schreiben und 
lesen geht schon, du liest den Ausgang des Registers und beschreibst es 
neu.

Ein flankensensitives reset lässt sich nicht in dieser Form beschreiben. 
Ein normales FF hat genau einen Takteingang und einen Reseteingang (der 
aber nicht auf eine Flanke reagiert sondern auf ein Level).

Also, entweder das Level des reset abfragen oder mit dem Takt abtasten 
wenn es unbedingt flankensensitiv sein muss.
Außerdem das addressCount mit in den Taktzweig rein.

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.