FPGAs meistern KI, Effizienz und I/O zugleich – Altera zeigt, wie Entwickler mit optimierten Familien und Kits flexibel jede Embedded-Herausforderung bewältigen können.
Der Bedarf an konfigurierbarer Logik wächst in ressourcenbeschränkten eingebetteten Systemen beständig. Anwendungen wie Künstliche Intelligenz, Bildverarbeitung oder industrielle Automatisierung erfordern eine flexible, anwendungsspezifische Logik, die den wachsenden Leistungsanforderungen gerecht wird und gleichzeitig strenge Energie-, Größen- und Kostengrenzen einhält. Moderne FPGAs können diese konkurrierenden Anforderungen erfüllen.
Dieser Artikel gibt einen Überblick über die wichtigsten Designkriterien, die bei der Auswahl eines FPGAs für ressourcenbeschränkte Anwendungen berücksichtigt werden müssen. Der Text erläutert anschließend, wie die verschiedenen Produktlinien auf spezifische Einsatzszenarien zugeschnitten sind, und veranschaulicht dies anhand von Beispielen leistungs- und kostenoptimierter FPGAs aus dem Portfolio von Altera. Abschließend stellt der Beitrag Development-Kits und Evaluierungsboards vor, die sich zur Prototypenerstellung und Validierung von Designkonzepten einsetzen lassen.
Die Auswahl eines FPGAs für ein ressourcenbeschränktes System erfordert die Erfüllung mehrerer Designanforderungen und deren Abgleich mit der richtigen Lösung. Es gibt mehrere wichtige FPGA-Merkmale zu berücksichtigen:
Anzahl der Logikelemente (LE): Als grundlegender Baustein eines FPGAs bestimmt die Anzahl der LEs, wie viel kundenspezifische Logik implementiert werden kann. Je höher die Anzahl, desto komplexer können die Designs werden, gehen aber mit der Erhöhung der Leistungsaufnahme, der Kosten und der Gehäusegröße einher.
I/O und Speicher: FPGAs dienen häufig als Verbindungslogik zwischen verschiedenen Komponenten innerhalb eines Systems. Deshalb ist die Anzahl der I/O-Pins ein wichtiger Faktor. Um die I/O-Performance zu steigern, enthalten viele FPGAs festverdrahtete Logikblöcke für Schnittstellen wie PCI Express (PCIe), High-Speed-Speicher und Multi-Gigabit-Transceiver. Darüber hinaus sind in einigen FPGAs Funktionen wie Analog/Digital-Wandler (ADCs) und Flash-Speicher integriert. Dies reduziert den Bedarf an Zusatzchips, spart Platz auf der Leiterplatte und erhöht die Energieeffizienz.
Integration eines Prozessors: Anstelle eines externen Prozessors kann im FPGA eine »Soft«-Mikroprozessoreinheit (MPU) implementiert werden. Das spart Platz, eignet sich jedoch eher für Anwendungen mit geringeren Anforderungen an die Prozessorleistung. Für Anwendungen, die schnellere, effizientere MPUs benötigen, können Designer ein FPGA mit einem Hard-Processor-System (HPS) in Betracht ziehen, das eine MPU als festverdrahteten Logikblock im FPGAs implementiert.
Hardware-Beschleuniger: FPGAs enthalten typischerweise spezielle DSP-Blöcke (DSP: digitale Signalverarbeitung), die rechenintensive Aufgaben wie die Motion Control effizient erledigen. Höherwertige Bausteine können zudem spezielle Tensor-Blöcke für KI-Workloads enthalten. Die Fähigkeiten dieser Beschleunigerblöcke variieren erheblich zwischen den FPGA-Familien und können die Gesamtperformance des Systems stark beeinflussen.
Optimierung von Gehäuse und Strombedarf: Einige FPGAs sind speziell für minimalen Platz und Energiebedarf ausgelegt. Sie können zum Beispiel einen stromsparenden Ruhemodus anbieten.
Entwicklungs-Tools: Die Erstellung einer benutzerdefinierten Logik ist komplex, insbesondere für Einsteiger. Tools wie die Design-Software Quartus Prime von Altera wurden erarbeitet, um diesen Prozess zu optimieren. Quartus Prime wurde entwickelt, um den Zugang zum FPGA-Design zu erleichtern. Es bietet eine entwicklerfreundliche Oberfläche, einen umfangreichen Katalog vorgefertigter Logikblöcke und die Möglichkeit, diese Logikblöcke automatisch miteinander zu verbinden. Das Tool unterstützt gängige KI- und ML-Workflows und ermöglicht es Entwicklern, gängige Betriebssysteme wie Linux und Zephyr auf einem FPGA einzusetzen. Solche Tools beschleunigen das Design und sind somit ein zentrales Kriterium bei der FPGA-Auswahl.
Für Anwendungen mit hoher Rechen- und Bandbreitendichte – zum Beispiel Edge-KI oder leistungsstarke Industrie-Gateways – sind Agilex-3-FPGAs ausgelegt. Sie bieten bis zu 135K LEs und sind sowohl als FPGA-only als auch als SoC-Varianten erhältlich. Die SoC-Bausteine enthalten einen Dual-Core-Cortex-A55 mit 800 MHz, um komplexe Software-Stacks wie HMIs (Mensch-Maschine-Schnittstellen) oder Netzwerk-Stacks zu übernehmen.
Die programmierbare Struktur enthält AI-Tensor-Blöcke mit bis zu 2,8 INT8 TOPS Rechenleistung. Diese Blöcke unterstützen verschiedene Formate, einschließlich FP16, FP19, FP32 und BFLOAT16, und sind für die effiziente Ausführung von KI-Workloads optimiert. Außerdem sind DSP-Blöcke mit variabler Genauigkeit enthalten, die eine Leistung von bis zu 180 GFLOPS für allgemeine Signalverarbeitungsaufgaben bieten. Die Highspeed-Vernetzung ist eine weitere Stärke der Agilex-3-Architektur. Die Transceiver unterstützen Datenraten von bis zu 12,5 Gbit/s und verfügen über festverdrahtete I/O-Blöcke für PCIe 3.0, 10 Gigabit Ethernet (GbE) und LPDDR4-Speicherschnittstellen. Dank der Unterstützung der präzisen IEEE1588-Zeitsynchronisation wird die Eignung für industrielle Echtzeitnetzwerke weiter erhöht. Der Baustein A3CZ135BB18AE7S veranschaulicht die Möglichkeiten dieser Familie. Er umfasst 135K LEs, 184 DSP-Blöcke und liefert 2,54 TOPS.
Für Anwendungen wie industrielle Automatisierung und Bildverarbeitungssysteme im mittleren Leistungsbereich ist die reine Rechenleistung oft weniger wichtig als die Fähigkeit, komplexe Konfigurationen mit einer großen Menge an kundenspezifischer Logik und I/O zu unterstützen. Die »Cyclone V«-FPGAs sind für diese Szenarien gut geeignet, da sie bis zu 300K LEs und umfangreiche Highspeed-Schnittstellen bieten. Wie Agilex 3 sind auch diese Chips in reinen FPGA- und SoC-Varianten erhältlich. In diesem Fall enthalten die SoC-Komponenten einen Dual-Core-Cortex-A9.
Die programmierbare Struktur dieser Chips umfasst DSP-Blöcke mit variabler Genauigkeit, die eine dreifache 9×9- und zweifache 18×18-Festkommamultiplikation sowie eine 27×27-Festkomma- oder -Gleitkommamultiplikation unterstützen. Diese Blöcke können für anspruchsvolle Aufgaben aus der Signalverarbeitung und der KI verwendet werden. Eine breite Mischung von I/Os unterstützt mehrere Spannungsebenen und Schnittstellentypen. Festverdrahtete Logikblöcke ermöglichen eine fortschrittliche Highspeed-Vernetzung, einschließlich PCIe 2.0, DDR3-Controller und Transceiver, die mit bis zu 6,144 Gbit/s arbeiten.
Entwickler können die SoCs der Cyclone-V-Familie mit dem Entwicklungskit DK-DEV-5CSXC6N-B evaluieren (Bild 2). Dieses Kit ist für das Rapid Prototyping von komplexen Systemen mit hohem Durchsatz konzipiert und zeichnet sich durch folgende Merkmale aus:
Das Board ist mit dem 5CSXFC5D6F31C8N-Baustein ausgestattet, der einen Dual-Core-Cortex-A9-Prozessorkern mit 600 MHz, 85K LEs, 87 DSP-Blöcke und 288 I/O-Pins in einem 31 mm × 31 mm großen 896-FBGA-Gehäuse enthält.
Für platz- und energiebegrenzte Anwendungen wie Sensorschnittstellen, Power Sequencing oder die Steuerung von Peripheriegeräten eignet sich die MAX-10-Familie. MAX-10-Bausteine sind in Konfigurationen von 2K bis 50K LEs und in Gehäusen mit nur 3 mm × 3 mm erhältlich. Zu ihren Merkmalen zählen bis zu zwei integrierte 12-Bit-ADCs, eine DDR3-Speicherschnittstelle und Multiplikatorblöcke, die 18 × 18 und zwei parallele 9 × 9 Festkomma-Operationen unterstützen. On-Chip-Flash mit Dual-Image-Unterstützung ermöglicht es dem FPGA, sich ohne externen Speicherbaustein selbst zu konfigurieren. Ein besonderes Merkmal der MAX-10-Familie sind Stromsparfunktionen. Ein integrierter Sleep-Modus kann den dynamischen Energieverbrauch um bis zu 95 Prozent reduzieren. Dank des On-Chip-Flashs lassen sich die Bausteine vollständig herunterfahren und in weniger als 10 ms wieder in Betrieb nehmen. Eine Single-Supply-Option vereinfacht die Stromversorgung zusätzlich. Dadurch eignen sich MAX-10-Komponenten insbesondere für Überwachungsaufgaben, bei denen Stromversorgungsdomänen möglicherweise vor dem Rest des Systems hochgefahren werden müssen.
Entwickler, die sich für den MAX 10 interessieren, können die Familie mit dem MAX-10-FPGA-Evaluierungsboard EK-10M08E144 prüfen (Bild 3). Das Board bietet Zugriff auf externe Signale über Arduino-UNO-R3-Anschlüsse und Testpunkte. Sein Layout ist dafür ausgelegt, die ADC-Leistung und das gesamte Energieverhalten zu messen. Es ist mit dem Baustein 10M08SAE144C8G ausgestattet, der 8K LEs und einen einzelnen ADC in einem 144-Pin-LQFP-Gehäuse enthält. Dieses FPGA unterstützt den RISC-V-basierten Nios-V-Softprozessor, der es Entwicklern erlaubt, einfachere Steuerungsfunktionen zu implementieren, ohne eine externe MCU zu benötigen.
Anwendungen wie Sensorfusion, Bewegungssteuerung und Chip-to-Chip-Bridging erfordern mehr Logik- und I/O-Kapazität, als FPGAs der Einstiegsklasse bieten können. Die für ein ausgewogenes Verhältnis von Leistungsaufnahme und Bandbreite in kostensensitiven Anwendungen optimierten FPGAs der Cyclone-10-LP-Familie erfüllen diese Anforderungen mit bis zu zu 120K LEs und 525 I/O-Pins. Wie die MAX-10-Familie enthält die Cyclone-10-LP-Familie DSP-Blöcke, die sich für Aufgaben wie Filterung, Regelschleifen und einfache KI-Inferenz eignen. Im Gegensatz zu MAX 10 sind die Cyclone-10-LP-FPGAs mit echten LVDS-Transceivern und On-Chip-Terminierung (OCT) zur Unterstützung digitaler Highspeed-Schnittstellen ausgestattet. Die Cyclone-10-LP-FPGAs lassen sich mit dem Cyclone-10-Evaluierungskit EK-10CL025U256 prüfen, das Arduino-UNO-R3- und Digilent-Pmod-Anschlüsse für einfache Erweiterungen umfasst (Bild 4). Weitere Merkmale sind GbE, USB 2.0, 128 Mbit SDRAM und 64 Mbit Flash. Das Board enthält den Baustein 10CL025YU256C8G, der 25K LEs, 66 DSP-Blöcke und 150 I/O-Pins in einem 14 mm × 14 mm großen Gehäuse bereitstellt. Wie der MAX 10 unterstützt die Familie Cyclone 10 LP den Softprozessor Nios V.
Entwickler haben heute mehr Möglichkeiten denn je bei der Realisierung kundenspezifischer Logik in Embedded-Systemen. Leistungsstarke Anwendungen profitieren von FPGAs mit integrierten KI-Beschleunigern. Energiesparende Designs können die Vorteile von Komponenten mit Ruhemodus nutzen. I/O-intensive Systeme hingegen lassen sich mit Chips mit hoher Pinzahl und Highspeed-Schnittstellen umsetzen. Wichtig ist, dass sich alle diese Fähigkeiten innerhalb der engen Grenzen von ressourcenbeschränkten eingebetteten Systemen mit einfach zu verwendenden Kits realisieren lassen.