600-HEITEC Teambild m

(Bild: Heitec)

Eckdaten

Dieser Beitrag skizziert das Projekt und die Erfahrungen, die während des Entwurfsprozesses eines leistungsfähigen Controller-Moduls für eine medizinische Anwendung gesammelt wurden. Die alternativen Optionen der verfügbaren SoCs verschiedener Anbieter werden verglichen und die entscheidenden Faktoren der Auswahl erklärt. Dies führt zur eigentlichen Lösung, die sowohl Hard- als auch Software-Aspekte umfasst. Ein solches Design lässt sich auf eine Vielzahl anderer Hochleistungsanwendungen in der industriellen Steuerung, Kommunikation oder Mess- und Prüftechnik übertragen.

Die Anwendung enthält neben einer Embedded-CPU auch ein FPGA. Am Anfang des Designprozesses für das FPGA war die Entscheidung zu treffen, weshalb trotz der zu erwartenden höheren Investition ein System-on-Chip eingesetzt werden sollte. Die technischen Vorteile mussten überwiegen, um den anfänglich höheren Preis zu begründen. SoC-Bausteine mit FPGA integrieren einen Prozessorkern und FPGA-Architektur in einem Gehäuse. Der technologische Fortschritt ermöglicht es nun seit einiger Zeit, diese beiden Bereiche in einem Chip zu integrieren, was eine attraktive Lösung für zukunftsweisende Designs ergibt. In der gewählten Single-

600-HEITEC Board m

Mit SoCs kann die Boardgröße reduziert und gleichzeitig die Leistung gesteigert werden. Heitec

600-Heitec-Arria

Blockdiagramm Arria 10 SoC Intel Corp.

Chip-Lösung haben CPU und FPGA Zugriff auf den Speicher über dieselbe Schnittstelle mit DMA (Direct Memory Access). Daraus ergeben sich verschiedene Vorteile wie eine größere Designflexibilität, ein höherer Integrationsfaktor mit weniger Komponenten, eine Lösung, die sich einfach mit nur einem Baustein managen lässt, die Kopplung von Prozessor und FPGA sowie eine hochleistungsfähige interne Busschnittstelle zwischen CPU und programmierbarer FPGA-Logik.

Schnellere Datenübertragung

Der direkte Speicherzugang führt zu schnellerer Datenübertragung, während der Prozessor gleichzeitig entlastet wird. Durch das FPGA-Design kann der Zugriff Hardware-gesteuert auch ohne lokalen Bus erfolgen. SoCs bieten darüber hinaus viel Erweiterungsfähigkeit, um gewünschte Funktionalitäten maßgeschneidert für die jeweilige Aufgabe zu integrieren. Die Einbindung von spezifischen Software-Algorithmen in die Hardware mit Filteralgorithmen sowie der Möglichkeit spezifischer Berechnungen waren ein weiterer Grund für die Entscheidung. Mit dem ARM-Prozessoranteil des gewählten SoC ist außerdem die Standardsoftware sehr gut nutzbar. Durch die kompakte Bauweise und die Vermeidung zusätzlicher Komponenten ist mehr thermische Kontrolle gegeben, da nur ein Bauteil gekühlt werden muss. Den Widerspruch zwischen Leistungsfähigkeit und Energieeffizienz konnte ein SoC also am besten adressieren. In der Konsequenz ergibt dieses Setup bei geringerem Energieverbrauch eine bessere Gesamtleistung mit mehr Möglichkeiten zur Miniaturisierung, zu höherer Produktlebensdauer und Verfügbarkeit sowie deutlicher Kostensenkung.

Der nächste Entscheidungsschritt betraf die Auswahl des SoC aus den am Markt befindlichen Lösungen. Nach Überprüfung der erforderlichen Eigenschaften standen zum damaligen Zeitpunkt für diese spezifische Applikation SoCs von Xilinx und Intel zur Disposition. Diese beiden wichtigen FPGA-Anbieter haben SoC-FPGA-Familien mit einem ähnlichen Ansatz – einem ARM-Cortex-A9-Dual-Core-Prozessor als Hard Macro – im Portfolio. Beide Lösungen setzen auf ein dediziertes, gehärtetes Prozessor-Subsystem mit einem vollständig ausgestatteten ARM-Cortex-A9-Prozessor mit kompletter Speicherhierarchie und zugeordneten Peripheriebausteinen, die wie ein normaler ARM-Prozessor booten und arbeiten. Soweit ähneln sich die beiden Ansätze sehr, allerdings unterstützt der Xilinx Zynq kein ECC (Error Correcting Code) in den Prozessor-Caches und im Onchip-Prozessor-RAM. Die vollständig unterstützte ECC-Funktionalität war angesichts der Systemanforderungen der Applikation letztlich aber der Schlüssel zur Entscheidung des Heitec-Entwicklerteams, das auf 20-nm-Prozessortechnologie basierende Arria 10 SoC von Intel einzusetzen. Dieses besteht aus dem Hard-Processor-System (kurz HPS) und einem separaten FPGA-Part, die mit einer Bridge für hohen Datendurchsatz miteinander verbunden sind und damit einen deutlich schnelleren Zugriff ermöglichen als die übliche PCI-Latenz. Eine kombinierte Hard- und Softwareverarbeitung ist so möglich. Die gemeinsame HPS/FPGA-Bridge ist mit einem intelligenten Scheduler zur DDR-Schnittstelle ausgerüstet.

Wichtige Features des Arria 10 SoC

Wichtige Features des Arria 10 SoC sind neben dem Dual-Core-ARM-Prozessor eine 7500-MIPS-Architektur bei einer Prozessor-Frequenz von 1,5 GHz, L1-Cache mit 32 KB für Datenverarbeitung und Befehlseingabe, L2-Cache von 512 KB mit ECC, Onchip-Prozessor 256 KB RAM mit ECC, eine HPS-externe DDR3-Speicherschnittstelle mit 533 MHz, 32 Bit Data + 8 Bit ECC. Die umfangreiche Prozessorperipherie besteht aus Quad SPI Flash Controller, NAND Flash Controller für höheren Datendurchsatz, drei 10M/100M/1G-Ethernet-Controllern, zwei USB-2.0-On-the-Go-Controllern, SD/MMC/SDIO-Controller, UART 16550, fünf I2C-Controllern, je zwei SPI-Master- und Slave-Controllern sowie vier 32-Bit-Watchdog-Timern. Darüber hinaus sind in dem gewählten Modell 270K Logic Elements, bis zu drei gehärtete Speicher-Controller mit ECC sowie Fehlerkorrektur (ECC) und Speicherschutz implementiert. Die sichere Boot-Reihenfolge ist frei wählbar: entweder der Prozessor zuerst oder das FPGA zuerst oder beide gleichzeitig. Beim Format handelt es sich um ein 780-Pin-F29-Gehäuse mit 1-mm-Abständen, darüber hinaus ist ein 360-GPIO-User-Interface integriert.

Damit bietet das Arria 10 SoC einen Prozessor mit einem großen Funktionsumfang für eingebettete Peripherie, gehärtete Floating-Point-DSP-Blöcke, eingebettete Hochgeschwindigkeits-Transceiver, Hard-Memory-Controller und Protokoll von (IP-) Controllern. Alle erforderlichen Schnittstellen befinden sich bereits auf dem Baustein, alles in Allem also ein hochintegriertes Paket, das auf Designproduktivität ausgelegt ist. Mit seinem Setup ist es die optimale Kombination für mittelgroße Anwendungen und die Anforderungen der Zielapplikation.

Die intensive Datenverarbeitung umfasst mehrere Sende- und Empfangspfade, bei denen umfangreiche Datenverarbeitungsmengen zu einem hohen Dynamikumfang für die numerischen Ausgänge führen können. Je mehr Sende- und Empfangspfade vorgesehen sind, desto höher sind natürlich die Anforderungen. Die Hard-Floating-Point-Funktionalität ist dafür sehr hilfreich, sorgt für erhöhte Stabilität und ist mit 1,5 GHz um einiges leistungsfähiger als in Vorgänger-Technologien.

Thema der nächsten Seite: Wie sich leistungsbeschränkende Herausforderungen meistern lassen

Mit den gehärteten Floating-Point-DSP-Blöcken im Arria 10 können FPGA-Systeme viele der leistungsbeschränkenden Herausforderungen meistern und den Stromverbrauch drastisch reduzieren. Die Architektur eliminiert 100 Prozent der IEEE-754-Floating-Point-Logik, die normalerweise mit FPGA-Ressourcen implementiert wird. Zunächst werden alle notwendigen Anforderungen innerhalb der gehärteten DSP-Blöcke erfasst. Dadurch entfällt die Notwendigkeit, Denormalisierungs- und Normalisierungslogik mit wertvollen FPGA-Ressourcen zu erstellen. In der Vergangenheit war Hardware-Implementierung nicht sofort möglich. Häufig musste der Algorithmus in mehreren Schritten in eine für FPGA-Architekturen optimale Fixed-Point-Implementierung konvertiert werden. Durch die vereinfachte Implementierung entfiel aufwendiges Debugging und die Entwicklungszeit konnte signifikant verkürzt werden.

Beim Design spielten verschiedene Erwägungen eine besondere Rolle: Die Spezifizierung der I/O-Schnittstelle für das FPGA, Identifikation der verschiedenen Clock-Domänen, Definition eines Blockdiagramms der Basis-Designfunktionen, Integration von IP-Blöcken, Ausarbeitung eines Verifikations-/Testplans der Funktionen für das gesamte Team (Design for Manufacturability). Außerdem war eine allgemeine Design-Verzeichnisstruktur von Vorteil, da sie die verschiedenen Integrationsstufen erleichtert. Vorgabe des vorliegenden Konzepts war die FPGA-Programmierung über JTAG-Port und Abbildungen der Updates der FPGA-Konfiguration sowie der HPS-CPU-Software über eine GUI-PC-Ethernet-Schnittstelle.

Neben offensichtlichen Auswahlkriterien wie Verfügbarkeit, Preis/Leistung und Gehäusegröße waren andere Aspekte für den Designprozess ebenfalls wesentlich.

Designwerkzeuge

Das Heitec-Entwicklerteam hatte sehr gute Erfahrungen mit den herstellerspezifischen Tools gemacht und war damit bestens vertraut. Die Entwicklungsumgebung ist intuitiv nutzbar und ausgereift. Die Intel-Softwaresuite Quartus Prime bietet alles, um mit den SoC FPGAs zu entwickeln. Es handelt sich um ein komplettes Entwicklungspaket, das mit einer benutzerfreundlichen Benutzeroberfläche und einer Technologie ausgestattet ist, die bei der Umsetzung hilft. Die am Markt verfügbaren Tools sind umfassend. Es gibt ein Evaluierungskit, Support für eine breite Auswahl an Protokollen, Datenraten und Anwendungen, umfangreiche Dokumentation und die ARM-kompatible Software, die die Stärke des ARM-Ökosystems nutzt. Die Software und passende Tools sind ab- und aufwärtskompatibel. Neben Open Source Linux gibt es eine Reihe von Optionen für Betriebssysteme, Entwicklungswerkzeuge, IP-Kerne und professionelle Dienstleistungen von Partnern. Durch das Arbeiten mit vorhandenen Ressourcen können Synergien gebildet und vorhandene Erfahrungen genutzt werden, was das Risiko senkt, Migration ermöglicht und die Markteinführungszeit verkürzt.

Zu den Intel-DSP-Designwerkzeugen gehören DSP-Builder für FPGAs für Hardwaredesigns und die SDK für OpenCL für Software-Programmierer. Die gehärteten Floating-Point-Blöcke werden während des Designs der Algorithmen mithilfe der DSP-Builder für FPGAs automatisch abgebildet beziehungsweise SDK für OpenCL und instanzierende Floating-Point-Datentypen in der Software. Für kleinere Designaufgaben sind individuelle FPGA-IP-Funktionen und Megafunktionen verfügbar. Die Designwerkzeuge automatisieren die Optimierung und Nutzung der Floating-Point-Blöcke und abstrahieren Hardware-zentrierte Herausforderungen wie die Umwandlung zu Fixed Points und die Kenntnis von Block-Topologien, Befehlsverknüpfungen und Zeitmultiplexen.

Pinning

Für das Arria10 SoC sprach neben ECC und besserer Speicheranbindung auch die Nutzbarkeit der Pins, um ein Design für erhöhte Sicherheit und zur Reduzierung des Stromverbrauchs zu realisieren. Es stehen 54 programmierbare I/Os für allgemeine Zwecke zur Verfügung. Um die PLL- oder Takt-Pins zu belegen, werden mithilfe von Quartus Prime I/O-Zuweisungen vorgenommen. So sind spezielle Highspeed-Pins für die Datenaus- und -eingänge vorgesehen. Weitere Mehrzweck-Pins können entweder als Single-End-I/O verwendet werden oder als externe Rückkoppelungs-Pins; des Weiteren können die I/O-Pins als Ein-End-Takt-Ausgang verwendet werden oder als Differentialtakt-Ausgang. Die Belegungsmöglichkeiten der I/O-Pins bieten also ein sehr hohes Maß an Flexibilität.

Erhöhte Sicherheit und Verschlüsselung

Bei größeren und kritischeren Systemkomponenten ist es wichtig, die Designs vor unerlaubtem Kopieren, Reverse Engineering und Manipulation zu schützen. Intels FPGAs berücksichtigen dies, indem ihre Konfigurations-Bitstreams mit dem Advanced-POF-Encryption-Standard (AES) verschlüsselt und zugreifbare Bereiche festgelegt beziehungsweise eingeschränkt werden können. Sicheres Booten wird mit Authentifizierung auf Basis von Elliptical Curve Digital Signature Authentication (EC DSA) und mit einer übersichtlichen öffentlichen Schlüsselinfrastruktur unterstützt. Dabei wird lediglich Code aus einer bekannten und verlässlichen Quelle akzeptiert.

Die 20-nm-FPGAs verfügen über zusätzliche Sicherheitsmerkmale, die aktiviert werden können, indem das eigenständige Qcrypt-Tool oder Quartus Prime Convert Programming File verwendet wird. Tamper Protection- und JTAG-Sicherheitsmodus können in 20-nm-FPGAs separat aktiviert werden, JTAG kann deaktiviert oder JTAG-Rückauslese verhindert werden. Sicherheit mit ECC bis in den Cache sorgt für zuverlässige Fehlerdetektion. Es sind sieben allgemein einsetzbare Timer sowie vier Watchdog Timer implementiert. Die verschiedenen Kontrollmechanismen verhindern Überhitzung oder Unterspannung.

Thema der nächsten Seite: Energieeffizienz durch optimierte Stromversorgung

Das SoC verfügt über die Möglichkeit des Power Sequencings, um eine optimierte Verlustleistung zu erreichen. Das Smart Voltage ID Feature versetzt das FPGA in die Lage, bei gleicher Leistung mit geringerer Spannung zu arbeiten. Der durchschnittliche Stromverbrauch über das komplette Setup hinweg kann damit ebenfalls verringert und durch die geringe Induktivität eine höhere Frequenzentkopplung erreicht werden. Die programmierbare Stromversorgungstechnologie beschleunigt geschwindigkeitskritische Abläufe und reduziert gleichzeitig nicht kritische.

Im schlussendlich realisierten Konzept ist das SoC FPGA inklusive Embedded-CPU mit dem Steuerboard der Applikation verbunden und läuft mit Embedded-Linux-Betriebssystem. Das Motherboard verfügt über eine GigE-Schnittstelle zum GUI-PC und Datenschnittstellen zu allen anderen Systemteilen. Der vom GUI-PC-Gigabit-Ethernet-Interface erzeugte Musterdurchsatz enthält die Kontrollinformation in Form einer Befehlsliste für den lokalen Pfad, darunter die Settings für Pulsenergie, Pulsrate, gewünschte Position und Geschwindigkeit der Anwendung. Nach Prozessstart per Fußtaster führt das Steuerboard die Anweisungen vollständig autonom aus und überwacht alle Vorgänge simultan. Darüber hinaus werden alle Fehlerbedingungen, Temperatur und Spannung der angeschlossenen Geräte sowie das Energielevel kontrolliert. Letzteres geschieht mittels Vergleichs der gesetzten und tatsächlichen Werte von Stromversorgung und Frequenz. Im Falle einer Fehlermeldung wird das System abgeschaltet.

Zusammenfassung

Die Entwicklung eines Produktes mit einer starken Architektur ist der Schlüssel, um sicherzustellen, dass das Systemdesign seine Leistungsanforderungen jetzt und in Zukunft erfüllt. Mit SoCs für Embedded-Systeme können Designs auf einem soliden Fundament stehen. FPGAs für mittelgroße Anwendungen führen zu signifikanter Platzersparnis im Design und weisen ein gutes Gleichgewicht von Verlustleistung, Kosten und Leistung auf. Das Arria 10 SoC ist ein typischer Vertreter.

Mit SoCs lässt sich die Boardgröße reduzieren und gleichzeitig die Leistung steigern, indem ein Gigahertz-Klasse-Prozessor, FPGA-Logik und digitale Signalverarbeitung (DSP) in ein einziges benutzerdefinierbares System auf einem Chip integriert werden. Arria 10 SoCs bieten eine breite Auswahl an FPGA-Logikdichten und die gehärtete Floating-Point-DSP-Implementierung eröffnet neue Möglichkeiten für Floating-Point-Designs. Die Bausteine bieten eine sehr hohe Floating Point Performance, Energieeffizienz und Präzision bei gleichzeitiger Reduzierung der Entwicklungszeit.

FPGAs mit gehärteten Floating-Point-DSP-Blöcken bieten eine Leistung von 160 bis 1500 GFlops in Midrange-Arria-10-Bausteinen. Diese Peak-GFlops-Metriken werden auf der Grundlage der gleichen transparenten Methodik berechnet, die auf CPUs, GPUs und DSPs verwendet wird. Diese Methodik bietet Designern eine zuverlässige Technik für den Basisvergleich der Peak-Floating-Point-Rechenfähigkeiten von Bausteinen mit sehr unterschiedlichen Architekturen. Mit der gehärteten Floating-Point-DSP-Implementierung können FPGAs daher nun in einem wachsenden Spektrum von rechnerisch intensiven Anwendungen wie High Performance Computing (HPC), Radar und medizinischer Bildgebung eingesetzt werden, die damit in den Genuss von mehr Leistung bei niedrigeren Systemgesamtkosten (Total Cost of Ownership) kommen. Mit den gewonnenen Erfahrungen kann das Heitec-Entwicklerteam SoCs mit FPGA-Funktionalität für nahezu jede Anwendung entsprechend realisieren. Die langjährigen Erfahrungen im ASIC-Design nutzt das Unternehmen konsequent bei der Entwicklung von High-Speed-FPGA-Lösungen und bietet Kunden Systemlösungen im Highend-Bereich, von der Idee über die Entwicklung bis hin zur Produktion inklusive aller Dokumentationen.

 

Roland Chochoiek

Executive Vice President Business Unit Electronics, Heitec

(neu)

Sie möchten gerne weiterlesen?

Unternehmen

HEITEC AG

Dr.-Otto-Leich-Straße 16
90542 Eckental
Germany