L’industrie technologique continue à se renouveler et à se moderniser, elle va bien au-delà des conceptions de base des CPU et des microcontrôleurs qui ont servi de cerveau à la plupart des produits technologiques. On entend parler souvent des processeurs FPGA qui sont utilisés dans diverses applications nécessitant de l’électronique numérique (télécommunications, aéronautique, transports…
Quelques caractéristiques des puces reprogrammables
Le microcontrôleur MCU utilise une mémoire flash embarquée dans la puce, pour stocker et exécuter son programme, il exécute du code très rapidement. Le microprocesseur MPU utilise une mémoire externe pour stocker le programme et les données, il ne fonctionnera pas aussi rapidement qu’un MCU. Le FPGA est un ensemble de sous-circuits numériques interconnectés qui mettent en œuvre des fonctions communes tout en offrant un très haut niveau de flexibilité.
Pourquoi utiliser un FPGA ?
Vous pouvez utiliser un FPGA lorsque vous avez besoin d’optimiser une puce pour une charge de travail particulière, ou lorsque vous êtes susceptible de devoir apporter des modifications au niveau de la puce plus tard. Les utilisations des FPGA couvrent un large éventail de domaines, allant des équipements pour la vidéo et l’imagerie aux circuits pour les applications informatiques, automobiles, aérospatiales et militaires, en passant par l’électronique pour les traitements spécialisés, etc. Les FPGA sont particulièrement utiles pour le prototypage de circuits intégrés spécifiques à une application (ASIC) ou de processeurs. Un FPGA peut être reprogrammé jusqu’à ce que la conception de l’ASIC ou du processeur soit définitive et sans bogue et que la fabrication de l’ASIC final commence. Intel elle-même utilise des FPGA pour prototyper de nouvelles puces. Les FPGA modernes reflexces.com sont des dispositifs sophistiqués et très performants qui peuvent être quelque peu intimidants pour ceux qui sont habitués à utiliser des microcontrôleurs pour la collecte de données, le contrôle des ASIC et l’exécution d’opérations mathématiques.
Comment démarrer avec la programmation FPGA ?
Une puce FPGA est composée de portes ou de blocs logiques qui peuvent être manipulés et configurés selon les besoins en utilisant des tables de consultation, des composants DSP, des éléments de mémoire et des portes comme ET, OU et NON, entre autres. Les différents blocs ou portes sont reliés entre eux par des interconnexions qui peuvent être configurées par l’utilisateur de manière répétitive. Les FPGA peuvent être configurés à l’aide de langages de description du matériel tels que Verilog HDL ou VHDL. Le code est écrit dans les langues susmentionnées et il est ensuite vérifié à l’aide de divers outils logiciels.
Le plus grand argument de vente des FPGA est le fait qu’ils sont configurables et programmables par l’utilisateur. La conception flexible permet à l’utilisateur de modifier les fonctionnalités du FPGA, contrairement aux ASIC qui ne peuvent être configurés qu’une seule fois au niveau de la production. Cela le rend idéal pour une utilisation dans diverses applications qui pourraient nécessiter des mises à jour de fonctionnalités dans le futur.
Selon que vous avez besoin d’un FPGA pour des applications lentes ou rapides, vous pouvez soit utiliser la structure logique, soit ajouter un processeur à noyau souple à l’intérieur du FPGA. Cela vous permettra, par exemple, de mettre en œuvre votre conception dans des langages logiciels tels que C et C++.