- Qu'est-ce que FPGA et en quoi est-il différent du microcontrôleur
- Architecture FPGA
- Quand des FPGA sont nécessaires
Avec la popularité croissante des microcontrôleurs, les ingénieurs utilisent davantage les microcontrôleurs que les FPGA. Les microcontrôleurs sont devenus dominants sur FPGA en raison de leur coût bon marché, de leur bon support, de leur disponibilité facile, de leur grande communauté, de leur polyvalence, de leur programmation, etc. Mais à part cela, les microprocesseurs ont certaines limitations telles que le jeu d'instructions, l'exécution séquentielle des programmes (traitement séquentiel), manque de flexibilité et de réutilisation, etc. Cependant, le FPGA peut surmonter ces limitations car les FPGA ont une exécution parallèle des programmes et il est flexible et réutilisable signifie qu'il peut être reprogrammé à plusieurs reprises pour différentes tâches.
Qu'est-ce que FPGA et en quoi est-il différent du microcontrôleur
Un réseau de portes programmables sur site est une puce de silicium à circuit intégré qui a un réseau de portes logiques et ce tableau peut être programmé sur le terrain, c'est-à-dire que l'utilisateur peut écraser les configurations existantes avec ses nouvelles configurations définies et peut créer son propre circuit numérique sur le terrain. Les FPGA peuvent être considérés comme une ardoise vierge. Les FPGA ne font rien par eux-mêmes alors qu'il appartient aux concepteurs de créer un fichier de configuration souvent appelé fichier bit pour le FPGA. Le FPGA se comportera comme le circuit numérique une fois qu'il est chargé avec un fichier bit.
Alors que dans les microcontrôleurs, ce n'est pas le cas car les microcontrôleurs ne peuvent pas être programmés ou restructurés sur le terrain. L'utilisateur n'est pas autorisé à écraser ses configurations existantes ni à créer de circuit numérique sur le terrain. Les microcontrôleurs sont faciles à programmer et la communauté est également large. Les microcontrôleurs sont des mini-ordinateurs personnalisés qui se présentent sous forme de circuits intégrés, tandis que les FPGA ne contiennent que des blocs logiques qui peuvent à nouveau être recâblés électriquement. Également en termes de microcontrôleurs, il consomme moins d'énergie que les FPGA. Les FPGA sont connus pour être coûteux et nécessitent plus de coûts que les microcontrôleurs pour la construction de tout appareil. Les FPGA prennent beaucoup plus de temps à mettre en place tandis que les microcontrôleurs sont disponibles facilement construits pour des applications spécifiques.
Architecture FPGA
Un FPGA a une structure régulière de cellules ou de modules logiques et de liens qui est sous le contrôle complet des développeurs et des concepteurs. Le FPGA est construit avec principalement trois blocs principaux tels que le bloc logique configurable (CLB), les blocs d'E / S ou les pads et les fils de matrice de commutation / d'interconnexion. Chaque bloc sera discuté ci-dessous en bref.
- CLB (Configurable Logic Block): Ce sont les cellules de base du FPGA. Il se compose d'un générateur de fonctions 8 bits, de deux générateurs de fonctions 16 bits, de deux registres (bascules ou verrous) et de commandes de routage reprogrammables (multiplexeurs). Les CLB sont appliqués pour implémenter d'autres fonctions et macros conçues. Chaque CLB a des entrées de chaque côté, ce qui les rend flexibles pour le mappage et le partitionnement de la logique.
- Pads ou blocs d'E / S: Les pads d'entrée / sortie sont utilisés pour les périphériques extérieurs pour accéder aux fonctions du FPGA et en utilisant les pads d'E / S, il peut également communiquer avec le FPGA pour différentes applications utilisant différents périphériques.
- Matrice de commutation / fils d'interconnexion: La matrice de commutation est utilisée dans FPGA pour connecter les fils d'interconnexion longs et courts ensemble dans une combinaison flexible. Il contient également les transistors pour activer / désactiver les connexions entre différentes lignes.
Quand des FPGA sont nécessaires
Comme mentionné ci-dessus, les microcontrôleurs ont certaines limitations et ne peuvent pas être utilisés pour effectuer des tâches en parallèle car le microcontrôleur et les microprocesseurs fonctionnent sur une exécution séquentielle de programmes, ce qui le rend un peu lent dans certaines applications, dans ce scénario, les FPGA ont un avantage et peuvent être utilisés efficacement. Le microcontrôleur peut également effectuer des tâches limitées car il est livré avec des instructions et leurs circuits. Un programmeur doit respecter les restrictions lors du développement de code. Donc, dans ce scénario également, les FPGA ont un avantage.
Cependant, dans le cas des microcontrôleurs, le processeur bascule d'un code à l'autre pour atteindre un certain niveau de parallélisme. Vous trouverez plus facile d'écrire des codes sur des microcontrôleurs que sur des FPGA. La capacité de traitement parallèle des FPGA vous permet de contrôler efficacement les interruptions à l'aide de machines à états finis (FSM).
Dans le cas des microcontrôleurs, vous devez tenir compte du temps mis par ISR pour résoudre une interruption. Vous pouvez facilement recâbler un FPGA simplement en le reprogrammant. La configuration dans un FPGA est chargée sur les cellules logiques configurables lors de la mise sous tension.
Vous n'avez pas besoin de modifier le matériel pour reprogrammer le FPGA. Les FPGA conviennent au traitement à grande vitesse de données parallèles et sont dotés d'un haut degré de personnalisation. Cependant, ils présentent également les inconvénients du fonctionnement du prototype et de la complexité de la configuration. Ainsi, les FPGA peuvent être choisis avec ces avantages par rapport aux microcontrôleurs. Commençons la programmation FPGA et soulignons