Xilinx’ ZYNQ-Familie Dual-Core-Cortex-A9 und FPGA-Logik vereint

Bild 1 zeigt vier Lösungswege für heutige Anwendungen auf, bei denen jeder Ansatz seine eigenen Vor- und Nachteile hat.

Um die Flexibilität und die Leistung einer Applikation zu steigern, greift der Entwickler häufig auf eine Zwei-Chip-Lösung mit einem FPGA zurück. Diesen Ansatz macht Xilinx mit seiner ZYNQ-Familie jetzt noch attraktiver: Auf einem Chip vereint der Hersteller einen Dual Cortex-A9 Prozessor inklusive Peripherien und einen frei programmierbaren FPGA-Anteil. Das ist nicht nur günstiger als bisherige zwei Chip-Alternativen, sondern spart auch Energie und Platz auf der Platine.

Bild 1 zeigt vier Lösungswege für heutige Anwendungen auf, bei denen jeder Ansatz seine eigenen Vor- und Nachteile hat. Beim ASIC sind Performance, Energieverbrauch und die Kosten positiv zu bewerten. Dafür steigt aber auch das allgemeine Risiko (durch potentielle Bugs und die hohe Grundinvestition: die NRE-Kosten). Zudem fehlt es oft beim fertigen Produkt an Flexibilität, da nachträglich keine Änderungen der Hardware mehr möglich sind. Das ASSP (Application Specific Standard Product) ist hier schon besser, hat aber immer noch eine eingeschränkte Flexibilität, da der Funktionsumfang des Chips vom jeweiligen Hersteller vorgegeben ist. Ein ASSP kann beispielsweise ein DSP oder Mikrocontroller sein.  

Daher favorisierten die Entwickler bisher häufig eine Zwei-Chip Lösung – ASSP+FPGA oder ASIC+FPGA –, um die typische FPGA-Flexibilität mit den Vorteilen des ASSP zu vereinen. Hierbei wirken sich aber, je nach Anwendung, die Chip-to-Chip-Kommunikation, Energieverbrauch und Kosten der zwei Chips relativ nachteilig aus.

Genau hier setzt ZYNQ an: Man nutzt Standards (ARM Core+Peripherie) und bekommt die FPGA-Lösung in einer Single-Chip-Lösung. Oft werden hier die ZYNQ-Preise 1:1 mit Standard Controllern verglichen. Daher erscheint die ZYNQ Single-Chip Alternative oft auf den ersten Blick preislich höher als eine entsprechende MPU. Bei einer näheren Betrachtung des Gesamtsystems, und unter Berücksichtigung der erreichbaren Flexibilität und Kompaktheit, werden aber schnell die preislichen Vorteile gegenüber einer Multi-Chip Lösung deutlich. Daher ist eine ZYNQ-Lösung durchaus günstiger, statt sein Board mit vielen spezialisierten ASSPs oder ASICs zu lösen! Zudem beeinflusst die Single-Chip Lösung das EMV-Verhalten der Platine sehr positiv, weil die Interfaceleitungen eines Multi-Chip-Systems eingespart werden. Über 3000 Verbindungen stellen im ZYNQ eine möglichst gute Anbindung zwischen Prozessorblock und dem FPGA-Teil sicher.
Welche Technologie steckt hinter ZYNQ? Die ZYNQ Familie wird in einem modernen 28-nm-Prozess gefertigt. Im Gegensatz zu bisherigen Prozessoren von Xilinx (PowerPC, Microblaze und Picoblaze), befindet sich die typisch benötigte Peripherie direkt im Prozessorblock.

Der Cortex-A9 wird zudem jeweils von einer Neon/FPU Einheit unterstützt, um eine optimale Performance für rechenintensive Anwendungen zu bieten. Die beiden ARM-Cores laufen (je nach Temperatur- und Speed-Grade) mit bis zu 800MHz und erreichen pro Core eine Rechenleistung von bis zu 2,5 DMIPS/MHz. Bei den verschiedenen ZYNQ Variantionen basiert die programmierbare Logik auf einer Artix- oder Kintex-FPGA Technologie (7-Series FPGA). Es gibt insgesamt vier ZYNQ-Varianten: Die beiden kleineren Varianten basieren dabei auf dem ARTIX, die beiden größeren auf dem Kintex-Derivat. Hier stehen dann 28k bis 350k Logic Cells zur Verfügung. Wichtiger Unterschied: Nur die Kintex-Variante hat eingebaute Gigabit-Transceiver und einen PCIe-Block (bis Gen2 x8). Aber alle Varianten beinhalten Gigabit Ethernet MACs (im Prozessorblock), sowie zwei integrierte AD-Wandler (12 Bit, 1 MSPS) im XADC-Block. Generell ist der integrierte Prozessorblock in allen ZYNQ-Bausteinen identisch.