Die Säulen-Architektur der FPGA-Familie Virtex-4 ermöglicht eine Optimierung der Derivate auf Applikationsgruppen. Für jeden Geschmack das Richtige

Bei der neuen Plattform-FPGA-Familie Virtex-4 setzt Xilinx erstmals seine im Frühjahr vorgestellte ASMBL-Architektur ein. Die FPGAs werden in einem 90-nm-Prozess auf 300-mm-Wafern gefertigt und ermöglichen so ein günstiges Preis-Leistungs-Verhältnis. Die integrierten DSP-Cores lassen sich mit Taktfrequenzen bis zu 500 MHz und die seriellen Transceiver mit Datenraten von 0,6 bis 11,1 Gbit/s betreiben.

Die Säulen-Architektur der FPGA-Familie Virtex-4 ermöglicht eine Optimierung der Derivate auf Applikationsgruppen.

Bei der neuen Plattform-FPGA-Familie Virtex-4 setzt Xilinx erstmals seine im Frühjahr vorgestellte ASMBL-Architektur ein. Die FPGAs werden in einem 90-nm-Prozess auf 300-mm-Wafern gefertigt und ermöglichen so ein günstiges Preis-Leistungs-Verhältnis. Die integrierten DSP-Cores lassen sich mit Taktfrequenzen bis zu 500 MHz und die seriellen Transceiver mit Datenraten von 0,6 bis 11,1 Gbit/s betreiben.

Vor einigen Jahren galten FPGAs als Kleinserien- oder Prototypen-Alternative zu ASICs oder ASSPs. Dank ständiger Fortschritte der Halbleitertechnik lassen sich in ASICs und ASSPs immer komplexere Designs bis hin zu kompletten Systemen abbilden. Parallel zur Weiterentwicklung dieser Komponenten durchlebten auch FPGAs eine Evolution in Richtung höherer Schaltungskomplexität, größerer Bandbreite und gestiegener Verarbeitungsleistung. Immer feinere Halbleiter-Strukturen und die Nutzung immer größerer Wafer ermöglichten eine Senkung der Stückkosten in der Fertigung und die Realisierung immer komplexerer FPGA-Funktionsblöcke.

Dieser Trend setzte sich fort mit der Entwicklung von Plattform-FPGAs, die eine Auswahl generischer Funktionsblöcke enthalten, deren Zusammenstellung für bestimmte Klassen von Anwendungen optimiert ist. Beispiele für solche Funktionsblöcke sind Logik, DSP, Speicher, serielle I/O-Schaltungen usw. Im Gleichschritt mit immer leistungsfähigeren FPGAs entwickelten sich auch die Design-Tools weiter, und diese Paarung aus günstigen, weil standardisierten Bausteinen und einfacher, bedienerfreundlicher Entwicklungs-Software erwies sich als erfolgreiche Kombination: Sie gewährleistet günstige Entwicklungskosten bei zugleich wirtschaftlichen Bausteinkosten, so dass sich die Wirtschaftlichkeits-Schwelle für einen Umstieg von FPGAs zu ASICs zu immer höheren Stückzahlen hin verschob.

Weil aber die Designs in den letzten Jahren immer komplexer wurden, gelangt die bisherige FPGA-Technik an ihre Grenzen: Wollte man bestehende Designs wieder verwenden, aber um zusätzliche Funktionen ergänzen, so war oft ein Umstieg auf größere Bausteine nötig, obwohl die verfügbare Chipfläche theoretisch für die zusätzlichen Funktionen ausgereicht hätte. Die FPGA-Technik war an ihre konzeptuellen Grenzen gelangt.

Worin bestehen diese Grenzen und mit welchen Lösungen lassen sie sich überwinden?

Begrenzende Faktoren

Herkömmliche FPGA-Bausteine sind wie ein gekachelter Fußboden organisiert, wobei die I/O-Blöcke immer entlang der „Die“-Kanten angeordnet sind (Bild 1, links). Diese Struktur erscheint auf den ersten Blick logisch, zeigt aber bei der Wiederverwendung oder Erweiterung eines bestehenden Entwurfs einige Schwächen.

Die starre Beziehung zwischen Die-Fläche und I/O-Kanälen zwingt den Entwickler bei der Erweiterung seines Designs oft zum teuren Wechsel auf einen größeren Baustein: Benötigt die erweiterte Schaltung mehr Die-Fläche, so muss er den nächst größeren Baustein nehmen, auch wenn keine weiteren I/O-Kanäle erforderlich sind. Benötigt die erweiterte Schaltung mehr I/O-Kanäle, so steht ebenfalls der Einsatz des nächst größeren Bausteins an, selbst wenn man keinen zusätzlichen Platz auf dem Die braucht. Diese ungenutzten Funktionsblöcke steigern unnötigerweise die Bausteinkosten.

Die Gehäuse-bedingte Anordnung der I/O-Blöcke am Rand des Die sorgt für große Leitungslängen, weil alle Verbindungen von den Funktionsblöcken im Die-Inneren zum Außenrand des Chips geroutet werden müssen (Bild 2, links). Mit zunehmender Miniaturisierung wächst der Leitungswiderstand pro Längeneinheit, was eine Zunahme des Spannungsabfalls auf den Leitungen verursacht. So entsteht Verlustleistung auf den Versorgungsleitungen, und die Funktionsblöcke erhalten eine niedrigere Versorgungsspannung. Längere Verbindungen (Interconnects) beeinflussen nicht nur die Stromversorgung, sie beeinträchtigen auch die Signalqualität. Niedrigere Taktfrequenzen und auch eine geringere erreichbare Daten-Bandbreite waren die Folge.

Die Kachelstruktur schränkt die Erweiterbarkeit auch noch in anderer Weise ein: Hard-IPs erstrecken sich bei diesen Bausteinen über mehrere Zeilen und Spalten des Arrays. Bei der Erweiterung eines bestehenden FPGA-Designs um ein zusätzliches Hard-IP reicht die noch verfügbare Array-Fläche nicht mehr für die Einbindung dieses zusätzlichen IP aus (Bild 3, links). Die Konsequenz: Der Entwickler muss zu einem größeren und teureren FPGA greifen. Auch beim Baustein-Anbieter erschwert dies die Weiterentwicklung von Plattform-FPGAs, da die Einbindung zusätzlicher IPs oft aufwendige Umgruppierungsarbeiten erfordert, um nicht in die nächst größere Bausteinklasse wechseln zu müssen.