Vous êtes sur la page 1sur 75

Architecture des circuits

programmables

13/10/2016 Pr. Z. ALAOUI ISMAILI 1


III.2. Présentation de la Logique Programmée.

a. Introduction

l’utilisation d’un nombre important


quelques années de circuits intégrés logiques.

la réalisation d’un montage en


électronique numérique

un circuit imprimé de taille


un prix de revient élevé importante.
une mise en oeuvre complexe

13/10/2016 Pr. Z. ALAOUI ISMAILI 2


Actuellement
la logique programmée (µP, Mémoires, µC, ...).

les Objets Techniques utilisent de besoin


(O.T.) plus en plus
s'interfacer entre elles

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.

13/10/2016 Pr. Z. ALAOUI ISMAILI 3


But Développement
Diminuer les coûts Maintenance
de fabrication
+
Le développement
des mémoires
utilisées en
informatique

naissance
Fabricants de
circuits intégrés

Circuits Logique Programmable


P.L.D
(Programmable Logic Device Device).

13/10/2016 Pr. Z. ALAOUI ISMAILI 4


Ces circuits sont capables pour un O.T. de réaliser plusieurs fonctions logiques
dans un seul circuit.
Si ces fonctions étaient réalisées à base circuits de logique classique, il en faudrait
plusieurs circuits.

Ce type de produit peut intégrer dans un seul circuit plusieurs fonctions logiques
programmables par l’utilisateur.
Sa mise en oeuvre se fait très facilement à l’aide d’un programmateur, d’un
micro-ordinateur et d’un logiciel adapté.

Un autre avantage, l'évolution des fonctions d'un l'O.T. s'effectue par


programmation comparée à une solution classique où il faut refaire un circuit
imprimé si on veut modifier le fonctionnement.

13/10/2016 Pr. Z. ALAOUI ISMAILI 5


III.3. Structure de base d’un PLD
La plupart des PLDs

suivent la structure suivante :


Un ensemble
d’opérateurs « ET » sur Une éventuelle structure de sortie
lesquels viennent se (Portes inverseuses, logique 3
connecter les variables Un ensemble d’opérateurs « OU » états, registres...).
d’entrée et leurs sur lesquels les sorties des
compléments. opérateurs « ET » sont connectées.

« grillés » lors de la
forment chacun ce qu’on appelle
programmation

matrice assurées par


des fusibles

Les interconnexions de ces matrices doivent N.B. Lorsqu’un PLD est vierge
être programmables toutes les connexions sont assurées.
13/10/2016 Pr. Z. ALAOUI ISMAILI 6
Un exemple de ce type de structure est présenté par la figure 2.

13/10/2016 Pr. Z. ALAOUI ISMAILI 7


13/10/2016 Pr. Z. ALAOUI ISMAILI 8
La figure 3 représente la structure interne d’un PLD ayant ses fusibles intacts

Les équations logiques de Q0 et Q1 sont :

13/10/2016 Pr. Z. ALAOUI ISMAILI 9


Si on veut obtenir les fonctions

on « grillera » des fusibles de façon à obtenir le schéma suivant :

13/10/2016 Pr. Z. ALAOUI ISMAILI 10


LES DIFFERENTES FAMILLES DE PLD

Plusieurs familles différenciées par leur structure


de PLD interne
Le tableau suivant présente certaines de ces familles

REMARQUES :
· Certaines de ces familles possèdent en plus des matrices « ET » et « OU », de la
logique séquentielle (Bascules « D », « JK »...) placée après les entrées ou avant les
sorties du PLD.
· Les « PROMs » sont des circuits utilisés en informatique pour mémoriser de façon
définitive des données : ce sont des « Mémoires mortes ». Il existe des versions
effaçables comme lesUVPROM (aux U-V) et les EEPROM (électriquement).

13/10/2016 Pr. Z. ALAOUI ISMAILI 11


Dans la suite de ce document nous nous intéresserons seulement aux PLDs de type « PALs »
et
« GALs ».
P.A.L Les ingénieurs
de chez M.M.I qui ont eu l'idée d'utiliser la
technologie des fusibles

L'invention des P.A.L. date


d'une vingtaine d'années Le constructeur AMD a développé ce type de
circuit il y a près de 20 ans.
Ils possèdent des matrices
« ET » programmables et des matrices « OU »
fixes.

La fusion des fusibles est obtenue en appliquant


à leurs bornes une tension de 11,5 V pendant 10 à 50 µS (leur tension de
fonctionnement est environ
de 5V).

13/10/2016 Pr. Z. ALAOUI ISMAILI 12


La programmation s’effectue par destruction de fusible (un fusible détruit
équivaut à un circuit ouvert).

I1 et I2 représentent des entrées (I:Input).


O représente une sortie (O:Output).
Réaliser de nombreuses fonctions logiques

A partir de cette structure de base La programmation va constituer à détruire les


fusibles pour obtenir les fonctions désirées

N.B. Lors de l'achat d'un P.A.L. tous les fusibles sont vierges ou pas détruits
13/10/2016 Pr. Z. ALAOUI ISMAILI 13
Certaines broches de ces circuits peuvent être utilisées aussi bien en entrée qu’en sortie
grâce à un système de logique 3 états.

La commande de cette dernière est


configurée au moment de la
programmation

La structure de sortie permet aussi de réinjecter les sorties en entrée (Feed-back).

13/10/2016 Pr. Z. ALAOUI ISMAILI 14


La symbolisation et la représentation.
La représentation schématique de la précédente structure demande beaucoup
d'espace pour représenter un P.A.L. en entier. Les industriels ont adopté une autre
représentation voir ci-dessous.

a: Porte ET à 3 entrées.
b: Porte ET à 3 entrées représentation P.A.L. les croix représentent les fusibles intacts.
c: Représentation de la structure interne d’un P.A.L. L..

13/10/2016 Pr. Z. ALAOUI ISMAILI 15


Exemple: Représentation d'un Ou Exclusif.

Cette équation se représente de la façon suivante:

13/10/2016 Pr. Z. ALAOUI ISMAILI 16


Les différentes structures:
Structure générale
Tout P.A.L. est constitué :

De sorties (Output) Ou d’entrées / sorties (I/O)


D'entrées (Input): I1 à In avec 8<n<20. de type Totem Pôle ou Trois États:
O1 à On ou IO1 à IOn (2<n<15).

On peut trouver aussi:

Une entrée d'horloge Une entrée de remise à zéro


(Clock): Clk ou Clock des registres: RESET.
Une entrée de validation des sorties trois états:
OE (Output Enable) ou Enable.

13/10/2016 Pr. Z. ALAOUI ISMAILI 17


D'un point de vue fonctionnel un P.A.L. est constitué d'une zone d'entrée de
fusibles ou matrice de programmation et une structure de sortie non
programmable déterminant le type de circuit voir schéma ci-dessous.

13/10/2016 Pr. Z. ALAOUI ISMAILI 18


Symbolisation normalisée :

Remarque: Sur un schéma comportant un P.A.L. L., on doit écrire les équations
qui relient les entrées aux sorties ou le nom du document contenant les équations
du P.A.L.

Dans l'exemple précèdent , la programmation du Ou Exclusif était facilement


réalisable, ce n'est pas toujours le cas.

13/10/2016 Pr. Z. ALAOUI ISMAILI 19


C'est pourquoi il existe un grand nombre de P.A.L. utilisant des structures
de sorties différentes.

Combinatoire.

On peut distinguer trois Séquentielle.


types de structures de base:
Versatile.

H -> (High) Porte ET suivit d'une


Porte OU. Sortie active à l'état haut.

L -> (Low) Porte ET suivit d'une


Combinatoire Porte NON OU. Sortie active à
trois types
l'état bas.

C -> (Combinée) programmable


en type H ou L.
13/10/2016 Pr. Z. ALAOUI ISMAILI 20
13/10/2016 Pr. Z. ALAOUI ISMAILI 21
trois types
contrôlées par un signal de
validation Enable ou OE
Les sorties des
R -> (Register): Registre. Ces bascules
circuits sont composés de Horloge est commune à
bascule D. toutes les bascules
(clock).

Séquentielle

13/10/2016 Pr. Z. ALAOUI ISMAILI 22


Séquentielle X -> (Register Or Exclusif): Ou Exclusif et Registre.

Séquentielle RA -> (Register Asynchron): Registre asynchrone.

13/10/2016 Pr. Z. ALAOUI ISMAILI 23


Les structures de sorties sont beaucoup plus évoluées par rapport aux autres
P.A.L. L., elles se rapprochent des P.A.L. de type versatile.
Elles peuvent prendre.

Quatre configurations
suivant les valeurs de
AP et AR

13/10/2016 Pr. Z. ALAOUI ISMAILI 24


Ce type de structure représente les P.A.L. les plus évoluées, car les
Les versatiles.
structures de sorties dite versatile proposent quatre configurations
possibles. suivant les valeurs de S0 et S1.

13/10/2016 Pr. Z. ALAOUI ISMAILI 25


Ce qui donne:

13/10/2016 Pr. Z. ALAOUI ISMAILI 26


Le plus célèbre des circuits versatile est certainement le P.A.L. 22V10 de chez AMD. Il
permet d'émuler pratiquement tout les autres types de P.A.L. et dispose
d'un circuit de remise à zéro des registres à la mise sous tension du circuit.

Schéma interne d’un PAL 22V10 : ( GAL22V10 Lattice Semiconductor).

13/10/2016 Pr. Z. ALAOUI ISMAILI 27


13/10/2016 Pr. Z. ALAOUI ISMAILI 28
Les références des P.A.L.
Les constructeurs de P.A.L. ont standardisé le marquage des P.A.L.

Chez AMD:

13/10/2016 Pr. Z. ALAOUI ISMAILI 29


Chez TEXAS INSTRUMENTS:

13/10/2016 Pr. Z. ALAOUI ISMAILI 30


Exemples:
Un PAL 16L8 : 16 entrées maximum, 8 sorties maximum et il dispose d’une structure de sortie
active sur niveau bas.

13/10/2016 Pr. Z. ALAOUI ISMAILI 31


EXEMPLES DE PAL.
Nous n’étudierons pas toutes les sortes de PAL car leur nombre est assez conséquent, mais
nous intéresserons à ceux qui sont couramment utilisé.
Le PAL 16L8.
Ce type de circuit est uniquement constitué de logique combinatoire. Il possède 20 broches
agencées de la façon suivante :

• 10 broches configurables uniquement en entrée


• 2 broches configurables uniquement en sortie
• 6 broches configurables en entrée et en sortie
• 2 broches d’alimentation.

L’ensemble des sorties provient de portes 3 états inverseuses. L’état haute impédance
peut être commandée par l’ensemble des entrées.
Chaque porte de la matrice « OU » possède 7 entrées. Ceci signifie que chaque sortie peut
résulter,au maximum, d’une fonction « OU » entre 7 termes produits. Chaque porte de la
matrice « ET »possède 32 entrées. Ceci signifie que chaque terme produit peut résulter, au
maximum, d’une fonction « ET » entre 16 variables et leurs compléments.

13/10/2016 Pr. Z. ALAOUI ISMAILI 32


13/10/2016 Pr. Z. ALAOUI ISMAILI 33
Le PAL 16R8.
Ce type de circuit est constitué de logique combinatoire et séquentielle. Il possède 20
broches agencées de la façon suivante :

• 8 broches (n° 2 à 9) configurables uniquement en entrée


• 1 broche (n° 1) d’entrée d’horloge de l’ensemble des 8 bascules D
• 1 broche (n° 11) de validation des 8 sorties (output enable)
• 8 broches (n° 12 à 19) configurables en sortie et pouvant être réinjecter en entrée
• 2 broches d’alimentation (n° 10 et 20).

L’ensemble des sorties provient de portes 3 états inverseuses provenant elles-mêmes de


bascules D (figure ). L’état haute impédance est commandée par l’entrée OE (broche
n°11).Chaque porte de la matrice « OU » possède 7 entrées. Ceci signifie que chaque
sortie peut résulter, au maximum, d’une fonction « OU » entre 7 termes produits.
Chaque porte de la matrice « ET » possède 32 entrées. Ceci signifie que chaque terme
produit peut résulter, au maximum, d’une fonction « ET » entre 16 variables et leurs
compléments.
En résumé on peut dire que les huit sorties de ce circuit proviennent d’un registre trois
états. La mise en haute impédance de ce dernier est commandée par la broche OE et la
mémorisation est activée par les fronts montants de l’horloge CLK.

13/10/2016 Pr. Z. ALAOUI ISMAILI 34


Selon le type de PAL la structure de sortie peut être constituée d’une porte « NON»,
d’une porte « OU » Exclusive , d’une bascule « D » ou d’une combinaison des trois. Le
nombre d’entrées et de sorties est lui aussi lié à la référence du PAL.

13/10/2016 Pr. Z. ALAOUI ISMAILI 35


Remarque: La duplication de P.A.L. et le bit de sécurité.
Un circuit P.A.L. peut être dupliqué comme une EPROM, pour le protéger les
constructeurs ont ajouté un bit dit de sécurité. Si ce bit est programmé alors le circuit ne
peut plus être relu.

LES GALS (GENERIC ARRAY LOGIC).


PRESENTATION

L’inconvénient majeur des PALs Ils ne sont programmables


qu’une seule fois

un gaspillage important de ces circuits


lorsqu’on veut développer un nouveau produit. GALs
Remplacer les
fusibles irréversibles
Transistors MOS
LATTICE FET pouvant être
PAL
Plus de régénérés
10 ans
13/10/2016 Pr. Z. ALAOUI ISMAILI 36
« Réseau logique Générique »

Sans pour autant avoir une durée


Reprogrammés à volonté
de vie restreinte
Structure interne les GALs
PALs classiques sont
constitués de transistors
bipolaires
Transistor CMOS

« PALCMOS »
Consommation
plus faible.

Autres constructeurs
fabriquent
13/10/2016 Pr. Z. ALAOUI ISMAILI 37
Par soucis de remplacer les PALs, LATTICE a équipé la plupart de ses GALs de
macro-cellules programmables permettant d’émuler n’importe quel PAL. Ces
structures de sortie sont donc du type « Versatile » (V).

PROTECTION CONTRE LA DUPLICATION.


Un bit de sécurité
dotés
Activé lors de la programmation
remis
GAL empêche à zéro

Toute lecture du contenu du Effaçant complètement le GAL


circuit

Ensemble de appelé
huit octets Signature électronique contenir
Informations diverses
sur le produit

13/10/2016 Pr. Z. ALAOUI ISMAILI 38


REFERENCE DES GAL.

Ils possèdent une structure de sortie soit du


type « Versatile »
soit du type « Registre asynchrone ».

13/10/2016 Pr. Z. ALAOUI ISMAILI 39


13/10/2016 Pr. Z. ALAOUI ISMAILI 40
13/10/2016 Pr. Z. ALAOUI ISMAILI 41
MACRO CELLULE DE SORTIE (OLMC).
Ces structures de sortie sont programmables et permettent
d’émuler n’importe quelle autre structure de sortie.

Elles possèdent en tout 2 bits de programmation communs à toutes les cellules (CG1
et CG0) et 2 bits spécifiques à chaque cellule (CL0x et CL1x).
13/10/2016 Pr. Z. ALAOUI ISMAILI 42
Figure : Structure d ’un OLMC

13/10/2016 Pr. Z. ALAOUI ISMAILI 43


Configurations possibles de la macro-cellule pour le GAL 16V8 :

Remarque : En configuration « Registre » et en n’utilisant pas l’état haute


impédance des portes 3 états, il faut relier la broche OE (n°11) à VCC.

13/10/2016 Pr. Z. ALAOUI ISMAILI 44


Figure : Différentes configurations de l ’OLMC

13/10/2016 Pr. Z. ALAOUI ISMAILI 45


13/10/2016 Pr. Z. ALAOUI ISMAILI 46
13/10/2016 Pr. Z. ALAOUI ISMAILI 47
13/10/2016 Pr. Z. ALAOUI ISMAILI 48
Schéma fonctionnel du GAL22V10

13/10/2016 Pr. Z. ALAOUI ISMAILI 49


Remarques : La programmation des cellules de sortie est transparente pour l’opérateur.
C’est le logiciel de développement qui, en fonction de certaines indications (sortie / entrée
registre ou combinatoire), effectue la configuration des structures de sortie.
Pour le GAL 16V8, Les broches 15 et 16 ne peuvent pas être configurées en entrées
combinatoires

EXEMPLE DE BROCHAGE DE CIRCUIT.

13/10/2016 Pr. Z. ALAOUI ISMAILI 50


13/10/2016 Pr. Z. ALAOUI ISMAILI 51
Conclusion

– PAL équivalent à une dizaine de circuits standard


– une trentaine d ’E/S maximum
– 2 technologies
• bipolaires : plus rapides
• CMOS effaçables
– faible coût des circuits
– version masquée HAL
– coût du logiciel de développement et du programmateur

13/10/2016 Pr. Z. ALAOUI ISMAILI 52


LES C.P.L.D.s ( Complex Programmable Logic Device).

Capacité en nombre de portes Possibilités de configuration très supérieure à


celle des PALs.

Architectures basées sur celles des PALS.


Plusieurs PALs mis
dans le même circuit
CPLD
Associé à une zone
d’interconnexion

Le nombres de portes peut varier entre


100 et 100 000 portes logiques et entre 16 et
1000 bascules voir plus.

13/10/2016 Pr. Z. ALAOUI ISMAILI 53


 Architecture

ensemble de fonctions de type PAL pouvant être interconnectées à l ’aide d ’une


matrice
 macro cellules de base regroupées en blocs logiques
 2 niveaux d ’interconnexion :
o matrice globale
o distribution de signaux dans chaque bloc logique

13/10/2016 Pr. Z. ALAOUI ISMAILI 54


Structure générale d’un CPLD

13/10/2016 Pr. Z. ALAOUI ISMAILI 55


Exemple de CPLD le circuit Isp1016 de LATTICE

13/10/2016 Pr. Z. ALAOUI ISMAILI 56


 Ressources d ’interconnexions
– routage systématisé
– modèle électrique
– délais prédictibles
– placement non critique
– temps de compilation faible
 Famille AMD Mach 5
– architecture modulaire : blocs de type PAL
– EPLD programmables et effaçables électriquement (techno EECMOS)
– options : synchronisation des bascules sur les deux fronts d ’une
horloge,
programmation du slew rate, choix du compromis puissance/vitesse
– circuits isp, compatibles JTAG, 3,3 V.

13/10/2016 Pr. Z. ALAOUI ISMAILI 57


Figure : Architecture des Mach 5

• blocs appelés segments


• Chaque segment contient 4 blocs de type PAL
• 4 entrées d ’horloge peuvent être utilisées comme entrées normales
• Un bloc PAL contient 16 macrocellules

13/10/2016 Pr. Z. ALAOUI ISMAILI 58


Figure : Bloc PAL

13/10/2016 Pr. Z. ALAOUI ISMAILI 59


Figure 18 : Macrocellule

Figure 19 : Module de sortie


13/10/2016 Pr. Z. ALAOUI ISMAILI 60
Figure : Modèle de temps

13/10/2016 Pr. Z. ALAOUI ISMAILI 61


• Xilinx XC 9500
– architecture très simple
– composants isp, norme JTAG
– tensions : 3,3 V, 2,5 V ou 1,8 V
– vitesse de fonctionnement élevée
– mode programmable de réduction de la
consommation pour chaque macro cellule
– slew rate programmable indépendamment pour chaque sortie
– option de mise à la masse des entrées/sorties afin de réduire les perturbations

13/10/2016 Pr. Z. ALAOUI ISMAILI 62


LES F.P.G.A.s (Fields Programmable Gate Array).

les FPGAs à la différence des CPLDs sont assimilables à des


A.S.I.C. (Application Specific Integrated Circuit) programmables par l’utilisateur.

La puissance de ces circuits est telle qu’ils peuvent être composés de plusieurs
milliers voire millions de portes logiques et de bascules.

Les dernières générations de FPGA intègrent même de la mémoire vive (RAM).

Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA.

13/10/2016 Pr. Z. ALAOUI ISMAILI 63


Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes) qui
peuvent être interconnectés.

13/10/2016 Pr. Z. ALAOUI ISMAILI 64


De plus en plus les capacités des CPLDs et des FPGAs se rapprochent.

Le principal critère de choix entre les deux familles est la vitesse de fonctionnement.

En effet, les CPLDs acceptent des fréquences de fonctionnement beaucoup plus élevées
que les FPGAs.

13/10/2016 Pr. Z. ALAOUI ISMAILI 65


VI. PROGRAMMATION DES PL PLDS.

Les outils de développements sont composés en général de deux outils:


- Le système de développement.
- Le programmateur.

13/10/2016 Pr. Z. ALAOUI ISMAILI 66


La programmation des PLDs nécessite un logiciel adapté pour le développement du
programme et un programmateur permettant de « griller » le circuit.
En outre il est conseillé de suivre la démarche décrite par l’organigramme suivant :

13/10/2016 Pr. Z. ALAOUI ISMAILI 67


13/10/2016 Pr. Z. ALAOUI ISMAILI 68
Méthodologie:
 Le logiciel de développement permet de simplifier les équations et de générer un
fichier JEDEC à partir des données rentrées par l’opérateur. Il simule aussi le
fonctionnement du PLD avec le programme obtenu. Le logiciel « PALASM »
développé par « AMD » permet d’effectuer ces opérations pour la programmation de
PAL ou de GAL.
 Le fichier JEDEC est un ensemble de données binaires indiquant au programmateur
les fusibles à « griller ».
 Le programmateur permet de « griller » les fusibles du PLD en fonctions des
données du fichier JEDEC. Il est en général associé à un logiciel de pilotage. Les
programmateurs utilisés sont les mêmes que ceux permettant la programmation des
EPROM.

13/10/2016 Pr. Z. ALAOUI ISMAILI 69


Le système de développement.
Ces systèmes produisent une table représentant les fusibles à détruire en fonction des
équations logiques, diagramme d'états et tables de vérités écrit dans le langage propre
au système, c'est le rôle du compilateur ou synthétiseur.

Par un schéma à base de fonctions logique


élémentaires (Portes ET,OU,NON, … bascules,
compteurs, registres à décalages).

La description du fonctionnement ORCAD/PLD


des circuits peut se faire de langage de description
ABEL
plusieurs façons, soit : comportementale H.D.L.
(Hardware Description Language). VHDL
VERILOG
Schéma et des descriptions en langage de haut
niveau de type VHDL.
Par l’utilisation de graphes d’états.
(FSM : Flow States Machines)

13/10/2016 Pr. Z. ALAOUI ISMAILI 70


Schéma à base de fonctions logique élémentaires (Portes ET,OU,NON, … bascules,
compteurs, registres à décalages).

13/10/2016 Pr. Z. ALAOUI ISMAILI 71


Langage de description

13/10/2016 Pr. Z. ALAOUI ISMAILI 72


13/10/2016 Pr. Z. ALAOUI ISMAILI 73
Schéma et des descriptions en langage de haut niveau de type VHDL.

13/10/2016 Pr. Z. ALAOUI ISMAILI 74


Utilisation de graphes d’états. (FSM : Flow States Machines)

13/10/2016 Pr. Z. ALAOUI ISMAILI 75

Vous aimerez peut-être aussi