Cours-3-FPGA

Chapitre 3. Les FPGA (Field Programmable Gate Array)

1. Technologie et densité

Les systèmes électroniques modernes sont de plus en plus complexes en raison de l’essor des technologies numériques et de la convergence des dispositifs. Les contraintes de taille, de puissance dissipée, et de performances deviennent de plus en plus sévères, particulièrement dans des domaines comme la téléphonie mobile, les ordinateurs personnels, et le traitement du signal et de l'image.

Techniques des circuits imprimés

  • Circuits imprimés à trous traversants : permettent un montage mécanique solide mais limitent la miniaturisation.

  • Circuits imprimés à montage en surface : favorisent une densité de composants plus élevée et réduisent l'espace requis, contribuant ainsi à l'optimisation de l'espace sur les cartes électroniques.

Conception de systèmes

Les systèmes doivent être conçus pour être :

  • Compacts : Réduction de la taille des composants et des circuits.

  • Économes en énergie : Nécessité de minimiser la consommation électrique pour répondre aux exigences des applications modernes.

  • Rapides à concevoir : Accélération des processus de prototypage et de production.

  • Fiables et peu coûteux : Assurer des performances fiables tout en tenant compte des coûts de développement et de fabrication.

Il est crucial de répondre à la contrainte de « time to market », puisque le délai de commercialisation peut déterminer le succès d'un produit. Ainsi, il y a une nécessité grandissante pour une technologie qui soit à la fois fiable, abordable et souple.

2. Choix d’un PLD (Programmable Logic Device)

Le choix d’un PLD dépend de plusieurs critères essentiels :

  • Densité d’intégration : Capacité à intégrer un grand nombre de fonctions logiques sur un seul circuit.

  • Rapidité de fonctionnement : La vitesse à laquelle le dispositif peut exécuter des tâches.

  • Facilité de mise en œuvre : Inclut la simplicité de la programmation et la possibilité de reprogrammer le circuit.

  • Possibilité de maintien de l’information : Certaines applications nécessitent le stockage d'informations même en cas de coupure d'alimentation.

Classification des composants logiques

  • Circuits Programmables :

    • Circuits standard, circuits numériques (TTL, CMOS)

    • Circuits programmables : incluent les PLD simples, CPLD, FPGA, PSoC, chacun ayant ses particularités et cas d'utilisation.

3. Techniques de réalisation d’une fonction logique

  • Logique standard : Utilisation traditionnelle de circuits TTL / CMOS pour la réalisation de fonctions logiques basiques.

  • Logique à mémoire : Utilisation de LUT (Lookup Table) qui offre un moyen flexible d'implémenter des fonctions logiques complexes.

  • Composants logiques reconfigurables : Incluent des réseaux d’interconnexions configurables, permettant des configurations dynamiques des circuits.

Types de mémoire

  • Utilisation de bascules telles que D, RS, T, JK, et RAM double d’accès pour stocker et récupérer des données selon les besoins de l'application.

  • Multiplicateurs et additionneurs : Les FPGA intègrent souvent des modules mathématiques qui permettent des calculs complexes directement au sein des circuits.

4. Structure et architecture des FPGA

Différence entre FPGA et CPLD

Les FPGA peuvent être assimilés à des ASIC programmables par l’utilisateur, offrant plus de flexibilité et de reconfiguration à l'aide d'une architecture interne complexe.

Capacités des FPGA

Les FPGA contiennent plusieurs milliers à des millions de portes logiques et bascules, et peuvent intégrer de la mémoire vive (RAM) pour des applications temporaires ou persistantes.

Blocks logiques dans un FPGA

  • Interconnexion entre blocs : Utilisation de Configurable Logic Block (CLB) et Input/Output Block (IOB) pour connecter et gérer l'entrée/sortie des circuits.

5. Interconnexions et structures

Types d’interconnexions

  • Interconnexion directe : Reliant des composants de manière spécifique.

  • Interconnexions par matrice : Permettent une meilleure flexibilité dans l'acheminement des signaux entre plusieurs composants.

  • Interconnexion par grandes lignes : Optimise les connexions pour réduire les délais et améliorer la performance.

Structure des CLB

Les CLB sont capables d’implanter deux fonctions indépendantes à 4 variables et des fonctions complètes à 5 variables, offrant ainsi une grande flexibilité dans la constitution des logiques.

Structure des IOB

Garantissent la programmabilité totale des ports d’entrée/sortie, ainsi que la programmabilité du seuil d'entrée, du slew-rate, du buffer de sortie, et de l'inverseur, essentielle pour l'adaptation aux besoins spécifiques des applications.

6. Critères de choix des FPGA

  • Coût de développement et fabrication : Évaluer le rapport coût-efficacité lors du choix de la technologie FPGA.

  • Temps de développement : La programmation rapide des FPGA est cruciale pour les métiers qui exigent des mises à jour fréquentes.

  • Taille et densité d’intégration : Choisir un FPGA qui correspond aux limites de l'espace physique du produit final.

  • Souplesse d’utilisation : Les circuits programmables doivent être faciles à modifier pour intégrer des changements.

  • Consommation d’énergie : Critique pour les applications autonomes, nécessitant un design optimisé pour l'efficacité énergétique.

  • Vitesse de fonctionnement : Les CPLD sont généralement plus rapides, selon l'application requise.

  • Capacité mémoire : Une utilisation efficace de la SRAM dans les FPGA est requise pour les applications à haute performance.

7. Exemples de produits FPGA

Kits recommandés

  • Arduino MKR VIDOR 4000 : Inclut un Intel Cyclone 10CL016 et un SAMD21, coûtant environ 75 euros.

  • Digilent Zybo Z7 : Basé sur le Xilinx Zynq 7020, disponible pour environ 185 euros, conçu pour des applications de prototypage rapide.

  • Trenz ZynqBerry : Utilise le Zynq-7010, proposé à 138 euros, idéal pour l'apprentissage des technologies de FPGA.

8. Bibliographies

Sources et références

Des articles académiques et des ressources en ligne sur les circuits FPGA et les dernières technologies émergentes dans ce domaine offrent des pistes pour des études complémentaires, et des avancées dans ce secteur évolutif.