Die Welten von CPUs und FPGAs verschmelzen beim Einsatz von SoC-FPGAs. Durch diese Kombination lassen sich Embedded-Systeme mit besonderen Anforderungen realisieren.
MCV: Das SoC-FPGA-Modul integriert für zusätzliche Funktionalität den Core in ein Referenzdesign.
(Bild: Denx)
Seitdem OpenCL als Programmiersprache auch für FPGAs entdeckt wurde, haben klassische Software-Ingenieure neue Möglichkeiten zum Einsatz von SoC-FPGAs. FPGAs sind beliebte Arbeitstiere, wenn es gilt produktspezifische Funktionalität in der Elektronik abzubilden.
Sie bieten gerade dann die nötige Flexibilität zur Skalierung durch verschiedene Bausteinfamilien, wenn unterschiedliche Komplexitätsgrade gefragt sind. Die Implementierung zusätzlicher individueller Schnittstellen ist beispielsweise ebenso machbar, wie die Vorverarbeitung von Messdaten.
Die Vielzahl an verfügbaren, fertig entwickelten IP-Cores nehmen dem Entwickler in der Praxis bereits Arbeit ab und sind der Grundstock zur schnellen Projektumsetzung.
Durch den Einsatz der Open Computing Language (OpenCL) bei FPGAs gelingt es, die klassische Trennung von Hard- und Software-Ingenieuren zu überwinden und dem Vakuum der fehlenden FPGA-Entwickler entgegenzusteuern.
Die Softwerker rechnen bisher mit General-Purpose-CPUs, die allerdings bei bestimmen Aufgabenstellungen an ihre Leistungsgrenzen stoßen. Hardwerker implementieren ihren Lösungsansatz in der Hardware und können aufbauend auf ihrem spezifischen Know-how sehr leistungsstarke und Energie-effiziente Systeme realisieren.
MVC-Modul im Überblick
Das MCV-Modul bietet die Flexibilität der Cyclone V SoC FPGA-Familie von Altera. Grundlage ist ein ARM-basiertes Hard Processor System (HPS) aus Prozessor, Peripherie und Speicherschnittstellen mit FPGA-Funktionalität, das auf einem Kommunikations-Backbone aufbaut. Darüber hinaus sind auf dem Modul bereits PCI Express Gen2, Multiport Memory Controller und serielle, high-speed Transceiver integriert.
Für eine definierte Anzahl von Standardschnittstellen ist Mainline U-Boot und Linux verfügbar. DENX Software Engineering bietet darüber hinaus Entwicklungs-Support für zusätzliche Treiber. Der Linux-Spezialist vereinfacht die Linux-Programmierung durch sein Rootfile-System auf Basis des Embedded Linux Development Kits Version 5.6 (ELDK), so dass der Entwickler Out-of-the-Box mit der Programmierung verschiedenster Anwendungen starten kann.
• Altera Cyclone V SoC-FPGA
• Dual 800 MHz Cortex A9 Cores
• HPS-Peripherie
• 1 GByte DDR3-Speicher
• 256 Mbit Configuration Device
• 4GByte eMMC Memory
• Clock-Distribution
• Voreingestellte Konfiguration:
o Gigabit Ethernet
o UART
o CAN
o SPI
o I²C
o USB
o Zusätzliche Schnittstellen können optional implementiert werden, z.B. Display Controller oder weitere Gigabit Ethernet-Schnittstellen
o CAN, SPI, I²C,
o DSP Blöcke
• einfache 3,3V Versorgung
• Größe 74mm x 42mm
• 2 x Samtec Steckverbinder für den board-to-board Interconnect
OpenCL sorgt für die Beschleunigung nach Maß
OpenCL ist ein verbreiteter Standard, der auf die parallele Bearbeitung komplexer Berechnungen setzt. Nach der Entwicklung von OpenCL für Grafikkarten (GPU) ermöglichen es neuere Ansätze, diese Umgebung auch auf anderen CPU-Architekturen, wie beispielsweise Alteras SoC-FPGAs zu nutzen.
Die Rechnerinstanz, auf welcher der OpenCL-Code ausgeführt wird, wird als Accelerator bezeichnet. Die eigentlichen OpenCL-Operationen werden Kernel genannt und wurden ursprünglich in der Programmiersprache C erstellt.
OpenCL stellt verschiedene APIs zur Verfügung, um das System mit unterschiedlichen Programmiersprachen z.B. C, C++, Phyton, etc., verwenden zu können. Das OpenCL SDK von Altera unterstützt unter anderem die Cyclone-V-SoC-FPGA-Familie.
Bei dieser Technologie wird die Rechenarithmetik von der eigentlichen Zielhardware getrennt. Eine vorhandene OpenCL-Anpassung von IP-Core und BSP für die Zielhardware vorausgesetzt, muss für die Realisierung der gewünschten Funktionalität kein spezifisches Know-how über VHDL oder eine andere Synthesesprache vorhanden sein.
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.