Pourquoi les FPGA sont-ils si chers?

29

Je veux dire par rapport aux circuits intégrés (ASIC) avec une complexité, une vitesse similaires, etc. Comparons les commutateurs Ethernet aux FPGA Kintex (notez que le commutateur le plus cher de la liste est aussi cher que le Kintex le moins cher):

  • Les FPGA sont des circuits intégrés bien structurés (comme les RAM). Ils peuvent être mis à l'échelle et développés facilement.
  • Les outils de conception ( Vivado , Quartus , etc.) sont aussi chers, donc je pense que le prix d'un FPGA est le prix de l'IC (et du développement) lui-même à l'exclusion du coût du support et des outils. (Certains fournisseurs non FPGA proposent des outils gratuits dont le coût de développement inclut le prix du CI.)

Les FPGA sont-ils produits en plus petites quantités que les autres circuits intégrés? Ou existe-t-il un harnais technologique?

betontalpfa
la source
4
Je pense que quelqu'un a fait un doctorat. thèse en sciences commerciales sur le sujet. Ce n'est pas une question technique, c'est plutôt une question commerciale impliquant une comparaison technologique des pommes avec des oranges. La règle principale est - les outils de développement (produits) sont toujours plus chers que les produits de consommation - pour diverses raisons, à partir de l'estimation des revenus / coûts, de la demande du marché et de la disponibilité de produits (fonctionnels) concurrents.
Anonyme
7
Avez-vous déjà étudié un FPGA haut de gamme et toutes les fonctionnalités qu'il offre? Il est loin d'être anodin de faire en sorte que tout fonctionne bien ensemble et d'anticiper les interactions possibles. Un ASIC de la même complexité est également cher comme l'enfer dans les mêmes chiffres, le point où les ASIC deviennent moins chers est quand ils sont vendus par millions. Et votre comparaison est assez injuste car les commutateurs Ethernet ne contiennent généralement pas autant de complexité qu'un FPGA avec toute la PLL et le conditionnement du signal et des milliers de broches GPIO.
PlasmaHH
6
Je n'ai pas la comparaison. Le Fpga coûte entre 80 cents et 50000 $ - selon la taille et les caractéristiques. Les commutateurs Ethernet commencent à 20 dollars et montent au moins à plusieurs centaines de milliers de dollars, selon la taille et les fonctionnalités.
asdfex
2
En tant que personne qui travaille à la fois avec des FPGA et des commutateurs Ethernet: pourquoi ce sont vos deux points de données?
DonFusili
3
Désolé d'être dur mais: "Une puce qui peut tout faire est plus chère qu'une puce qui ne peut faire qu'une seule chose". Comment est-ce même une question?
Agent_L

Réponses:

60

Les puces FPGA incluent à la fois des connexions logiques et programmables entre les éléments logiques, tandis que les ASIC ne comprennent que la logique.

Vous seriez étonné de voir combien de zone de puce est consacrée au "tissu de connexion" dans un FPGA - c'est facilement 90% ou plus de la puce. Cela signifie que les FPGA utilisent au moins 10 fois la surface de la puce d'un ASIC équivalent, et la surface de la puce coûte cher!

Il en coûte un certain montant pour effectuer tout le traitement sur une tranche de silicium donnée, quel que soit le nombre de puces individuelles qui s'y trouvent. Par conséquent, selon une première approximation, le coût de la puce est directement proportionnel à sa surface. Cependant, plusieurs facteurs aggravent la situation. Tout d'abord, des puces plus grandes signifient qu'il y a moins de sites utilisables sur la plaquette pour commencer - les plaquettes sont rondes, les puces sont carrées et beaucoup de surface est perdue sur les bords. Et les densités de défauts ont tendance à être constantes à travers la tranche, ce qui signifie que la probabilité d'obtenir une puce sans défaut (c'est-à-dire, le "rendement") diminue avec la taille de la puce.

Dave Tweed
la source
3
Un ASIC aura certainement besoin d'un certain niveau de connexion interne. Je pense que vous voulez dire que le FPGA a un tas de connectivité, de fils et de commutateurs d'accompagnement, allant dans des endroits dont vous n'avez pas nécessairement besoin, tandis que les ASIC sont construits avec uniquement ceux dont vous avez besoin.
user71659
1
Les FPGA nécessitent probablement plus de temps de test, et le temps de test n'est pas bon marché non plus.
Nick Alexeev
3
@awjlogan Pas avec d'énormes plaquettes modernes - AFAIK, ils utilisent un processus "étape et répétition" .
Tom Carpenter
5
@HarrySvensson: à partir de la définition du fichier de jargon pour nanoacre : "Une unité (environ 2 mm carrés) de biens immobiliers sur une puce VLSI. un chiffre dans les coûts de conception et de fabrication. " Cela est vrai depuis très longtemps.
Dave Tweed
1
Tout compte fait, le dé physique réel sortant d'une fab n'est vraiment pas si cher, cela me dérange toujours qu'un gros circuit intégré ait tendance à coûter une fraction du paquet dans lequel il est placé. Lorsque la zone devient vraiment chère, c'est le rendement. Une plaquette présente des défauts et les circuits intégrés qui sont de 100 pour une plaquette seraient 10 fois plus susceptibles de tomber en panne en raison d'un défaut que les circuits intégrés qui sont de 1000 pour une plaquette. Sans parler des dépenses supplémentaires de tests et d'ingénierie qui y sont associées. Un FPGA peut être limité au réticule, c'est-à-dire la taille maximale autorisée par la technologie, à> 25 mm x 25 mm tandis qu'un CI commun ne sera que de ~ 4 mm ^ 2.
Edgar Brown
21

Un autre facteur clé du coût est la vérification.

Les FPGA doivent être testés individuellement avant la vente. Ceci est en partie pour garantir que tous les milliers à plusieurs millions d'interconnexions de routage et de cellules logiques sont fonctionnels. Cependant, la vérification implique également la caractérisation et le regroupement de la classe de vitesse - déterminer la vitesse à laquelle le silicium peut fonctionner et que la vitesse et les retards de propagation de toutes les nombreuses interconnexions et cellules sont convenablement adaptés aux modèles de synchronisation pour sa classe.

Pour les conceptions ASIC, les tests sont généralement plus simples - oui-non, la conception fonctionne comme prévu. En tant que tel, le temps requis pour la vérification est probablement beaucoup moins, et donc moins cher à effectuer.

Tom Carpenter
la source
1
Les ASIC sont généralement testés avec une chaîne de numérisation. Je ne vois aucune raison pour laquelle cela ne serait pas possible pour les FPGA. Il existe également des ASIC qui sont individuellement calibrés et testés à différentes températures et ils se vendent encore pour quelques dollars.
Michael
2
Avec un ASIC, le bon fonctionnement est déjà défini - avec un FPGA, vous en avez besoin pour fonctionner correctement, SANS la définition (par l'utilisateur) ....
rackandboneman
Les ASICS et autres puces sont toutes testées et, souvent, regroupées pour la vitesse. J'accepterais cela comme un argument valable si quelqu'un pouvait produire des chiffres, même approximatifs, pendant combien de temps un FPGA doit rester sur un banc de test par rapport à d'autres types de puces. Mon intuition est que, même si des tests plus longs sont nécessaires, le reste du processus de fabrication est probablement dominant en termes de contributions aux coûts de production. Pour maintenir le débit, ils peuvent avoir besoin d'une ligne de test plus grande pour compenser les temps de test individuels plus longs, mais c'est une si petite partie du processus de production que je reste sceptique ...
J ...
@rackandboneman Le bon fonctionnement d'un FPGA est également défini. Ils peuvent tester chaque élément logique et chaque interconnexion séparément. Ce que vous dites reviendrait à dire que les CPU ne peuvent pas être testés car ils doivent fonctionner correctement quel que soit le logiciel qui les exécute.
user253751
13

Il y a un (plus) point important qui est généralement négligé, la technologie des processus.

Les FPGA qui ont une part de marché élevée sont fabriqués avec une technologie de pointe. Pour être plus précis, les FPGA Kintex-7 ont un processus TSMC 28 nm et leur expédition a commencé en 2011 [1] . TSMC avait commencé la production de masse de 28 nm la même année [2] .

[1] Xilinx expédie les premiers FPGA Kintex-7 de 28 nm (par Clive Maxfield, 21.03.11)

[2] Chang a déclaré: "Notre production en volume de 28 nm est entrée en service l'an dernier et a contribué à hauteur de 2% aux revenus des tranches du 4T11"

Je ne connais pas le processus des commutateurs Ethernet, mais la plupart des sociétés de conception ASIC ne suivent pas la technologie de pointe. Cela n'a pas non plus de sens pour les fonderies.

Le graphique suivant montre les revenus de TSMC par technologie ( 1T18 ). Même en 2018, 39% des revenus proviennent de technologies plus anciennes que 28 nm. Si nous pensons au nombre de puces, il n'est pas difficile d'imaginer que plus de la moitié des ASIC sont aujourd'hui fabriqués avec des technologies plus anciennes que Kintex-7, 7 ans.

Revenus de TSMC par technologie

En conclusion, la technologie des processus est l'un des facteurs qui rendent les FPGA plus chers. Je ne prétends pas que c'est un facteur dominant, mais suffisamment important pour être pris en considération.

ahmedus
la source
quel processus est créé Artix-7?
iBug
@iBug La même chose avec Kintex-7.
ahmedus
3

Je vais me lancer sur un sujet et dire que cela est de loin dominé par la simple offre et la demande. Les commutateurs Ethernet sont produits en masse avec d'énormes économies d'échelle et se vendent à rabais sur des puces qui ne sont pas si largement utilisées. Les FPGA, je dirais, ne sont pas aussi largement déployés que les commutateurs Ethernet et coûtent donc plus cher car les coûts de développement et d'infrastructure sont répartis sur moins de clients.

Il ne s'agit pas de taille de processus ou de matrice ou de quelque chose comme ça. Considérez le Xilinx Virtex-7 (uniquement parce que j'ai pu trouver plus facilement des données pour cela) et comparons-le à quelques contemporains:

  • Virtex7 (2011), 28 nm, ~ 6,8 milliards de transistors, 2500 USD (modèles populaires) à 35 000 USD (modèles haut de gamme)
  • NVIDIA Kepler GK110 (2012), 28 nm, ~ 7,1 milliards de transistors, cartes Tesla K20 ~ 3200 USD au lancement (prix de la puce une fraction plus petite de cela)
  • XBoxOne SOC (2013), 28 nm, ~ 5 milliards de transistors, 499 $ USD pour la XBox entière au lancement
  • Xeon E5-2699 v3 [18 cœurs] (2014), 22 nm, ~ 5,6 milliards de transistors, ~ 4500 USD

Donc, dans l'ensemble, le Virtex FPGA semble à un prix raisonnable (modèles plus populaires) par rapport à d'autres silicium d'un nombre de transistors, d'une génération et d'un volume de vente similaires. La XBox SOC ressort comme quelque chose qui a été largement déployé dans un appareil grand public et le coût est également beaucoup plus faible.

Le calcul de NVIDIA GK110 était beaucoup moins largement déployé que les puces grand public similaires qui se retrouvaient dans les cartes de jeu et était également plus cher, même compte tenu des similitudes architecturales et du fait que les puces étaient fabriquées dans la même usine.

Quant aux puces Virtex, il n'y a pas de différence de 10x dans la complexité des puces 2500 $ par rapport aux puces 35000 $ - ces dernières sont tout simplement beaucoup moins populaires et, avec des volumes de vente inférieurs, le coût unitaire est nécessairement plus élevé.

Le marché en est plein. Tout ce que vous pouvez vendre à une centaine de millions peut toujours être moins cher que quelque chose dont vous en vendrez peut-être cent mille.

J ...
la source
Je ne pense pas que vous puissiez faire confiance au prix de 35 000 $ de digikey ou ailleurs pour être une représentation précise du prix réel des quantités. Probablement plus proche de 5k $ ... au lancement ...
ks0ze
1
Je ne sais pas dans quelle mesure cela est vrai, mais j'étais amené à croire que les consoles telles que la Xbox sont généralement vendues à perte ou au prix coûtant, et la différence est récupérée grâce aux ventes de jeux.
Éliette
@ ks0ze, très peu de clients achètent des puces de 35 000 $ en très grandes quantités (10 000 $ / mois ou plus, par exemple). Et la dernière fois que j'ai dû acheter chez Xilinx, ils ont prétendu vendre uniquement par le biais de la distribution (si cela est réellement vrai lors de l'achat de milliers d'unités, je ne sais pas).
Le Photon
Cela dit, vous pouvez certainement appeler le distributeur et négocier un meilleur prix si vous voulez plus de quelques 100 pièces.
Le Photon
@ ks0ze C'est le prix réel du livre de Xilinx. Si vous n'en voulez que quelques-uns, c'est ce que vous devrez probablement payer. Les Xilinx sont des cas difficiles avec des prix, mais vous pouvez négocier si vous achetez beaucoup, oui. Je ne pense pas que cela nous apprenne quoi que ce soit, sauf que les FPGA ne sont pas achetés et vendus en assez grandes quantités pour avoir une structure de prix très stable. Considérez les marges de remise en vrac que vous obtiendriez sur des produits à volume élevé comme les processeurs Intel, par exemple. Peut-être quelques pour cent, mais ce prix ne bouge pas beaucoup. Même chose avec les commutateurs Ethernet et les XBox, qui est le point de toute cette réponse.
J ...