In-System-Programmierung von FPGA durch MCU

Lassen Sie mich wissen, ob dies der falsche Ort dafür ist, aber ich möchte ein FPGA (Spartan 6, glaube ich) mit einem Mikrocontroller programmieren.

Im Moment denke ich darüber nach, das FPGA-Programm in einer .hex-Datei in den Speicher des Mikrocontrollers zu laden und es seriell in eine Art JTAG-IC zu laden, der dann anschließend das FPGA programmiert. Meine Frage ist, ob dieser JTAG-IC theoretisch existiert, und wenn ja, wonach sollte ich suchen? Ich bin mit JTAG nicht ganz vertraut, vielleicht ist das die Quelle meiner Verwirrung.

Vielen Dank im Voraus!

1. FPGA-Bitströme sind im Allgemeinen ziemlich groß, zumindest für große FPGAs (1 Mbit+). Haben Sie so viel Programmplatz? 2. JTAG ist nur ein spezifisches Protokoll, das über einen SPI-Bus läuft, sodass Sie die eigentliche „Programmierung“ ohne allzu große Probleme nur mit der MCU-Hardware durchführen können. Es gibt wahrscheinlich nicht viele, wenn überhaupt, Spezial-ICs für JTAG, da es sich im Grunde genommen um eine generische, einfach zu implementierende Schnittstelle handelt, zumindest auf Hardwareebene.
Außerdem werden FPGA-Programme im Allgemeinen nicht in .hex-Dateien gespeichert. Die meisten FPGA-Hersteller haben ihre eigenen proprietären binären/hexadezimalen Dateiformate.
Danke für die Tipps, es kann sehr gut sein, dass ich nicht genug Platz habe, mein Mikrocontroller hat 128k Speicher, ich werde sicher sehen, welche Art von Programmen das FPGA-Team verwenden möchte.

Antworten (1)

Wenn Sie es ernst meinen, müssen Sie UG380, „ Spartan-6 FPGA Configuration User Guide “, lesen. (Wenn sich herausstellt, dass dies nicht die richtige FPGA-Familie ist, gibt es ein ähnliches Dokument für jede Familie, die Xilinx produziert; suchen Sie einfach danach.)

Die Übersicht (ab S. 15) zeigt, dass es mehrere Möglichkeiten gibt, einen Spartan-6 zu konfigurieren, und JTAG ist nicht unbedingt die einfachste Methode, um von einem Mikrocontroller aus zu steuern. Es gibt einen "Slave Serial" -Modus, der direkt mit dem SPI-Master-Controller auf jedem Mikro verbunden ist, das über einen verfügt.

Danke für die Hilfe, ich werde mir das Dokument auf jeden Fall durchlesen. Die Slave Serial scheint der richtige Weg zu sein.