Wie kommen die Ideen auf den Chip?
Wie erwähnt machen die definierten Logikblöcke es einfacher, die eigenen Ideen auf den Chip zu bringen. Aber wer befürchtet, Nullen und Einsen persönlich durch die mitunter Zehntausenden Logikblöcke eines FPGA schubsen zu müssen, kann beruhigt sein: Es gibt Programmiersprachen, die dies erheblich vereinfachen. Allerdings spricht man in diesem besonderen Fall von einer Hardware-Beschreibungssprache (HDL, Hardware Description Language). Denn man entwirft ja kein Programm, sondern das Verhalten einer logischen Schaltung.
Wie so oft in der IT gibt es genau zwei HDLs, die um die Marktführerschaft konkurrieren. Die eine ist Verilog, die in ihrer Struktur an C erinnert und in den USA sehr verbreitet ist. Die Europäer bevorzugen hingegen VHDL, weshalb man für diese Sprache eher Tutorials in deutscher Sprache bekommt. Dem FPGA ist die Sprache egal, da er nach dem Synthetisieren (analog zum Kompilieren) das gleiche Ergebnis erhält.
Entwicklungsumgebungen gibt es von Xilinx und Altera in einer einfachen Variante zum Download. Beide beherrschen den Umgang mit Verilog und VHDL. Benutzer von Altera-FPGAs wählen die Quartus Prime Lite Edition. Bei Xilinx heißt die Software Vivado HL WebPACK Edition. Man muss sich jedoch bei Xilinx registrieren, um eine Lizenz zu erhalten. Beide Entwicklungsumgebungen gibt es für Windows und Linux, Mac-Benutzer müssen sich mit Bootcamp behelfen.
Um sein Programm auf den FPGA zu bringen, gibt es verschiedene Möglichkeiten. Die gängigste ist die Verbindung des PC mit dem Entwicklerboard über einen JTAG-Programmer, worüber der FPGA direkt angesprochen wird. Aber auch Varianten, in denen das Programm über eine Micro-SD-Karte geladen werden kann, sind üblich. In fertigen Implementierungen wie etwa einem medizinischen Gerät übernimmt in der Regel ein EPROM die Programmierung des FPGA, da dieser bei jedem Abschalten zurückgesetzt wird.
Gibt es vorgefertigte Funktionen?
Es gibt Funktionen, die bei einem FPGA immer wieder benötigt werden, etwa solche für Laufwerke oder Netzwerkkommunikation. Damit sie nicht jedes Mal neu angelegt werden müssen, gibt es das Prinzip des Design Reuse oder auch IP (Intellectual Property).
Von den Herstellern werden einige grundlegende Funktionen im FPGA angelegt, die bei Bedarf verwendet werden können. Man spricht von IP-Cores, die noch einmal in Soft- und Hard-Cores unterschieden werden. Wenn eine Funktion als Soft-Core zur Verfügung steht, bedeutet das, dass sie verändert und angepasst werden kann, es gibt praktisch keinen Unterschied zu den eigenen Funktionen. Eine Hard-Core-IP lässt sich nicht verändern, da sie als Hardwarelösung implementiert ist und mit dem programmierbaren Teil des FPGA kommuniziert.
Die eingebüßte Flexibilität wird durch einen Geschwindigkeitsvorteil kompensiert. Ein Beispiel hierfür sind die neuen FPGAs mit dem Zusatz SoC (System on a Chip). Hier findet sich ein ganzer Cortex-A9 Dual-Core-Prozessor von ARM mit auf dem FPGA. Es gibt auch Drittanbieter für IP-Cores, die gegen Bezahlung gewünschte Funktionen liefern. Freie Implementierungen findet man auf Opencores.org. Diese Seite bietet auch einen guten Überblick darüber, was mit FPGAs alles möglich ist.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
FPGA: Prozessor Marke Eigenbau | Worauf sollte man als Einsteiger achten? |
Ich glaub es ist derzeit sowieso klüger, wenn man einkauft. Das Anschaffen der Ethereum...
Ja. Das wäre wirklich toll. Manchmal sind bestimmte Befehle (und damit eine bestimmte...
die besseren fpgas entziehen sich ja schon dem normalen hobbybastler. wenn ich z.b. eine...
Das geht mit HLS schon durchaus. Das genau habe ich doch mit meinem Beitrag...