FPGA

Was ist ein FPGA?

Ein FPGA (Field Programmable Gate Array) ist ein integrierter Schaltkreis, dessen interne Logikstruktur nach der Herstellung durch den Anwender konfiguriert werden kann. Im Gegensatz zu Mikrocontrollern oder Prozessoren, bei denen ein Programm sequenziell auf einer CPU ausgeführt wird, implementiert ein FPGA digitale Hardwarestrukturen direkt im Chip.

Ein FPGA besteht aus einer großen Anzahl konfigurierbarer Logikblöcke, Speicherstrukturen und programmierbarer Verbindungsnetzwerke. Durch eine sogenannte Konfigurationsdatei (Bitstream) wird festgelegt, wie diese Logikblöcke miteinander verbunden sind und welche Funktionen sie implementieren. Dadurch kann ein FPGA beispielsweise digitale Signalverarbeitung, Kommunikationsschnittstellen oder komplette Hardwarebeschleuniger realisieren.

Entwicklung von FPGA-Logik

Die Entwicklung für FPGAs erfolgt in der Regel nicht mit klassischen Programmiersprachen, sondern mit Hardwarebeschreibungssprachen (HDL) wie VHDL oder Verilog. Dabei wird nicht ein Programmablauf beschrieben, sondern eine Hardwarestruktur, die anschließend im FPGA implementiert wird.

FPGA-Board neben Laptop-Tastatur
Typisches FPGA-DevBoard

FPGAs werden häufig eingesetzt, wenn parallele Datenverarbeitung, hohe Datenraten oder spezielle Hardwarefunktionen erforderlich sind. Typische Anwendungsfelder sind industrielle Steuerungen, Signalverarbeitung, Kommunikationssysteme, Messtechnik oder Bildverarbeitung.

Im Unterschied zu einem ASIC (Application-Specific Integrated Circuit) bleibt ein FPGA nach der Fertigung rekonfigurierbar. Dadurch eignet er sich besonders für Prototypen, flexible Hardwareplattformen oder Systeme, bei denen sich Funktionen im Feld ändern oder erweitern lassen.

Einsatzbereiche

Typische Einsatzbereiche sind Leistungselektronik, GHz-Logik, Kommunikationsprotokolle und Kamerasysteme. In der Leistungselektronik werden FPGAs beispielsweise für schnelle Regelalgorithmen eingesetzt. In Kommunikationssystemen können sie komplexe Protokolle oder Signalverarbeitung in Hardware implementieren. Bei Kameras und Bildverarbeitungssystemen ermöglichen sie die parallele Verarbeitung großer Datenströme direkt am Sensor.

Ein Nachteil von FPGAs ist der hohe Entwicklungsaufwand. Die Entwicklung erfolgt meist mit Hardwarebeschreibungssprachen und erfordert spezialisiertes Fachwissen über digitale Schaltungstechnik, Timing und Hardwarearchitektur. Zudem können leistungsfähige FPGA-Systeme einen erheblichen Stromverbrauch haben, insbesondere wenn große Logikbereiche oder hohe Taktfrequenzen genutzt werden.

Hersteller

Einige FPGA-Hersteller:

  • AMD (Xilinx)https://www.amd.com
    Einer der größten FPGA-Anbieter weltweit mit Serien wie Virtex, Kintex, Artix und Zynq.
  • Intel (ehemals Altera)https://www.intel.com
    Bietet FPGA-Familien wie Stratix, Agilex, Arria oder Cyclone und ist einer der beiden dominierenden Anbieter im Markt.
  • Lattice Semiconductorhttps://www.latticesemi.com
    Spezialisiert auf stromsparende FPGAs für Embedded-, IoT- und Edge-Anwendungen.
  • Microchip Technology (ehemals Microsemi / Actel)https://www.microchip.com
    Bekannt für sicherheits- und zuverlässigkeitsorientierte FPGAs wie PolarFire oder ProASIC.
Zurück zum Glossar