Tout à fait, le matériel, du moins les puces logiques, sont programmés en VHDL ou Verilog pour l'essentiel. Car d'un point de vue mathématiques il y a stricte équivalence entre un logiciel ou du matériel (numérique du moins).
La question de savoir ce qui est mis en matériel ou logiciels vient :
Des coûts : le matériel est difficile à mettre à jour, à corriger et coûte plus chère qu'un code logiciel équivalent à produire ;
Des performances : une implémentation matérielle directe est plus rapide ;
Les tests : tester du matériel reste très difficile et coûteux, il n'est pas rare d'avoir recours au logiciel lui même pour faire cela.
Ceci est d'autant plus visible avec les FPGA qui sont du matériel configurables à souhait. Et tout ceci est obtenu via du VHDL également.
Seulement les FPGA ont des limitations :
La surface étant réduite, il est impossible à implémenter n'importe quel programme ;
Comme il y a beaucoup de contraintes, notamment au niveau des timings, le logiciel met trois plombe à compiler et s'installer ;
Les moyens de tests physiques sont rudimentaires également, l'essentiel est fait par simulation uniquement ;
On peut aussi noter les outils de développement, pour l'essentiel chers, propriétaires et assez lourds (travailler sur FPGA de haut niveau avec une machine qui n'a pas 16 Gio de RAM est plutôt risqué).
Mais pour certaines fonctionnalités, le gain de performance est intéressant, et plus flexible que ce que propose le matériel (par exemple concernant le traitement vidéo).
[^] # Re: Manger sa propre nourriture
Posté par Renault (site web personnel) . En réponse à la dépêche Le logiciel libre au-delà de x86. Évalué à 9.
Tout à fait, le matériel, du moins les puces logiques, sont programmés en VHDL ou Verilog pour l'essentiel. Car d'un point de vue mathématiques il y a stricte équivalence entre un logiciel ou du matériel (numérique du moins).
La question de savoir ce qui est mis en matériel ou logiciels vient :
Ceci est d'autant plus visible avec les FPGA qui sont du matériel configurables à souhait. Et tout ceci est obtenu via du VHDL également.
Seulement les FPGA ont des limitations :
Mais pour certaines fonctionnalités, le gain de performance est intéressant, et plus flexible que ce que propose le matériel (par exemple concernant le traitement vidéo).