Suchen
Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Die programmierbare Schaltung im Computer Was ist FPGA - Field Programmable Gate Array?

| Autor / Redakteur: Anna Kobylinska und Filipe Martins* / Ulrike Ostler

Das Akronym FPGA steht für Field Programmable Gate Array und bezeichnet eine vor Ort programmierbare Logikgatter-Anordnung. Es handelt sich dabei um einen adaptiven integrierten Schaltkreis, dessen Schaltungsstruktur der Anwender per Software konfigurieren kann, um mit Hilfe bereits vorhandener Elemente die gewünschte logische Schaltung zu implementieren.

Firma zum Thema

Die Abbildung zeigt den Prototypen eines 6x-FPGA-Board von Microsoft von einem bahnbrechenden Projekt aus dem Jahre 2014.
Die Abbildung zeigt den Prototypen eines 6x-FPGA-Board von Microsoft von einem bahnbrechenden Projekt aus dem Jahre 2014.
(Bild: Microsoft)

FPGAs zeichnen sich durch einen simplen Design-Flow und eine bemerkenswerte Anpassungsfähigkeit aus. Ein Field Programmable Gate Array besteht aus einem Raster elektronischer Logikmodule mit adaptiven Logikgattern.

Schematischer Aufbau einer FPGA mit matrixförmiger Anordnung von Logikelementen
Schematischer Aufbau einer FPGA mit matrixförmiger Anordnung von Logikelementen
(Bild: Prof. Dr.-Ing. Christian Störte/FH Münster)

Zum Programmieren eines FPGA wird die gewünschte Konfiguration der Schaltung zuerst einmal in einer Touring-vollständigen Hardwarebeschreibungssprache (Hardware Description Language, kurz HDL) wie „VHDL“ oder „Verilog“ definiert, in eine Konfigurationsdatei übersetzt und dann schließlich auf die FPGA gespielt. Dieser Vorgang ist je nach Hersteller im Detail unterschiedlich gelöst. Einige FPGAs lassen nur eine einzige Programmierung zu, andere lassen sich mehrmals anpassen.

FPGAs lassen sich an neue Workloads, gegebenenfalls auch per Remote-Zugriff anpassen. Die Funktionsfähigkeit einer FPGA setzt im Übrigen keinen Host-Computer voraus.

Im Inneren der ACAP-basierten heterogenen Chip-Architektur von Xilinx, Versal Premium Series
Im Inneren der ACAP-basierten heterogenen Chip-Architektur von Xilinx, Versal Premium Series
(Bild: Xilinx)

FPGAs wurden von der kalifornischen Chip-Schmiede Xilinx erfunden. Xilinx ist nach wie vor der führende, obwohl nicht der einzige, Hersteller von FPGAs. Zu den Rivalen von Xilinx in diesem Markt zählen unter anderem Intel und Achronix.

Vorteile und Nachteile von FPGAs

Zu den besonderen Eigenschaften von FPAs zählen:

  • flexible Programmierbarkeit: Die hohe Anpassungsfähigkeit von FGPAs gestaltet sich derzeit äußerst umständlich, sie gilt zugleich als das wichtigste Alleinstellungsmerkmal und die größte Herausforderung beim Einsatz von FPGAs.
  • hohe Spezialisierung und hohe Parallelisierbarkeit: Mehrere FPGAs lassen sich hintereinander verschalten und erlauben so die Umsetzung fast beliebig komplexer Schaltungslogik - auf FPGAs laufen zum Beispiel die Bing-Algorithmen von Microsoft.
  • niedrige I/O-Latenz: Die Zeitspanne zwischen der Ein- und Ausgabe (I/O) ist im Falle einer FPGA extrem gering, da diese Schaltkreise weder eine Befehlssprache verarbeiten noch über einen Bus mit anderen Systemkomponenten kommunizieren müssen; die Latenz beträgt typischerweise etwa eine Mikrosekunde und ist damit rund 50 mal geringer als im Falle einer CPU.
  • hohe Bandbreite: Eine FPGA erlaubt die Verschaltung einer beliebigen Datenquelle direkt an die Pins des Chips (anders als im Falle einer CPU, die ihre Daten stets über einen standardisierten Bus wie PCIe empfangen muss).
  • geringe Markteintrittsschranken: FPGAs zeichnen sich durch hohe Produktionskosten, jedoch niedrigere Vorabinvestitionen als bei der Umsetzung derselben Schaltungslogik in einem ASIC
  • hohe Leistung pro Watt möglich: FPGAs zeichnen sich durch eine hohe Energie-Effizienz im Vergleich zu CPUs und GPUs bei Berechnungen mit fester Genauigkeit (zum Beispiel bei Workloads wie Crypto-Mining); FPGAs gelten jedoch als nicht empfehlenswert für Fließkommaoperationen (im Vergleich zu GPUs), außer bei der Verfügbarkeit integrierter Gleitkomma-Einheiten auf dem FPGA-Gewebe oder bei Berechnungen, die einen Host-Computer nicht erfordern; eine GPU braucht zwingend einen.

Nutzungsszenarien von FPGAs

Die wichtigsten Anwendungsszenarien für FPGAs beinhalten:

  • Schaltungsemulation und Prototyping von ASICs: Mit Hilfe von FPGAs lässt sich das Verhalten anwendungsspezifischer Chips, der so genannten ASICs, emulieren; FPGAs kommen in diesem Szenario bei der Erstellung von Prototypen beim Design von ASICs zum Einsatz.
  • Hardwarebeschleunigung: Latenzsensible Workloads wie die Inferenzphase von neuronalen Netzen an der Edge und im Rechenzentrum können aus FPGAs großen Nutzen ziehen; FPGAs haben sich in KI-Workloads unter anderem, zum Beispiel bei Microsoft, bewährt.
  • Sensorfusion: Ein FPGA kann Datenströme aus mehreren IoT-Sensoren gleichzeitig verarbeiten, was die Latenz verringert und Weiterleitung vereinfacht.
  • Umsetzung leistungsstarker Schaltungslogik für IoT-Endpunkte: Die hohe Energie-Effizienz bei Berechnungen mit fester Genauigkeit (zum Beispiel im Falle von Sensordaten) erlaubt es, den Energieverbrauch von IoT-Endpunkten zu senken, ohne auf die parallele Ausführung zu verzichten.
  • NOC-Implementierungen (Network-on-a-Chip): FPGAs bilden das Herzstück der adaptiven Rechenbeschleunigungsplattform „Versal Premium“ von Xilinx für NoC.
  • Optimierung von Time-to-Market von Hardware: Der Einsatz von FPGAs vor der Fertigstellung der jeweiligen ASIC-Implementierung erlaubt es den Herstellern, die Lieferzeiten neuer Lösungen zu verkürzen, während sie ihre Produktionskapazitäten der ASICs aufstocken.

FPGAs versus ASICS

FPGAs schlagen mit wesentlich höheren Stückkosten als ASICs zu Buche. Bei ASICs handelt es sich um anwendungsspezifische integrierte Schaltkreise, die gemäß sehr eng definierter Design-Eckdaten auf ganz bestimmte Kundenspezifikationen hin zugeschnitten werden. Anders als ASICs lassen sich integrierte Schaltkreise vom Typ FPGA auch nach der Inbetriebnahme im Datencenter an neue Workloads anpassen.

Sowohl ASICs als auch FPGAs glänzen durch eine hohe Energie-Effizienz im Vergleich zur GPU-Beschleunigung, vor allem bei Berechnungen mit fester Genauigkeit. GPUs (Graphic Processing Units) trumpfen wiederum mit einer hohen Maximalleistung bei Fließkommaberechnungen.

Die Chip-Entwicklung von der Idee bis zum Prototyp dauert bei FPGAs rund sechs Monate, bei ASICS rund 18 Monate.

FPGAs versus CPUs und GPUs

Die umständliche Programmierbarkeit von FPGAs in HDL-Sprachen gilt als das größte Hindernis für breiteren Einsatz. Das Aufkommen von HLS-Lösungen zur FPGA-Programmierung (High Level Synthesis) in Programmiersprachen höherer Ebene wie OpenCL oder C++ kann eine willkommene Abstraktionsebene schaffen. Doch selbst wenn solche Sprachen zum Einsatz kommen, gestaltet sich das Programmieren von FPGAs um eine Größenordnung schwieriger als das Programmieren ISA-basierter Prozessoren wie CPUs oder GPUs.

FPGAs bilden das Herzstück anpassungsfähiger, heterogener Chip-Architekturen wie „Versal“ von Xilinx.
FPGAs bilden das Herzstück anpassungsfähiger, heterogener Chip-Architekturen wie „Versal“ von Xilinx.
(Bild: Xilinx)

Bei „Versal“ (Codename Everest) handelt es sich um eine heterogene Chip-Architektur auf der Basis der „ACAP“-Plattform von Xilinx (Adaptable Computing Acceleration Platform). Mit „Versal Premium“ Series hat Xilinx einen kompletten Stack vorgestellt, der FPGA-beschleunigte Workloads aus Hyperscale-Rechenzentren auf andere Marktsegmente ausweiten soll. Die adaptive Rechenbeschleunigungsplattform Versal Premium setzte damit neue Standards im Hinblick auf die Umsetzung rekonfigurierbarer, programmierbarer Hardware für 5G- und Cloud-Konnektivität.

* Das Autorenduo Anna Kobylinska und Filipe Pereira Martins arbeitet für McKinley Denali Inc. (USA).

Artikelfiles und Artikellinks

(ID:46798681)