Dieses Repository enthält FPGA-IP-Blöcke, die mit der Arduino Vidor-Produktfamilie kompatibel sind, und richtet sich an Benutzer, die bereits mit dem FPGA-Entwicklungsprozess vertraut sind. Obwohl die FPGA-Entwicklung mit nativen Tools gefördert wird, wird sie von Arduino nicht unterstützt, da sie recht komplex und schwer zu unterstützen ist. Wenn Sie der Meinung sind, dass diese Herausforderung etwas für Sie ist, beachten Sie bitte, dass wir nur sehr begrenzten Support leisten können, da unsere Hauptbemühungen darauf abzielen, ein reibungsloses Erlebnis innerhalb von Arduino IDE und Arduino Create durch vorkompilierte Bibliotheken und mit dem Web-Tool zu ermöglichen, das eine einfache Möglichkeit bietet IP-Blöcke zusammenzustellen.
Die Verzeichnisstruktur ist in der folgenden Tabelle zusammengefasst:
Verzeichnis | Inhalt |
---|---|
IP | Quellcode für IP-Blöcke |
Projekte | Beispielprojektdateien für die verschiedenen Boards |
Einschränkungen | Einschränkungsdateien für die verschiedenen Boards. Enthält Pinbelegung und Timings |
Auch dieses Repository ist nur für Personen gedacht, die bereits mit der FPGA-Programmierung vertraut sind. Im Moment besteht die Hauptabsicht darin, die IP-Blockierungsfunktionalität offenzulegen und die von uns erstellte Infrastruktur zu präsentieren, damit potenzielle Mitwirkende mit der Bewertung beginnen können. Zum jetzigen Zeitpunkt enthält dieses Repository nicht den vollständigen Quellcode, der zum Kompilieren der veröffentlichten Bibliotheken erforderlich ist, da Teile davon sowohl in Bezug auf den Code als auch in Bezug auf die Lizenzierung (in einigen Fällen von Dritten) noch etwas überarbeitet werden müssen. Vollständige Beispiele funktionierender FPGAs sowie Anweisungen zum Erstellen einer Bibliothek und zum Zugriff auf das FPGA werden hier veröffentlicht, spiegeln jedoch nicht unbedingt die offiziellen Bilder wider, die wir veröffentlichen.
Die Voraussetzung zum Kompilieren von FPGA-Bildern der MKRVIDOR4000-Karte ist Quartus II 18.0 Lite oder Standard, das von der Altera/Intel-Website heruntergeladen werden kann. Sobald Quartus installiert ist, können Sie ein Projekt im Projektverzeichnis öffnen und es mit Quartus kompilieren.
Quartus erstellt eine Reihe von Dateien im Verzeichnis „output_files“ im Projektordner. Um das FPGA in den Arduino-Code zu integrieren, müssen Sie eine Bibliothek erstellen und die von Quartus generierte TTF-Datei vorverarbeiten, damit sie die entsprechenden Header enthält, die von der Software-Infrastruktur benötigt werden. Einzelheiten zu diesem Vorgang werden bekannt gegeben, sobald der Fluss stabil ist.
Die Programmierung des FPGA ist auf verschiedene Arten möglich:
Flashen des Bildes zusammen mit dem Arduino-Code, wodurch eine Bibliothek erstellt wird, die die ttf-Datei enthält
Programmieren des Bildes im RAM über USB Blaster (dazu ist die Montage des FPGA-JTAG-Headers erforderlich). Dies ist nur dann sicher möglich, wenn sich SAM D21 im Bootloader-Modus befindet, da es unter anderen Bedingungen möglicherweise auf JTAG zugreift und einen Konflikt verursacht
Programmieren des Images im RAM über den emulierten USB-Blaster über SAM D21 (Veröffentlichung dieser Komponente steht noch aus)