Chapitre 1 : Les circuits logiques
programmables
ISET Sousse –
2023-2024
© R. Hertelli
1 Circuits Logiques Programmables 2023-2024 © R. Hertelli
Plan
.
Introduction générale
I. Classification des circuits numériques
II. Les réseaux Logiques Programmables :PLD
III. Les outils de développement
© R. Hertelli
2 Circuits Logiques Programmables 2023-2024
Introduction générale
L'électronique moderne se tourne de plus en plus vers le numérique
qui présente de nombreux avantages sur l'analogique : grande
insensibilité aux parasites et aux dérives diverses, modularité et
(re)configurabilité, facilité de stockage de l'information etc...
Vue l’augmentation de densité d’intégration des transistors sur
silicium, on a passé vers des circuits numériques plus complexe, plus
rapides et plus performants.
© R. Hertelli
3 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (1/7)
Les circuits intégrés spécifiques
ASIC : Application specific Integrated Circuit (pré caractérisés =
cellules standards / pré diffusés = il reste à déposer les
interconnexions)
CPLD : Complex Programmable Logic Device
FPGA : Field Programmable Gate array
© R. Hertelli
4 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (2/7)
Les circuits logiques standard:
• SSI (Small Scale Integration)
• MSI (Medium Scale Integration)
• LSI (Large Scale Integration)
• VLSI (Very Large Scale Integration).
Ces deux dernières générations ont vu l'avènement des microprocesseurs et
microcontrôleurs.
Critiques:
• fonction figée par le constructeur
• intégration faible
• coût faible
• disponibilité immédiate
© R. Hertelli
5 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (3/7)
Les circuits à fonctionnement programmable:
• Les processeurs
• Les microprocesseurs
Critiques:
Avantages: temps développement, souplesse de programmation
Désavantages: temps d’exécution, coût structure minimum
CPU-RAM-E/S
© R. Hertelli
6 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (4/7)
Les circuits intégrés spécifiques (1) :
• Circuits intégrés pour les applications spécifiques encore appelées circuit à la
demande
• Les circuits spécifiques présentent une personnalisation de son fonctionnement,
selon l'utilisation, accompagnée d'une augmentation de la densité d'intégration
et de la vitesse de fonctionnement
Les circuits spécifiques peuvent se décomposer en deux classes
fondamentales:
• Les circuits semi personnalisés : ils regroupent les réseaux pré
diffusés et les réseaux logiques programmables desquels nous
pouvons distinguer les PLD (Programmable Logic Device) et les
FPGA ( Field Programmable Gate Array)
• Les circuits personnalisés : ils regroupent les circuits
précaractérisés et les circuits sur mesure souvent appelés ASIC
© R. Hertelli
7 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (5/7)
Les circuits intégrés spécifiques (2):
© R. Hertelli
8 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (6/7)
Les circuits intégrés spécifiques (3):
• Les circuits personnalisés
• ASIC Full Custom
à la demande : conception au niveau transistor, forte densité
d’intégration ( > 1 Mportes), délai de mise au point important
Standard Cell, précaractérisés : à partir de cellules
fonctionnelles de dimensions standard avec des caractéristiques
électriques connues contenues dans une bibliothèque logicielle
• ASIC Semi Custom
gate array, prédiffusés : constitués de matrices de portes ou de
cellules déjà diffusées dans le silicium mais non
interconnectées. Les délais de mise au point sont réduits mais
pas d ’optimisation en surface et en vitesse.
© R. Hertelli
9 Circuits Logiques Programmables 2023-2024
.
Classification des circuits numériques (7/7)
Les circuits intégrés spécifiques (4):
• Les circuits semi personnalisés
PLD : Programmable Logic Device réseau logique
programmable composés de réseau de ET et de OU
EPLD : Erasable Programmable Logic Device ou
CPLD : Complex Programmable Logic Device constitué de
plusieurs blocs de type PLD reliés par un réseau
d’interconnexions
FPGA : Field Programmable Gate Array ou LCA :Logic
Cell Array (Xilinx) matrices de cellules simples identiques
reliables par des interconnexions programmables
© R. Hertelli
10 Circuits Logiques Programmables 2023-2024
.
PARTIE II- LES RÉSEAUX
LOGIQUES PROGRAMMABLES
:PLD
1. Définition
2. Importance du «Time To Market »
3. Différences entre un ASIC et un PLD
4. PLD Structure et classification
5. PROM
6. PAL
7. PLA
8. CPLA
9. FPGA
© R. Hertelli
11 Circuits Logiques Programmables 2023-2024 .
1.Définition
PLD = Programmable Logic Devices.
Circuits logiques + ou - complexes remplaçant l’association de
plusieurs boîtes logiques
• Simplification de câblage
• Encombrement réduit
• Diminution des coûts
• Facilité d’utilisation
• Diminution du risque des pannes
© R. Hertelli
12 Circuits Logiques Programmables 2023-2024
.
2. Importance du «Time To Market »
Le cahier des charges du développement d’un système doit prendre en
compte les paramètres suivants :
• Le coût de production
• Les performances
• La consommation
• L'intégration
• L'évolution du produit
• La maintenance
• La protection industrielle
Deux alternatives existent :
• Les ASIC (Application Specific integrated Circuits)
• Les Circuits à réseaux programmables
© R. Hertelli
13 Circuits Logiques Programmables 2023-2024
.
3. Quelles différences entre un ASIC et un PLD
ASIC PLD
Application Specific Integrated Programmable Logic Device
Circuits
1. Choix du fondeur 1. Choix du circuit
2. Conception du circuit (full- 2. Programmation du circuit
custom – bibliothèques) (logiciel + interface circuit)
3. Très grand niveau d’intégration 3. Intégration limitée
4. Fabrication à très grand 4. Implémentation nombre
nombre d’exemplaire d’exemplaires limité
Un circuit dédié à une application Un circuit programmé pour une
Choix de la technologie application
Technologie figée mais :
Maximum de performances Facilité de programmation
© R. Hertelli
14 Circuits Logiques Programmables 2023-2024
.
[Link] PLD
Avantages des PLD
• Le coût et temps de développement.
• Le prototypage et temps de simulation accéléré.
• La prise de risque est réduite. (modifications possibles, risque d'inventaire)
• Des supports logiciels peu chers.
• Des produits éprouvés. (pas de vecteurs de test structurel)
Inconvénients
• Un niveau d'intégration moindre aux ASIC.
• Une consommation plus élevée.
• Des prix importants et une faible disponibilité pour de grandes séries©. R. Hertelli
15 Circuits Logiques Programmables 2023-2024
.
[Link] des PLD
Quatre Familles de PLD
© R. Hertelli
16 Circuits Logiques Programmables 2023-2024
.
6. Structure de PLD
les circuits logiques programmables les plus communs sont formés
par des structures basés sur l’utilisation de matrice AND suivie de
matrice OR .
L'une des deux matrices ou les deux sont programmables
© R. Hertelli
17 Circuits Logiques Programmables 2023-2024
.
6. Structure de PLD
Si la matrice AND est programmable, initialement une port AND
reçoit toutes les variables d’entrée, vraies et inversées : La
programmation consiste à enlever les variables qui ne sont pas
nécessaires pour un impliquant donné. Ceci est possible parce que la
connexion entre la variable et l’entrée de la porte se fait par le biais
d’un fusible qui peut être brûlé .
ET câblé S = e1 . e2
Si la matrice OR est programmable, initialement une port OR reçoit
plusieurs portes AND, connectées à ses entrées par le biais des
fusibles .La programmation consiste à brûler les fusibles
appartenant aux impliquants inutiles à la réalisation de la fonction
recherchée .
© R. Hertelli
18 Circuits Logiques Programmables 2023-2024
.
6. Structure de PLD
Selon le caractère des matrices AND et OR , il existe trois types de
circuits programmables :
• PROM (Programmable Read_Only Memory)
• PAL ( Programmable Array Logic)
• PLA ( Programmable Logic Array)
© R. Hertelli
19 Circuits Logiques Programmables 2023-2024
.
PROM :
PROGRAMMABLE READ
ONLY MEMORY
© R. Hertelli
20 Circuits Logiques Programmables 2023-2024
7. PROM
Structure Logique d’une PROM.
REMARQUE :
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 les UVPROM (aux U-V) et les EEPROM (électriquement).© R. Hertelli
21 Circuits Logiques Programmables 2023-2024
.
7. PROM
Structure Logique d’une PROM.
© R. Hertelli
22 Circuits Logiques Programmables 2023-2024
.
7. PROM
Exemple 1
Implémenter les fonctions
logiques suivantes :
© R. Hertelli
23 Circuits Logiques Programmables 2023-2024
.
7. PROM
Solution Exemple 1
© R. Hertelli
24 Circuits Logiques Programmables 2023-2024
.
PAL
(PROGRAMMABLE ARRAY
LOGIC)
© R. Hertelli
25 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
PAL : Matrice AND programmable suivie d’une matrice OR fixe
Structure Logique d’une PAL
© R. Hertelli
26 Circuits Logiques Programmables 2023-2024
.
8. PAL (Programmable Array Logic)
Fusibles
Les fonctions ET sont programmables
© R. Hertelli
27 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
Exemple d’un OU EXCLUSIF
Fusible intact
Fusible détruit
© R. Hertelli
28 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
Sortie 3 ETATS
© R. Hertelli
29 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
Sortie à REGISTRE
© R. Hertelli
30 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
Entrée / Sortie VERSATILE
© R. Hertelli
31 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
Example PAL Structure: PAL18L4
© R. Hertelli
32 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
• Example: Z0 = A’BC + C’D
– Z0’ = (A + B’ + C’) (C + D’)
= AC + B’C + AD’ + B’D’ + C’D’
© R. Hertelli
33 Circuits Logiques Programmables 2023-2024
8. PAL (Programmable Array Logic)
* PAL16R8
© R. Hertelli
34 Circuits Logiques Programmables 2023-2024
PLA
(PROGRAMMABLE LOGIC
ARRAY )
© R. Hertelli
35 Circuits Logiques Programmables 2023-2024
9. PLA (Programmable Logic Array)
PAL : Les deux matrices sont programmables
Structure Logique d’une PLA.
© R. Hertelli
36 Circuits Logiques Programmables 2023-2024
GAL
(GENERIC ARRAY LOGIC)
© R. Hertelli
37 Circuits Logiques Programmables 2023-2024
10. GAL (Generic Array Logic)
L’inconvénient majeur des PALs est qu’ils ne sont programmables
qu’une seule fois. Ceci impose un gaspillage important de ces
circuits lorsqu’on veut développer un nouveau produit.
naissance aux GALs que l’on pourrait traduire par « Réseau logique
Générique ». Ces circuits peuvent donc être reprogrammés à volonté sans
pour autant avoir une durée de vie restreinte.
PROTECTION CONTRE LA DUPLICATION.
– Les GAL sont dotés d’un bit de sécurité qui peut être activé
lors de la programmation empêchant ainsi toute lecture du
contenu du circuit. Ce bit est remis à zéro seulement en
effaçant complètement le GAL.
– Il est aussi constitué d’un ensemble de huit octets, appelé
signature électronique, pouvant contenir des informations
diverses sur le produit.
© R. Hertelli
38 Circuits Logiques Programmables 2023-2024
10. GAL (Generic Array Logic)
REFERENCE DES GAL.
• Le nombre de types de GAL est de 8. Les deux derniers nés
présentent une structure plus particulière que nous
n’aborderons pas dans ce cours. Les six plus anciens sont
différenciés par leurs nombres d’entrées et de sorties. Ils
possèdent une structure de sortie soit du type « Versatile »
soit du type « Registre asynchrone ».
© R. Hertelli
39 Circuits Logiques Programmables 2023-2024
10. GAL (Generic Array Logic)
Macro-cellule OLMC du GAL 16V8
© R. Hertelli
40 Circuits Logiques Programmables 2023-2024
Conclusion / PLD
Il existe plusieurs familles de PLD qui sont différenciées par leur
structure 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.
© R. Hertelli
41 Circuits Logiques Programmables 2023-2024
Conclusion / PLD
PAL (Programmable Array Logic) matrice ET programmable, matrice
OU figée)
PLA (Programmable Logic Array) matrice ET et matrice OU
programmable :PLD
EPLD (Erasable PLD) effaçables par rayons ultraviolet, ils peuvent
être reprogrammer,
EEPLD (Electrically Erasable PLD) programmables et effaçables
électriquement, ils peuvent être reprogrammés sur site. Les limites de
l'architecture du PLD résident dans le nombre de bascules, le nombre
de signaux d'entrées/sorties, la rigidité du plan logique ET OU et des
interconnexions.
Précisons que ces composants très souples d'emploi sont limités à des
fonctions numériques et adaptés à des productions de petites séries et ne
présentent aucune garantie quant à la confidentialité.
© R. Hertelli
42 Circuits Logiques Programmables 2023-2024
CPLD
(COMPLEX PLD)
PLD COMPLEXE
REPROGRAMMABLE
© R. Hertelli
43 Circuits Logiques Programmables 2023-2024
11. CPLD (Complex PLD)
La nécessité de placer de plus en plus de fonctions dans un même
circuit a conduit tout naturellement à intégrer plusieurs SPLD
(Simple blocs logiques) sur une même pastille, reliés entre eux par
une matrice centrale
Exemple : Le CPLD d’Altera MAX9000
© R. Hertelli
44 Circuits Logiques Programmables 2023-2024
11. CPLD (Complex PLD)
un ensemble de modules appelés LAB (logic array bloc). Chaque
module LAB est composé de 16 macro-cellules
Une macro-cellule englobe un réseau de porte logique ET
programmables alimentant à travers une matrice d’interconnexion,
les entrées d’une porte OU et d’une bascule D
des pistes d’interconnexion rapides appelées FTI (Fast Track
Interconnect). La famille MAX9000 utilise la technologie
EEPROM. © R. Hertelli
45 Circuits Logiques Programmables 2023-2024
11. CPLD (Complex PLD)
Famille EPLD Classique
EP610
© R. Hertelli
46 Circuits Logiques Programmables 2023-2024
11. CPLD (Complex PLD)
Famille
EPLD
Classique
EP 1810
© R. Hertelli
47 Circuits Logiques Programmables 2023-2024
FPGA
(FIELD PROGRAMMABLE
GATE ARRAYS)
© R. Hertelli
48 Circuits Logiques Programmables 2023-2024
12. FPGA (Field Programmable Gate Arrays)
© R. Hertelli
49 Circuits Logiques Programmables 2023-2024
12. FPGA (Field Programmable Gate Arrays)
Architecture gate-array (FPGA).
• Ensemble de cellules logiques
disposées en matrice et séparées
par des canaux de routage
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
organisés en Rangées/Colonnes. A
E/S
E/S
chaque intersection se trouve un
E/S
E/S
E/S
commutateur.
E/S
E/S
• Le temps de propagation dépend
E/S
E/S
du routage choisi pour réaliser
E/S
E/S
l'interconnexion.
E/S
E/S
E/S
E/S canaux de routage
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
cellule logique
© R. Hertelli
50 Circuits Logiques Programmables 2023-2024
12. FPGA (Field Programmable Gate Arrays)
Routage dans un FPGA).
exemple : XC4000 XILINX
commutateur
rangée pour connexions
globales = lignes longues
cellule cellule
logique logique
rangée pour connexions
locales =segments
colonne pour
connexions locales
© R. Hertelli
51 Circuits Logiques Programmables 2023-2024
12. FPGA (Field Programmable Gate Arrays)
Routage dans un FPGA).
A A
B B
grande adaptabilité du routage
© R. Hertelli
52 Circuits Logiques Programmables 2023-2024
12. FPGA (Field Programmable Gate Arrays)
Routage dans un FPGA) : FLEX ALTERA
routage local AA A A
dans le bloc
B
cellules dans le même bloc cellules dans blocs différents :
1 ligne rangée et colonne occupée
1 commutation max => temps de propagation + déterministe
besoin de + de lignes
© R. Hertelli
53 Circuits Logiques Programmables 2023-2024
Comment choisir un FPGA ?
Caractéristiques techniques du FPGA
- Performances (complexité, vitesse, conso.)
- Nombre E/S et interface
- Tension d’alimentation
- Boitié
Qualité des softs associés au FPGA (CAO et IP)
Technique de programmation (Field/InSitu)
Technique de debug et de test
Critères économiques
- prix, disponibilité
- pérennité et flexibilité de la famille.
© R. Hertelli
54 Circuits Logiques Programmables 2023-2024
CAO pour conception de CLP
Très similaires à celle des circuits VLSI :
Synthèse et P/R spécifique :
D: • nombre de cellules figé par circuit
spécifications • 1 cellule = entre 1 et 20 portes 2 entrées
Autonomie :
réalisation= téléchargement de la liste
VERIFICATION d’équipotentielles dans le circuit
PLACEMENT PROGRAMMATION
SAISIE SYNTHESE CONFIGURATION
ROUTAGE
Technologie
CLP
PC et/ou station de travail
© R. Hertelli
55 Circuits Logiques Programmables 2023-2024
placement routage
Chaque vendeur de CLP fournit son outil de P/R dédié
"Netlist " après synthèse
vers
programmeur
partitionnement
circuits multiples floorplanning placement routage
control
adder
CLP glue FIFO
timing
+ CLP
Bloc cellule équipotentielle
© R. Hertelli
56 Circuits Logiques Programmables 2023-2024
Importance de la qualité des softs
Les FPGAs deviennent très complexes et très flexibles.
=> L’optimisation du P/R devient très complexe
=> Logiciels performants
Hors les logiciels de CAO pour les CLPs manquent de maturités :
=> très lents (24 h pour un placement routage)
=> peu stables (machine à rebouter)
=> peu efficaces et non déterministes :
a) temps de propagation trop long
b) en échec (pas de solution trouvée).
=>il faut alors guider « à la main » le placement
© R. Hertelli
57 Circuits Logiques Programmables 2023-2024
Synthèse sur FPGA
Pour optimiser la synthèse, il faut la guider :
=> Directive global de compilation :
Effort d ’optimisation, critères de synthèse (Vitesse vs Surface, Fan out)
=> Directive locale de compilation dans le texte
-- « mot clef » « directive compilation »
=> Directive hiérarchique de compilation
tel bloc, telle méthode (insertion libre de registres, méthode A).
=> Utilisation d ’opérateurs « optimisés par le fondeur »
appels de macro-blocs additionneurs, multiplieurs,... paramétrables
PROBLEME : Le code VHDL devient spécifique au FPGA
© R. Hertelli
58 Circuits Logiques Programmables 2023-2024
Placement sur FPGA
Problème NP-complet qui conditionne :
- la possibilité de trouver une solution de routage
- le chemin critique
Solution :
- Indiquer « à la main » le placement des blocs dans le
floor plan.
- Placement routage incrémental
Assignation manuelle ou automatique des PAD E/S sur les
entrées/sorties du composant VHDL.
© R. Hertelli
59 Circuits Logiques Programmables 2023-2024
Intellectual Property (IP)
La qualité d ’une CLPs dépend aussi des IPs disponibles
pour accélérer la conception (de même que la qualité d’un système
d ’exploitation dépend des logiciels existant).
Les structures matérielles deviennent du consommable
Achat ou location d ’un design paramétrable
Licence ou royalties
Développement et échange d’IP grâce aux langages
standards
© R. Hertelli
60 Circuits Logiques Programmables 2023-2024