Vous êtes sur la page 1sur 13

Chapitre 1 Les circuits logiques programmables

1. Introduction
Actuellement les Objets Techniques utilisent de plus en plus la logique programmée (µP,
Mémoires, µC, ...). Ces structures ont besoin de s'interfacer entre elles. Elles utilisent
généralement pour réaliser ces interfaces des fonctions à base de fonctions logiques
élémentaires, compteurs, registres, .... Le nombre de circuits nécessaires pour remplir ces
fonctions peut devenir très vite important.
Pour diminuer les coûts de fabrication, de développement et de maintenance, les fabricants
de circuits intégrés ont donné naissance aux Circuits Logique Programmable ou encore
P.L.D. (Programmable Logic Device).

Il existe différentes approches qui peuvent être adoptées lors de la conception d’un système.
Ces différentes approches présentent des avantages et des inconvénients suivant l’application
désirée. Cependant, en parlant de circuits programmables, la conception des circuits prend une
autre orientation, imposée par une standardisation du composant programmable. Un circuit
programmable doit avoir une structure qui lui permet de décrire la plupart des conceptions à
réaliser. Un circuit programmable doit avoir une technologie souple qui lui permet une
programmation à volonté. Le langage de programmation doit permettre une description
optimale de la conception à réaliser.
Ils existent parmi les circuits programmables les ASIC dont les lignes d’interconnexions sont
crées par masque (fondeur). Le circuit est conçu d'un point de vue logiciel par l'utilisateur,
puis il est réalisé par le fondeur.
Pour les PLD, les lignes d’interconnexions existent déjà dans le circuit (généralement
sous forme de lignes et de colonnes traversant le composant). Il ne reste donc plus qu’à
réaliser les bonnes liaisons pour réaliser le chemin voulu afin de relier les cellules
logiques. Les PLD se décomposent en deux familles :
1. les PROM, les PLA, les PAL et les CPLD,
2. les FPGA.

1
2. Définition des circuits programmables

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 (synchrones, cela va
presque sans dire), 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.

La réalisation d’opérateurs combinatoires utilise des opérateurs génériques, c’est à eux


que nous allons nous intéresser dans la suite.

2
3. Convention de notation
Afin de présenter des schémas clairs et précis, il est utile d'adopter une convention de notation
concernant les connexions à fusibles. Les deux figures suivantes représentent la fonction ET à
3 entrées. La figure b) n'est qu'une version simplifiée du schéma de la figure a).

Un exemple de notation est donné sur la figure ci-contre.

La fonction réalisée est S = (a . c) + (b . d).

• Une croix, à une intersection, indique la présence d'une connexion à fusible


non claqué.
• L'absence de croix signifie que le fusible est claqué.

• La liaison entre la ligne horizontale et verticale est rompue. La sortie S réalise une
fonction OU des 2 termes produits (a.c) et (b.d).

3
4. Classification des circuits programmables
4. 1 Les PROM (Programmable Read Only Memory)

Nous allons voir dans ce paragraphe la PROM sous l’angle de la réalisation d’une fonction
logique. Même si elle n’est plus utilisée pour cela aujourd’hui, elle est à la base de la famille
de PLA, des PAL et des EPLD.

Ces circuits logiques disposent :

• d'un réseau de « ET « fixes, réalisant le décodage d'adresse


• d'un réseau de OU programmables, réalisant le plan mémoire proprement dit.

On peut facilement comprendre que, outre le stockage de données qui est sa fonction
première, cette mémoire puisse être utilisée en tant que circuit logique.

La figure ci-dessous représente la structure logique d'une PROM bipolaire à fusibles.

Exemple :

4
4.2 Les PLA (Programmable Logic Array)

Le concept du PLA a été développé il y a plus de 20 ans. Il reprend la technique des fusibles
des PROM bipolaires. La programmation consiste à faire sauter les fusibles pour réaliser la
fonction logique de son choix.

La structure des PLA est une évolution des PROM bipolaires.

Elle est constituée :

• d'un réseau de ET programmables


• d'un réseau de OU programmables

Sa structure logique est la suivante :

5
Chaque sortie « Oi » peut réaliser une fonction OU de 16 termes produits des 4 variables A,
B, C et D. Avec cette structure, on peut implémenter n'importe quelle fonction
logique combinatoire.

Avantages

o Pas la peine de mettre tous les mintermes (termes redondants)

o Moins de surface de silicium utilisée

o Moins de portes logiques utilisées

o Gain en consommation (surtout lorsque le nombre d’entrées est important)

Inconvénients

Plus de connections à programmer

6
Ce type de circuit n'a pas réussi à pénétrer le marché des circuits programmables. La demande
s'est plutôt orientée vers les circuits PAL.

Exemple

𝑓 = 𝑎̅𝑏 + 𝑎̅𝑏̅𝑐 + 𝑎𝑏̅𝑐 + 𝑏𝑐̅ + 𝑏̅𝑐̅

W = ab + abc
X = abc + abc
Y = abc + bc
Z = ab + abc + bc

3.3 Les PAL (Programmable Array Logic)

Contrairement aux PLA, les PAL (Programmable Array Logic) imposent :

• un réseau de OU fixes
• un réseau de ET programmables.

La technologie employée est la même que pour les PLA. La figure qui suit représente la
structure logique d'un PAL où chaque sortie intègre 4 termes produits de 4 variables.

7
Avantages

o En fixant l’étage de sortie, la vitesse du PAL augmente considérablement

o Structure modulaire permettant d’ajouter plusieurs fonctionnalités en sortie

Exemple 1 :

𝑓 = 𝑎̅𝑏 + 𝑎̅𝑏̅𝑐 + 𝑎𝑏̅𝑐 + 𝑏𝑐̅ + 𝑏̅𝑐̅

8
W = ab + abc
X = abc + abc
Y = abc + bc
Z = ab + abc + bc

En revanche, il arrive qu'une fonction logique ne puisse être implantée, car une sortie
particulière n'a pas assez de termes produits.

Le PAL possède toujours des entrées simples sur le réseau de ET programmables, mais
aussi des broches spéciales (voir figure ci-dessous) qui peuvent être programmées :

• en entrée simple en faisant passer le buffer de sortie trois états en haute impédance,

• en sortie réinjectée sur le réseau de ET. Cela permet d’augmenter le nombre de


termes produits disponibles sur les autres sorties.

9
Avec cette structure, la sortie ne peut être utilisée comme entrée sur le réseau.

Exemple 2:

Cas d’une fonction logique sous forme de somme de quatre produits :

𝑓 = 𝑎̅𝑏𝑐̅ + 𝑎̅𝑏̅𝑐 + 𝑎𝑏̅ + 𝑏𝑐̅ + 𝑎𝑏𝑐

On peut aussi utiliser des mémoires pour synchroniser le système et pour mémoriser un état
en vue d’être réinjecté comme entrée.

3.4 Les CPLD (Complexe Programmable Logic Device)

Les CPLD sont des circuits programmables électriquement relativement complexe


(jusqu’à cent mille portes équivalentes), mais dont l’architecture dérive directement des celles

10
des PLD simples. Ce sont des assemblages de macro-cellules programmables « simples »
réparties autour d’une matrice d’interconnexion. Les temps de propagation de chaque cellule
sont prévisibles.

Structure générale d’un CPLD.

3.5 FPGA (Field Programmable Gate Array)

Les FPGA marquent un saut dans l’architecture et la technologie, il désigne un circuit qui
peut être très complexe (jusqu’à cent mille de portes équivalentes) ; la complexité des FPGAs
rejoint celle des ASICs (Application Specific Integrated Circuits). Les FPGA sont formés
d’une mer de petits modules logiques de petite taille, noyés dans une grille de routage.
Ils sont entièrement reconfigurable ce qui permet de les programmer à volonté afin
d’accélérer certaines phases de calcul. L’avantage de ce genre de circuits est sa grande
souplesse qui permet de les réutiliser à volonté dans des différents algorithmes dans un temps
très court. Ils sont constitués d’une matrice de blocs logiques programmables permettant de
réaliser des fonctions combinatoires et séquentielles. Du fait de la granularité plus fine
des FPGA, les temps de propagation sont plus difficiles à maîtriser que celui des CPLD.
Les 2 grands constructeurs des FPGA sont XILINX et ALTERA. Ils sont composés de blocs
logiques élémentaires (plusieurs milliers de portes) qui peuvent être interconnectés.

11
4. Les différentes technologies
Les circuits sont souvent des pré-diffusés, c’est à dire qu’une grande quantité de
fonctions potentielles préexistent sur la puce de silicium. La programmation est l’opération
qui consiste à créer une application en personnalisant chaque opération élémentaire.
• Eeprom : Le circuit se programme normalement et conserve sa configuration
même en absence de tension. Pour effacer le contenu, il faut appliquer un courant
électrique d’intensité suffisante.
• Sram : La configuration doit être téléchargée à la mise sous tension du
circuit. S.il y a coupure d’alimentation, la configuration est perdue.
• Antifusible : La configuration consiste à faire sauter des fusibles pour créer des
connexions. L’opération est irréversible, on parle de circuit OTP : One Time
Programmable.
• Flash : Le circuit se programme rapidement et conserve sa configuration même en
absence de tension.

12
13

Vous aimerez peut-être aussi