Cyclone V SX SoC-FPGA Development Kits für Softwaredesign

Veröffentlicht von

Cyclone® V SoC von Altera ist ein FPGA mit einem integrierten ARM®-Prozessor, der ein flexibles peripheres Hardwaredesign ermöglicht. Der ARM Cortex-A9® MPCoreTM-Prozessor mit 925 MHz ist als Single- oder Dual-Core-Ausführung erhältlich.

Der ARM-Prozessor bietet nicht nur herausragende Leistung und Energieeffizienz, sondern überzeugt auch durch moderne 2D/3D-Grafiken und eine Signalverarbeitungsbeschleunigung mithilfe der ARM NEONTM SIMD-Media-Engine. Die umfassende Dokumentation, die starke Community-Unterstützung, die funktionsreichen Entwicklungskits und eine Vielzahl von Designbeispielen erleichtern die Designerstellung mit Cyclone V SoC erheblich.

 

Abbildung 1: Altera Cyclone V SoC-Architektur


FPGAs können für Softwaredesigner einschüchternd wirken. Aus diesem Grund sind zur Vereinfachung des Designprozesses eine zuverlässige Plattform, gute Entwicklungsinstrumente und eine starke Betriebssystem-Unterstützung erforderlich. Softwaredesigner benötigen Zugriff auf Systemperipheriegeräte und Speicherbandbreite, ohne sich mit Hardware-Iterationen abmühen zu müssen. Da es jedoch immer ein anwendungsspezifisches Hardware-Element gibt, das integriert werden muss, besteht die Herausforderung darin, eine Systemlösung zu finden, die beides ermöglicht. Cyclone V SoC FPGAs erfüllen dank eines speziell darauf ausgelegten Ökosystems beide Anforderungen.

Mithilfe eines Entwicklungskits sofort starten

Softwaredesigner können mithilfe eines der Atlas SoC Kits, Cyclone V SX SoC Development Kits, Arrow Electronics SoC Kits oder beliebigen Leiterplatten sofort mit der Entwicklung beginnen. Als Basis für die zugrundeliegende Architektur stehen ihnen diverse funktionierende Designbeispiele zur Verfügung. Die Leiterplatten beinhalten eine Reihe gängiger Peripheriekomponenten, die in den meistes Designs erforderlich sind. Designer erhalten damit unmittelbar Zugriff auf eine Vielzahl bewährter digitaler Hochgeschwindigkeits-Hardware wie Hochgeschwindigkeits-Bus-Transceiver, DDR2/DDR3-Speichergeräte, Ethernet, USB, SD-Karten und LCD-Schnittstellen.

Anwendungsspezifische FPGA-Logikdesigns werden über einen standardisierten Bus mit dem Cyclone V SoC-Hardprozessorsystem (HPS) verbunden. Dieser Bus ermöglicht einfache Interaktionen zwischen FPGA- und HPS-Partitionen. E/A sind über die GPIO-Anwendungsprogrammierschnittstelle (Application Programming Interface, API) zugänglich. Abstraktionen auf hoher Ebene lassen sich zwischen anwendungsspezifischen FPGAs und HPS mittels DMA-Übertragungen (Direct Memory Access) zwischen Speichern erzielen. Dies erfolgt wahlweise durch einen HPS-DMA über die DMA-API, durch ein intelligentes FPGA-Modul mit integriertem DMA oder durch ein DMA-Modul, das mit dem Qsys-Systemintegrationswerkzeug von Altera implementiert wird.

 

Abbildung 2: Atlas SoC Kit

Das Atlas SoC Kit bietet einen zusätzlichen Vorteil durch die Integration eines Arduino-Schnittstellen-Headers, der Designern Zugriff auf eine umfangreiche Reihe von Erweiterungskarten bietet, die als „Shields“ bezeichnet werden. Shields bieten eine Prototypfunktion für verschiedene Peripheriegeräte, einschließlich Sensoren, Motor- und Servo-Controller, 802.11b/g-WiFi, Bluetooth und GPS. Für inkompatible Spannungspegel stehen Konvertierungs-Shields zur Verfügung.

 Abbildung 3: Arduino Shield und HSMC-Erweiterungskarten

Das Arrow SoC Kit und das Cyclone V SX SoC Development Kit beinhalten Schnittstellen für Hochgeschwindigkeits-Mezzanine-Karten (High-Speed Mezzanine Cards, HSMCs). Diese ermöglichen die Verwendung zahlreicher Hochleistungs-Tochterkarten, einschließlich Bildsensoren, Hochgeschwindigkeits-Analog-Digital-Wandler sowie SDI-PHY-Schnittstellen.

 

Abbidlung 4: Cyclone V SX SoC Development Kit und Arrow SoC Kit  

Designinstrumente zur Optimierung von Designs

Die Kompilierung von Hardwarebildern kann vollständig auf der Basis von Makefiles erfolgen. Ein Beispiel ist auf GitHub gehostet. Die SoC Embedded Design Suite (EDS) von Altera bietet eine komplette Entwicklungsumgebung. Sie wird im Benutzerleitfaden für die Altera SoC Embedded Design Suite gut dokumentiert. Die SoC-EDS nutzt die Funktionen des Altera Edition-Werkzeugkits ARM Development Studio 5 (DS-5TM) und beschleunigt die Code-Entwicklung durch die Verwendung einer Vielzahl von Dienstprogrammen sowie vordefinierter Laufzeitsoftware mit Linux-Anwendungsbeispielen. Zudem wird eine kostenlose Version der kompletten Toolchain zum Download angeboten.

OpenCL gewinnt als Standard für die Programmierung heterogener paralleler Geräte zunehmend an Beliebtheit. Dies ist der optimale Standard, um Abstraktionen auf höherer Ebene aufrechtzuerhalten und gleichzeitig die parallele Verarbeitungsleistung der auf dem SoC integrierten Media Engine, dualen Prozessoren und möglichen FPGA-Beschleunigung zu nutzen. Der Leitfaden zu den ersten Schritten mit dem Altera-SDK für OpenCL: Cyclone V SoC erleichtert Ihnen das Einrichten und Verwenden des Altera-SDK für OpenCL. Da die Echtzeitleistung bei zahlreichen eingebetteten Designs wichtig ist, steht ein Designbeispiel für die Profilerstellung einer Echtzeit-Codeausführung zur Verfügung.

Starke Betriebssystem-Unterstützung

Das Cyclone V SoC und die damit verbundenen Entwicklungskits verfügen über ein umfangreiches Ökosystem für die Betriebssystem-Unterstützung:

 

- Linux ist das gängigste Universal-Betriebssystem, das auf ARM-basierten SoCs verwendet wird. Auch für Cyclone V SoC wird eine umfassende Unterstützung sowohl von Altera als auch von einer großen Benutzer-Community geboten. Zudem stehen vorab erstellte Linux-Binarys mit Schritt-für-Schritt-Anleitungen zur Verfügung. Falls eine eingehendere Anpassung erforderlich ist, wird der vollständige Umrüstungsprozess im Rahmen des Altera Yocto Open Source-Community-Projekts dokumentiert.
- Android ist aus diversen Quellen einschließlich Demo-Kits sowie in verschiedenen Versionen wie etwa Ice Cream Sandwich verfügbar.
- FreeRTOS ist einschließlich einer detaillierten Aufbauanleitung und Beispielen für den Cortex-A9-Prozessor auf dem Cyclone V SoC verfügbar. Es sind detaillierte Anweisungen für die Android-Installation und mehrere Beispielanwendungen einschließlich Grafiken und 3D-Animationen für API-Demos erhältlich.
- VxWorks BSP von Wind River wird für das Cyclone V SX SoC Development Kit angeboten.
- Threadx von Express Logics
- eCoSPro von eCosCentric

Ein Prozessor mit Zukunft!

Cyclone V SoC ist mehr als lediglich ein weiteres ARM-basiertes SoC. Grundsätzlich bietet es für die Softwareentwicklung hinsichtlich Instrumenten, Anwendungen, Betriebssystemen und Unterstützung die gleichen Vorteile wie nicht FPGA-fähige Geräte. Seine besonderen Stärken liegen jedoch in der Integration, Beschleunigung, Anpassung und Erweiterbarkeit von Anwendungen.


Integration
Die meisten eingebetteten Anwendungen benötigen anwendungsspezifische Hardware. Bei vielen Designs sind zur Entlastung des Betriebssystems spezielle Mikrocontroller für die Schnittstellenverwaltung oder die Signalverarbeitung erforderlich. Qsys bietet die Möglichkeit, in Cyclone V SoC-Designs spezielle Softcore-Mikroprozessoren, wie etwa den Nios® II Prozessor, zu integrieren. Diese können über die HPS-Schnittstelle mit dem Systemspeicher kommunizieren. Der anpassbare Softcore-Mikroprozessor ermöglicht die Integration von Peripherie-Controllern und Signalverarbeitungsfunktionen ohne Zusatzgeräte.
Beschleunigung
Aufgrund der anpassbaren Logik stehen dem System umfangreiche anwendungsspezifische Verarbeitungsfunktionen zur Verfügung. Sie ermöglicht das Hartkodieren von Algorithmen und dient als Beschleuniger oder auch Coprocessor für den ARM-Prozessor. Umfangreiche Abläufe, die sich andernfalls nur schwer in einen ARM-Prozessor implementieren lassen, wie etwa die Aufwärts- und Abwärtskonvertierung von Hochgeschwindigkeitsempfängern, Modems, CODECs, Encoder und Decoder, lassen sich mit anwendungsspezifischer Hardware effizienter als mit Software integrieren. Die FPGA-Logik beinhaltet Hunderte von mathematischen DSP-Spezialmodulen (Digital Signal Processing) für die digitale Signalverarbeitung sowie kleine Speicherblöcke. In Verbindung mit Logikelementen ermöglichen diese die effiziente gleichzeitige Implementierung spezieller Algorithmen, deren Leistungsniveau durch Mikroprozessoren mit sequenzieller Befehlsfolge unerreichbar ist.
Personalisierung
Während das Cyclone V SoC HPS bereits über eine hoch flexible und funktionsfähige Reihe von peripheren Elementen und E/A verfügt, lassen sich mit einem integrierten FPGA weitere periphere Schnittstellen integrieren. Bei sich ändernden Produktanforderungen kann die anpassbare Hardware mit der Software geändert werden, um neue Funktionen einzubinden. Da Geräte-E/A mehr Flexibilität bieten, kann derselbe Mikroprozessor mit größerer Wahrscheinlichkeit für mehrere Produkte verwendet werden.
Erweiterbarkeit
Das Hardwaredesign von Produkten kann in Verbindung mit Software-Updates nachgerüstet werden. Dies ermöglicht die Programmierung komplexer Hardware-Algorithmen, um die Funktionen zu aktualisieren und Fehler zu beheben. Zudem lassen sich damit nachträglich die Hardwarebeschleunigung verbessern und die parallele Verarbeitung implementieren – wodurch zur Effizienz- und Leistungssteigerung Hardware-Iterationen möglich sind. Das Ergebnis ist ein gewisses Maß an „Zukunftssicherheit“ sowie eine aggressivere Lieferstrategie für komplexe Hardwaredesigns.

Ein einfaches Beispiel eines Designablaufs

Schritt 1: Ermitteln Sie die passende Prototyping-Plattform.

Ermitteln Sie, welches Entwicklungskit Ihre Programmieranforderungen im Hinblick auf Ihre Peripheriegeräte und Baustein-Logikelemente am besten erfüllt. Falls Erweiterungskarten erforderlich sind, prüfen Sie die E/A-Kompatibilität einschließlich der Spannungen. Für ein schnelles Entwicklungsprojekt werden häufig kurzerhand Erweiterungskarten erstellt, die sich zusammen mit dem Entwicklungskit für jegliche speziellen peripheren Anforderungen eignen. Während die Hardware separat entwickelt wird, kann das Softwaredesignteam eine Kombination aus Entwicklungskit und Erweiterungskarten verwenden, um einen Prototyp des groben Softwaredesigns zu erstellen. Die für die Kits verfügbare Dokumentation und die offenen Designs ermöglichen es Hardwaredesignern, entsprechende Designelemente wiederzuverwenden, um die Designrisiken zu reduzieren.

Schritt 2: Legen Sie eine FPGA-Systemarchitektur fest.

Legen Sie gemeinsam mit dem Hardwaredesigner die zugrundeliegende FPGA-Prozessorarchitektur fest. Suchen Sie ein Designbeispiel, das möglichst nahe den Anforderungen entspricht, und ändern Sie die Qsys-Konfiguration, um zusätzliche Peripheriegeräte, Speicher und Schnittstellen zu integrieren. Dies ist ein guter Zeitpunkt, um Protokolle für Hardwareschnittstellen festzulegen. Wenn es dem Hardwaredesigner gelingt, diese Schnittstelle gemeinsam mit dem bedingt kompilierten Testcode als Erstes zu erstellen, kann die Schnittstelle noch vor Abschluss des Hardwaredesigns getestet werden.

Schritt 3: Passen Sie ein geeignetes Designbeispiel an.

Suchen Sie ein Designbeispiel, das Ihren Anforderungen im Softwarebereich möglichst nahekommt. Wählen Sie ein Designbeispiel basierend auf dem verwendeten Betriebssystem, und fügen Sie diesem schrittweise neue Funktionen hinzu. Sie können auch eine einfache Reihe von Testsoftware bereitstellen, damit sich der Hardwaredesigner primär auf seinen Designbereich konzentrieren kann. Dies ermöglicht später eine schnellere Integration. Sorgen Sie zunächst für ein hohes Maß an Softwarestabilität, bevor Sie sich mit der tatsächlich verfügbaren Hardware befassen. Es gibt nichts Schlimmeres, als Hardware und Software gleichzeitig debuggen zu müssen.

Schritt 4: Kompilieren Sie das Projekt.

Stellen Sie sicher, dass jemand für die Implementierung der kompletten Kombination aus Software und Hardware zuständig ist. Dies wird häufig übersehen, ist jedoch ein wichtiger Bestandteil der Steuerung des Entwicklungs- und Überprüfungsprozesses. Sie eliminieren auf diese Weise zudem die Abhängigkeit von Werkzeug-IDEs und deren GUIs. Die Erstellung kann auf diese Weise ohne manuelle Eingriffe im Hintergrund erfolgen, wodurch Kompilierungsfehler vermieden werden.

 

 Abbildung 5: Ein System mit einem HPS in Qsys

 

Testen Sie es!

Altera hat ein SoC-FPGA entwickelt, das sowohl Software- als auch Hardwaredesignern die Arbeit erleichtert. Dies ist ein spannender neuer Schritt angesichts der zunehmenden Integration und der wachsenden Anzahl intelligenter Geräte. Cyclone V SoCs verwischen die traditionellen Grenzen zwischen Hardware und Software und ermöglichen leistungsfähigere und effizientere Implementierungen, ohne dass es dabei zu Konflikten zwischen den beiden Komponenten kommt. Das Qsys-Systemintegrationswerkzeug von Altera ist ein hervorragendes Instrument, um auf Systemebene einen Kontrakt zwischen Software- und Hardwarebereichen zu schließen. Die HPS-zu-FPGA-Partitionierung ermöglicht unabhängige Entwicklungsmaßnahmen, die ein geringes technologisches Verständnis zwischen den beiden Bereichen erfordern. Diese clevere, spannende und befähigende Technologie zeichnet sich durch eine starke Unterstützung, robuste Entwicklungsökosysteme und zahlreiche Designbeispiele aus, die als Basis für Neukonzeptionen genutzt werden können. Designer können sofort mit der Entwicklung beginnen, indem sie als Grundlage für ihre Architektur eines der zahlreichen Entwicklungskits verwenden und von den umfangreichen Optionen für Erweiterungskarten Gebrauch machen. Das Design mit SoCs war noch nie so einfach. Sprechen Sie mit einem Altera-Vertreter über die Möglichkeiten für Ihre nächsten Schritte.

Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.