FPGA und SoC

Überblick über FPGA- und SoC-Technologien, die wir in Projekten für datenintensive und zeitkritische Anwendungen eingesetzt haben.

FPGA

Ein FPGA („Field Programmable Gate Array“) besteht aus einer großen Anzahl konfigurierbarer Logikzellen, die per Software zu einer gewünschten Funktion verschaltet werden.

Die Stärke von FPGAs liegt in einem deterministischen Systemverhalten bei gleichzeitig sehr hohem Datendurchsatz durch Pipelining. Dadurch lassen sich Logikoperationen effizient parallelisieren und erreichen bei entsprechender Verarbeitungstiefe deutlich höhere effektive Datenraten als sequenzielle CPU-Architekturen.

Im Vergleich zu klassischen Prozessoren werden Operationen nicht sequentiell abgearbeitet, sondern parallel in Hardware realisiert, wodurch sich auch bei moderaten Taktfrequenzen eine sehr hohe Gesamtleistung ergibt.

Ein weiterer Vorteil ist die hohe Flexibilität bei der Anbindung externer Komponenten:
Viele Schnittstellen lassen sich im FPGA implementieren und an spezifische Anforderungen anpassen.

Zusätzlich ermöglicht ein FPGA eine weitgehende funktionale Verifizierung im Simulator, wodurch sich Fehler frühzeitig erkennen und beheben lassen.

Wir arbeiten seit 2002 mit FPGAs, beginnend mit einem Xilinx Spartan-3. Seitdem entwickeln wir kontinuierlich Logik auf unterschiedlichen Plattformen.

Eingesetzte Plattformen:

  • AMD / Xilinx
  • Intel / Altera
  • Lattice
  • Efinix

FPGA-SoC

Ein FPGA-SoC kombiniert FPGA-Logik und einen Prozessor in einem gemeinsamen Chip („System-on-Chip“).

Zum Einsatz kommen typischerweise ARM-basierte Multicore-Prozessoren, auf denen Betriebssysteme wie Linux betrieben werden können. Dadurch lassen sich hardwarebeschleunigte Datenverarbeitung und softwarebasierte Steuerung eng miteinander kombinieren.

Diese Architektur ermöglicht leistungsfähige eingebettete Systeme, insbesondere bei komplexen Datenflüssen und anspruchsvollen Schnittstellen.

Unser erstes Projekt in diesem Bereich war 2014 ein Xilinx Zynq-7000 mit Embedded Linux. Seitdem haben wir mehrere Projekte mit FPGA-SoCs umgesetzt.

Eingesetzte Plattformen:

  • AMD / Xilinx SoCs (Zynq-7000, Zynq Ultrascale+)
  • Intel / Altera SoCs (Cyclone V, Arria 10)