FATAL ERROR in Xilinx ISE

Gast #690096
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
Angehängte Dateien:
Gast #690139
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.
Gast #690156
Lesenswert?
• ▲
▼
Bei mir beschwert sich ISE (9.2.03) über eine Zeile in binary16Counter.
1
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:
1
  if (extReset='1') then
2
    addressBuff <= "0000000000000000";
3
  elsif (counterClk'event and counterClk='1') then
Gast #690166
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").
Gast #690175
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?
Gast #690236
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

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.