Ich bin neu in der Programmierung für FPGAs, daher wurde mir empfohlen, einen verfügbaren C/C++-zu-VHDL-Übersetzer zu verwenden.
Das Problem ist, dass es Unmengen an Informationen gibt und fast alle guten Programme eine teure Lizenz benötigen.
Ich werde ein Xilinx FPGA (wahrscheinlich ein Virtex-6) bekommen und damit eine gültige Lizenz zur Nutzung von Vivado HLS und ISE haben. Also, meine Idee, wie man einen C-Algorithmus in das FPGA umwandelt, ist folgende:
1 - Konvertieren Sie den Algorithmus von C nach VHDL und optimieren Sie ihn mit Vivado HLS (bereits aus Tutorials verstanden, wie dieser Schritt ausgeführt wird)
2 - Verwenden Sie die neu generierten VHDL-Dateien in ISE, um einen Bitstream zu generieren (keine Ahnung, wie das geht)
3 - Verwenden Sie den Xillybus , um ein C-Programm mit dem FPGA (mit dem Bitstream) zu verbinden und Informationen zu senden/empfangen, um die Ausgänge sehen zu können.
Bin ich auf dem richtigen Weg und fehlt mir ein Schritt? Zu Schritt 2: Ist es einfach, den Bitstream in ISE zu generieren, oder brauche ich viel Wissen über Portweiterleitung?
Beantworten Sie Ihre Kommentarfrage hier, wo ich mehr Platz habe. Angenommen, Sie haben eine Anwendung, die Sie auf einem Linux-Rechner entworfen haben, und sie führt einen Algorithmus aus, den Sie zum Zählen der Anzahl von Katzenbildern im Internet geschrieben haben. Jetzt läuft es, aber es ist langsam, weil es eine Menge Katzenbilder zu durchlaufen gibt, also möchten Sie es in Hardware beschleunigen.
Sie verwenden dieses Tool also, um OpenCL-Code zu schreiben, der in C vorliegt, jedoch mit einigen Einschränkungen hinsichtlich der Form, da er für die Ausführung auf einem FPGA "kompiliert" wird. Diesen Teil des Code-Kernels nennen wir. Jetzt werden diese Kernel synthetisiert und auf dem FPGA ausgeführt, vielleicht haben Sie 1 oder vielleicht 100, die parallel arbeiten.
All dies erledigen Sie direkt in Ihrer Anwendung, inline. Wenn Sie also an den Punkt kommen, an dem Sie die Katzen tatsächlich zählen, verwenden Sie deren APIs, um die Verarbeitung auf dem FPGA durchzuführen.
Ich habe gerade deinen anderen Kommentar gesehen, dass es noch nicht draußen ist, ich weiß, dass Alteras Sachen schon eine Weile draußen sind, du kannst hier eine Menge Designbeispiele finden
Alles in allem hängt es davon ab, was Ihr Ziel hier ist. Möchten Sie lernen, wie man Verilog schreibt, Prüfstände testet und ein FPGA-Designer wird? Oder möchten Sie Algorithmen oder Funktionen nur mit Hardware beschleunigen, ohne das alles zu tun?
Wie bei jedem Werkzeugsatz hängt es von der jeweiligen Aufgabe ab, welches man verwendet.
Das Photon
João Pereira
Eugen Sch.
Das Photon
João Pereira
João Pereira
Das Photon
Irgendein Hardware-Typ
Stanri
Paebbels
João Pereira
João Pereira
João Pereira
Ciro Santilli OurBigBook.com