Académique Documents
Professionnel Documents
Culture Documents
Chapitre2 Architecture
Chapitre2 Architecture
a. Introduction
But Développement
Diminuer les coûts Maintenance
Actuellement de fabrication
la logique programmée (µP, Mémoires, µC, ...). +
Le développement
les Objets Techniques utilisent de besoin des mémoires
(O.T.) plus en plus utilisées en
s'interfacer entre elles informatique
Le nombre de circuits
nécessaires pour remplir ces fonctions peut
Circuits Logique Programmable
devenir très vite important.
P.L.D
(Programmable Logic Device Device).
1
05/10/2023
Ces circuits sont capables pour un O.T. de réaliser plusieurs fonctions logiques III.3. Structure de base d’un PLD
dans un seul circuit.
Si ces fonctions étaient réalisées à base circuits de logique classique, il en faudrait La plupart des PLDs
plusieurs circuits.
« grillés » lors de la
Un autre avantage, l'évolution des fonctions d'un l'O.T. s'effectue par forment chacun ce qu’on appelle
programmation
programmation comparée à une solution classique où il faut refaire un circuit
imprimé si on veut modifier le fonctionnement. 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.
05/10/2023 Pr. Z. ALAOUI ISMAILI 5 05/10/2023 Pr. Z. ALAOUI ISMAILI 6
2
05/10/2023
La figure 3 représente la structure interne d’un PLD ayant ses fusibles intacts
LES DIFFERENTES FAMILLES DE PLD Dans la suite de ce document nous nous intéresserons seulement aux PLDs de type « PALs »
et
Plusieurs familles différenciées par leur structure « GALs ».
de PLD interne P.A.L Les ingénieurs
de chez M.M.I qui ont eu l'idée d'utiliser la
Le tableau suivant présente certaines de ces familles technologie des fusibles
3
05/10/2023
La programmation s’effectue par destruction de fusible (un fusible détruit Certaines broches de ces circuits peuvent être utilisées aussi bien en entrée qu’en sortie
équivaut à un circuit ouvert). grâce à un système de logique 3 états.
N.B. Lors de l'achat d'un P.A.L. tous les fusibles sont vierges ou pas détruits
05/10/2023 Pr. Z. ALAOUI ISMAILI 13 05/10/2023 Pr. Z. ALAOUI ISMAILI 14
La symbolisation et la représentation.
Exemple: Représentation d'un Ou Exclusif.
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..
4
05/10/2023
Combinatoire.
Symbolisation normalisée :
On peut distinguer trois Séquentielle.
types de structures de base:
Versatile.
5
05/10/2023
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
Les structures de sorties sont beaucoup plus évoluées par rapport aux autres
Séquentielle X -> (Register Or Exclusif): Ou Exclusif et Registre. P.A.L. L., elles se rapprochent des P.A.L. de type versatile.
Elles peuvent prendre.
6
05/10/2023
Ce type de structure représente les P.A.L. les plus évoluées, car les Ce qui donne:
Les versatiles.
structures de sorties dite versatile proposent quatre configurations
possibles. suivant les valeurs de S0 et S1.
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.
7
05/10/2023
Chez AMD:
Exemples:
Un PAL 16L8 : 16 entrées maximum, 8 sorties maximum et il dispose d’une structure de sortie EXEMPLES DE PAL.
active sur niveau bas. 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 :
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.
8
05/10/2023
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 :
9
05/10/2023
« PALCMOS »
Consommation
plus faible.
Autres constructeurs
fabriquent
05/10/2023 Pr. Z. ALAOUI ISMAILI 37 05/10/2023 Pr. Z. ALAOUI ISMAILI 38
Par soucis de remplacer les PALs, LATTICE a équipé la plupart de ses GALs de REFERENCE DES GAL.
macro-cellules programmables permettant d’émuler n’importe quel PAL. Ces
structures de sortie sont donc du type « Versatile » (V). Ils possèdent une structure de sortie soit du
type « Versatile »
PROTECTION CONTRE LA DUPLICATION. soit du type « Registre asynchrone ».
Un bit de sécurité
dotés
Activé lors de la programmation
remis
GAL empêche à zéro
Ensemble de appelé
huit octets Signature électronique contenir
Informations diverses
sur le produit
10
05/10/2023
11
05/10/2023
12
05/10/2023
13
05/10/2023
– PAL équivalent à une dizaine de circuits standard Capacité en nombre de portes Possibilités de configuration très supérieure à
– une trentaine d ’E/S maximum celle des PALs.
– 2 technologies
• bipolaires : plus rapides Architectures basées sur celles des PALS.
• CMOS effaçables Plusieurs PALs mis
– faible coût des circuits dans le même circuit
– version masquée HAL
– coût du logiciel de développement et du programmateur CPLD
Associé à une zone
d’interconnexion
14
05/10/2023
Ressources d ’interconnexions
Exemple de CPLD le circuit Isp1016 de LATTICE
– 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.
15
05/10/2023
• 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
Figure 18 : Macrocellule – option de mise à la masse des entrées/sorties afin de réduire les perturbations
Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes) qui
LES F.P.G.A.s (Fields Programmable Gate Array).
peuvent être interconnectés.
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.
16
05/10/2023
Architecture FPGA-Xilinx:
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. Tous les FPGA Xilinx contiennent les mêmes ressources de base
(Figure 2.13):
En effet, les CPLDs acceptent des fréquences de fonctionnement beaucoup plus élevées Blocs logiques configurables (CLB), contenant une logique combinatoire et des
que les FPGAs. ressources de registre,
Blocs de RAM,
LUT in FPGA
N.B.
LookUp Table in FPGA
17
05/10/2023
F=F0./X1+F1.X1
F3
F0=F3./X2+F4.X2
F4
F0
F1=F5./X2+F6.X2
F3=I0./X3+I1.X3 F5
F1
F=(F3./X2+F4.X2)./X1+
F4=I2./X3+I3.X3 F6
(F5./X2+F6.X2).X1
F5=I4./X3+I5.X3
F=F3./X2./X1+F4.X2./X1+F5./X2.X1
F6=I6./X3+I7.X3 +F6.X2.X1
F=/X1./X2.(I0./X3+I1.X3)+X2./X1. (I2./X3+I3.X3)+
/X2.X1.(I4./X3+I5.X3)+X2.X1.(I6./X3+I7.X3)
F=I0. /X1./X2./X3+I1. /X1./X2.X3+ I2. X2./X1./X3+
I3. X2./X1.X3+ I4./X2.X1./X3+ I5./X2.X1.X3+
I6.X2.X1./X3+ I7.X2.X1.3X3
Sortie=/a/bc+a/bc+ab/c+abc
05/10/2023 Pr. Z. ALAOUI ISMAILI 69 05/10/2023 Pr. Z. ALAOUI ISMAILI 70
Générateurs de fonctions
– Les deux générateurs de fonctions F et G peuvent réaliser chacun
n’importe quelle fonction combinatoire de 4 variables.
– En combinant les LUT des différents slices du CLB, il est aussi
possible de réaliser des multiplexeurs à grand nombre d’entrées: par
exemple, un mux 4:1 dans un slice, un mux 16:1 dans un CLB ou
encore un mux 32:1 dans deux CLB.
– La polyvalence du CLB est la meilleure manière d’améliorer la vitesse
de fonctionnement du système à réaliser.
18
05/10/2023
19
05/10/2023
Multiplieurs dédiés
Block RAM (SelectRAM)
– Associé à chaque BlockRAM, on trouve un multiplieur 18x18 = 36
– Tous les FPGA de la famille Spartan-3 incorporent des blocs de bits signé en complément à 2 (ou 17x17 = 34 non signé). On les
mémoire RAM 18kbits synchrones simple ou double ports (de 4 utilise surtout pour effectuer des opérations de traitement du
à 104 suivant la taille du circuit). signal, mais ils peuvent aussi être utilisés avec profit pour réaliser
– Les 4 modes suivants sont possibles des opérations logiques (comme un décalage en un coup
d’horloge par exemple).
Gestionnaire d’horloges
– Le FPGA possède un gestionnaire d’horloge (Digital Clock
Manager : DCM) particulièrement élaboré.
– Il permet par exemple de créer des horloges décalées en phase
(pour piloter des DDR SDRAM par exemple), ou encore il élimine
le skew (décalage des arrivées d’horloge sur les bascules D) des
horloges dans le FPGA ou bien encore il permet de synthétiser
des horloges avec des rapports (M x Fin) / D (avec M entier
compris entre 2 et 32 et D entier compris entre 1 et 32).
– Vous pouvez par exemple créer une horloge sur CLKFX dont la
fréquence est égale à 11/7 de CLKIN.
05/10/2023 Pr. Z. ALAOUI ISMAILI 77 05/10/2023 Pr. Z. ALAOUI ISMAILI 78
20
05/10/2023
21
05/10/2023
Domaine des circuits logiques programmables EPLD-CPLD: Erasable PLD ou Complex PLD
Les PLD Les EPLD sont programmables électriquement et
– densité de quelques centaines de portes effaçables aux UV ; les
– architecture ET/OU programmable EEPLD sont effaçables électriquement Principe similaire aux PAL mais avec
– limites : nombre de bascules, nombre de signaux d ’E/S, rigidité du plan interconnexions réalisées en techno UVPROM
logique ET/OU et de ses interconnexions
– conception sous forme de langages d ’équations, d ’automates…
FPGA Field Programmable Gate Array ou réseau de portes programmable par
• PAL : Programmable Array Logic
l ’utilisateur
PAL bipolaires programmables une seule fois C ’est un ensemble de blocs logiques élémentaires que l ’utilisateur peut
– PAL combinatoires ou PAL simples (portes) interconnecter pour réaliser les fonctions logiques de son choix. La densité des portes
– PAL à registres (Field Programmable Logic Sequencer) est importante et sans cesse en évolution
PAL CMOS ≈ GAL • FPGA à SRAM ou LCA Logic Cell Array introduit en 1985 par Xilinx à base de
GAL : Generic Array Logic ; programmables et effaçables électriquement ou SRAM pour configurer les connexions logique non dédiée avec des solutions
PALCMOS ou EEPAL ou PALEECMOS d’interconnexionssouples et efficaces
• FPGA à antifusibles nés en 1990 Actel programmables électriquement par
l’utilisateur non effaçables
22
05/10/2023
23
05/10/2023
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.
Le système de développement. Schéma à base de fonctions logique élémentaires (Portes ET,OU,NON, … bascules,
compteurs, registres à décalages).
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.
24
05/10/2023
Langage de description
25
05/10/2023
05/10/2023 Pr. Z. ALAOUI ISMAILI 101 05/10/2023 Pr. Z. ALAOUI ISMAILI 102
26