Meilensteine der Elektronik

Die vier Zeitalter der FPGA-Entwicklung

| Autor / Redakteur: Steve Trimberger * / Sebastian Gerstl

Bild 1: Eigenschaften von Xilinx-FPGAs, bezogen auf den Stand von 1988. Die Leistung bezogen auf den Preis ist um den Faktor 10.000 gestiegen.
Bild 1: Eigenschaften von Xilinx-FPGAs, bezogen auf den Stand von 1988. Die Leistung bezogen auf den Preis ist um den Faktor 10.000 gestiegen. (Bild: Xilinx)

Seit ihrer Einführung haben die FPGA-Bausteine mehrere Phasen ihrer Entwicklung durchlaufen. Jede wurde sowohl von der Prozesstechnologie getrieben, als auch von den Anforderungen ihrer Applikationen.

Anfang 1984 präsentierte Altera erstmals wiederprogrammierbare Logikbausteine auf dem Markt. Der EP300 konnte über ein Fenster im Chipgehäuse mit Hilfe eines UV-Lichts gelöscht und anschließend neu bespielt werden. Es eröffnete neue Möglichkeiten, die mit der Entwicklung der Field Programmable Gate Arrays eine neue Stufe der flexiblen Hardware erreichten.

Im selben Jahr führte Xilinx die ersten FPGAs auf dem Markt ein – auch wenn Sie zunächst noch nicht diesen Namen trugen. Erst 1988 popularisierte Actel diese Bezeichnung, sie sich bis heute fest für die Bausteine etabliert hat.

Über folgenden 30 Jahre hinweg haben die FPGAs ihre Kapazität um den Faktor 10.000 und mehr vergrößert. In der Geschwindigkeit haben sie um das 100-fache zugelegt. Kosten und Energieverbrauch je Einheit und Funktion haben gleichzeitig um mehr als 1000-mal abgenommen (siehe Bild).

Alle diese Fortschritte wurden, unter anderem, auch von der Prozesstechnologie getrieben. Doch es wäre viel zu simpel, die Evolution der FPGAs nur als einfache Progression der Kapazität infolge der Prozess-Skalierung zu betrachten. Die eigentliche Entwicklungsgeschichte geht deutlich tiefer.

Das Zeitalter der Erfindung: 1984 – 1992

XC2064: Mit diesem Chip begann bei Xilinx das Zeitalter der FPGAs, auch wenn die Bausteine erst ab 1988 unter diesem Namen bekannt wurden.
XC2064: Mit diesem Chip begann bei Xilinx das Zeitalter der FPGAs, auch wenn die Bausteine erst ab 1988 unter diesem Namen bekannt wurden. (Bild: Xilinx)

Xilinx' erster FPGA-Baustein, der XC2064, bestand aus nur 64 Logikblöcken. Jeder von ihnen fasste zwei Look-up-Tabellen (LUTs) mit drei Eingängen und einem Register. Nach heutiger Zählweise wären das etwa 64 Logikzellen – weniger als 1000 Gatter. Trotz dieser bescheidenen Kapazität war der Chip des XC2064 geradezu riesig – größer als ein damaliger Mikroprozessor – und die 2,5-µm-Prozesstechnologie war kaum in der Lage, den Baustein zu produzieren.

Die-Format und Kosten pro Funktion waren von erdrückend wichtiger Bedeutung. Der XC2064 hatte nur 64 Flip-Flops, doch er kostete wegen seines großen Chips Hunderte von Dollar. Bei einem so großen Chip zeigt die Fertigungsausbeute einen extrem linearen Verlauf. Eine Vergrößerung des Chips um 5 % führt zu einer Verdoppelung der Kosten und kann die Ausbeute auf Null reduzieren. Das hätte bedeutet, dass die eben gegründete Firma Xilinx ohne Produktangebot dagestanden hätte. Kostendämpfung war somit nicht nur eine Frage der Optimierung, sie war eine Frage des Überlebens.

Angesichts dieses Kostendrucks setzten die FPGA-Entwickler auf Innovationen in der Architektur und in der Prozesstechnik, um die Effizienz der FPGA-Entwicklung zu maximieren. Zwar waren die SRAM-basierten FPGAs reprogrammierbar, doch nahmen die On-chip SRAMs auf dem Die den größten Teil der Fläche ein. Antifuse-basierte FPGAs eliminierten die Nachteile der SRAM-Speicherung in Bezug auf die Chip-Fläche, allerdings unter Verlust der Reprogrammierbarkeit. Um 1990 bot der Antifuse-basierte Actel-Baustein 1280 die größte FPGA-Kapazität. Quicklogic und Crosspoint folgten Actel in der Entwicklung von FPGAs auf der Basis der Antifuse-Technologie. Auf der Suche nach größerer Effizienz reichten die Architekturen von komplexen LUT-Strukturen bis zu NAND-Gates, bis herab zu einzelnen Transistoren.

Im Zeitalter der Erfindung waren die FPGAs erheblich kleiner als die Applikationen, die die Anwender mit ihnen realisieren wollten. Als Ergebnis wurden Mehrfach-FPGA-Systeme populär, und automatisierte Software für Multi-Chip Partitioning wurde zu einem wichtigen Element einer FPGA-Design-Suite. Für das automatische Placement und Routing galt dies allerdings nicht. Radikal unterschiedliche FPGA-Architekturen verhinderten den Einsatz universeller Design-Tools. Deshalb übernahmen die FPGA-Anbieter die zusätzliche Aufgabe der EDA-Entwicklung für ihre eigenen Bausteine. Manuelle Designarbeit mit FPGAs, sowohl logisch wie physisch, wurde wegen des geringen Umfangs des Problems akzeptiert. Manuelles Design und Optimierung waren sehr oft notwendig, da die begrenzten Routing-Ressourcen auf den Chips signifikante Herausforderungen beim Design darstellten.

Das Zeitalter der Expansion: 1992 – 1999

XC3042 von 1995: Da FPGA-Hersteller Anfang der 1990er Jahre ausschließlich als Fabless-Anbieter auftraten, mussten die Bausteine im Vergleich zu anderen Halbleitern erst gewisse Fertigungshindernisse überwinden.
XC3042 von 1995: Da FPGA-Hersteller Anfang der 1990er Jahre ausschließlich als Fabless-Anbieter auftraten, mussten die Bausteine im Vergleich zu anderen Halbleitern erst gewisse Fertigungshindernisse überwinden. (Bild: Xilinx)

Die FPGA-Startups operierten meist als Fabless-Anbieter – damals eine echte Novität. Fabless bedeutete, dass sie in den frühen Neunziger Jahren kaum Zugang zu den führenden Siliziumtechnologien hatten. Als Ergebnis starteten die FPGAs in das Zeitalter der Expansion mit starkem Rückstand auf der IC-Prozess-Lernkurve. Im weiteren Verlauf der Dekade realisierten die IC-Foundries dann, dass die FPGAs ideale Treiber der Prozesstechnologie waren und laufende Fortschritte brachten.

Die Foundries waren in der Lage, SRAM-basierte FPGAs zu bauen, sobald sie Transistoren und die Verdrahtung in einer neuen Prozesstechnologie mit genügender Ausbeute produzieren konnten. Jede neue Prozess-Generation verdoppelte die Anzahl der verfügbaren Transistoren. Das halbierte die Kosten pro Funktion und verdoppelte den Umfang der größten verfügbaren FPGAs. Chemisch-mechanischen Polieren (CMP) ermöglichte den Foundries das Stacking von immer mehr metallischen Layern auf einem IC. Und das erlaubte den FPGA-Anbietern die aggressive Ausdehnung des On-chip Interconnect, um eine größere LUT-Kapazität zu erreichen.

Die Chipfläche war damals nicht mehr so kostbar wie sie im Zeitalter der Erfindung gewesen war. Fläche ließ sich nun gegen Performance, Features und Einfachheit im Einsatz tauschen. Größere FPGA-basierte Designs erforderten Synthese-Tools mit automatischem Placement und Routing. Gegen Ende der Neunziger Jahre waren deshalb automatisierte Synthese, Platzierung und Routing die gängigen und geforderten Schritte im Design-Prozess. Das Überleben eines FPGA-Anbieters hing nun von den Fähigkeiten seiner EDA-Tools ebenso ab wie von den Fähigkeiten seiner FPGAs.

Bild 2: Wachstum der FPGA-LUTs und des Interconnect im Lauf der Zeit. Die Verdrahtungslänge ist in Millionen von Transistor-Pitches ausgedrückt.
Bild 2: Wachstum der FPGA-LUTs und des Interconnect im Lauf der Zeit. Die Verdrahtungslänge ist in Millionen von Transistor-Pitches ausgedrückt. (Bild: Xilinx)

Besonders wichtig: Der einfachste Weg zur Kapazitätsverdoppelung und Kostenhalbierung der On-chip FPGA-Logik war jetzt, rechtzeitig den nächsten Node der Prozesstechnologie anzusteuern. Somit war der frühe Zugriff auf die neuen Nodes von beträchtlichem Wert. SRAM-basierte FPGAs realisierten während dieser Zeit einen signifikanten Produktvorteil, weil sie als erste jeden neuen Node aufgreifen konnten: SRAM-basierte Bausteine konnten neue, dichtere Prozesse sofort nutzen, während es mehrere Monate oder Jahre dauerte, ehe die Antifuse-Technik für neue Nodes qualifiziert war. Damit verloren die Antifuse-basierten FPGAs ihren Wettbewerbsvorsprung. Innovationen in der Architektur waren nun weniger wichtig als die rasche Prozess-Migration, um Geschwindigkeits- und Kostenvorteile zu erzielen.

Das Zeitalter der Akkumulation: 2000 – 2007

ASIC Prototyping Engine auf Basis von Virtex II Pro FPGAs (2005): Zum Start des neuen Jahrtausend stellen FPGAs zunehmend attraktive Alternativen zu althergebrachten Entwicklungslösungen dar, nicht zuletzt dank der größeren Verfügbarkeit von Soft-Logic-IPs.
ASIC Prototyping Engine auf Basis von Virtex II Pro FPGAs (2005): Zum Start des neuen Jahrtausend stellen FPGAs zunehmend attraktive Alternativen zu althergebrachten Entwicklungslösungen dar, nicht zuletzt dank der größeren Verfügbarkeit von Soft-Logic-IPs. (Bild: Xilinx)

Am Beginn des neuen Millenniums waren die FPGAs in digitalen Systemen durchgängig eingeführte Komponenten. Die Kapazität und der Umfang der Designs wuchsen rapide, und die FPGAs fanden in der Datenkommunikation riesige Märkte vor. Der Dotcom-Bust nach 2000 schaffte zudem einen dringenden Bedarf an Systemen zu niedrigeren Kosten, was für viele „gelegentliche” ASIC-Anwender das Ende bedeutete. Die Arbeit mit kundenpezifischem Silizium war einfach zu riskant für kleine Entwicklerteams. Wenn diese Entwickler feststellten, dass sie ihr Problem einfacher mit einem FPGA lösen konnten, wurden sie FPGA-Anwender.

FPGAs waren jetzt generell größer als der Umfang der typischen Anwendungen. Also reichte ihre größere Kapazität allein nicht aus, um das Marktwachstum zu gewährleisten. Die FPGA-Anbieter adressierten diese Herausforderung auf zwei verschiedenen Wegen. Am unteren Ende des Marktes refokussierten sie auf die Effizienz und produzierten Bausteinfamilien mit geringerer Kapazität und niedrigerer Performance in Gestalt von „Low-Cost”-FPGAs, wie die Xilinx Spartan FPGA-Familien. Im High-End erleichterten die FPGA-Anbieter den Anwendern die optimale Nutzung der größten FPGAs, indem sie Soft-Logik-Bibliotheken (IP) für wichtige Funktionen bereitstellten. Die bedeutendsten dieser Softlogik-Funktionen waren Memory-Controller, Kommunikations-Protokollblöcke einschließlich Ethernet-MAC, und sogar Soft-Mikroprozessoren wie der Xilinx MicroBlaze.

Ab 2000 änderten sich die Anforderungen an die Designs. Große FPGAs konnten sehr umfangreiche Designs aufnehmen, die komplette Subsysteme darstellten. Die Anwender von FPGAs waren nicht länger nur mit der Implementierung von Logik beschäftigt. Sie verlangten, dass ihre FPGA-Designs den Systems-Standards entsprachen. Diese Standards waren primär Kommunikations-Standards für Signalübertragung und Protokolle, entweder als Schnittstellen für externe Komponenten oder zur Kommunikation zwischen den internen Blöcken. Die Verarbeitungsstandards berücksichtigten die wachsende Rolle von FPGAs in rechenintensiven Applikationen.

Am Ende des Zeitalters der Akkumulation waren die FPGAs nicht mehr nur Arrays mit Gates, sondern sie vereinten komplexe Funktionen innerhalb der programmierbaren Logik. Damit wurden sie das System.

Das Zeitalter der Systeme: seit 2008

Modernes High-End: Bausteine wie die Xilinx UltraScale Familie übernehmen inzwischen komplette Systemblöcke und zeichnen sich durch einfacheren Design-Flow aus.
Modernes High-End: Bausteine wie die Xilinx UltraScale Familie übernehmen inzwischen komplette Systemblöcke und zeichnen sich durch einfacheren Design-Flow aus. (Bild: Xilinx)

Mit der Übernahme von Aufgaben im System-Design beherbergten die FPGAs in der Folgezeit zunehmend ganze Systemblöcke: High-Speed Transceiver, Speicher, DSP-Einheiten und komplette Prozessoren.

Außerdem wurden sie zu Trägern bedeutender Steuerfunktionen: Bitstream Encryption und Authentication, Mixed-Signal-Verarbeitung, Leistungs- und Temperatur-Monitoring, sowie Power-Management. Dadurch erweiterte sich auch der potentielle Anwendungsbereich der FPGAs in inzwischen nahezu alle denkbaren Industriebereiche.

Diese Funktionen werden beispielsweise in den Zynq All-Programmable Bausteinen besonders betont. Diese enormen Bausteine verfügen außerdem über angetriebene Tools. System-FPGAs erfordern hoch effiziente System-Programmiersprachen. Sie lassen sich jetzt mit einem Software-ähnlichen Fluss wie OpenCL und C programmieren, wodurch der gesamte Designflow für Entwickler zugänglicher wurde.

Wohin geht die langfristige Entwicklung? Programmierbarkeit ist erwiesenermaßen von grundlegender Bedeutung. Kompakte und effiziente Logikverarbeitung beschleunigt die Ausführung vieler wichtiger Algorithmen. Gleichzeitig reduziert sie die Leistungsaufnahme. Diese Technologie wird uns noch lange erhalten bleiben, auch wenn sie sich laufend weiter entwickelt.

FPGA-basierte Systeme zeitgemäß entwickeln

FPGA-Kongress 2016

FPGA-basierte Systeme zeitgemäß entwickeln

06.06.16 - FPGA-Kongress in München: Vom 12. bis 14. Juli erklären Experten in Vorträgen und Tutorials die Welt der programmierbaren Bausteine, die sich jenseits des Moore'schen Gesetzes rasant weiterentwickeln. Treffen Sie unter anderem den OSVVM-Chefarchitekten Jim Lewis: www.fpga-kongress.de. lesen

Bildverarbeitung einfach auf einem FPGA implementieren

IP-Cores

Bildverarbeitung einfach auf einem FPGA implementieren

06.06.16 - Vor allem im Umfeld der Machine Vision sind Kameras aus heutiger Sicht nicht mehr wegzudenken. Die Anforderungen an solche Kameras werden zunehmend größer. Die grafische Programmierumgebung Embedded VisualApplets (eVA) macht es einfach, FPGAs auf unterschiedlichen Hardwareplattformen mit Bildverarbeitungs-Anwendungen auszustatten. lesen

Entwicklung von schnellen Applikationen mit SDSoC und Zynq

FPGA

Entwicklung von schnellen Applikationen mit SDSoC und Zynq

30.05.16 - In der Automatisation sind hohe Datenraten und leistungsstarke Kommunkationsschnittstellen entscheidend. Mit den richtigen Entwicklungstools bieten hier SoC-FPGAs große Vorteile beim Produktdesign. lesen

Mikroprozessor, FPGA oder System-on-Module – Wann wähle ich was?

Designentscheidung

Mikroprozessor, FPGA oder System-on-Module – Wann wähle ich was?

18.05.16 - Kunden sind heutzutage sehr vertraut mit den Leistungsklassen der MCU/MPUs und deren Möglichkeiten. Jedoch werden die Anforderungen bei neuen Projekten immer anspruchsvoller, wodurch die Frage nach dem Einsatz eines FPGA bei Kunden immer mehr in den Vordergrund rückt. Welche Kriterien muss man in diesen Entscheidungs-Prozess mit einfließen lassen? lesen

Fünf Dinge, auf die es bei der FPGA-Auswahl ankommt

Sicherheit mit Hardware

Fünf Dinge, auf die es bei der FPGA-Auswahl ankommt

22.06.16 - Um Sicherheits- und Security-Features in industriellen Anwendungen zu gewährleisten kommen immer häufiger FPGAs in entsprechenden Systemen zum Einsatz. Doch welcher Baustein ist für die angestrebte Applikation der Sinnvollste? Um das richtige FPGA zu wählen, sollten Entwickler zuvor fünf wesentliche Fragen beantworten. lesen

* Steve Trimberger ist Mitarbeiter von Xilinx, IEEE Fellow, ACM Fellow und Mitglied der National Academy of Engineering.

Kommentar zu diesem Artikel abgeben
Well, sometimes it all gets lost in (automatic) translation ... Vielleicht ist ja jetzt nach...  lesen
posted am 09.08.2016 um 16:34 von Unregistriert

Eigentlicher netter Übersichtsartikel, leider (sehr/zu offensichtlich, was beim Autor ja an sich...  lesen
posted am 09.08.2016 um 14:07 von mjahn


Mitdiskutieren
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44146559 / FPGA)