Abstract tech background 3D illustration. Quantum computer archi

(Bild: Adobe Stock)

| von Ivo Bolsens

ECK-DATEN

Seitdem die ersten Field Programmable Gate Arrays (FPGAs) 1984 am Markt erschienen, hat sich die Speicherkapazität dieser bemerkenswerten Komponenten um mehr als das 10.000-fache erhöht, und ihre Geschwindigkeit ist um den Faktor 100 gestiegen. Gleichzeitig verringerte sich ihr Energieverbrauch pro Funktionseinheit um mehr als das 10.000-fache. In zwei Jahren, um 2020, werden über 50 Milliarden dieser Bausteine in Maschinen eingesetzt und vernetzt sein, um die steigenden Anforderungen der Endanwender zu erfüllen und ein exponentiell wachsendes Datenaufkommen zu verarbeiten. All das bei geringstmöglichem Leistungsverbrauch.

Seit ihrer Einführung haben die FPGA-Bausteine mehrere distinktive Phasen ihrer Entwicklung durchlaufen. Jede dieser Phasen wurde durch die Fortschritte der Prozesstechnologie getrieben und im gleichen Maß durch die steigenden Anforderungen ihrer Applikation. Dieser zweifache Druck hat die vielen deutlich erkennbaren Änderungen in der Charakteristik der Bausteine und der eingesetzten Tools bewirkt. Die vier Zeitalter der FPGA-Evolution sind: Erfindung, Expansion, Akkumulation, Systeme (SoCs).

Xilinx brachte 1984 die ersten FPGAs heraus. Allerdings wurden sie damals noch nicht FPGAs genannt, bis Actel um 1988 diese Bezeichnung popularisierte. In den folgenden 30 Jahren wuchs die Speicherkapazität der Bausteine, die wir heute FPGAs nennen, um mehr als das 10.000-fache, und ihre Geschwindigkeit nahm um den Faktor 1000 zu. Gleichzeitig sanken die Kosten und der Energieverbrauch pro Funktionseinheit um mehr als das 10.000-fache (Bild 1).

Xilinx_Figure1

Bild 1: Die funktionalen Eigenschaften von Xilinx-FPGAs bezogen auf 1988. Erkennbar sind die Veränderungen im Preis und in der Leistung um den Faktor 10.000. Xilinx

Diese Fortschritte wurden größtenteils durch die Entwicklung der Prozesstechnologie getrieben. Deshalb liegt es nahe, die Evolution der FPGAs als simple Progression ihrer Kapazität zu betrachten, wie sie aus der laufenden Skalierung der Prozesse erwuchs. Doch diese Ansicht ist allzu einfach. Die wirkliche Geschichte ist viel interessanter.

Die Ära der Erfindung der FPGAs 1984 bis 1992

Der erste FPGA-Baustein, der Xilinx XC2064, umfasste nur 64 Logikblöcke. Jeder von ihnen enthielt zwei Look-up-Tabellen (LUT) mit drei Eingängen und ein Register. Nach heutiger Zählweise entspräche das etwa 64 Logikzellen – also weniger als 1000 Gates. Trotz dieser geringen Kapazität war das Die des XC2064 außerordentlich groß – größer als die damaligen Mikroprozessoren – und die dabei eingesetzte 2,5-µm-Prozesstechnologie war kaum in der Lage, den Baustein mit hinreichenden Ausbeuten zu fertigen.

Chipfläche und Kosten pro Funktion waren damals von vitaler Bedeutung. Der XC2064 enthielt zwar nur 64 Flip-Flops, doch er kostete Hunderte von Dollar – weil sein Chip so groß war. Die Ausbeuten für sehr große Die-Formate zeigen einen superlinearen Verlauf. Somit würde eine Vergrößerung der Chipfläche um 5 Prozent die Fertigungskosten verdoppeln und könnte zugleich die Ausbeute auf Null reduzieren. Also hätte Xilinx als eben gegründetes Unternehmen kein marktfähiges Produkt entwickeln können. Kostenbegrenzung war somit nicht nur eine Frage der reinen Optimierung. Es war eine Frage des Überlebens.

Als Konsequenz des Kostendrucks nutzten die FPGA-Entwickler die aktuellen Innovationen der Architektur und der Prozesse, um die Design-Effizienz der FPGAs zu maximieren. SRAM-basierte FPGAs waren zwar reprogrammierbar, doch das On-chip-SRAM beanspruchte den größten Teil der Chipfläche dieser FPGAs. Antifuse-basierte FPGAs eliminierten diesen Nachteil des großen Flächenbedarfs für die SRAM-Speicherung auf dem Chip – unter Verlust der Reprogrammierbarkeit.

Um 1990 war der Actel 1280 auf der Basis der Antifuse-Technik der FPGA-Baustein mit der größten Kapazität. Quicklogic und Crosspoint folgten Actel und entwickelten ebenfalls Antifuse-basierte FPGAs. Im Bestreben, die Effizienz zu steigern, reichten deren Architekturen von komplexen LUT-Strukturen über NAND-Gates bis herab zur Ebene der einzelnen Transistoren.

Im Zeitalter der Erfindung waren die FPGAs sehr viel kleiner als die Applikationen, in denen die Anwender sie einzusetzen gedachten. Als Ergebnis wurden Systeme mit mehreren FPGAs populär und automatisiert. Multi-Chip-Partitioning-Software wurde zu einem wichtigen Element der FPGA-Design-Suite, im Gegensatz zur automatischen Platzierung und Routing. Grundlegend verschiedene FPGA-Architekturen verhinderten den Einsatz universeller Design-Tools. Deshalb übernahmen die FPGA-Anbieter den zusätzlichen Aufwand der EDA-Entwicklung für ihre eigenen Bausteine. Das manuelle Design mit FPGAs, sowohl logisch wie physisch, war wegen der relativ einfachen Problematik akzeptabel. Manuelle Entwicklung und Optimierung waren oft erforderlich, weil die begrenzten Routing-Ressourcen auf den Chips signifikante Herausforderungen der Entwicklung mit sich brachten.

Lesen Sie auf der nächsten Seite: Die Ära der Expansion 1992 bis 1999 und Die Ära der Akkumulation 2000 bis 2007

Die Ära der Expansion: 1992 bis 1999

Die FPGA-Startups operierten als Fabless-Hersteller – für die damalige Zeit eine Novität. Doch als Fabless-Anbieter hatten sie bis in die frühen 90er Jahre kaum Zugriff auf die führenden Silizium-Technologien. Damit lagen die FPGAs am Beginn des Zeitalters ihrer Expansion auf der IC-Prozesskurve weit zurück. Doch im Verlauf dieser Dekade erkannten die IC-Foundries allmählich, dass die FPGAs ideale Prozesstreiber darstellten und die Evolution der Technologien beschleunigten.

Die Foundries waren nun in der Lage, SRAM-basierte FPGAs zu bauen, sobald sie in einer jeweils neuen Prozesstechnologie genügend hohe Ausbeuten an Transistoren und deren Verdrahtung erzielen konnten. Mit jeder neuen Prozessgeneration verdoppelte sich die Zahl der Transistoren auf den größten verfügbaren FPGAs. Das halbierte die Kosten pro Funktion und verdoppelte die Größe der Bausteine. Chemisch-mechanisches Polieren (CMP) ermöglichte den Foundries das Stacking von mehr metallischen Layern auf einem IC. Und das erlaubte den FPGA-Anbietern die aggressive Vergrößerung des On-chip-Interconnects zur Unterbringung der höheren LUT-Kapazitäten. Diese Entwicklung verdeutlicht Bild 2.

Xilinx figure 2

Bild 2: Die Zunahme der FPGA LUTs und der Anschlusspfade über die Zeit. Die Anschlusslänge ist ausgedrückt in Millionen von Transistor-Pitches. Xilinx

Die Chipfläche war in dieser Phase nicht mehr so kostbar, wie sie im Zeitalter der Erfindung der FPGAs gewesen war. Sie ließ sich nun eintauschen gegen Performance, Funktionalität und Einfachheit im Einsatz. Größere FPGA-basierte Designs erforderten Synthese-Tools mit automatischem Placement und Routing. Zum Ende der 1990er Jahre wurden automatisierte Synthese, Platzierung und Routing zu notwendigen Schritte im Design-Prozess. Das Überleben eines FPGA-Herstellers hing nun ebenso von den Fähigkeiten seiner EDA-Tools ab wie von den Fähigkeiten seiner FPGAs.

Die wichtigste unter allen diesen Bedingungen: Der einfachste Weg zur Verdoppelung der Kapazität und zur Halbierung der Kosten für die On-chip-FPGA-Logik war die rechtzeitige Erschließung des jeweils nächsten Node der Prozesstechnologie. Somit lag ein außerordentlicher Wert im frühen Zugang zu den neuen Nodes. SRAM-basierte FPGAs realisierten in dieser Zeit einen signifikanten Produktvorteil. Denn sie waren die ersten, die jeden neuen Node aufgriffen: SRAM-basierte Bausteine konnten die neueren, dichteren Prozesse sofort einsetzen. Hingegen brauchte es zusätzliche Monate oder Jahre, die Antifuse-Technik für neue Nodes zu qualifizieren. Somit verloren die Antifuse-basierten FPGAs ihren Wettbewerbsvorsprung. Architektur-Innovationen waren nun weniger wichtig als die Migration der Prozesse in Richtung höherer Geschwindigkeiten und von Kostenvorteilen.

Die Ära der Akkumulation: 2000 bis 2007

Zu Beginn des neuen Millenniums waren die FPGAs weithin eingesetzte Bausteine in digitalen Systemen. Kapazität und Designumfang wuchsen schnell und die FPGAs fanden einen riesigen Markt in der Datenkommunikation. Der Dotcom-Crash nach 2000 löste allerdings eine desperate Suche nach niedrigeren Fertigungskosten aus – was viele eher beiläufige ASIC-Anwender eliminierte. Kundenspezifische Silizium-Entwicklungen waren viel zu riskant für die Erfolgsaussichten kleinerer Entwickler-Teams. Wenn diese feststellten, dass sie ihre Anwendungen problemlos in ein FPGA verlagern konnten, wurden sie sofort überzeugte FPGA-Anhänger.

Die FPGAs boten nun mehr Platz als der typische Problemumfang ihrer Anwendungen und die gesteigerte Kapazität allein reichte nicht für ein garantiertes Marktwachstum aus. Die FPGA-Hersteller gingen diese Herausforderung auf zwei Wegen an. Am unteren Ende des Marktes fokussierten sie verstärkt auf die Effizienz und auf Produktfamilien mit geringerer Kapazität und geringerer Performance. Beispiele dafür sind „Low-Cost”-FPGAs wie die Spartan FPGA-Familien von Xilinx. Im High-End des Marktes arbeiteten die FPGA-Anbieter intensiv daran, den Anwendern das Füllen der größten FPGAs zu erleichtern, indem sie Soft-Logik-Bibliotheken (IP) für wichtige Funktionen schufen. Die bekanntesten dieser Soft-Logik-Funktionen waren Speicher-Controller, diverse Kommunikations-Steuerblöcke einschließlich Ethernet MACs und sogar Soft-Mikroprozessoren wie der Microblaze-Prozessor von Xilinx.

Meilensteine der FPGA-Entwicklung

  • Xilinx führte 1984 die ersten FPGAs ein.
  • Die Bezeichnung FPGA wird 1988 popularisiert.
  • Die Ära der Erfindung: 1984 bis 1992
  • Die Ära der Expansion: 1992 bis 1999
  • Die Ära der Akkumulation: 2000 bis 2007
  • Die Ära des SoCs: 2008 bis 2017
  • Die Ära der adaptiven Rechner-Beschleunigung (ACAP): ab 2018

Nach 2000 änderte sich die Design-Charakteristik. Die großen FPGAs konnten nun sehr umfangreiche Designs aufnehmen, die komplette Subsysteme darstellten. Die FPGA-Anwender befassten sich nicht länger nur mit der Implementierung von Logik. Sie mussten ihre FPGA-Designs auf System-Standards ausrichten. Diese Standards waren primär Kommunikations-Standards für Signaling und Protokoll, mit Schnittstellen für externe Komponenten oder zwischen internen Blöcken. Die Verarbeitungsstandards adressierten vor allem die wachsende Rolle der FPGAs in rechenintensiven Applikationen. Zum Ende des Zeitalters der Akkumulation waren die FPGAs nicht mehr nur Arrays von Gates. Sie umfassten große Gruppen komplexer Funktionen, die mit der programmierten Logik integriert waren. Damit wurden sie zum System.

Thema auf der nächsten Seite: Die Ära des SoCs und die Ära der Rechner-Beschleunigung.

Die Ära des SoCs: 2008 bis 2017

Mit dem Übergang auf das System-Design und dessen Anforderungen umfassten die FPGAs in zunehmendem Maße auch Systemblöcke wie High-Speed-Transceiver, Speicher, eine große Anzahl von DSP-Verarbeitungseinheiten und komplette Prozessor-Subsysteme. Sie boten darüber hinaus auch wichtige Sicherheitsfunktionen wie Bitstream-Encryption und Authentifizierung. Außerdem sind oft auch Systemfunktionen für die leitungsfähige Mixed-Signal-Verarbeitung, für die Systemtemperatur sowie für das Power-Monitoring und -Management verfügbar.

Diese Funktionen wurden erstmals in der SoC-Produktfamilie Zynq-7000 vorgestellt und dann mit den Zynq UltraScale+ MPSoCs und Zynq UltraScale+ RF-SoCs weiter ausgebaut. In dieser Zeit kam auch ein wesentlicher Schritt in Richtung der Verbesserung der Programmier-Effizienz. Mit der Einführung der High-Level-Synthese (HLS) erweiterte sich die traditionell auf Hardware-Entwicklungssprachen wie VHDL und Verilog eingestellte Programmier-Umgebung durch Software-ähnliche Entwicklungsflüsse wie OpenCL, C und C++. Dies war ein bedeutender Schritt zur Kombination des einfachen Software-Einsatzes mit der Hardware-Effizienz.

Die Ära der Rechner-Beschleunigung: ab 2018

Da sich der Halbleiterfortschritt nach dem Moore‘schen Gesetz deutlich verlangsamt hat, ist die Entwicklung traditioneller Rechnersysteme mit ernsthaften Herausforderungen konfrontiert. Das gilt für die Verbesserung der Performance ebenso wie für die Energie-Effizienz und die Kosten. Darüber hinaus bedingen die Erfordernisse der Echtzeit-Performance, des Datenschutzes und der Bandbreite der Datenkanäle in neu entstehenden Anwendungsfeldern wie autonome Fahrzeuge und 5G-Kommunikation die Notwendigkeit immer leistungsfähigerer und effizienterer Rechenfähigkeiten an der Edge des Netzwerks.

Dieser Kontext bedingt die Emergenz des Domain-spezifischen Computings. Das Domain-spezifische Computing nutzt eine Architektur nach Kundenforderung und eine Programmierumgebung, die für einen speziellen Applikationsbereich ausgelegt ist. Schnellere Rechner-Hardware ist oft bedeutsam für die Performance-Verbesserung eines Systems. Doch andere Aspekte wie effizienter Speicherzugriff, Bandbreite des Interconnects, deterministisches Verhalten und geringe Latenz sind eventuell von gleichrangiger Bedeutung.

Die neue Adaptable Compute Acceleration Platform (ACAP) von Xilinx wird bei der Implementierung zukünftiger Rechnersysteme in der Cloud und in der Edge-Infrastruktur eine maßgebende Rolle spielen. ACAP bietet eine parallele heterogene programmmierbare Plattform, die sich kundenspezifisch optimal auslegen lässt, um den Performance-Anforderungen unterschiedlicher Applikationsbereiche gerecht zu werden.

Wohin wird das alles führen? Programmierbarkeit und Adaptierbarkeit sind erwiesenermaßen von fundamentalem Wert. Effiziente Kundenspezifizierung der Logikfunktionen und des Speicherzugriffs, der Konnektivität zum schnellen Datentransport sowie die parallele Verarbeitung werden gleichermaßen benötigt, um die künftig zu erwartenden Workloads zu beschleunigen. Diese Technologie ist fest etabliert und sie wird auch weiterhin evolvieren.

Ivo Bolsens

CTO und Senior Vice President der Xilinx Inc.

(jj)

Kostenlose Registrierung

Newsletter
Bleiben Sie stets zu allen wichtigen Themen und Trends informiert.
Das Passwort muss mindestens acht Zeichen lang sein.

Ich habe die AGB, die Hinweise zum Widerrufsrecht und zum Datenschutz gelesen und akzeptiere diese.

*) Pflichtfeld

Sie sind bereits registriert?