Les circuits logiques
programmables
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Circuits logiques programmables
Un circuit logique programmable (en anglais Programmable Logic
Device ou PLD) est un dispositif qui peut tre configur par
l'utilisateur pour raliser une fonction logique quelconque
Le circuit logique programmable est ralis comme un assemblage
de matrices programmables de portes AND et OR
Une matrice OR programmable est un ensemble de portes OR dont
les entres sont connectes aux variables du systme, vraies et
inverses, par le biais d'un rseau de fusibles
Lorsqu'un fusible est brl, la connexion respective entre la variable
et la porte OR disparat. La programmation du systme se fait en
choisissant les fusibles que l'on laisse ou que l'on brle
Page 2
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Exemple de matrice OR non programme:
Page 3
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Exemple de matrice OR programme:
Page 4
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Les matrices AND sont, bien entendu, similaires
Exemple de matrice AND non programme:
Page 5
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Exemple de matrice AND programme:
Page 6
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Etant donn que toute fonction logique peut tre exprime
comme une somme logique d'impliquants, les circuits logiques
programmables les plus communs sont forms par une matrice
AND suivie d'une matrice OR. L'une des deux matrices, ou les
deux, est programmable
systme logique combinatoire
entres
matrice AND
matrice OR
sorties
impliquants
Page 7
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Selon le caractre programmable des matrices AND et OR, il
existe trois types de circuits logiques programmables:
PROM (Programmable Read-Only Memory): la matrice AND est fixe et la
matrice OR est programmable. C'est une mmoire: la matrice AND sert de
dcodeur d'adresse; pour chaque valeur d'adresse, la PROM produit une
valeur qui lui a t programme
PAL (Programmable Array Logic): matrice AND programmable suivie d'une
matrice OR fixe
PLA (Programmable Logic Array): les deux matrices sont programmables
Page 8
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Les circuits PAL
Les circuits PALs sont les PLDs les plus courants: les PROMs sont
utilises en tant que mmoires et les PLAs sont trs peu utilises
cause de leur nombre lev de fusibles, ce qui amne une grande
consommation de puissance et de longs dlais
La figure suivante est un exemple d'une PAL 3 variables d'entre et
3 portes AND. A l'aide de cette PAL, il est possible d'implmenter
toute fonction logique trois variables reprsentable par une
somme d'au maximum trois produits
Il est possible de choisir parmi diffrents types de PAL commerciales,
diffrencies par le nombre de sorties, de portes AND, longueur du
dlai, consommation, etc
Page 9
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Page 10
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Un circuit logique programmable est caractris par:
le nombre d'entres
le nombre de sorties
le nombre de termes produits par sortie
le retard de propagation (vitesse)
la consommation de puissance
la technologie
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Page 11
La plupart de ces paramtres apparaissent dans le nom du circuit.
Par exemple:
C22XP10 -30L
technologie (CMOS)
retard (ns)
nombre d'entres
nombre de sorties
architecture:
H active-high outputs
L active-low outputs
P programmable output polarity
C complementary outputs
XP exclusive-or gate, prog. polarity
Page 12
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
puissance
Il est courant de dessiner les PALs en simplifiant les connexions,
comme illustr par l'exemple suivant, o on emploie les
conventions suivantes:
est quivalent
est quivalent
Page 13
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Page 14
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Une fois brl, un fusible ne peut plus tre utilis. Les PLDs
fusibles ne sont donc pas reprogrammables (ou effaables)
Aujourd'hui, d'autres solutions technologiques remplacent les
fusibles, permettant l'effacement (lectriquement ou par UV) et la
reprogrammation des PLDs
Il peut y avoir un feedback des sorties: la sortie peut tre utilise
dans ces cas comme une entre supplmentaire.
En gnral, les sorties sont tri-state et cette proprit est
programmable
La programmation d'un PLD est trs complexe, cause du
nombre et de l'emplacement des fusibles, ainsi que des tensions
de programmation: un logiciel et un programmateur sont
ncessaires
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Page 15
fichier
d'entre
compilateur
fichier
de configuration
simulateur
Page 16
programmateur
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Unprogrammed
device
Programmed
device
(a) Host computer
Page 17
(b) Device programmer
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Exemple de PAL commerciale: GAL16V8
Le circuit GAL (Generic Array Logic) 16V8 est une PAL 16 entres
et 8 sorties. Chacune de ses 8 fonctions de sortie prsente la
structure suivante:
Page 18
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Les circuits CPLD
Les circuits PLD tudis jusqu' maintenant sont connus comme
SPLD (Simple Programmable Logic Devices), pour les diffrencier
des circuits plus complexes: les CPLD ou Complex Programmable
Logic Devices
Les CPLD sont composs d'un certain nombre de SPLD qui
partagent une matrice d'interconnexion programmable
commune
En plus de la configuration des diffrents SPLD, il est donc
galement possible de configurer les interconnexions entre les
blocs
Page 19
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
Programmable
Interconnect
matrix
SPLD-like
blocks
Input/output pins
Page 20
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne
A lire dans Wakerly
Chapitre 5
5.3: PLDs combinatoires
Page 21
Eduardo Sanchez
Ecole Polytechnique Fdrale de Lausanne