Echtzeitsysteme FPGA-SoCs für sichere und vernetzte Echtzeitsysteme

Von Rolf Horn 7 min Lesedauer

Anbieter zum Thema

FPGA-SoCs eignen sich bestens für vernetzte, sicherheitskritische und harte deterministische Echtzeitsysteme. Denn sie bieten etliche Systemelemente, darunter eine FPGA-Struktur, ein RISC-V-MCU-Subsystem, Highspeed-Kommunikationsschnittstellen und Sicherheitsfunktionen.

MIKROE-3144: Das Erweiterungsboard unterstützt LTE Cat M1 und NB1. (Bild:  MikroElektronika)
MIKROE-3144: Das Erweiterungsboard unterstützt LTE Cat M1 und NB1.
(Bild: MikroElektronika)

FPGAs (Field Programmable Gate Arrays), Linux-fähige RISC-V-Subsysteme für Mikrocontroller-Einheiten (MCUs), fortschrittliche Speicherarchitekturen und leistungsstarke Kommunikationsschnittstellen sind wichtige Werkzeuge für Entwickler. Dies gilt insbesondere für Entwickler von sicheren vernetzten Systemen, sicherheitskritischen Systemen und einer breiten Palette von deterministischen Systemen in harter Echtzeit wie Künstliche Intelligenz (KI) und Maschinelles Lernen (ML).

Die Integration dieser verschiedenen Elemente in ein sicheres, vernetztes und deterministisches System kann jedoch eine anspruchsvolle und zeitaufwändige Aufgabe sein, ebenso wie die Auslegung der Highspeed-Verbindungen für die verschiedenen Systemelemente. Die Entwickler müssen eine Speicherverwaltungseinheit, eine Speicherschutzeinheit, eine sichere Boot-Funktion und Transceiver der Gigabit-Klasse für Hochgeschwindigkeitsverbindungen vorsehen.

Bildergalerie
Bildergalerie mit 5 Bildern

Das Design erfordert ein aktives und statisches Leistungsmanagement und eine Steuerung der Einschaltströme. Einige Designs erfordern den Betrieb im erweiterten kommerziellen Temperaturbereich von 0 bis 100 °C Sperrschichttemperatur (TJ), während Systeme in industriellen Umgebungen mit einer TJ von –40 bis 100 °C arbeiten müssen.

Um diese und andere Herausforderungen zu meistern, können Entwickler auf FPGA-System-on-Chip(SoC)-Bausteine zurückgreifen, die einen niedrigen Stromverbrauch, thermische Effizienz und Sicherheit in Verteidigungsqualität für intelligente, vernetzte und deterministische Systeme bieten.

Dieser Artikel beschreibt die Architektur eines solchen FPGA-SoCs und wie es den effizienten Entwurf von vernetzten und deterministischen Systemen unterstützt. Anschließend wird kurz der Benchmark EEMBC CoreMark-Pro zur Gegenüberstellung von Verarbeitungsleistung und Stromverbrauch vorgestellt, zusammen mit einem Überblick über die Benchmark-Leistung eines repräsentativen FPGA-SoC.

Es wird untersucht, wie Sicherheit in diese FPGA-SoCs integriert ist, und es werden beispielhafte FPGA-SoCs von Microchip Technology sowie eine Entwicklungsplattform zur Beschleunigung des Designprozesses vorgestellt. Es schließt mit einer kurzen Auflistung von Erweiterungsboards von MikroElektronika, mit denen eine Reihe von Kommunikationsschnittstellen sowie GNSS-Ortungsfunktionen (Global Navigation Satellite System) implementiert werden können.

SoCs, die mit einer FPGA-Struktur aufgebaut sind

Der Chip für diesen SoC ist eine FPGA-Struktur, die die Systemelemente enthält, vom FPGA bis zum RISC-V-MCU-Subsystem, das mit gehärteter FPGA-Logik aufgebaut ist. Das MCU-Subsystem umfasst einen Quad-Core-RISC-V-MCU-Cluster, einen RISC-V-Monitor-Kern, einen Systemcontroller und ein deterministisches Level-2-Speicher-Subsystem (L2). Das FPGA in diesen SoCs enthält bis zu 460K-Logikelemente, Transceiver für bis zu 12,7 GBit/s und andere Input/Output(I/O)-Blöcke, einschließlich allgemeine I/O (GPIO) und PCIe 2 (Peripheral Component Interconnect Express). Die gesamte Architektur ist auf Zuverlässigkeit ausgelegt. Sie umfasst eine Einzelfehlerkorrektur und Doppelfehlererkennung (SECDED) für alle Speicher, eine differenzielle Leistungsanalyse (DPA), einen physischen Speicherschutz und einen 128 Kbit großen Flash-Boot-Speicher (Bild 1, siehe Bildergalerie).

Microchip bietet mit Mi-V (ausgesprochen „My five“) ein Ökosystem von Tools und Design-Ressourcen von Drittanbietern zur Unterstützung der Implementierung von RISC-V-Systemen. Es wurde entwickelt, um die Einführung der RISC-V-Befehlssatzarchitektur (ISA) für gehärtete RISC-V-Kerne und für RISC-V-Soft-Cores zu beschleunigen. Elemente des Mi-V-Ökosystems umfassen den Zugang zu:

  • Lizenzen für geistiges Eigentum (IP),
  • Hardware,
  • Betriebssysteme und Middleware,
  • Debugger, Compiler und Entwicklungsdienste.

Die gehärteten RISC-V-MCUs im FPGA-SoC verfügen über verschiedene Debugging-Funktionen wie die zur Laufzeit passiv konfigurierbare erweiterbare Schnittstelle (AXI) und die Befehlsverfolgung. AXI ermöglicht es Entwicklern, Daten zu überwachen, die in verschiedene Speicher geschrieben oder aus ihnen gelesen werden, und zu wissen, wann sie geschrieben oder gelesen werden.

Das RISC-V-MCU-Subsystem verwendet eine fünfstufige Single-Issue-In-Order-Pipeline. Sie ist nicht anfällig für Spectre- oder Meltdown-Exploits, die Out-of-Order-Architekturen befallen können. Alle fünf MCUs sind mit dem Speichersubsystem kohärent und unterstützen eine Mischung aus deterministischen Echtzeitsystemen im asymmetrischen Multiprocessing-Modus (AMP) und Linux. Das RISC-V-Subsystem verfügt über folgende Funktionen (Bild 2):

  • Ausführen von Linux und harten Echtzeitoperationen,
  • konfigurieren von L1 und L2 als deterministischen Speicher,
  • DDR4-Speicher-Subsystem,
  • Verzweigungsvorhersagen deaktivieren/aktivieren,
  • Betrieb der In-Order-Pipeline.

Event-Tipp: FPGA Conference Europe

Guidance to Accelerate your Programmable Solution

FPGA Conference

Einsatzgebiete für programmierbare Logikschaltung sind so vielfältig wie die verfügbaren Lösungen, mit denen sie sich entwickeln lassen. Ob FPGA, GPU oder Adaptive-Computing-SoC: Jede Technologie hat ihre Berechtigung – ist aber auch erklärungsbedürftig.

Die FPGA Conference Europe - als europaweit wichtigste Plattform für hersteller- und technologieunabhängigen und applikationsübergreifenden Austausch zwischen Experten und Entwicklern - gibt Embedded-Entwicklern Orientierung und praktische Hilfestellungen.

Mehr Verarbeitung mit weniger Energie

Zusätzlich zu ihren Vorteilen im Systembetrieb, einschließlich der Unterstützung für harte Echtzeitverarbeitung, sind diese FPGA-SoCs äußerst energieeffizient. Der Benchmark EEMBC CoreMark-PRO ist ein Industriestandard für den Vergleich der Effizienz und Leistung von MCUs in eingebetteten Systemen. Er wurde speziell für den Leistungsvergleich von Hardware entwickelt und soll den Dhrystone-Benchmark ersetzen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Die CoreMark-PRO-Arbeitslasten umfassen eine Vielzahl von Leistungsmerkmalen, Parallelität auf Befehlsebene und Speichernutzung auf der Grundlage von vier Gleitkomma-Arbeitslasten und fünf gängigen Integer-Arbeitslasten. Zu den Gleitkomma-Arbeitslasten gehören eine von LINPACK abgeleitete lineare Algebra-Routine, eine schnelle Fourier-Transformation, ein neuronaler Netzalgorithmus zur Musterauswertung und eine verbesserte Version des Livermore-Loops-Benchmarks. JPEG-Komprimierung, ein XML-Parser, ZIP-Komprimierung und ein sicherer 256-bit-Hash-Algorithmus (SHA-256) bilden die Grundlage für die Integer-Arbeitslasten.

Die MPFSO95T-Modelle dieser SoC-FPGAs, wie der MPFS095TL-FCSG536E, können bis zu 6500 Coremarks bei 1,3 Watt liefern (Bild 3).

Überlegungen zur Sicherheit

Die sicherheitskritischen und harten Echtzeitanwendungen für diese FPGA-SoCs erfordern neben einer hohen Energieeffizienz und leistungsstarken Verarbeitungsfunktionen auch eine hohe Sicherheit. Zu den grundlegenden Sicherheitsfunktionen dieser FPGA-SoCs gehören eine gegen die differenzielle Leistungsanalyse (DPA) resistente Bitstream-Programmierung, ein echter Zufallszahlengenerator (TRNG) und eine physikalisch nicht klonierbare Funktion (PUF). Dazu gehören auch ein standardmäßiges und benutzerdefiniertes sicheres Booten, physischer Speicherschutz, der Speicherzugriffsbeschränkungen in Bezug auf den Privilegstatus des Rechners bietet, einschließlich Rechner-, Supervisor- oder Benutzermodus, und Immunität gegen Meltdown- und Spectre-Angriffe.

Sicherheit beginnt mit einem sicheren Management der Lieferkette, einschließlich der Verwendung von Hardware-Sicherheitsmodulen (HSM) bei der Prüfung und Verpackung von Wafern. Die Verwendung eines 768 Byte großen, digital signierten x.509-FPGA-Zertifikats, das in jedes FPGA-SoC eingebettet ist, erhöht die Sicherheit der Lieferkette.

Diese FPGA-SoCs sind mit zahlreichen On-Chip-Manipulationsdetektoren ausgestattet, um einen sicheren und zuverlässigen Betrieb zu gewährleisten. Wenn eine Manipulation festgestellt wird, wird ein Manipulationsflag ausgegeben, das es dem System ermöglicht, entsprechend zu reagieren. Einige der verfügbaren Manipulationsdetektoren sind:

  • Spannungswächter,
  • Temperatursensoren,
  • Taktstörungs- und Taktfrequenzdetektoren,
  • JTAG-Aktiv-Detektor,
  • Mesh-Aktiv-Detektor.

Die Sicherheit wird außerdem durch AES-256 (256-bit Advanced Encryption Standard), symmetrische Blockchiffre-CPA-Gegenmaßnahmen (Correlation Power Attack), integrierte kryptografische Digest-Funktionen zur Gewährleistung der Datenintegrität, integrierte PUF für die Schlüsselspeicherung und Zeroization-Funktionen für die FPGA-Struktur und alle On-Chip-Speicher gewährleistet.

FPGA-SoC-Beispiele

Microchip Technology kombiniert diese Fähigkeiten und Technologien in seinen PolarFire-FPGA-SoCs mit verschiedenen Geschwindigkeitsstufen, Temperaturklassen und unterschiedlichen Gehäusegrößen, um die Anforderungen von Entwicklern für ein breites Spektrum von Lösungen mit 25K bis 460K Logikelementen zu erfüllen. Es sind vier Temperaturklassen erhältlich (alle für TJ ausgelegt): 0° bis +100 °C im erweiterten kommerziellen Bereich, –40 bis 100 °C im industriellen Bereich, –40 bis 125 °C im Automobilbereich und –55 bis 125 °C im militärischen Bereich.

Entwickler haben die Wahl zwischen Komponenten mit Standardgeschwindigkeit und Komponenten mit der Geschwindigkeitsklasse –1, die 15 Prozent schneller sind. Diese FPGA-SoCs können bei 1,0 V für den stromsparenden Betrieb oder bei 1,05 V für höhere Leistung betrieben werden. Sie sind in einer Reihe von Gehäusegrößen erhältlich, darunter 11 mm x 11 mm, 16 mm x 16 mm und 19 mm x 19 mm.

Für Anwendungen, die einen erweiterten kommerziellen Temperaturbetrieb, einen Standard-Geschwindigkeitsbetrieb und 254-K-Logikelemente in einem Gehäuse mit den Maßen 19 mm x 19 mm benötigen, kann der MPFS250T-FCVG484EES verwendet werden. Für einfachere Lösungen, die 23-K-Logikelemente benötigen, kann der MPFS025T-FCVG484E ((https://www.digikey.de/de/products/detail/microchip-technology/MPFS025T-FCVG484E/16028828)) verwendet werden, der ebenfalls über einen erweiterten kommerziellen Temperaturbetrieb und eine Standard-Geschwindigkeitsklasse in einem 19 mm x 19 mm großen Gehäuse verfügt. Der MPFS250T-1FCSG536T2 mit 254-K-Logikelementen wurde für Hochleistungssysteme im Automobilbereich entwickelt und verfügt über einen Betriebstemperaturbereich von -40 bis 125°C und eine Geschwindigkeitsklasse von -1 für einen 15 Prozent schnelleren Takt in einem kompakten Gehäuse mit 16 mm x 16 mm und 536 Kugeln im 0,5-mm-Raster (Bild 4).

FPGA-SoC-Entwicklungsplattform

Um das Design von Systemen mit dem PolarFire-FPGA-SoC zu beschleunigen, bietet Microchip das PolarFire-SoC-Icicle-Kit MPFS-ICICLE-KIT-ES an, das die Erforschung des fünfkernigen Linux-fähigen RISC-V-Mikroprozessor-Subsystems mit stromsparender Echtzeitausführung ermöglicht. Das Kit enthält eine kostenlose Libero-Silver-Lizenz, die für die Evaluierung von Designs benötigt wird. Sie unterstützt Programmier- und Debugging-Funktionen in einer einzigen Sprache.

Diese FPGA-SoCs werden durch das VectorBlox-Beschleuniger-SDK (Software Development Kit) unterstützt, das stromsparende AI/ML-Anwendungen mit kleinem Formfaktor ermöglicht. Der Schwerpunkt liegt auf der Vereinfachung des Entwurfsprozesses, so dass die Entwickler keine Erfahrung im FPGA-Design haben müssen. Das VectorBlox-Beschleuniger-SDK ermöglicht es Entwicklern, energieeffiziente neuronale Netze mit C/C++ zu programmieren.

Das Icicle-Kit verfügt über zahlreiche Funktionen, um eine umfassende Entwicklungsumgebung bereitzustellen, darunter ein Multi-Rail-Energiesensorsystem zur Überwachung der verschiedenen Stromversorgungsbereiche, ein PCIe-Root-Port und On-Board-Speicher – einschließlich LPDDR4, QSPI und eMMC Flash – zur Ausführung von Linux und Raspberry Pi sowie mikroBUS-Erweiterungsports für eine Vielzahl von kabelgebundenen und drahtlosen Verbindungsoptionen sowie funktionale Erweiterungen wie GNSS-Ortungsfunktionen (Bild 5).

Erweiterungsboards

Einige Beispiele für mikroBUS-Erweiterungskarten sind:

  • MIKROE-986, zum Hinzufügen von CAN-Bus-Vernetzung über eine serielle Peripherieschnittstelle (SPI).
  • MIKROE-1582, für eine Schnittstelle zwischen der MCU und einem RS-232-Bus.
  • MIKROE-989, zum Anschluss an einen RS422/485-Kommunikationsbus.
  • MIKROE-3144, zur Unterstützung der Technologien LTE Cat M1 und NB1 und für eine zuverlässige und einfache Verbindung mit 3GPP-IoT-Geräten.
  • MIKROE-2670, ermöglicht GNSS-Funktionalität mit gleichzeitigem Empfang von GPS- und Galileo-Konstellationen plus entweder BeiDou oder GLONASS, was zu einer hohen Positionsgenauigkeit in Situationen mit schwachen Signalen oder Störungen in Straßenschluchten führt.

Fazit

Entwickler können auf FPGA-SoCs zurückgreifen, wenn sie vernetzte, sicherheitskritische und harte deterministische Echtzeitsysteme entwickeln. FPGA-SoCs bieten eine breite Palette von Systemelementen, darunter eine FPGA-Struktur, ein RISC-V-MCU-Subsystem mit Hochleistungsspeichern, Highspeed-Kommunikationsschnittstellen und zahlreiche Sicherheitsfunktionen. Um Entwicklern den Einstieg zu erleichtern, sind Entwicklungsboards und -umgebungen erhältlich, die alle erforderlichen Elemente enthalten, einschließlich Erweiterungsplatinen, mit denen sich eine Vielzahl von Kommunikations- und Ortungsfunktionen implementieren lassen.  (mk)

* Rolf Horn ist Applikationsingenieur bei Digi-Key

(ID:49412864)