Extensible Processing Platform Eine Basis für Embedded-Anwendungen

Basierend auf dem Dual-Core-Prozessor Cortex-A9-MP-Core und der programmierbaren 28-nm-Logik von Xilinx verwendet die Extensible-Processing-Platform eine prozessor-zentrische Methode zum Aufbau eines Prozessorsystems. Die Methode stellt Software-Entwicklern eine vertraute Umgebung integriert in eine leistungsfähige, dabei preiswerte und verlustleistungsarme Prozessor-Plattform zur Verfügung.

Systemarchitekten und Logik-Entwickler können die Vorteile der programmierbaren Logik nutzen, um ihre Lösungen zu erweitern, kundenspezifisch anzupassen, zu optimieren und Endprodukte voneinander zu differenzieren. Die Verbindung zwischen dem Prozessorsystem und der programmierbaren Logik über die AMBA-AXI-Schnittstelle (Bild 1) ermöglicht Datenübertragungsraten von mehreren Gbit/s bei sehr geringer Verlustleistung, womit der bekannte Leistungsengpass bei Steuerungs-, Daten-, I/O- und Speicherzugriffen eliminiert wird. Dies erlaubt es der Steuerungsanwendung, die Vorzüge der massiv parallelen Datenverarbeitung der programmierbaren Logik in einer Vielzahl von Signalverarbeitungs-Applikationen und/oder den Einsatz von programmierbarer Logik zu nutzen, um den Funktionsumfang von ARM-basierten Prozessorsystemen auszuweiten.

Im Zentrum dieser Methode steht der Prozessor, er muss gleichermaßen attraktiv sein für die Systemarchitekten, die Logikentwickler und auch die Software-Entwickler. Leistungsfähigkeit, Kosten, Verlustleistung, Entwicklungswerkzeuge und auch das unterstützende Ecosystem sind entscheidende Elemente bei der Bestimmung des besten Kandidaten. Mit einer prozessor-zentrischen Methode verhält sich die Plattform wie ein typischer Prozessor, der aus dem Reset-Zustand bootet und Software-Entwicklern ein durchgängiges Programmiermodell bietet. Um dies zu erreichen, ist das Prozessorsystem vollständig integriert und fest verdrahtet, verwendet Standard-Designmethoden und enthält Caches, Timer, Interrupts, Schalter, Speicher-Controller sowie auch gemeinsam verwendete Schnittstellen und I/O-Peripherie. Das Prozessorsystem kann mit einer Vielzahl von Betriebssystemen laufen.

Das Erweitern des Prozessorsystems erfordert eine enge Kopplung mit der programmierbaren Logik, um eine nahtlose Schnittstelle mit hoher Leistungsfähigkeit, einfacher Konfiguration und leichter Programmierung sicherzustellen. Diese Erweiterung wird ermöglicht durch den Einsatz von AMBA-AXI-Verbindungen mit hoher Bandbreite zwischen dem Prozessorsystem und der programmierbaren Logik, die Steuerungs-, Datenverarbeitungs-, I/O- und Speicheraufgaben übernimmt. Dies bietet nicht nur die Möglichkeit, sehr große Datenmengen mit sehr geringer Verlustleistung zu übertragen, sondern vereinheitlicht auch die beiden Bereiche Hardware- und Software-Programmierung.

Die Protokollerweiterungen des AXI-4-Datenstroms dienen als eine bidirektionale Schaltmatrix für die Kommunikation, die diese Verbindungen nutzt. Damit lassen sich völlig neue Leistungsbereiche bezüglich des Durchsatzes zwischen diesen Blöcken erreichen, und die Entwickler können gleichzeitig eine Vielzahl an Hardware-Peripherie-Cores nutzen, die IP-Lieferanten und Anwender in den letzten beiden Jahrzehnten bereits für andere ARM-Implementierungen entwickelt haben. Diese enge Kopplung gibt dem Prozessorsystem auch die volle Kontrolle über die programmierbare Logik einschließlich der partiellen Rekonfigurierung. Das Prozessorsystem kann Teile der programmierbaren Logik, wenn nötig, über Software umprogrammieren, um unterschiedliche Systembetriebsumgebungen zu realisieren.