Blockschaltbild von Zynq-7000

Blockschaltbild von Zynq-7000Xilinx

Xilinx stellt mit der Produktfamilie Zynq-7000 die „branchenweit erste Extensible Processing Platform (EPP)“ vor. Im Innern der Produkte aus der Zynq-7000-Familie befindet sich ein Element, das wohl jeder Entwickler als einen Mikrocontroller mit einem Core des Typs ARM Cortex-A9 bezeichnen würde, wenn das Produkt nicht vom FPGA-Spezialisten Xilinx stammte. Rund um diesen Hardware-Core platziert Xilinx bei Zynq-7000 programmierbare Logikelemente, die in 28-nm-Low-Power-Technologie realisiert sind.

„Es ist kein FPGA“, betont Stéphane Monboisset, Senior Manager Processing Platforms Marketing bei Xilinx, und versichert dann gleich im nächsten Satz, dass „die neue Zynq-7000-Familie durch ein breites Spektrum von Tools und IP-Anbietern unterstützt“ wird. Monboisset ergänzt: „Wir haben Zynq-7000 entwickelt, um angemessene Datenverarbeitungs- und Rechenleistung für Embedded-Highend-Anwendungen in den Zielmärkten Videoüberwachung, Fahrerassistenz, Fertigungsautomation und für weitere Anwendungen bereitzustellen.“

Mikrocontroller als Kernelement

Jeder Zynq-7000-EPP-Baustein besteht aus einem MPCore-Prozessorsystem des Typs ARM Dual-Core Cortex-A9 mit Neon-Extension und Gleitkomma-Erweiterung doppelter Präzision, wobei jeder Core mit bis zu 800 MHz getaktet wird. „Da wir die Bausteine in dem 28-nm-Prozess von TSMC fertigen lassen, könnten wir sogar bis 1200 MHz gehen, aber wir haben uns ganz bewusst für 800 MHz entschieden, um die Verlustleistungsaufnahme möglichst gering zu halten“, erläutert Stéphane Monboisset. Dieses Mikrocontroller-Element ist voll integriert, fest verdrahtet und enthält L1- sowie L2-Caches, Speicher-Controller und die gängige Peripherie. Das Prozessorsystem bootet sofort nach dem Einschalten – ein Merkmal, das wir sonst nur von Mikrocontrollern kennen. Es läuft unabhängig von der programmierbaren Logik mit einer Vielzahl von Betriebssystemen. Das Prozessorssystem konfiguriert dann die programmierbare Logik nach der vorliegenden Anforderung. Mit diesem Ansatz gleicht das Software-Programmiermodell mit allen Eigenschaften exakt den Standard-SoCs, die auf einem ARM-Prozessor basieren.

Applikationsentwickler können somit die massive Parallelverarbeitung der programmierbaren Logik für große Datenmengen beispielsweise zur Signalverarbeitung nutzen, während die zusätzlichen Peripherieelemente die Implementierung erleichtern. Das breitbandige AMBA4 Advanced Extensible Interface (AXI4) zwischen Prozessorsystem und programmierbarer Logik ermöglicht Multi-Gigabit-Datentransfers innerhalb des Chips bei sehr niedrigem Leistungsverbrauch, so dass einige ansonsten übliche Einschränkungen der Systemleistung in punkto Steuerung, Datenvolumen, I/O und Speicherumfang entfallen.

Design-Tools

Die Zynq-7000Familie ermöglicht mit ihrer offenen Design-Umgebung die parallele Software-Entwicklung für das ARM-Dual-Core-Prozessorsystem und für kundenspezifische Beschleuniger innerhalb der programmierbaren Logik. „Bereits ab dem ersten Tag können Hardware- und Software-Entwickler parallel zueinander entwickeln“, hebt Stéphane Monboisset hervor. Software-Entwickler können die Eclipse-Umgebung, den Xilinx Platform Studio Software Development Kit (SDK), sowie das ARM Development Studio 5 (DS-5) und die ARM Realview Development Suite (RVDS) nutzen, aber auch die Compiler, Debugger und Applikationen führender Anbieter der ARM Connected Community und des Xilinx Alliance Programms. Dazu zählen unter anderen Lauterbach, Wind River, Petalogix, Mathworks, Mentor Graphics, Micrium und Montavista. Zur Erhöhung der Systemleistung können die Entwickler die Design-Suite ISE von Xilinx nutzen, die eine komplette Hardware-Umgebung mit Entwicklungs-Tools und AMBA4 AXI4 Plug-and-Play-IP sowie BFMs (Bus Functional Models) zur Beschleunigung von Design und Verifizierung bietet. Zukünftige Versionen sollen darüber hinaus den leichteren Austausch von Schlüssel-Algorithmen zwischen den Prozessoren und der programmierbaren Logik der Zynq-7000-Familie ermöglichen.

Mittelfristig sollen diese Lösungen durch Dritt-Anbieter innerhalb der ARM Connected Community und im Xilinx Alliance Program als Teil der Xilinx Targeted Design Platform unterstützt werden. Damit bietet Xilinx eine Entwicklungsumgebung an, welche die nötige IP, Referenz-Designs, Design-Kits und andere Ressourcen für spezifische Applikationen und Design-Disziplinen umfasst.

Jenseits des µC: Programmierbare Logik

Die programmierbare Logik der Zynq-7000-Familie basiert auf der FPGA-Architektur der Serie-7 von Xilinx. „Das sichert 100-Prozentige Kompatibilität in Bezug auf IP, Tools und Leistungsdaten für alle Bausteine der 28-nm-Generation“, betont Stéphane Monboisset. Die kleinsten Zynq-7000-Bausteine, Zynq-7010 und Zynq-7020, basieren auf der Artix-7-Familie, die für Low-cost- und Low-power-Applikationen optimiert ist. Die größeren Bausteine Zynq-7030 und Zynq-7040 basieren auf der Kintex-7-Familie. Sie bieten vier bis zwölf 10,3-GBit/s-Transceiver-Kanäle sowie einen PCI-Express-Block der zweiten Generation zur schnellen Anbindung externer Einheiten. Alle vier Bausteine enthalten auch den neuen dualen 12-Bit-A/D-Wandler-Block, der mit 1 MSample/s arbeitet. Erste Muster will Xilinx noch im ersten Halbjahr 2011 ausliefern.