Hier wird speziell die FPGA/CPLD Toolchain für Xilinx besprochen. Für eine allgemeine Beschreibung der Toolchain und des Designflows für programmierbare Logik siehe FPGA/CPLD Toolchain.
Die Toolchain kloppt an den unterschiedlichsten Stellen Fehlermeldungen raus und nichts geht mehr. Folgend ein paar Tipps:
- Ein "Fatal Error" hat seine Ursache oft im VHDL-Code oder in der ucf-Datei. Es handelt sich nicht unbedingt um einen Bug der Entwicklungssoftware.
- Bei hartnäckigen Fehlern hilft der Umstieg auf eine ältere oder neuere Version der ISE. Ausserdem sollte man unbedingt die neusten Servicepacks installieren!
- Fehlermeldung oder Teile daraus als Suchbegriff bei www.xilinx.com und/oder Google eingeben. Da gibts mehr Tipps als gedacht.
- Die Logdateien der einzelnen Tools haben oft mehr Infos zu den Fehlern.
- Das Synthesetool wird immer pingeliger, oft kommt eine ältere Version weiter (Records an Generics,unsigned-Typ, nicht benutzte FSM-Zustände.
- Der VHDL-Syntaxcheck eines Simulators (z.B. Modelsim) ist robuster, schneller und informativer. Erst den Code mit diesem kompilieren.
- Logdatei: *.syr
- Hier werden oft nichtauffindbare Netznamen oder Instanzpfade bemeckert. Im FPGA-Editor nachschauen wie der Pfad wirklich heisst. Da aber der FPGA-Editor eine vom Mapper (map) generierte Datei benötigt, der aber erst nach ngdbuilt startet, hilft das nicht viel. Glücklicherweise gibt es ein Tool, dass den Synthese-Output vom XST in ein lesbares Format (EDIF) unwandelt. Diese nennt sich ngc2edif.
- Falls ngdbuilt (oder map) Komponenten nicht findet, liegt das oft daran, dass er in den falschen Verzeichnissen sucht. Dann muss der Suchpfad angepasst werden
- Logdatei: *.bld
[bearbeiten] Unterschiede in den ISE-Versionen
Xilinx bietet auch die alten Versionen der Entwicklungstools zum Download an. Man nennt diese "Classic ISE" und auf der Website liegen sie hier:
http://www.xilinx.com/webpack/classics/wpclassic/index.htm
Zum Teil lassen sich Probleme mit dem FPGA-Image Download, falsch umgesetzten VHDL-Konstrukte und andere mit einer anderen, auch älteren Version beseitigen.
[bearbeiten] Timing constraints
[bearbeiten] Probleme beim Download (Impact)