biggil:
Pour ce que j'en connais, les industriels utilisent aussi des FPGA.
Mais c'est sans doute un autre monde...
C'est un monde complètement différent.
Pour faire court : tu n'utilises plus un microcontrôleur, tu fabriques un microcontrôleur.
De très bonnes connaissances en électronique numérique sont indispensables.
Un fpga c'est un ensemble de circuits logiques élémentaires qui à la base ne sont pas connectés entre eux.
La programmation d'un fpga consiste à définir les interconnexions pour réaliser des fonctions numériques complexes.
Tellement complexes qu'on peut réaliser un microcontrôleur avec des fpga. Les concepteurs de microcontrôleur valident leurs nouveaux schémas avec des fpga "très haut de gamme" avant de lancer des tranches de silicium.
Même si le langage (verilog ou vhdl) ressemble à un langage de programmation le résultat n'a rien à voir.
Dans un cas le résultat est une suite d'instruction à réaliser, dans l'autre c'est "un plan de câblage".
Un des gros avantages des fpga sur les microcontrôleurs (à même fréquence horloge bien évidement) est la rapidité. Avec un microcontrôleur les instructions s’exécutent les unes à la suite des autres. Avec un fpga il est possible de paralléliser et de faire plusieurs actions simultanément à chaque cycle horloge.
Le fameux analyseur logique clone de Saleae est basé sur un cpld (voir la différence ci dessous)
Différence entre cpld et fpga :
Le principe est le même "le plan de câblage" est contenu dans une eeprom.
CPLD : l'eeprom est sur la même puce que le "cœur" fpga
FPGA : l'eeprom est dans un boîtier externe.
Conséquence : les cœurs de fpga sont plus puissants que ceux des cpld.