Vous êtes sur la page 1sur 47

Circuits

Logiques
Programmables


PLD

PLAN
Circuits numriques
Prsentation de la logique programme
Classification des PLDs
Oprateurs gnriques
Technologies
Les PALs
Les C.P.L.D.s
Les F.P.G.A.s
Dveloppement des CPLDs et FPGAs



Circuits numriques
3
Nous nous intresserons surtout aux circuits architecture programmable
faible temps de dveloppement.
Prsentation de la logique programme
Une fonction logique est dfinie par les interconnexions entre des
oprateurs combinatoires et des bascules, et par les quations des
oprateurs combinatoires. Ce qui est programmable dans un circuit
concerne donc les interconnexions et les oprateurs combinatoires.

4
Donc un circuit programmable est un assemblage doprateurs logiques
combinatoires et de bascules, prsentes physiquement sur le circuit, dans
lequel la fonction ralise nest pas fixe lors de la fabrication.


Classification des PLDs
PAL
GAL Effaable
Electriquement
PAL Effaable
LCA
FPGA
PLD
CPLD
6
P.A.L. signifie Programmable Array Logic, c- -d rseau logique
programmable. La programmation de ces circuits s'effectue par
destruction de fusibles. Une fois programms on ne peut plus les effacer.
Classification des PLDs
On distingue deux sous familles:
Les P.A.L. combinatoires ou P.A.L. simples. Ils sont constitus de
fonctions de logique combinatoire.
Les P.A.L. registres ou F.P.L.S. (Field Programmable Logic
Sequencer) pour squenceur logique programmable. Ils sont constitus
de logique combinatoire et squentielle (Registre).
P.A.L. effaables: E.P.L.D.
Les E.P.L.D. (Erasable Programmable Logic Device), c'est dire circuit
logique programmable et effaable par UV ou lectriquement.

7
Les G.A.L.(Generic Array Logic) ou encore rseau logique gnrique. Le
nom de G.A.L. a t dpos par LATTICE SEMICONDUCTOR. Leur
fonctionnement est identique aux EPLD, ils sont programmables et
effaables lectriquement.
Classification des PLDs
Les C.P.L.D.(Complex Programmable Logic Device). Ces circuits sont
composs de plusieurs P.A.L.s lmentaires relis entre eux par une zone
dinterconnexion.
Grce cette architecture, on peut atteindre des vitesses de fonctionnement
leves (plusieurs centaine de Mhz).
8
Les L.C.A. & F.P.G.A. anti-fusible.
Les L.C.A. (Logic Cell Array) ou encore rseau de cellules logiques.
Ces circuits sont composs de blocs logiques lmentaires de 2000
10000 portes que l'utilisateur peut interconnecter.

Classification des PLDs
Les F.P.G.A. (Field Programmable Gate Array) anti fusibles sont
identiques aux L.C.A sauf qu'ils permettent une plus grande intgration de
portes et ils ne sont pas effaables lectriquement. Le nom anti-fusible vient
de la programmation des connexions qui s'effectue par fermeture de
circuits, compar aux fusibles o l'on ouvre les circuits.

Oprateurs gnriques
1) Rseaux Logique Programmables:
N'importe quelle fonction peut tre code par une somme de produit,
par un produit de somme ou un mlange des deux. On peut
immdiatement en dduire une structure de circuits, appel matrice PLA
(Programmable Logic Array).
La figure suivante reprsente une matrice PLA 4 entres et 4 sorties :

9
10
Le principe de ralisation des fonctions de la matrice ET et de OU est le
suivant :
11
Chaque croix reprsentant une connexion programmable (un fusible par
exemple).

Oprateurs gnriques
a) PAL simple :
La programmation du circuit consiste supprimer certaines des
connexions marques dune croix.
Le schma ci-dessus permet de raliser nimporte quelle fonction
boolenne s(e1,e2), de deux variables binaires e1 et e2, pourvu quelle ne
dpasse pas deux termes.
Structure simplifie dun PAL(2 entres et 1 sortie)
Oprateurs gnriques
b) PAL ralisant un XOR:
Reprsentation de la structure interne de loprateur XOR dun P.A.L.

Les croix reprsentent les fusibles intacts.

Oprateurs gnriques
Le plus simple des PLDs, un 16L8 par exemple, utilise des oprateurs
ET 32 entres et des oprateurs OU 8 entres. Un schma tel que
celui des figures prcdentes deviendrait illisible.
Pour viter cet cueil, les notices de circuits utilisent des symboles
simplifis, pour reprsenter les rseaux logiques programmables:

14
symbole d'un PLA 24
Oprateurs gnriques
Le schma de loprateur ou exclusif devient:
15
Oprateurs gnriques
2) Multiplexeurs:
16
Le multiplexeur permet galement de coder une fonction combinatoire,
comme le montre la figure suivante :
Multiplexeur lmentaire
Oprateurs gnriques
On peut dcrire la fonction XOR sous forme algorithmique :
17
ou exclusif ralis par un multiplexeur
Donc un multiplexeur est un oprateur gnrique.
Exemple: Un multiplexeur n entres de slection, soit 2
n
entres de donnes, permet
de raliser nimporte quelle fonction combinatoire de n + 1 entres.

Oprateurs gnriques
3) Porte XOR:
La reprsentation des fonctions combinatoires : additions et soustractions,
contrles derreurs, cryptages, etc se prtent mal en somme de produits, car
elles ne conduisent aucune minimisation de leurs quations.
De nombreuses familles de circuits programmables disposent, en plus des
PLAs, doprateurs ou exclusifs pour faciliter la ralisation de ces fonctions
arithmtiques.

18
Oprateurs gnriques
4) Bascules:
Les circuits programmables actuels offrent tous la possibilit de crer
des fonctions squentielles, synchrones dans leur immense majorit.
les trois types fondamentaux de bascules:


19
Les optimiseurs dterminent automatiquement le type de bascule le
mieux adapt lapplication.
Oprateurs gnriques
Technologies
Le premier choix dun circuit programmable dpond de la technologie
utilise pour matrialiser les interconnexions:
maintien (ou non) de la fonction programme en labsence dalimentation,
possibilit (ou non) de modifier la fonction programme,
ncessit (ou non) dutiliser un programmateur.
20
1) Fusibles:
On ne la rencontre plus que dans quelques circuits de faible densit, de
conception ancienne.
Lors de la programmation le circuit est plac dans un mode, dans lequel des
impulsions de courant sont aiguilles successivement vers les fusibles
dtruire.


21
PLD lmentaire fusibles
Technologies
Pour programmer un circuit, il faut transfrer dans le programmateur
une table des fusibles qui indique par un chiffre binaire ltat de chaque
fusible. Cette table est gnralement transfre entre le systme de CAO
et le programmateur sous forme dun fichier au format normalis : le
format JEDEC.

Lexemple suivant prsente limplmentation dun compteur binaire 10
bits dans un circuit de type 22V10 :
22
Technologies
23
Inconvnients:
La programmation dtruit plus de fusibles quelle nen conserve.
Cela se traduit par une mauvaise utilisation du silicium, un temps de
programmation important (quelques secondes) et des contraintes
thermiques svres imposes au circuit lors de lopration.
Cette technologie nest donc pas gnralisable des circuits dpassant
quelques centaines de portes quivalentes.

24
Technologies
2) MOS grille flottante:
Les fusibles sont remplacs par des transistors grille isole (technologie FLASH).
Le transistor MOS grille flottante a permis de rendre le composant bloqu ou
passant sans application permanente d'une tension de commande. Le principe
consiste piger ou non ( l'aide d'une tension suprieure la tension d'alimentation)
des lectrons dans la grille.

Les Cellules transistor MOS grille flottante sont des cellules reprogrammables.

25
Technologies
3) Antifusibles: Linverse dun fusible
Un point dinterconnexion est ralis au croisement de deux pistes
conductrices, spares par un isolant de faible paisseur.
Une surtension applique entre les deux pistes provoque un perage
dfinitif du dilectrique, ce qui tablit la connexion.
Les points dinterconnexions ont un diamtre de lordre de la largeur
dune piste, cest dire de lordre du micron; il est donc possible de
prvoir un trs grand nombre dinterconnexions programmables. La
rsistance du contact cr est trs faible, de lordre dune cinquantaine
dohms (dix fois moins que celle dun transistor MOS), do des retards
lis aux interconnexions trs faibles galement.
Ces circuits ne sont programmables quune fois.
26
Technologies
Les cellules de connexion sont aujourd'hui ralises en technologie
MOS grille flottante. La structure de base comprend un circuit PLA
dont seule la matrice ET est programmable.
27
Architectures utilises
Structure dune PLD
La partie nomme OLMC (Output Logic MacroCell) sur la figure peut tre:
Combinatoire
Squentielle
Versatile
Combinatoire : une simple connexion relie alors la sortie du
OU l'entre du buffer de sortie, dont la sortie est rinjecte sur
le rseau programmable.
Les PALs
Squentielle: le bloc OLMC tant alors une simple bascule D ;
Il existe trois types:
R (Register):
Les PALs
Squentielle:

X (Register Or Exclusif):

Les PALs
Squentielle:

RA (Register Asynchron):



Les PALs
32
Les PALs
Les quatre configurations possible:
Versatile: il est possible par programmation de choisir entre les deux
configurations prcdentes.

Les PALs
f1 f0 Configuration des sorties
0 0 Combinatoire, actif bas
0 1 Combinatoire, actif haut
1 0 Registre, actif bas
1 1 Registre, actif haut
Macrocellule configurable
Dsignation:
Elle est de la forme : PAL EE T SS
o EE reprsente le nombre d'entres,
SS le nombre de sorties
et T le type du PAL

exemple : PAL 22V10.
Pour les dernires gnrations, on trouvera plutt la rfrence de type
GAL EE T SS, (GAL pour Generic Array Logic) pour dsigner un circuit
transistor MOS grille flottante, donc reprogrammable lectriquement.
34
Les PALs
Schma interne dun PAL 22V10 de AMD:
Les PALs
Structure gnrale

Symbolisation normalise
Les PALs
Structure et symbole:
Les CPLDs (Complex Programmable Logic Device)
Structure gnrale dun CPLD:
Ces circuits ont une capacit en nombre de portes et en possibilits de
configuration trs suprieure celle des PALs. Leurs architectures sont
bases sur celles des PALS. Un CPLD cest lquivalent de plusieurs PALs
mis dans le mme circuit associ une zone dinterconnexion. Le nombres
de portes peut varier entre 100 et 100 000 portes logiques et entre 16 et 1000
bascules voir plus.



38
Les FPGAs sont assimilables des ASIC (Application Specific Integrated
Circuit) programmables par lutilisateur. La puissance de ces circuits est
telle quils peuvent tre composs de plusieurs milliers voire millions de
portes logiques et de bascules structurs sous forme de matrices.
Les dernires gnrations de FPGA intgrent mme de la mmoire RAM.
Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA.
Les FPGAs (Fields Programmable Gate Array)
Structure dun circuit FPGA :
39
Structure dun circuit FPGA
Les FPGAs
La structure du FPGA prsente est compose :

De cellules dE/S modifiables qui servent dinterfaces entre les broches
du circuit et le cur du FPGA pour adapter les signaux suivants :
Alimentation
Signaux dhorloge
Signaux de configuration du FPGA
Signaux de test
40
Les FPGAs
De blocs logiques: contenant les fonctions logiques combinatoires et
squentielles.
41
Les FPGAs
Exemple de blocs logiques de diffrents fabricants:
De rseaux dinterconnexions. Ces rseaux relient entre eux les
blocs logiques et les blocs dE/S.
42
Les FPGAs
Microprocesseur:
La prsence dun processeur est indispensable pour ordonnancer les
commandes reues par le FPGA.
Habituellement, ce processeur se trouve lextrieur du FPGA, mais des
constructeurs ont intgr ces systmes directement dans le FPGA. Il
sagit de processeur soft-core on parle aussi de systme sur puce
programmable (SOPC).
Il communique avec le FPGA grce au langage de description matrielle
VHDL. Ce processeur est donc reconfigurable pouvant ainsi dadapter
aux contraintes de chaque utilisation.
43
Les FPGAs
Avantages des FPGAs
Un circuit reprogrammable : modifier le programme gnrique de
base afin de le rendre spcifique au circuit utilis.
Un investissement rentable dans la dure : une rutilisation
destination dautres projets.
Une reprogrammation quasi-instantane du circuit. Rapide
implmenter un programme valider. A titre de comparaison, la
fabrication dun circuit ASIC peut prendre plusieurs semaines.
44
45
Ils sont composs en gnral de deux outils:
Le systme de dveloppement.
Le programmateur.

Le systme de dveloppement:
Ces systmes produisent une table reprsentant les fusibles
dtruire en fonction des quations logiques, diagramme d'tats et
tables de vrits crit dans le langage propre au systme, c'est le rle
du compilateur ou synthtiseur.

Les outils de dveloppements
46
La description du fonctionnement des circuits peut se faire de plusieurs
faons, soit :

Par un schma base de fonctions logique lmentaires (Portes,
bascules, compteurs, registres dcalages).
En utilisant un langage de description matriel HDL (Hardware
Description Language).
Par lutilisation de graphes dtats(FSM : Flow States Machines)


Les outils de dveloppements
Dveloppement des CPLDs et FPGAs