FPGAs sind universelle Alleskönner. Sie können zum Beispiel im Bereich der schnellen Signalverarbeitung zum Einsatz kommen. Jedoch gelten sie als besonders leistungshungrig, was ihre Einsatzmöglichkeiten im Embedded-Bereich einschränkt – Abhilfe schaffen hier SoC-FPGAs mit RISC-V-Architektur.
Als System-on-Chip (SoC) bezeichnet man integrierte Systeme, die in lediglich einem Gehäuse mehrere Funktionen zu einem mehr oder weniger kompletten System zusammenfassen. SoCs erleichtern mit ihrer hohen Integrationsdichte das Erstellen von kompakten, eingebetteten Systemen. Bei modularen Systemen werden zentrale Funktionen in einem Kernmodul zusammengefasst, das universell verwendbar ist und sich daher in großen Stückzahlen fertigen und einsetzen lässt. Durch Konsolidierungseffekte führt das zu einer hohen Qualität bei niedrigen Preisen.
Zum Betrieb eines Computer-on-Module (CoM) ist noch ein sogenanntes Träger- beziehungsweise Carrierboard nötig, welches das Modul mit der Außenwelt verbindet. Zum schnellen Entwickeln und Erstellen von Prototypen liefern Modulhersteller Referenzdesigns für das Erstellen von Carrier- und Entwickler-Boards mit umfangreichen Peripheriefunktionen. Teilweise können Entwickler die Boards ebenso für Prototypen und Kleinserien bis zur Serienreife des jeweiligen individuellen Carrierboards nutzen.
Wie der Name FPGA – Field-Programmable Gate-Array – bereits sagt, handelt es sich hier um eine »im Feld« programmierbare digitale Schaltung. Vereinfacht ausgedrückt lassen sich hierbei digitale Systeme in einer Beschreibungssprache als Struktur beschreiben und anschließend als Signalpfad direkt implementieren. Das ermöglicht eine hohe Flexibilität in der Funktion sowie deutlich schnellere Ausführungszeiten und geringere Latenzen im Vergleich zum Implementieren eines Algorithmus als Programm auf einem Microcontroller. FPGAs eignen sich daher besonders gut für schnelle und komplexe Arithmetik sowie für jegliche Art von parallelem Verarbeiten und Methoden der künstlichen Intelligenz (KI) wie neuronale Netze.
Typische Embedded-Applikationen für FPGAs sind alle Arten von schneller Signalverarbeitung, etwa Bildverarbeitung und Steuerungssysteme für Avionik, Robotik und Maschinensteuerungen. Sie sind speziell dann gut geeignet, wenn es um »harte« Echtzeitsteuerungen geht. Weitere Einsatzbereiche sind Messtechnik und Analytik: FPGAs bieten hier eine einfache und effiziente Technik, digitale Signalprozessoren (DSPs) und komplexe Transformationen direkt auf dem Chip zu implementieren. Weil solche Geräte meist über mehrere Jahrzehnte in Betrieb sind, ist es wichtig, dass sie sich zu einem späteren Zeitpunkt aktualisieren lassen. Mit einem FPGA ist das zum Beispiel mit neuen Methoden und Verfahren der Signalverarbeitung ohne den Geschwindigkeitsverlust einer reinen Softwareapplikation möglich – ein großer Vorteil für Entwickler und Anwender. Insbesondere ist das von Vorteil, wenn die Technik an schwer zugänglichen Stellen – etwa bei Satelliten im All – zum Einsatz kommt.
Embedded-Systeme müssen zudem kompakt, zuverlässig und lange verfügbar sein, außerdem rund um die Uhr, 365 Tage im Jahr, funktionieren. Zusätzlich ist oftmals eine geringe Leistungsaufnahme einzuhalten, die man mit passiver Kühlung oder Batteriebetrieb erreicht. Außerdem sollen sie robust und umweltverträglich produziert sein.
Das »M100PFS«-Modul von Aries Embedded erfüllt all jene Anforderungen des Embedded-Marktes (Bild 1). Herzstück des Moduls sind die skalierbaren »PolarFire«-RISC-V-FPGAs der »MPFS«-Familie von Microchip. Sie kombinieren die energieeffizienten FPGAs der PolarFire-Familie mit einem Mikroprozessor-Subsystem (MSS) mit fünf RISC-V-CPU-Kernen mit 625 MHz Taktfrequenz. Hierbei sind die FPGAs folgendermaßen skalierbar:
Die MPFS-Familie von Microchip ist das erste FPGA mit einem deterministischen, kohärenten RISC-V-Prozessor-Cluster sowie einem deterministischen L2-Speicher-Subsystem zum Erstellen von Linux- und Echtzeitapplikationen und integriertem (LP)DDR3/4-Controller. Laut Hersteller soll die MPFS-Familie bis zu 50 Prozent weniger Energie benötigen als alternative Midrange-FPGAs.
Zusätzlich zu den beschriebenen Fähigkeiten zum asymmetrischen Multiprocessing (AMP) mit paralleler Echtzeit/Linux-Applikation erfüllen die SoCs die hohen Anforderungen für Safety und Security. Sie verfügen beispielsweise über Single-Error-Correction und Double-Error-Detection (SECDED) in den LS-RAM-Speichern und allen anderen Prozessor-Speichern, 56 kB Secure Non-Volatile Memory (sNVM) und integrierte, doppelte »Physical unclonable function« (PUF).
Das M100PFS-Modul selbst ist lediglich 74 mm × 42 mm groß und wird über zwei 180-polige »QSH-090«-Board-to-Board-Verbinder von Samtec mit der Trägerplatine verbunden. Es verfügt je nach Ausstattung über folgende Leistungsmerkmale (weitere Details zum Aufbau zeigt das Blockschaltbild des Moduls in Bild 2):
Als Entwicklungsboard hierzu bietet Aries Embedded mit dem 160 mm × 135 mm großen »M100PFSEVP« ein serientaugliches Referenz- beziehungsweise Carrierboard mit umfangreichen Schnittstellen an:
Der Zugriff auf die Transceiver des FPGA erfolgt hier über die High-Speed-Mezzanine-Card(HSMC)-Schnittstelle; passende HSMC-Karten eröffnen weitere Möglichkeiten. Über die drei Pmod-Steckplätze lassen sich viele handelsübliche Digilent-Pmod-kompatible Peripherie-Module anschließen. Das Angebot reicht hierbei von der Bluetooth-BLE-Schnittstelle über verschiedene serielle Schnittstellen bis hin zum kompletten Kameramodul.
Bild 3 zeigt einen exemplarischen Baugruppenaufbau, bei dem auf Basis des Evaluation-Kit »M100PFSEVP« ein voll funktionaler Prototyp entwickelt wurde. Entsprechend den technischen Anforderungen wurde eine Baugruppe im Sandwich-Verfahren zwischen das Evaluation-Kit und das SoC-FPGA-Modul eingefügt und stellt zwei Funkmodems im M2-Formfaktor bereit. Im nächsten Entwicklungsschritt wurden die im Prototyp erfolgreich realisierten Funktionen auf einem kundenspezifischen Basisboard zusammengeführt, welches zusammen mit dem M100PFS-Modul das Kernstück des Gerätes bildet.
Microchip bietet umfangreiche Entwicklungswerkzeuge und Bibliotheken für die PolarFire-SoC-FPGAs an. Das RISC-V-Ökosystem »Mi-V« ist eine ständig wachsende, umfassende Suite von Tools und Design-Ressourcen, die von Microchip und weiteren Anbietern entwickelt wurden, um RISC-V-Designs vollumfänglich zu unterstützen. Zweck des Mi-V-Ökosystems ist es, die Akzeptanz der RISC-V-Architektur und der PolarFire-SoC-FPGAs und RISC-V-Soft-CPUs von Microchip zu erweitern. Außerdem bietet das Ökosystem von Microchip und seinen Partnern fertige IP-Blöcke und Bibliotheken für die PolarFire-FPGAs.
Aries Embedded bietet nicht nur das M100PFS-Modul in verschiedenen Konfigurationen, sondern mit dem M100PFSEVP-Referenzboard zudem ein ausgereiftes Entwicklungssystem beziehungsweise Carrierboard an. Mit seinen kompakten Maßen von lediglich 160 mm × 135 mm und seinen umfangreichen Schnittstellen und Erweiterungsmöglichkeiten eignet es sich gut für Prototypen- und Kleinserienanwendungen. Einsteiger und Experten erhalten hier eine fertige, funktionierende Plattform, die sie nur noch konfigurieren müssen.
Generell handelt es sich hierbei um eine von ihren Eigenschaften sehr gut für Embedded-Applikationen geeignete Plattform: kompakte Maße, geringe Leistungsaufnahme und eine hohe Leistungsfähigkeit nicht nur im Betrieb, sondern auch beim schnellen Systemstart. Für anspruchsvolle Projekte bietet der deutsche Hersteller direkten Support und Dienstleistungen auf allen Ebenen der FPGA- und Systementwicklung an. Das umfasst nicht nur ein weites Angebot an fertigen FPGA-Bausteinen (IP) und -Bibliotheken beziehungsweise Building-Blocks für verschiedene Applikationen, sondern ebenfalls klassischen Anwender-Support bei der Systementwicklung und Inbetriebnahme. Weiterhin kann Aries Embedded kundenspezifische Carrierboards und FPGA-Module als Auftragsentwicklung ausführen. Wahlweise lassen sie sich ohne integriertes RISC-V-MSS und mit anderen, externen CPUs bestücken.
FPGAs sind ideal für ein breites Spektrum an Märkten und Applikationen geeignet. Sie eignen sich zum Beispiel, um kosteneffiziente Ein-Chip-Applikationen in der Steuerungsebene oder im Datenpfad zu entwickeln.
Praktische Einsatzmöglichkeiten finden sich in folgenden Zielmärkten:
Die PolarFire-FPGA-basierten Systeme bieten eine große Leistung bei geringer Leistungsaufnahme. Das ermöglicht nicht nur einen lüfterlosen Betrieb und mobilen Einsatz, sondern verringert zudem den CO2-Abdruck und die Betriebskosten.