Was ist FPGA - Field Programmable Gate Array? (2024)

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

Von Anna Kobylinska und Filipe Martins*

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.

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.

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.

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.

Grips für Waschmaschinen, Messgeräte, Bitcoin-Miner und: Serverbeschleunigung Was sind Application Specific Integrated Circuits, ASIC?

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.

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

Link: Programmierbare Logikblöcke und Server-Akzeleratoren FPGA-Grundlagen: Funktionsweise und Einsatzmöglichkeiten

Link: Die Xelera-Technik in der Open Telekom Cloud: FPGA: Mehr Speed für Big Data

Link: Field Programmable Gate Array von Efinix: Mini-FPGA für Edge-Computing, KI und mehr

Link: Mehr Performance für rechenintensive Anwendungen: FPGA-Beschleunigung "as a Service"

Link: Interview mit Michael Gude, CEO Cologne Chip: Deutsches FPGA mit eingebauter Overdrive-Funktion

(ID:46798681)

Was ist FPGA - Field Programmable Gate Array? (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Jeremiah Abshire

Last Updated:

Views: 6573

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Jeremiah Abshire

Birthday: 1993-09-14

Address: Apt. 425 92748 Jannie Centers, Port Nikitaville, VT 82110

Phone: +8096210939894

Job: Lead Healthcare Manager

Hobby: Watching movies, Watching movies, Knapping, LARPing, Coffee roasting, Lacemaking, Gaming

Introduction: My name is Jeremiah Abshire, I am a outstanding, kind, clever, hilarious, curious, hilarious, outstanding person who loves writing and wants to share my knowledge and understanding with you.