(Référence)
 

Un circuit programmable est un assemblage d’opérateurs logiques combinatoires et de bascules dans lequel la fonction réalisée n’est pas fixée lors de la fabrication. Il contient potentiellement la possibilité de réaliser toute une classe de fonctions, plus ou moins large suivant son architecture. La programmation du circuit consiste à définir une fonction parmi toutes celles qui sont potentiellement réalisables.

Comme dans toute réalisation en logique câblée, une fonction logique est définie par les interconnexions entre des opérateurs combinatoires et des bascules, et par les équations des opérateurs combinatoires. Ce qui est programmable dans un circuit concerne donc les interconnexions et les opérateurs combinatoires. Les bascules sont le plus souvent de simples bascules D, ou des bascules configurables en bascules D ou T.

Historique et évolution

L'électronique moderne se tourne de plus en plus vers le numérique qui présente de nombreux avantages sur l'analogique : grande insensibilité aux parasites et aux dérives diverses, modularité et (re)configurabilité, facilité de stockage de l'information etc... Pour s'en convaincre, il n'y a qu'à regarder autour de nous l'explosion de la microinformatique, qui s'est même implantée dans les ménages. Un nombre de plus en plus grand de machines (télévision, voiture, machine à laver, etc.) utilisent de l'électronique numérique.

Il y a quelques années, l'apprentissage de la logique se faisait à travers la découverte des fonctions logiques élémentaires contenues dans les circuits intégrés des familles TTL ou CMOS. Les expérimentations se limitaient aux fonctions proposées par les fabricants de ces circuits. La conception de fonctions logiques regroupant plusieurs de ces circuits nécessitait un câblage conséquent, et la réalisation d'un circuit imprimé de grande surface.

Ainsi les fabricants de circuits intégrés numériques s'attachent-ils à fournir des circuits présentant des densités d'intégration toujours plus élevée, pour des vitesses de fonctionnement de plus en plus grandes.

D'abord réalisées avec des circuits SSI (Small Scale Integration), les fonctions logiques intégrées se sont développées avec la mise au point du transistor MOS dont la facilité d'intégration a permis la réalisation de circuits MSI (Medium Scale Integration) puis LSI (Large Scale Integration) puis VLSI (Very Large Scale Integration). Ces deux dernières générations ont vu l'avènement des microprocesseurs et microcontrôleurs. Bien que ces derniers aient révolutionné l'électronique numérique par la possibilité de réaliser n'importe quelle fonction par programmation d'un composant générique, ils traitent l'information de manière séquentielle (du moins dans les versions classiques), ne répondant pas toujours aux exigences de rapidité.

Au début des années 70 sont apparus les premiers composants (en technologie bipolaire) entièrement configurable par programmation. La nouveauté résidait dans le fait qu'il était maintenant possible d'implanter physiquement par simple programmation, au sein du circuit, n'importe quelle fonction logique, et non plus de se contenter de faire réaliser une opération logique par un microprocesseur dont l'architecture est figée.

D'abord dédiés à des fonctions simples en combinatoire (décodage d'adresse par exemple), ces circuits laissent aujourd'hui au concepteur la possibilité d'implanter des composants aussi divers qu'un inverseur et un microprocesseur au sein d'un même boîtier ; le circuit n'est plus limité à un mode de traitement séquentielle de l'information comme avec les microprocesseurs.

Ce domaine de l'électronique est aussi celui qui certainement a vu la plus forte évolution technologique ces dernières années :

  • En moins de 15 ans la densité d'intégration a été multipliée par 200 (2000 à 20 000 portes en 85 pour 72 000 à 4 000 000 en 2000).
  • En moins de 10 ans la vitesse de fonctionnement a été multipliée par 6 (40MHz en 91 pour 240MHz en 2000).
  • La taille d'un transistor est passée de 1,2μm en 91 à 0,18μm en 2000.
  • La tension d'alimentation est passée de 5 V à 1,8 V diminuant ainsi la consommation.

Avantages

L'intégration des principales fonctions numériques d'une carte au sein d'un même boîtier permet de répondre à la fois aux critères de densité et de rapidité (les capacités parasites étant plus faibles, la vitesse de fonctionnement peut augmenter). La plupart de ces circuits sont maintenant programmés à partir d'un simple ordinateur type PC directement sur la carte où ils vont être utilisés. En cas d'erreur, ils sont reprogrammables électriquement sans avoir à extraire le composant de son environnement.
Ces circuits sont aussi et surtout utilisés pour la faible consommation (quelques uA voire même nA).

Classification

De nombreuses familles de circuits sont apparues depuis les années 70 avec des noms très divers suivant les constructeurs. Une certaine inertie dans l'évolution du vocabulaire a fait que certains circuits technologiquement différents ont le même nom. Le terme même de circuit programmable est ambigu, la programmation d'une FPGA ne faisant pas appel aux mêmes opérations que celle d'un microprocesseur. Il serait plus juste de parler pour les PLDCPLD et FPGA de circuits à architecture programmable ou encore de circuits à réseaux logiques programmables.

Parallèlement à ces circuits, on trouve les ASIC (Application Specific Integrated Circuits) qui sont des composants où le concepteur intervient au niveau du dessin de la pastille de silicium en fournissant des masques à un fondeur. On ne peut plus franchement parler de circuits programmables.

Les PLD, CPLD et FPGA sont parfois considérés comme des ASIC par certains auteurs.

Le monde des circuits programmables comporte une terminologie, d’origine anglo-saxonne le plus souvent, difficile à éviter. Pour compliquer les choses, de nombreux termes sont à l’origine des noms propres, propriétés des sociétés qui sont à la source des produits concernés. Qui se souvient encore que frigidaire est un nom déposé par la société General Motors ?

Les sigles utilisés dans la suite semblent communément admis par la majorité des fabricants :

  • PLD (programmable logic device) est un terme générique qui recouvre l’ensemble des circuits logiques programmables. Il est le plus souvent employé pour désigner les plus simples d’entre eux (équivalent de quelques centaines de portes logiques).
  • CPLD (complex programmable logic device) désigne évidemment un circuit relativement complexe (jusqu’à une ou deux dizaines de milliers de portes), mais dont l’architecture dérive directement de celle des PLDs simples.
  • FPGA (field programmable gate array) marque un saut dans l’architecture et la technologie, il désigne un circuit qui peut être très complexe (jusqu’à cent mille portes équivalentes) ; la complexité des FPGAs rejoint celle des ASICs (application specific integrated circuits).

Le tableau ci-après tente une classification possible des circuits numérique.

imgUpload/imageExosMatieretemps1498315766.png

Utilisation des circuits numériques

  1. Les fonctions standard sont utilisées pour les applications réalisées en logique câblée. Les catalogues TTL et CMOS présentent plusieurs centaines de fonctions d’usage général, sous forme de circuits intégrés à grande échelle.

     

  2. Les microprocesseurs, désormais d’usage courant, sont omniprésents dans les applications industrielles.

     

  3. Dans des applications trop complexes pour être raisonnablement traitées en logique câblée traditionnelle, et trop rapides pour avoir une solution à base de microprocesseurs, on utilise des séquenceurs micro programmés (PLD, CPLD, FPGA).

     

  4. Quand les volumes de production importants le justifient, les circuits intégrés spécifiques (ASIC) offrent une alternative aux cartes câblées classiques.

     

Résumé

  • Définition d'un circuit programmable

    Un assemblage d’opérateurs logiques combinatoires et séquentiels dans lequel la fonction réalisée n’est pas fixée lors de la fabrication, mais est définie par programmation lors de son utilisation.

     

  • Classification des circuits programmables

    • Classification selon le mode de programmation

      • Circuits à Architecture Programmable à faible temps de développement: PLD, CPLD, FPGA

         

      • Circuits à Architecture Programmable à temps de développement important: ASIC

         

      • Circuits à fonctionnement Programmable: microprocesseur et microcontrôleur

         

    • Classification selon le niveau d'intégration

      • Circuits SSI

         

      • Circuits MSI

         

      • Circuits LSI

         

      • Circuits VLSI

         


2016-10-17 06:14:54 / mazoughou@magoe.gn

2 commentaires

  1. monsieur si vous plait veillé mettre des cours de réseau beaucoup de personnes me demande ça

    monsieur si vous plait veillé mettre des cours de réseau beaucoup de personnes me dépende ça

Votre impression compte aussi