Académique Documents
Professionnel Documents
Culture Documents
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
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).
• 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.
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.
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.
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
Inconvénients
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
• 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
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,
9
Avec cette structure, la sortie ne peut être utilisée comme entrée sur le réseau.
Exemple 2:
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.
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.
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