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-

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

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

Blockdiagramm Arria 10 SoC

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

Seite 1 von 3123