Composants
Programmables & VHDL
Pr. [Link] MOUMNI
1
Plan
I. Introduction à la logique programmée
II. Principe et classification des PLD
III. Description de la technologie FPGA
IV. Langage VHDL
2
Introduction à la logique programmée
3
Introduction à la logique programmée
1. Logique câblée vs logique programmée
Réalisation d'un système numérique
Circuits Logique Standards
(logique câblée) Circuits Circuits à architectures
programmables programmables
PLD (Programmable Logic Device
Microcontrôleurs FPGA (Field Programmable Gate
Array)
+ Solution basée sur des circuits ASIC (Application-specific
Circuits logiques (OR, AND,..) programmables flexibilité garantie integrated circuit)
+ permet un traitement parallèle (rapidité) - Le traitement séquentiel de
- système figé et non flexible l'information réduit la vitesse de + permet un traitement parallèle
- Encombrement en croissance continue traitement. 4
(rapidité) et un flexible (souplesse).
Introduction à la logique programmée
1. Logique câblée vs logique programmée
La logique programmée a replacé la logique câblée afin de :
Simplifier le câblage ;
réduire l’encombrement ;
Diminuer les coûts de conception et de fabrication ;
Faciliter l’utilisation ;
Diminuer la fréquence d’apparition des pannes.
5
Introduction à la logique programmée
2. Rappel : Logique combinatoire
a. Portes de base
C’est un circuit électronique où ses sorties (Si)
dépendent uniquement de ses entrées (Ei)
Si=f(E1, E2, … En)
Exemples :
6
Introduction à la logique programmée
2. Rappel : Logique combinatoire
b. Fonctions avancées
Multiplexeur 4 vers 1
Schéma logique
Symbole graphique
Table de vérité
7
Introduction à la logique programmée
3. Rappel : Logique séquentielle
a. Bascules
C’est un circuit électronique où ses sorties (Si) dépendent
de ses entrées (Ei) et de l’état précédent des sorties Si
Si=f(E1, E2, … En, Sold)
Exemple 1: Bascule D Exemple 2: Bascule JK
8
Introduction à la logique programmée
3. Rappel : Logique séquentielle
b. Compteurs à base de bascules
À base de ces bascules, nous pouvons réaliser des circuits
logiques séquentiels avancés comme les compteurs.
Exemple : Compteur asynchrone modulo 8 (0 7)
Remarque : nous pouvons également citer les registres à décalage qui peuvent être réalisés par des bascule
pouvant ainsi se basculer entre Entrée/Sortie Série ou parallèle (transmission de données). 9
Introduction à la logique programmée
3. Rappel : Logique séquentielle
c. Mémoires
Il s’agit d’un circuit logique séquentiel très
utilisé dans la logique programmée.
Exemple :
10
Principe et classification des PLD
11
Principe et classification des PLD
1. Principe
Les PLD sont basés sur le théorème fondamental de l'algèbre des
fonctions binaires, qui dit que toute fonction binaire à n variables
peut se mettre sous forme d'une somme de produits ou d'un
produit de sommes.
les PLD contiennent au moins deux parties :
1. une qui réalise les produits (matrice AND),
2. une qui réalise les sommes (matrice OR).
12
Principe et classification des PLD
2. Classification des PLD
13
Principe et classification des PLD
2. Classification des PLD
Pour les SPLD, nous pouvons distinguer 3 familles :
PLA: Programmable Logic Array (Ex : TIBPAL16R4)
PAL : Programmable Array Logic (Ex : PAL22V10)
GAL : Generic Array Logic (Ex : GAL16V8)
14
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Les dispositifs PLA sont une catégorie de PLD qui
offre une matrice programmable pour les
connexions AND et OR.
Cela permet une personnalisation plus poussée
de la logique, car l'utilisateur peut programmer
Fusible
les connexions AND et OR selon ses besoins
spécifiques.
La programmation des fusibles sur une puce
électronique programmable, telle qu'une puce
PLA, est généralement effectuée en utilisant un
programmateur (+ logiciel) de dispositif
spécifique fourni par le fabricant.
15
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Exemple 1 : Porte AND
Technologie de fusibles
Représentation PLD
16
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Exemple 2 : Porte OR
Représentation PLD
17
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA A B C
Exemple 3 :
Selon la structure suivante, les fusibles sélectionnés
sont : A, B, C, A, B, C.
La fonction réalisée est :
Y= AB + BC + A C
X Y Z S
18
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Fusible
Exercice 1
Réaliser les fonctions suivantes en sélectionnant les fusibles
nécessaires :
1. X=A.(B+C) + B.A.C
2. Y= A + B.C + C
19
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Structure Avancée des PLA : Multiplexeurs
La structure des PLA a été améliorée grâce
l’insertion des multiplexeurs dans des puces PLA.
Un multiplexeur est un circuit logique combinatoire
permettant l’aiguillage d’information.
Cette fonctionnalité d’aiguillage lui permet
également d’être un opérateur programmé.
Exemple : Mux 4:1
Il permet de réaliser la fonction logique suivante :
Donc, si on veut réaliser une porte AND entre S0 et S1, il nous suffit de mettre I0, I1 et I2 à zéro. 20
Principe et classification des PLD
2. Classification des PLD
a. Réseau logique programmable - PLA
Exercice 2
À l’aide de ce MUX 4:1, donner la combinaison des
valeurs à affecter aux signaux « Ii » afin de réaliser
les fonctions logiques suivantes :
1. Y= S0 XOR S1
2. Y= S0 NAND S1
3. Y= S0
4. Y=S1
5. Y=1
21
Principe et classification des PLD
2. Classification des PLD
b. PAL (Programmable Array Logic)
Les dispositifs PAL sont des PLD spécifiques qui utilisent
une matrice programmable de connexions ET (porte ET
programmable) suivie par une matrice fixe de
connexions OU (porte OU programmable).
Les connexions programmables permettent de
configurer la logique spécifique que l'utilisateur
souhaite mettre en œuvre.
22
Principe et classification des PLD
2. Classification des PLD
b. PAL (Programmable Array Logic)
Exemple : PAL16L8
Il a 10 entrées pures, (pin 1-9 et 11)
2 sorties pures (pin 12 et 19)
6 Entrées/Sorties (pin 13-18)
Chaque pin de sortie est menée par
un tempon inverseur (tri-state
buffer) contrôlé par une fonction
logique.
23
Principe et classification des PLD
2. Classification des PLD
b. PAL (Programmable Array Logic)
Exemple : PAL16L8
Le principe du tempon inverseur est comme
suit :
24
Principe et classification des PLD
2. Classification des PLD
b. PAL (Programmable Array Logic)
Exemple : PAL16L8
Réalisation de S=A.B.C.D + HiZ.D S
HiZ = Haute Impédance A
S=HiZ quand D=‘0’
D 25
Principe et classification des PLD
2. Classification des PLD
b. PAL (Programmable Array Logic)
Exemple : PAL16R8 (à bascules)
Ce PAL comprend :
8 entrées (pins 2-9)
8 sorties (pins 12-19)
Pin d’horloge (CLK),
Pin de contrôle de la sortie
(Output Enable OE) active à l’état
bas.
26
Principe et classification des PLD
2. Classification des PLD
c. GAL (Generic Array Logic)
Le GAL est une amélioration des circuits PAL
et PLA.
Un dispositif programmable par l’utilisateur,
Il est mis en marché par Lattice
Semiconductors en 1985 (ex : GAL 16V8),
Il peut émuler différents types de PAL,
Il ressemble vraiment au circuit PAL, sauf que
le GAL contient un bloc spécial OLMC au
niveau de sortie.
27
Principe et classification des PLD
2. Classification des PLD
c. GAL (Generic Array Logic)
28
Principe et classification des PLD
2. Classification des PLD
c. GAL (Generic Array Logic)
Exemple : GAL22V10
29
S0 et S1 sont deux signaux de configuration