Réseau de portes programmables sur le terrain

Un réseau de portes programmables sur le terrain (souvent raccourci en FPGA) est un composant électronique utilisé pour construire des circuits numériques reconfigurables. Cela signifie qu'un FPGA est différent d'une porte logique, car une porte logique a une fonction fixe. En revanche, un FPGA a une fonction indéfinie au moment de sa fabrication. Avant que le FPGA puisse être utilisé dans un circuit, il doit être programmé, c'est-à-dire reconfiguré.

Les FPGA sont des circuits intégrés appartenant à la catégorie des dispositifs logiques programmables ou PLD. Les FPGA sont les plus performants, les plus flexibles et aussi les plus chers des types de PLD. Un inconvénient des FPGA par rapport aux autres PLD est qu'ils ne se souviennent pas de leur conception lorsque l'alimentation est coupée. Un FPGA a donc besoin d'une puce de mémoire de configuration séparée qui contient la conception du FPGA. Lorsque l'alimentation est rétablie au FPGA, une partie fixe du FPGA lit la configuration de la puce de mémoire de configuration. Une fois que le FPGA est configuré, il est capable de remplir la fonction qui lui a été attribuée par sa conception.

Un FPGA est différent d'un microprocesseur ou d'un microcontrôleur. Dans sa forme de base, un FPGA n'est pas capable d'exécuter un logiciel. Ce n'est que lorsque le FPGA reçoit une configuration qui contient une architecture de processeur qu'il peut exécuter des logiciels.

Les fabricants de FPGA fournissent des logiciels d'ingénierie pour Windows et parfois aussi pour Linux, afin de développer des conceptions pour les FPGA. La conception est généralement écrite dans des fichiers informatiques lisibles par l'homme appelés "Hardware Description Language" (HDL). Les plus populaires sont VHDL et Verilog. Les langages de description du matériel sont fortement comparables aux langages de programmation. Mais l'intention des HDL est de concevoir des circuits logiques numériques tandis que les langages de programmation conçoivent des logiciels.

Le logiciel d'ingénierie du FPGA doit traduire le code HDL abstrait en éléments logiques disponibles dans le FPGA sélectionné. C'est ce qu'on appelle la synthèse logique. Ensuite, un processus de placement et d'acheminement est effectué pour positionner les éléments logiques dans le FPGA. Le résultat est un fichier binaire qui peut être programmé dans le FPGA ou dans la mémoire de configuration. Cela se fait généralement à l'aide d'un programmateur USB connecté au port JTAG du FPGA.

Comme le FPGA est un circuit intégré, un fabricant de FPGA peut décider d'ajouter d'autres composants de circuit intégré couramment utilisés. Ces parties fixes sont appelées "noyaux". Il s'agit par exemple de contrôleurs Ethernet ou même d'une architecture processeur complète. Pour différents segments de marché tels que la défense, le médical, les communications et la robotique, le fabricant de FPGA essaie d'ajouter l'ensemble le plus précieux de ces cœurs supplémentaires.

Zoom


Structure interne

Les FPGA sont généralement construits à partir d'éléments logiques programmables et d'interconnexions programmables. Un des éléments de base des éléments logiques est une table de consultation programmable (LUT). Une LUT peut être programmée pour sortir n'importe quelle valeur donnée en entrée. De cette façon, une LUT peut être programmée pour être n'importe quel type de logique avec le même nombre d'entrées et de sorties. Par exemple, une LUT à 2 entrées et 1 sortie peut être programmée pour émuler la logique d'une LUT à 2 entrées ET, OU, NAND, NOR, XOR, etc. La sortie de cette LUT peut être soit sauvegardée à l'aide d'un registre, soit connectée à l'entrée d'autres LUT. En utilisant un mux programmable, le FPGA peut être programmé pour choisir la sortie enregistrée ou non enregistrée. Cette combinaison d'une LUT, d'un registre et d'un mux constitue la structure générale d'un élément logique.

Pour relier ces éléments logiques entre eux, on utilise des transistors de passage. Le transistor peut être programmé pour connecter ou non un signal, ce qui donne au FPGA la possibilité de connecter très spécifiquement des éléments logiques entre eux. Par exemple, si la sortie d'un élément logique alimente l'entrée d'un autre, le transistor de passage peut être programmé pour connecter ces deux fils ensemble et correspondre à la logique spécifiée. Entre les éléments logiques et les transistors de passage, un compilateur peut prendre une description matérielle d'une HDL, créer la logique pour les éléments logiques et les connecter ensemble à l'aide des transistors de passage.

Questions et réponses

Q : Qu'est-ce qu'un réseau de portes programmables par l'utilisateur (FPGA) ?


R : Un réseau de portes programmables par l'utilisateur (FPGA) est un composant électronique utilisé pour construire des circuits numériques reconfigurables. Il a une fonction indéfinie au moment de sa fabrication et doit être programmé, ou reconfiguré, avant de pouvoir être utilisé dans un circuit.

Q : En quoi un FPGA diffère-t-il d'une porte logique ?


R : Un FPGA diffère d'une porte logique car une porte logique a une fonction fixe alors qu'un FPGA a une fonction indéfinie au moment de la fabrication.

Q : Quel type de circuit intégré est un FPGA ?


R : Un FPGA est un circuit intégré de la catégorie des dispositifs logiques programmables ou PLD.

Q : Quels sont les inconvénients de l'utilisation des FPGA par rapport aux autres PLD ?


R : L'un des inconvénients des FPGA par rapport aux autres PLD est qu'ils ne se souviennent pas de leur conception lorsque l'alimentation est coupée, ils ont donc besoin d'une puce de mémoire de configuration séparée qui conserve la conception. Ils sont également plus chers que les autres types de PLD.

Q : Comment programme-t-on un FPGA ?


R : Pour programmer un FPGA, les ingénieurs utilisent un logiciel d'ingénierie pour Windows ou Linux afin de développer des conceptions écrites dans des langages de description du matériel tels que VHDL et Verilog. Le logiciel traduit ensuite ce code dans les éléments logiques disponibles sur les FGPA sélectionnés et les positionne à l'aide de processus de placement et de routage, ce qui crée un fichier binaire qui peut être programmé soit dans la mémoire de configuration, soit directement dans le FGPA lui-même à l'aide d'un programmateur USB connecté à son port JTAG.

Q : Les microprocesseurs et les microcontrôleurs sont-ils similaires aux FGPA ?


R : Non, les microprocesseurs et les microcontrôleurs sont différents des FGPA car, dans leur forme de base, ils ne peuvent pas exécuter de logiciel ; ce n'est que lorsqu'on leur donne une configuration contenant l'architecture du processeur qu'ils ont cette capacité.

AlegsaOnline.com - 2020 / 2023 - License CC3