Warum sind FPGAs so teuer?

Ich meine im Vergleich zu ICs (ASICs) mit ähnlicher Komplexität, Geschwindigkeit usw. Vergleichen wir Ethernet-Switches mit Kintex-FPGAs (beachten Sie, dass der teuerste Switch aus der Liste ungefähr so ​​teuer ist wie der billigste Kintex):

  • FPGAs sind gut strukturierte ICs (wie RAMs). Sie können einfach skaliert und entwickelt werden.
  • Die Design-Tools ( Vivado , Quartus usw.) sind ebenfalls teuer, daher ist der Preis für ein FPGA meiner Meinung nach der Preis des IC (und der Entwicklung) selbst ohne die Kosten für Support und Tools. (Einige Nicht-FPGA-Anbieter bieten kostenlose Tools an, deren Entwicklungskosten den IC-Preis beinhalten.)

Werden FPGAs in geringeren Mengen produziert als andere ICs? Oder gibt es einen technologischen Kabelbaum?

Ich glaube, jemand hat promoviert. wirtschaftswissenschaftliche Abschlussarbeit zum Thema. Es ist keine technische Frage, es ist eher eine geschäftliche Frage, die einen technischen Vergleich von Äpfeln mit Birnen beinhaltet. Die Hauptregel lautet: Entwicklungstools (Produkte) sind immer teurer als Verbraucherprodukte – aus verschiedenen Gründen, von der Umsatz-/Kostenschätzung und der Marktnachfrage bis zur Verfügbarkeit konkurrierender (funktionaler) Produkte.
Haben Sie sich jemals mit einem High-End-FPGA und all seinen Funktionen befasst? Es ist alles andere als trivial, alles gut zusammenarbeiten zu lassen und die möglichen Wechselwirkungen vorwegzunehmen. Ein ähnlich komplexer ASIC ist in gleicher Stückzahl auch höllisch teuer, der Punkt, an dem ASICs billiger werden, ist, wenn sie in vielen Millionen verkauft werden. Und Ihr Vergleich ist ziemlich unfair, da Ethernet-Switches im Allgemeinen nicht annähernd so viel Komplexität enthalten wie ein FPGA mit all der PLL und Signalkonditionierung und Tausenden von GPIO-Pins.
Ich verstehe den Vergleich nicht. Fpga kostet irgendwo zwischen 80 Cent und 50000 $ - je nach Größe und Ausstattung. Ethernet-Switches beginnen bei 20 Dollar und gehen mindestens bis zu mehreren Hunderttausend Dollar, je nach Größe und Ausstattung.
Als jemand, der sowohl mit FPGAs als auch mit Ethernet-Switches arbeitet: Warum sind das Ihre beiden Datenpunkte?
Alle Anbieter bieten eine kostenlose Stufe von FPGA-Tools an, und alle kostenpflichtigen Versionen kosten nur einen Bruchteil des Preises, den Sie für eine vollständige ASIC-Suite wie Synopsys zahlen würden. Viele der Kosten für die Entwicklung von Tools sind also definitiv im Preis der Hardware enthalten.
Und wenn Sie billige Ethernet-Switches vergleichen, zeigt Xilinx selbst die Implementierung auf einem 50-Dollar-Low-End-Spartan, nicht auf ihrer Kintex-Linie der Mittelklasse. Außerdem sind High-End-Ethernet-Switches nicht von Mouser erhältlich, prüfen Sie Avnet.
Tut mir leid, hart zu sein, aber: "Ein Chip, der alles kann, ist teurer als ein Chip, der nur eine Sache kann". Wie ist das überhaupt eine Frage?
Ich wähle ETH-Switches, weil der Preis eines FPGAs stark von der Anzahl und Leistung der Transceiver abhängt. Und ETH-Switches haben auch mehrere Transceiver, aber der Preis steigt nicht so stark.
@DonFusili als jemand, der mit FPGAs und einigen anderen arbeitet ... FPGAs und Ethernet-Switches können vergleichbar sein, da die FPGAs der Igloo2-Serie in Zusammenarbeit mit Cisco für einige ihrer High-End-Switches entwickelt wurden;)
Dies ist nur grundlegende technische Ökonomie, fpgas hat nicht das Volumen, das erforderlich ist, um einen niedrigeren Preispunkt zu erreichen.

Antworten (4)

FPGA-Chips enthalten sowohl logische als auch programmierbare Verbindungen zwischen logischen Elementen, während ASICs nur die Logik enthalten.

Sie werden erstaunt sein, wie viel Chipfläche dem „Verbindungsgewebe“ in einem FPGA gewidmet ist – es macht leicht 90 % oder mehr des Chips aus. Das bedeutet, dass FPGAs mindestens die 10-fache Chipfläche eines äquivalenten ASICs verwenden, und Chipfläche ist teuer!

Es kostet einen bestimmten Betrag, die gesamte Verarbeitung auf einem bestimmten Siliziumwafer durchzuführen, unabhängig davon, wie viele einzelne Chips sich darauf befinden. Daher sind die Chipkosten in erster Näherung direkt proportional zu seiner Fläche. Es gibt jedoch mehrere Faktoren, die es noch schlimmer machen. Erstens bedeuten größere Chips, dass zunächst weniger nutzbare Stellen auf dem Wafer vorhanden sind – Wafer sind rund, Chips sind quadratisch, und an den Rändern geht viel Fläche verloren. Und Defektdichten neigen dazu, über den Wafer hinweg konstant zu sein, was bedeutet, dass die Wahrscheinlichkeit, einen Chip ohne Defekt zu erhalten (dh "Ausbeute") mit der Chipgröße abnimmt.

In ähnlicher Weise (nicht genug für eine Antwort, glaube ich) ist die Tatsache, dass Sie aufgrund von Zeitbeschränkungen nicht alle LUTs verwenden können, sodass Sie immer einen Überschuss haben. Außerdem werden Sie nicht die volle Leistungsfähigkeit aller LUTs nutzen, da einige am Ende zu einem einfachen Inverter usw. werden.
Sicherlich benötigt ein ASIC ein gewisses Maß an interner Verbindung. Ich denke, Sie meinen, das FPGA hat eine Reihe von Konnektivitäten, Drähten und begleitenden Schaltern, die zu Orten führen, die Sie nicht unbedingt benötigen, während ASICs nur mit denjenigen gebaut werden, die Sie benötigen.
FPGAs erfordern wahrscheinlich mehr Testzeit, und Testzeit ist auch nicht billig.
Bezüglich der " und Chipfläche ist teuer! ", habe ich diesen Grund nie verstanden. Sind Wafer nicht relativ günstig?
@HarrySvensson die Wafer sind relativ billig, aber die Verarbeitung zu ICs ist teuer, insbesondere die Herstellung von Verarbeitungsmasken. Je größer also der Chip, desto größer die Masken (kostspielig) und desto mehr Wafer müssen verarbeitet werden, um die gleiche Anzahl von Chips zu erhalten.
@TomCarpenter Das stimmt nicht - die Maske hat die Größe des Wafers, nicht die Größe des Chips. Masken sind teuer, wenn Sie die Prozessgröße aufgrund der Schwierigkeit bei der Herstellung verringern. Größere Chips haben eine geringere Ausbeute, da die Wahrscheinlichkeit eines Defekts bei einem bestimmten Chip auf dem Wafer höher ist.
@awjlogan Nicht mit modernen riesigen Wafern - AFAIK verwenden sie einen "Step and Repeat" -Prozess .
@TomCarpenter Wenn ich darüber nachdenke, glaube ich immer noch nicht, dass die Maskengröße der Kostentreiber für die Fläche ist. Es ist die reduzierte Ausbeute, nicht die Kosten der Maske. Ich würde davon ausgehen , dass ein Fab eine (kleine Menge?) Standardmaskengröße hat, die der Kunde dann mit N seines Designs füllt. Die Kosten der Maske sind somit unabhängig von der tatsächlichen Größe des Chips. Wenn Sie nun einen neuen Prozess für einen riesigen Einzelchip entwickeln müssen, würde die Maskengröße natürlich eine Rolle spielen, sich aber dennoch amortisieren, während Ausbeuteprobleme dies nicht tun würden.
@ user71659: Ja, genau das habe ich gesagt! Ein FPGA kann zu weniger als 10 % aus Logik und zu mehr als 90 % aus Verbindungsstrukturen bestehen, während ein ASIC eher zu mehr als 90 % aus Logik und zu weniger als 10 % ausschließlich der Verbindung dient. Wenn wir davon ausgehen, dass die Menge an Logik in beiden Fällen gleich ist, ist das eine enorme Änderung der Chipgröße.
@HarrySvensson: Aus der Definition der Jargon-Datei für Nanoacre : "Eine Einheit (etwa 2 mm²) von Immobilien auf einem VLSI-Chip. Der Begriff erhält seinen Kicherwert von der Tatsache, dass VLSI-Nanoacres Kosten in der gleichen Größenordnung haben wie echte Acres einmal man rechnet in Design- und Herstellungskosten.“ Das gilt schon sehr lange.
@awjlogan Die verwendeten Prozessgase sind sehr teuer, das Silizium selbst ist für moderne Waferdurchmesser teuer, die Ausrüstung ist auch relativ teuer im Betrieb. Die Maskenkosten sind NRE, keine Verarbeitungskosten pro Einheit.
Alles in allem ist der eigentliche physische Chip, der aus einer Fabrik kommt, wirklich nicht so teuer, es stört mich immer, dass ein großer IC dazu neigt, einen Bruchteil des Gehäuses zu kosten, in das er gesteckt wird. Wo die Fläche wirklich teuer wird, ist der Ertrag. Ein Wafer hat Defekte, und ICs, die 100 zu einem Wafer sind, würden mit 10-mal höherer Wahrscheinlichkeit aufgrund eines Defekts ausfallen als ICs, die 1000 zu einem Wafer sind. Ganz zu schweigen von den zusätzlichen Kosten für Tests und Engineering, die in sie fließen. Ein FPGA kann auf >25 mm x 25 mm begrenzt sein, d. h. auf die maximal zulässige Größe der Technologie, während ein üblicher IC nur ~4 mm² groß sein wird.

Ein weiterer wichtiger Kostentreiber ist die Verifizierung.

FPGAs müssen vor dem Verkauf einzeln getestet werden. Dies dient zum Teil dazu, sicherzustellen, dass alle der Tausenden bis zu mehreren Millionen Routing-Verbindungen und Logikzellen funktionsfähig sind. Die Verifizierung beinhaltet jedoch auch Charakterisierung und Binning der Geschwindigkeitsklasse – es wird bestimmt, wie schnell das Silizium arbeiten kann und ob die Geschwindigkeit und Ausbreitungsverzögerungen all der vielen Verbindungen und Zellen in geeigneter Weise an die Timing-Modelle für seine Klasse angepasst sind.

Bei ASIC-Designs ist das Testen in der Regel einfacher – ein Ja-Nein verhält sich das Design wie erwartet. Daher ist die für die Überprüfung erforderliche Zeit wahrscheinlich weitaus kürzer und somit billiger durchzuführen.

ASICs werden normalerweise mit einer Scan-Kette getestet. Ich sehe keinen Grund, warum dies für FPGAs nicht möglich wäre. Es gibt auch ASICs, die einzeln kalibriert und bei verschiedenen Temperaturen getestet werden und immer noch für ein paar Dollar verkauft werden.
Bei einem ASIC ist der korrekte Betrieb bereits definiert - bei einem FPGA muss es korrekt funktionieren, UNGEACHTET davon, wie das (benutzer-)definiert ist ....
ASICS und andere Chips werden alle getestet und oft auf Geschwindigkeit eingestuft. Ich würde dies als stichhaltiges Argument akzeptieren, wenn jemand auch nur grobe Zahlen dafür liefern könnte, wie lange ein FPGA im Vergleich zu anderen Chiptypen auf einem Prüfstand sitzen muss. Meine Intuition ist, dass, selbst wenn längere Tests erforderlich sind, der Rest des Herstellungsprozesses wahrscheinlich dominant in Bezug auf die Beiträge zu den Produktionskosten ist. Um den Durchsatz aufrechtzuerhalten, benötigen sie möglicherweise eine größere Testlinie, um die längeren individuellen Testzeiten auszugleichen, aber es ist ein so kleiner Teil des Produktionsprozesses, dass ich skeptisch bleibe ...
@rackandboneman Der korrekte Betrieb für ein FPGA wird ebenfalls definiert. Sie können jedes Logikelement und jede Verbindung separat testen. Was Sie sagen, wäre so, als würden Sie sagen, dass CPUs nicht getestet werden können, weil sie unabhängig von der darauf ausgeführten Software korrekt funktionieren müssen.

Es gibt einen (weiteren) wichtigen Punkt, der normalerweise übersehen wird, die Prozesstechnologie.

FPGAs mit hohem Marktanteil werden mit modernster Technologie hergestellt. Genauer gesagt verfügen Kintex-7-FPGAs über einen TSMC-28-nm-Prozess und ihre Auslieferung begann im Jahr 2011 [1] . TSMC hatte im selben Jahr mit der Massenproduktion von 28nm begonnen [2] .

[1] Xilinx liefert erste 28-nm-Kintex-7-FPGAs aus (von Clive Maxfield, 21.03.11)

[2] Chang sagte: „Unser 28-nm-Prozessor ist im vergangenen Jahr in die Volumenproduktion eingetreten und hat 2 Prozent zum Waferumsatz des vierten Quartals 2011 beigetragen.“

Ich kenne den Prozess der Ethernet-Switches nicht, aber die meisten ASIC-Designfirmen folgen nicht der Spitzentechnologie. Auch für Gießereien macht es keinen Sinn.

Das folgende Diagramm zeigt die Einnahmen von TSMC nach Technologie ( 1Q18 ). Auch im Jahr 2018 stammen 39 % des Umsatzes aus Technologien, die älter als 28 nm sind. Wenn wir an die Anzahl der Chips denken, ist es nicht schwer vorstellbar, dass mehr als die Hälfte der ASICs heute mit Technologien hergestellt werden, die älter sind als das 7 Jahre alte Kintex-7.

TSMC-Einnahmen nach Technologie

Zusammenfassend lässt sich sagen, dass die Prozesstechnologie einer der Faktoren ist, die FPGAs teurer machen. Ich behaupte nicht, dass es ein dominanter Faktor ist, aber signifikant genug, um berücksichtigt zu werden.

Welcher Prozess wird von Artix-7 erstellt?
@iBug Das gleiche mit Kintex-7.

Ich werde auf die Beine gehen und sagen, dass dies bei weitem von einfachem Angebot und Nachfrage dominiert wird. Ethernet-Switches werden in Massenproduktion mit enormen Skaleneffekten hergestellt und mit Rabatten gegenüber Chips verkauft, die nicht so weit verbreitet sind. Ich würde sagen, FPGAs sind nicht annähernd so weit verbreitet wie Ethernet-Switches und kosten daher mehr, weil die Entwicklungs- und Infrastrukturkosten auf weniger Kunden verteilt werden.

Hier geht es nicht um Prozess- oder Chipgröße oder ähnliches. Betrachten Sie den Xilinx Virtex-7 (nur weil ich Daten dafür leichter finden konnte) und vergleichen wir ihn mit ein paar Zeitgenossen:

  • Virtex7 (2011), 28 nm, ~6,8 Milliarden Transistoren, 2500 USD (beliebte Modelle) bis 35.000 USD (High-End-Modelle)
  • NVIDIA Kepler GK110 (2012), 28 nm, ~ 7,1 Milliarden Transistoren, Tesla K20-Karten ~ 3200 USD beim Start (Chippreis ein kleiner Bruchteil davon)
  • XBoxOne SOC (2013), 28 nm, ~5 Milliarden Transistoren, 499 USD für die gesamte XBox bei Markteinführung
  • Xeon E5-2699 v3 [18 Kerne] (2014), 22 nm, ~5,6 Milliarden Transistoren, ~4500 USD

Insgesamt scheint das Virtex-FPGA im Vergleich zu anderen Siliziumkomponenten mit ähnlicher Transistorzahl, Generation und Verkaufsvolumen preisgünstig (beliebtere Modelle). Das XBox SOC sticht als etwas hervor, das in einem Verbrauchergerät weit verbreitet war, und die Kosten sind ebenfalls viel niedriger.

NVIDIAs Computer GK110 war viel weniger weit verbreitet als ähnliche Consumer-Chips, die in Spielkarten landeten, und war ähnlich teurer, selbst angesichts der architektonischen Ähnlichkeiten und der Tatsache, dass die Chips in derselben Fabrik hergestellt wurden.

Was die Virtex-Chips betrifft, gibt es keinen 10-fachen Unterschied in der Komplexität der 2500-Dollar-Chips gegenüber den 35000-Dollar-Chips - letztere sind einfach viel weniger beliebt und bei niedrigeren Verkaufsmengen sind die Kosten pro Einheit zwangsläufig höher.

Der Markt ist voll davon. Alles, was Sie hundert Millionen von Ihnen verkaufen können, können Sie immer billiger machen als etwas, von dem Sie vielleicht hunderttausend verkaufen werden.

Ich glaube nicht, dass Sie dem Preis von 35.000 US-Dollar von digikey oder wo auch immer vertrauen können, um eine genaue Darstellung der tatsächlichen Mengenpreise zu sein. Wahrscheinlich näher an 5.000 $ ... beim Start ...
Ich bin mir nicht sicher, wie wahr das ist, aber ich wurde zu der Annahme verleitet, dass Konsolen wie die Xbox normalerweise entweder mit Verlust oder zum Selbstkostenpreis verkauft werden und die Differenz durch Spieleverkäufe wieder hereingeholt wird.
@ks0ze, nur sehr wenige Kunden kaufen 35.000-Dollar-Chips in wirklich großen Mengen (sagen wir 10.000/Monat oder mehr). Und als ich das letzte Mal bei Xilinx einkaufen musste, behaupteten sie, nur über den Vertrieb zu verkaufen (ob das beim Kauf von Tausenden von Einheiten tatsächlich zutrifft, weiß ich nicht).
Allerdings können Sie natürlich den Händler anrufen und einen besseren Preis aushandeln, wenn Sie mehr als ein paar 100 Teile wollen.
@ks0ze Das ist der tatsächliche Buchpreis von Xilinx. Wenn Sie nur ein paar wollen, müssen Sie das wahrscheinlich bezahlen. Xilinx sind harte Fälle mit Preisen, aber Sie können nach unten handeln, wenn Sie viel kaufen, ja. Ich glaube nicht, dass uns das irgendetwas sagt, außer dass FPGAs nicht in ausreichend großen Mengen gekauft und verkauft werden, um eine sehr stabile Preisstruktur zu haben. Berücksichtigen Sie zum Beispiel Mengenrabattmargen, die Sie für hochvolumige Produkte wie Intel-CPUs erhalten würden. Vielleicht ein paar Prozent, aber dieser Preis bewegt sich nicht viel. Dasselbe gilt für Ethernet-Switches und XBoxen, worauf es bei dieser ganzen Antwort ankommt.
@J ... Sie müssen wirklich nicht so viele kaufen, um einen deutlich besseren Preis zu erzielen. Warum ist Ihrer Meinung nach der Listenpreis für Entwicklungsboards von Xilinx (und Drittanbietern) mit genau den gleichen Teilen ein Bruchteil des "Listenpreises" des Teils? Zum Beispiel das Virtex Ultrascale+, das VCU118-Evaluierungskit kostet bei Xilinx 6.995 US-Dollar, aber das FPGA allein kostet bei Digikey 45.000 US-Dollar.
@ks0ze Nun, Entwicklerboards werden von Drittanbietern hergestellt, die Chips in großen Mengen kaufen, also ja, natürlich können sie Rabatte nutzen. Der Punkt ist, dass ein Produkt, bei dem Sie 80 % Margen vom Listenpreis wegfeilschen können, ipso facto kein Massenprodukt ist - die daraus resultierende Unelastizität von Angebot und Nachfrage (und die wilden Preispläne) ist es nur ein Symptom dafür. Ich bestreite nicht, dass es einen riesigen Verhandlungsspielraum gibt – ich verwende diese Tatsache als Beweis dafür, dass der Markt sowohl klein als auch einigermaßen unelastisch ist.
@J ... Ich denke, ich würde argumentieren, dass die Tesla K20 dem VCU118-Evaluierungsboard entsprechen. Es gibt einfach keine Roh-IC-Preise (Einzelmenge) für einen einzelnen Kepler GK110, aber für den Virtex Ultrascale ...
@ks0ze Ich stimme zu. Tesla-Karten waren nicht wirklich weit verbreitet – sie sind ein Nischenprodukt mit einem sehr kleinen Markt (im Vergleich zum Beispiel zu XBoxen und GTX-Gaming-Karten). Der Punkt ist, dass Chips mit einem ähnlichen Herstellungsprozess, einer ähnlichen Die-Fläche und einer ähnlichen Transistoranzahl je nach Gesamtverkaufsvolumen zu sehr unterschiedlichen Preisen verkauft werden - Produkte, die größere Mengen verkaufen, können niedrigere Margen akzeptieren (und erfordern tatsächlich, dass sie wettbewerbsfähig bleiben). ). Bei Nischenprodukten mit wenigen Alternativen und wenig Käufern ist dies nicht der Fall.