FPGA: Programmierung


Die Entwicklung des FPGA-Systems und Generierung der Binärdatei erfolgt durch die Verwendung von Xilinx Spartan6 Bausteinen auf Basis des Xilinx ISE Project Navigators. Es gibt für das Deltaboard keine Vorgaben oder Notwendigkeiten für Implementierungen von Codebausteinen zur Interaktion mit anderen Boardkomponenten, da der Datenaustausch über einfache Standardschnittstellen abgedeckt wird. Dem Entwickler stehen also prinzipiell sämtiche FPGA-Ressourcen zur Verfügung. Die notwendigen Rahmentemplates für die Top-Level-Entities sowie die ucf-Dateien sind in den Downloadbereichen für das Nutzer-FPGA und das FMC-Konnektor-FPGA bereitgestellt.


Zum Programmieren des FPGA mit der generierten bit-Datei stellt die Deltaboard Basisbibliothek brBaseDLL drei grundlegende Funktionen zur Verfügung:

  • Speichern der bit-Datei direkt in das FPGA
    Die Funktion ctrl_progUserfile bietet sich vor allem in der Entwicklungsphase an, in der das VHDL System noch nicht abgeschlossen ist und zwischengetestet werden soll. Dabei wird die Datei nur flüchtig direkt den SDRAM des FPGA übertragen. Wird das Board von der Spannungsversorgung getrennt, geht auch das Programm wieder verloren.
  • Speichern der bit-Datei in den Flash Speicher des Boards
    Die Funktion ctrl_saveUserfile bietet sich an, wenn ein ausgereiftes VHDL System vorliegt, welches sehr häufig verwendet werden soll. Durch das Übertragen der bit-Datei in den nicht-flüchtigen Speicher wird dieses System nach dem Anlegen der Versorgungsspannung automatisch in das Nutzer-FPGA geladen.
  • Nachladen der in Flash Speicher abgelegten Datei
    Die Funktion ctrl_reloadUserfile ermöglich das Neuladen der im nicht-flüchtigen Speicher abgelegten Nutzer-FPGA-Datei, ohne das Board von der Netzspannung trennen zu müssen. Diese Funktion bietet sich an, wenn nach einem flüchtigen Test das bereits implementierte Hauptsystem wieder hergestellt werden soll.


Die Programmierung selbst kann über alle verfügbaren Kommunikationsschnittstellen des Boards erfolgt (USB, Ethernet, COM). Eine Nutzung des Xilinx iMPACT Tools ist nicht notwendig bzw. wird auch nicht unterstützt.


Im Downloadbereich haben wir ein Tool inkl. Visual Studio Projekt als Beispiel für die Nutzung der Basisbibliotheksfunktionen bereitgestellt.

Bei der werkseitigen Grundkonfiguration des Deltaboards wird das FMC Projekt "Performancetest" vorprogrammiert. Um diesen Zustand zu einem späteren Zeitpunkt wieder herstellen zu können sind alle nötigen Dateien auf der Projektseite zu finden.