Definition Was ist ein Field Programmable Gate Array (FPGA)?

Autor / Redakteur: zeroshope / Heidi Schuster

FPGA ist die Kurzform für "programmierbare Logikgatter-Anordnung". Es handelt sich um Schaltkreise, deren Logik mittels Software definiert werden kann. Dadurch entstehen diverse Vorteile, aber es gibt auch einen zentralen Schwachpunkt.

Firmen zum Thema

Grundlagenwissen zum IT-Business
Grundlagenwissen zum IT-Business
(Bild: © adiruch na chiangmai - Fotolia.com)

FPGA steht für „Field Programmable Gate Array“ bzw. „programmierbare Logikgatter-Anordnung“. Erfunden wurde das Konzept von der US-Chipset Manufaktur Xilinx, die bis heute zu den führenden Anbietern gehört. Faktisch handelt es sich um Schaltkreise, deren Logik mittels Software definiert werden kann. Über ein Programm lässt sich also festlegen, wie geschaltet wird. Der offensichtliche Vorteil dabei liegt auf der Hand: Ein Schaltsystem muss nicht umgebaut oder ersetzt werden, wenn eine neue Schaltung benötigt wird. Es ist lediglich eine Reprogrammierung notwendig.

Die Funktionsweise von FPGAs

Die gewünschte Schaltung ist einer Touring-kompletten HDL („Hardware Description Language“ bzw. „Hardware Beschreibungssprache“) zu verfassen. Verilog wäre beispielsweise geeignet. Anschließend wird die Schaltung in eine Konfigurationsdatei übertragen und das FPGA aufgespielt. Hier gibt es herstellerabhängige Unterschiede. Früher war es üblich, dass nur eine Schaltung zurzeit aufgespielt werden konnte. Inzwischen bieten einige Hersteller Lösungen mit mehreren Schaltungen. Wenn die FPGAs in kurzen Abständen unterschiedliche Arbeiten verrichten sollen, ist die zweite Variante deutlich vorteilhafter.

Vor- und Nachteile von FPGAs

Vorteile:

  • Parallelisierbarkeit: Mehrere FPGAs können in Reihe geschaltet werden und gestatten so die Umsetzung sehr komplexer Szenarien.
  • I/O-Latenz ist sehr gering. Die Zeit zwischen Ein- und Ausgabe ist 50-mal geringer als bei einer CPU.
  • Kompatibilität: Ein FPGA gestattet es, beliebige Datenquellen direkt mit dem Chip zu verbinden. Es ist anders als bei einer CPU keine Standardisierung notwendig.
  • Energieeffizienz: FPGAs bieten im Vergleich mit CPUs und GPUs eine ausgezeichnete Leistung pro Watt.
  • Ein Host-Computer wird nicht benötigt.

Es gibt eigentlich nur einen Nachteil von FPGAs: Die Programmierung ist sehr umständlich. Die Schaltungen gelten deshalb beispielsweise als ungeeignet für Fließkommaoperation. Diese würden zu schnelle Logikwechsel verlangen. Die FPGAs sind deshalb kein Ersatz für CPUs oder Grafikchips, aber eignen sich beispielsweise für Hardwarebeschleunigungen, Sensorfusionen (gleichzeitige Auswertung unterschiedlicher Sensordaten) und Netzwerk-auf-einem-Chip (NOC)-Implementierungen.

(ID:47716968)