Information

Qu'est-ce qu'un FPGA - Principes de base de la matrice de portes programmables sur site

 Qu'est-ce qu'un FPGA - Principes de base de la matrice de portes programmables sur site

Le Field Programmable Gate Array, ou FPGA est un dispositif logique programmable dont la configuration interne peut être définie par logiciel ou, comme on l'appelle, «micrologiciel». Cela permet à la fonctionnalité FPGA d'être mise à jour ou même totalement modifiée selon les besoins, car le micrologiciel FPGA est mis à jour lorsqu'il est en circuit.

Les composants logiques programmables FPGA, ou blocs logiques tels qu'ils sont connus, peuvent être constitués de n'importe quoi, des portes logiques, jusqu'aux éléments de mémoire ou blocs de mémoires, ou presque n'importe quel élément. Cela offre un degré considérable de flexibilité.

Applications FPGA

La nature reconfigurable du FPGA signifie qu'il peut être utilisé dans un grand nombre d'applications différentes.

  • Prototypage ASIC: Les ASIC ou les circuits intégrés spécifiques à une application sont souvent utilisés dans la production à grand volume, mais ils sont très coûteux à développer et les changements sont très coûteux et prennent du temps à faire. Une fois qu'une puce ASIC est fabriquée, sa fonctionnalité est fixe. De plus, les puces ASIC sont généralement très compliquées et pour garantir que la fonctionnalité est correcte, un FPGA est souvent utilisé à la place de la puce ASIC pendant le développement et même au début de la production jusqu'à ce que tous les problèmes soient supprimés.
  • Équipement défini par logiciel: Avec un équipement qui tend désormais davantage à être un logiciel défini comme dans le cas de la radio définie par logiciel, le concept est largement utilisé dans de nombreux domaines technologiques. L'équipement de test défini par logiciel est également de plus en plus utilisé - ici, la fonctionnalité de l'instrument de test peut être modifiée en fonction des besoins.

Principes de base du FPGA

Le grand avantage du FPGA est que la puce est entièrement programmable et peut être reprogrammée. De cette manière, il devient un grand circuit logique qui peut être configuré selon une conception, mais si des modifications sont nécessaires, il peut être reprogrammé avec une mise à jour.

Ainsi, si une carte de circuit imprimé ou une carte est fabriquée et contient un FPGA dans le cadre du circuit, cela est programmé pendant le processus de fabrication, mais peut être reprogrammé ultérieurement pour refléter tout changement. Ainsi, il est programmable sur le terrain, et c'est d'ailleurs ce qui lui donne son nom.

Bien que les FPGA offrent de nombreux avantages, il existe naturellement certains inconvénients. Ils sont plus lents que les ASIC équivalents (Application Specific Integrated Circuit) ou d'autres circuits intégrés équivalents, et ils sont en outre plus chers. (Cependant, les ASIC sont très coûteux à développer en comparaison).

Cela signifie que le choix d'utiliser ou non une conception basée sur FPGA doit être fait tôt dans le cycle de conception et dépendra d'éléments tels que si la puce devra être reprogrammée, si une fonctionnalité équivalente peut être obtenue ailleurs, et bien sûr le coût admissible. Parfois, les fabricants peuvent opter pour une conception FPGA pour les premiers produits lorsque des bogues peuvent encore être trouvés, puis utiliser un ASIC lorsque la conception est totalement stable.

Les FPGA sont utilisés dans de nombreuses applications. Compte tenu du coût, ils ne sont pas utilisés dans des produits à grand volume bon marché, mais au lieu de cela, les FPGA trouvent des applications dans une variété de domaines où des circuits logiques complexes peuvent être nécessaires et des changements peuvent être anticipés. Les applications FPGA couvrent un large éventail de domaines, des équipements pour la vidéo et l'imagerie aux circuits pour les applications aérospatiales et militaires, ainsi que l'électronique pour le traitement spécialisé et bien plus encore.

Internes FPGA

L'architecture interne du FPGA est la clé de sa flexibilité et donc de son succès. Un FPGA se compose essentiellement de deux éléments de base:

  • Blocs logiques communs: Le bloc logique dans un FPGA peut être implémenté de différentes manières. La mise en œuvre réelle dépend du fabricant et également de la série de FPGA utilisée. Les variations incluent le nombre d'entrées et de sorties, la complexité générale du bloc logique en termes de circuits et le nombre de transistors utilisés. Ceci a naturellement un impact sur la quantité de surface consommée sur la puce, et donc sur la taille du silicium utilisé.
  • Routage interne FPGA: Les canaux de routage dans le FPGA comprennent des fils qui peuvent être interconnectés à l'aide de commutateurs électriquement configurables. De cette manière, il est possible de relier différents points sur la puce ensemble et de connecter ainsi les différents blocs de logique commune de la manière requise.

Développement de firmware FPGA

Comme le FPGA est une matrice logique configurable, la logique doit être définie pour répondre aux exigences du système. La configuration est fournie par le micrologiciel - un ensemble de données qui est

Compte tenu de la complexité des FPGA, un logiciel est utilisé pour concevoir la fonction d'un FPGA. Le processus de conception FPGA est démarré par l'utilisateur fournissant une définition HDL (Hardware Description Language) ou une conception schématique.

Les HDL courants sont VHDL (où VHDL signifie VHSIC Hardware inscription Language) et Verilog. Une fois cette opération terminée, la tâche suivante du processus de conception FPGA consiste à produire une netlist pour la famille FPGA particulière utilisée. Cela décrit la connectivité requise dans le FPGA et elle est générée à l'aide d'un outil d'automatisation de conception électronique.

La netlist peut ensuite être adaptée à l'architecture FPGA réelle à l'aide d'un processus appelé place-and-route, généralement exécuté par le logiciel propriétaire de localisation et de route de la société FPGA.

Enfin, la conception est engagée dans le FPGA et peut être utilisée dans la carte électronique à laquelle elle est destinée.

Remarque sur la programmation FPGA:

Les FPGA nécessitent que Firmwave soit disponible pour définir la configuration de la logique dans la puce. Cette firmwave peut être développée de différentes manières et plusieurs plates-formes logicielles peuvent être utilisées.

En savoir plus sur le Programmation FPGA

Test FPGA

Compte tenu de leur complexité, il est nécessaire d'entreprendre des tests rigoureux de la conception du FPGA. Ces tests seront normalement effectués à chaque étape du processus de développement du FPGA.

Cela inclut la simulation fonctionnelle et d'autres méthodologies de vérification, mais l'un des problèmes clés peut être celui du timing car la taille et la complexité de la logique de base peuvent signifier que des problèmes de timing peuvent survenir.

Une fois le processus de conception et de validation terminé, le fichier binaire généré (également à l'aide du logiciel propriétaire de la société FPGA) est utilisé pour configurer le dispositif FPGA.

Outils FPGA

Les outils de développement et de test des FPGA sont disponibles auprès de diverses sources. Évidemment, le fabricant est en mesure de proposer de nombreux outils de développement FPGA, mais il existe de nombreuses autres sources pour la synthèse FPGA HDL, la synthèse physique FPGA et les outils de vérification. Celles-ci comprennent le développement proprement dit et les différentes étapes de test des FPGA.


Voir la vidéo: Mod-02 Lec-44 Case study on FPGA Board (Décembre 2020).