Ein Pin namens DONE zeigt bei Xilinx FPGAs an, ob die Konfiguration geklappt hat, und das FPGA korrekt konfiguriert wurde. Dieser Pin wird auch vom Programmieradapter abgefragt. Geht er nach Abschluss der Programmierung nicht auf HIGH, wertet Impact dies als Fehler und gibt eine entsprechende Warnung aus:
INFO:iMPACT:2219 - Status register values: INFO:iMPACT - 0000 0000 0000 0000 0000 0000 0000 0000 INFO:iMPACT:579 - '1': Completed downloading bit file to device. Match_cycle = NoWait. Match cycle: NoWait INFO:iMPACT - '1': Checking done pin....done. '1': Programming terminated. DONE did not go high. PROGRESS_END - End Operation. Elapsed time = 5 sec.
Dies kann u.a. passieren, wenn der PROG_B Pin auf LOW liegt. Dann wird zwar das FPGA als Device von IMPACT richtig erkannt, die ID wird korrekt ausgelesen, aber die Konfiguration schlägt fehl und führt zu obiger Meldung. Das wird im Datenblatt auch extra erläutert:
Abhilfe: der PROG_B Pin bekommt einen 4k7-Pullup nach 2V5.
LED am DONE Pin
Wenn am DONE Pin eine LED angeschlossen ist, die Konfiguration korrekt abläuft, die LED aber nicht leuchtet, dann könnte ein Häckchen in den Optionen von Generate Programming File (Rechtsklick ==> Properties) bei der Option Drive Done Pin High fehlen:
Alternativ kann auch die Option Configuration Pin Done auf Pull Up gesetzt werden.
Das ist auch die Defaulteinstellung.