Plan
Introduction :
Définition des circuits logiques programmables
Rappel de l'importance des circuits logiques dans les systèmes électroniques
Présentation des enjeux de la programmation de circuits logiques
I. Le fonctionnement des circuits logiques programmables :
1.1- Principe de la programmation des connexions entre les différents blocs logiques
1.2- Utilisation des fusibles ou des mémoires non volatiles pour la modification de la
structure du circuit
1.3- Exemple concret de la programmation d'un circuit logique programmable
II. Les différentes familles de circuits logiques programmables :
2.1- Les PAL (Programmable Array Logic) : présentation, avantages et inconvénients,
domaines d'application
2.2- Les GAL (Generic Array Logic) : présentation, avantages et inconvénients, domaines
d'application
2.3- Les EPLD (Erasable Programmable Logic Devices) : présentation, avantages et
inconvénients, domaines d'application
2.4- Les FPGA (Field-Programmable Gate Arrays) : présentation, avantages et inconvénients,
domaines d'application
III. Les applications des circuits logiques programmables :
3.1- Les systèmes embarqués et les télécommunications : présentation des avantages de
l'utilisation des circuits logiques programmables dans les systèmes embarqués et les
télécommunications
3.2- Les applications industrielles, militaires et de défense : présentation des avantages de
l'utilisation des circuits logiques programmables dans les applications industrielles, militaires
et de défense
Conclusion
Synthèse, importance et perspectives d'avenir pour les circuits logiques
programmables
1
INTRODUCTION
L'avènement des systèmes électroniques modernes a permis une évolution
considérable des technologies de l'information et de la communication,
ainsi que de nombreux domaines d'application tels que l'industrie,
l'automobile, les télécommunications, la défense, et bien d'autres. Les
circuits logiques sont au cœur de ces systèmes électroniques et leur bonne
conception est essentielle pour garantir un fonctionnement optimal. Les
circuits logiques programmables, ou PLD, sont des composants
électroniques qui permettent la réalisation de circuits logiques
personnalisés et reprogrammables, offrant ainsi une grande flexibilité et
une capacité de traitement élevée. Dans cet exposé, nous allons explorer le
fonctionnement des circuits logiques programmables ainsi que les
différentes familles de PLD, notamment les CPLD, les FPGA, les PAL et les
GAL. Nous aborderons également les applications des circuits logiques
programmables dans des domaines tels que les systèmes embarqués, les
télécommunications, l'industrie et la défense. Ainsi, cet exposé nous
permettra de mieux comprendre les enjeux de la programmation des
circuits logiques et de son importance dans le développement de systèmes
électroniques modernes.
2
I. Le fonctionnement des circuits logiques programmables
Circuit logique programmable et circuit intégré logique
A la différence des circuits intégrés logiques (CIL) qui sont des composants électroniques qui
contiennent des circuits logiques fixes, câblés en interne par le fabricant et conçus pour
réaliser des fonctions logiques prédéfinies, telles que des portes logiques, des bascules ou
des multiplexeurs qui ne sont pas programmables et ne peuvent pas être reconfigurés après
leur fabrication ; les circuits logiques programmables (PLD) sont des composants
électroniques qui peuvent être programmés pour réaliser des circuits logiques personnalisés
et reprogrammables. Les PLD sont composés de blocs logiques interconnectables et
configurables par l'utilisateur, tels que des portes logiques, des bascules, des multiplexeurs
ou des démultiplexeurs. Ils sont programmés après leur fabrication et peuvent être
reprogrammés à tout moment pour modifier la structure du circuit logique.
Image1 : Circuit logique programmable
Image2 : Circuit intégré logique
3
1.1- Principe de la programmation des connexions entre les différents blocs
logiques
La notion de programmation des PLD revient à définir une table de connexion et
d'interconnexion des portes logiques. Ce n'est donc pas une programmation algorithmique
(c.-à-d. une série d'instructions faite pour tourner sur un processeur) mais une
programmation matérielle
Programmation
La programmation des PLD modernes (FPGA / CPLD) passe généralement par un compilateur
basé sur un langage de programmation de type langage de description matériel (ou « HDL »
pour Hardware Description Language) comme le ABEL. Pour faciliter la programmation, il
existe aussi des langages de plus haut niveau. Les deux plus connus sont le VHDL (« V » pour
« Very high speed ») et le VERILOG. Il est également possible d'utiliser OpenCL6, plutôt qu'un
VHDL, ou bien des langages de plus haut niveau que les HDL.
Les autres langages sont ensuite traduits dans un des deux HDL — Verilog ou VHDL — avant
de pouvoir être synthétisés pour le circuit. Le synthétiseur est généralement propre à
chaque fabriquant, cependant, aujourd'hui, l'utilisation du logiciel libre Yosys, à l'instar de
GCC pour la compilation en langage machine, tend à unifier la synthèse pour tous les types
de PLD. Certains constructeurs, tels Renesas ou Cologne Chip Design, ont préféré
implémenter directement les synthétiseurs de leurs FPGA dans Yosys plutôt que d'en créer
de nouveaux .
Note :
Yosys est une suite logicielle de Synthèse logique (en électronique, la synthèse logique ;anglais : RTL
synthesis est la traduction d'une forme abstraite de description du comportement d'un circuit en sa
réalisation concrète sous forme de portes logiques. ), permettant donc de convertir un circuit logique
de sa description dans un langage de description de matériel (HDL), tel que Verilog ou VHDL, vers un
bitstream au format Register Transfer Level (RTL), utilisable par un circuit programmable de
type FPGA. Il effectue également les tâches de vérification formelle. Il a été créé par Clifford Wolf.
(voir : Yosys#Formats_RTL_supportés).
Principe de la programmation des connexions
Les circuits logiques programmables permettent la réalisation de circuits logiques
personnalisés et reprogrammables. Pour cela, il est nécessaire de comprendre le principe de
la programmation des connexions entre les différents blocs logiques.
Les PLD se composent de plusieurs blocs logiques, tels que des portes logiques (AND, OR,
NOT, etc.), des bascules (flip-flops), des multiplexeurs (MUX) et des démultiplexeurs
(DEMUX). Ces blocs sont interconnectés pour former un circuit logique. Le principe de la
4
programmation consiste à définir les connexions entre ces blocs logiques pour réaliser la
fonction logique souhaitée.
La programmation des connexions peut être réalisée à l'aide de fusibles ou de mémoires non
volatiles. Les fusibles sont des composants qui peuvent être brûlés ou effacés pour ouvrir ou
fermer des connexions dans le circuit. Les mémoires non volatiles, telles que les EEPROM ou
les Flash, permettent une programmation plus flexible et moins destructive.
Lorsque la structure du circuit logique doit être modifiée, il est nécessaire de reprogrammer
les connexions entre les blocs logiques. Pour cela, les fusibles peuvent être remplacés ou les
mémoires non volatiles peuvent être réécrites.
Le principe de la programmation des connexions entre les blocs logiques des circuits
logiques programmables permet de créer des circuits logiques personnalisés et
reprogrammables. Cette programmation peut être réalisée à l'aide de fusibles ou de
mémoires non volatiles.
1.2- Utilisation des fusibles ou des mémoires non volatiles pour la
modification de la structure du circuit
Les circuits logiques programmables (PLD) peuvent être programmés pour réaliser des
fonctions logiques spécifiques. Pour cela, les PLD sont composés de blocs logiques
interconnectables et configurables par l'utilisateur, tels que des portes logiques, des
bascules, des multiplexeurs ou des démultiplexeurs. La programmation de ces blocs logiques
peut être réalisée à l'aide de fusibles ou de mémoires non volatiles.
Les fusibles sont des composants qui peuvent être brûlés ou effacés pour ouvrir ou fermer
des connexions dans le circuit. Pour programmer un PLD à l'aide de fusibles, une tension
élevée est appliquée sur les fusibles sélectionnés pour les brûler et ainsi ouvrir une
connexion dans le circuit. Cette méthode de programmation est irréversible et peut être
utilisée pour les circuits logiques qui ne nécessitent pas une reprogrammation fréquente.
5
Image3 : Structure interne des fusibles utilisés par les PLD
Les mémoires non volatiles, telles que les EEPROM ou les Flash, permettent une
programmation plus flexible et moins destructive. Dans ce cas, la programmation est réalisée
en écrivant des données dans les mémoires, qui stockent les informations de connexion
entre les blocs logiques. Cette méthode de programmation est réversible et permet une
reprogrammation fréquente des PLD.
Image4 : Model de Flash et EEPROM
En résumé, les PLD peuvent être programmés à l'aide de fusibles ou de mémoires non
volatiles. La programmation par fusibles est irréversible et peut être utilisée pour les circuits
logiques qui ne nécessitent pas une reprogrammation fréquente. La programmation par
mémoires non volatiles permet une programmation plus flexible et réversible, adaptée aux
applications nécessitant une reprogrammation fréquente.
6
1.3- Exemple concret de la programmation d'un circuit logique programmable
Prenons l'exemple d'un circuit logique programmable (PLD) programmé pour réaliser une
fonction logique AND à 4 entrées. Le PLD est composé de blocs logiques interconnectables et
configurables par l'utilisateur, tels que des portes logiques, des bascules, des multiplexeurs
ou des démultiplexeurs.
La programmation de ce circuit logique programmable peut être réalisée à l'aide d'un logiciel
de conception de circuits, tel que Quartus ou Vivado. Tout d'abord, l'utilisateur doit spécifier
la fonction logique qu'il souhaite réaliser, dans ce cas une fonction AND à 4 entrées.
Ensuite, l'utilisateur peut sélectionner les blocs logiques appropriés pour réaliser cette
fonction logique. Dans ce cas, quatre blocs logiques AND à 2 entrées peuvent être utilisés
pour réaliser la fonction AND à 4 entrées.
Une fois que les blocs logiques ont été sélectionnés, l'utilisateur peut configurer les
connexions entre les blocs logiques pour réaliser la fonction logique souhaitée. Dans ce cas,
les sorties des deux premiers blocs logiques AND sont connectées aux entrées du troisième
bloc logique AND, dont la sortie est connectée à l'entrée d'un quatrième bloc logique AND.
La sortie de ce dernier bloc logique AND est la sortie du circuit logique programmable, qui
correspond à la fonction logique AND à 4 entrées
Enfin, l'utilisateur peut programmer le PLD en écrivant les données de configuration dans les
mémoires non volatiles du PLD, qui stockent les informations de connexion entre les blocs
logiques. Une fois programmé, le PLD peut être utilisé pour réaliser la fonction logique AND
à 4 entrées.
En résumé, la programmation d'un circuit logique programmable implique la sélection des
blocs logiques appropriés, la configuration des connexions entre les blocs logiques et la
programmation du PLD à l'aide de logiciels de conception de circuits et de mémoires non
volatiles.
II. Les différentes familles de circuits logiques programmables
Les circuits logiques programmables (également appelés PLD) sont utilisés pour remplacer
l’association de plusieurs boîtiers logiques. Le câblage est simplifié, l’encombrement et le
risque de pannes est réduit. Certains PLD ne permettent pas la relecture de la fonction
logique programmée, c’est pratique lorsque le programme doit rester confidentiel.
Le terme PLD regroupe 4 familles de composants :
Image5 : Familles de
PLD
7
2.1- Les PAL (Programmable Array Logic) : présentation, avantages et
inconvénients, domaines d'application
Les circuits logiques programmables sont des composants électroniques très utilisés dans la
conception de circuits électroniques. Parmi eux, on trouve les PAL (Programmable Array
Logic), qui sont des circuits programmables permettant de réaliser des fonctions logiques
complexes.
Les PAL sont composés de deux parties principales : une matrice programmable de portes ET
(AND) et une matrice programmable de portes OU (OR). Les entrées de chaque porte ET sont
connectées à une ligne d'entrée programmable, tandis que les sorties de chaque porte OU
sont connectées à une ligne de sortie programmable. Ainsi, en sélectionnant les entrées et
les sorties appropriées, les PAL peuvent être programmés pour réaliser des fonctions
logiques complexes.
Les avantages des PAL sont nombreux. Ils sont programmables, ce qui signifie qu'ils peuvent
être utilisés pour réaliser une grande variété de fonctions logiques. Ils sont également
relativement rapides, car les connexions sont réalisées par des fusibles plutôt que par des
mémoires non volatiles. En outre, les PAL sont généralement peu coûteux et faciles à
intégrer dans les conceptions de circuits électroniques.
Cependant, les PAL présentent également des inconvénients. Tout d'abord, leur nombre de
portes logiques est limité, ce qui signifie qu'ils ne peuvent pas être utilisés pour réaliser des
fonctions logiques très complexes. De plus, leur programmation est irréversible, ce qui
signifie que les PAL ne peuvent pas être reprogrammés une fois qu'ils ont été configurés.
Image6 : Structure simplifiée d’un Pal ( 2 entrées 1 sortie)
Note : Ce PAL simplifié comporte 2 entrées I1 et I2 et une sortie O. Huit fusibles (F1 à F8)
permettent de réaliser diverses fonctions logiques. La programmation va consister à faire
sauter les fusibles nécessaires afin de réaliser la fonction voulue.
Les domaines d'application des PAL sont variés. Ils sont utilisés dans les systèmes de contrôle
de processus industriels, les équipements de test et de mesure, ainsi que dans les
ordinateurs et les périphériques. Les PAL peuvent également être utilisés dans la conception
de systèmes embarqués, tels que les systèmes de contrôle automobile et les systèmes de
contrôle de drones.
8
2.2- Les GAL (Generic Array Logic) : présentation, avantages et inconvénients,
domaines d'application.
Les GAL sont des circuits logiques programmables qui utilisent des mémoires non volatiles
pour stocker les connexions entre les blocs logiques, contrairement aux PAL qui utilisent des
fusibles. Cette caractéristique leur permet d'être reprogrammés plusieurs fois, ce qui est un
avantage par rapport aux PAL. De plus, les GAL offrent une plus grande flexibilité en
permettant la programmation de connexions plus complexes entre les blocs logiques.
Les GAL sont composés de blocs logiques interconnectables, tels que des portes logiques,
des bascules, des multiplexeurs ou des démultiplexeurs. Les entrées et les sorties de ces
blocs logiques sont programmables, ce qui permet de les configurer pour réaliser une grande
variété de fonctions logiques.
Les avantages des GAL sont nombreux. Ils offrent une grande flexibilité en matière de
programmation des connexions entre les blocs logiques, ce qui permet de réaliser des
fonctions logiques complexes. Ils sont également reprogrammables plusieurs fois, ce qui les
rend plus économiques que les PAL.
Image7 : Circuit logique GAL16V8D
Cependant, les GAL ont également des inconvénients. Tout d'abord, leur temps de
programmation est plus long que celui des PAL, car les mémoires non volatiles nécessitent
plus de temps pour être programmées. De plus, leur coût est généralement plus élevé que
celui des PAL en raison de la complexité de leur architecture.
Les domaines d'application des GAL sont variés. Ils sont utilisés dans les systèmes
embarqués, les équipements de test et de mesure, ainsi que dans les ordinateurs et les
périphériques. Les GAL sont également utilisés dans la conception de circuits logiques pour
les applications militaires, aérospatiales et de défense.
2.3- Les EPLD (Erasable Programmable Logic Devices) : présentation, avantages et
inconvénients, domaines d'application
9
Les EPLD (Erasable Programmable Logic Devices) sont des circuits logiques programmables
qui sont utilisés pour réaliser des fonctions logiques complexes. Ils sont similaires aux GAL en
termes d'architecture, mais utilisent des fusibles électriques programmables plutôt que des
mémoires non volatiles pour stocker les connexions entre les blocs logiques.
Les EPLD offrent de nombreux avantages par rapport aux circuits logiques programmables
conventionnels, notamment leur grande flexibilité en matière de programmation et leur
temps de programmation plus court par rapport aux GAL. Ils sont également plus
performants que les PAL et les GAL en termes de vitesse de traitement
Cependant, les EPLD ont des inconvénients, notamment leur coût élevé, leur faible densité
et leur limitation en termes de taille de la matrice logique. De plus, ils ne sont pas
réutilisables, ce qui signifie que le coût de développement d'un nouveau circuit EPLD peut
être prohibitif.
Image8 : Circuit logique CPLD : ATF750CL
Les EPLD sont utilisés dans des applications similaires à celles des PAL et des GAL,
notamment dans les équipements de test et de mesure, les systèmes embarqués, les
ordinateurs et les périphériques, ainsi que dans les applications militaires et de défense. Ils
sont également utilisés dans les systèmes de contrôle de processus, les systèmes de
communication et les systèmes de traitement d'images.
En raison de leur coût élevé, les EPLD sont souvent utilisés dans des applications où la haute
performance est essentielle et où le coût n'est pas un facteur limitant, comme dans les
équipements militaires et de défense, les équipements médicaux, les systèmes de sécurité et
les équipements de test et de mesure.
2.4- Les FPGA (Field-Programmable Gate Arrays) : présentation, avantages et
inconvénients, domaines d'application
Les FPGA (Field-Programmable Gate Arrays) sont des circuits logiques programmables
avancés, qui offrent une grande flexibilité en matière de conception de circuits intégrés.
Contrairement aux autres types de circuits logiques programmables, les FPGA sont
composés de blocs logiques programmables (ou CLB) interconnectés par une matrice de
routage programmable.
10
Les FPGA offrent de nombreux avantages par rapport aux autres circuits logiques
programmables. Ils permettent une grande flexibilité dans la conception de circuits intégrés,
ce qui les rend idéaux pour les applications qui nécessitent une conception personnalisée,
des algorithmes avancés ou des processus de traitement des données complexes. Les FPGA
offrent également des temps de réponse rapides et une consommation d'énergie réduite par
rapport à d'autres circuits logiques programmables.
Cependant, les FPGA ont également des inconvénients. Ils sont souvent plus chers que les
autres circuits logiques programmables et peuvent être plus difficiles à programmer en
raison de leur complexité. De plus, leur complexité les rend également plus difficiles à
déboguer et à tester.
Image9 : Circuit logique EP4SGX230
Les FPGA sont utilisés dans une variété d'applications, notamment dans les domaines de
l'informatique, de la communication, de l'automatisation industrielle, de l'aérospatiale, de la
défense, de la recherche scientifique et des équipements médicaux. Ils sont souvent utilisés
pour la mise en œuvre de systèmes de traitement de signaux numériques, de systèmes de
traitement d'images, de systèmes de communication sans fil, de processeurs de données en
temps réel, et de systèmes de traitement de données massives.
3.1- Les systèmes embarqués et les télécommunications : présentation des
avantages de l'utilisation des circuits logiques programmables dans les
systèmes embarqués et les télécommunications
Les circuits logiques programmables sont de plus en plus utilisés dans les systèmes
embarqués et les télécommunications en raison de leurs avantages en matière de flexibilité
de conception, de réduction des coûts et d'amélioration des performances.
Dans les systèmes embarqués, les circuits logiques programmables offrent la possibilité de
mettre en œuvre des fonctions personnalisées qui sont spécifiques aux exigences de chaque
application. Par exemple, un système embarqué utilisé dans l'industrie automobile pourrait
11
nécessiter une fonction de contrôle de la température spécifique à cette application. Les
circuits logiques programmables permettent de concevoir et d'implémenter cette fonction
spécifique avec une grande flexibilité et une grande précision.
De plus, les circuits logiques programmables peuvent réduire les coûts de production en
permettant la réutilisation de la même puce pour différentes applications ou différentes
versions d'une même application. Ils peuvent également réduire les coûts de maintenance
en permettant la mise à jour du logiciel sans avoir besoin de remplacer la puce physique.
Dans le domaine des télécommunications, les circuits logiques programmables sont utilisés
pour la mise en œuvre de fonctions de traitement de signal et de communication. Les
avantages incluent une grande flexibilité de conception pour la personnalisation des
fonctions en fonction des exigences des différents systèmes, une amélioration des
performances des systèmes, et une réduction des coûts de production et de maintenance.
En outre, les circuits logiques programmables peuvent être utilisés pour la mise en œuvre de
la communication sans fil, ce qui est crucial pour les applications de télécommunications
modernes. Ils offrent également une grande capacité de traitement de données en temps
réel, ce qui est important pour les systèmes de communication à haute vitesse.
3.2- Les applications industrielles, militaires et de défense : présentation des
avantages de l'utilisation des circuits logiques programmables dans les
applications industrielles, militaires et de défense
Les circuits logiques programmables sont également largement utilisés dans les applications
industrielles, militaires et de défense en raison de leurs avantages en matière de flexibilité
de conception, de robustesse et de sécurité.
Dans les applications industrielles, les circuits logiques programmables sont utilisés pour la
mise en œuvre de fonctions de contrôle industriel, de surveillance et de traitement de
données. Les avantages incluent une grande flexibilité de conception pour la
personnalisation des fonctions en fonction des exigences des différents systèmes, une
amélioration des performances des systèmes, ainsi qu'une réduction des coûts de
production et de maintenance.
Les circuits logiques programmables sont également utilisés dans les applications militaires
et de défense pour la mise en œuvre de fonctions de traitement de données, de
communication et de contrôle. Les avantages incluent la capacité de personnaliser
rapidement les fonctions en fonction des exigences changeantes, ainsi que la capacité de
réduire les coûts et les délais de développement. Les circuits logiques programmables
offrent également une grande robustesse et résistance aux conditions environnementales
difficiles, telles que les vibrations, les chocs, l'humidité et les températures extrêmes.
De plus, les circuits logiques programmables offrent une grande sécurité pour les
applications militaires et de défense, car ils peuvent être configurés pour empêcher l'accès
non autorisé aux fonctions critiques. Les circuits logiques programmables peuvent
12
également être configurés pour garantir la sécurité des données sensibles, ce qui est
essentiel dans les applications de défense.
CONCLUSION
13
En conclusion, les circuits logiques programmables ont une importance cruciale dans les
systèmes électroniques modernes en raison de leur flexibilité de conception, de leur haute
performance et de leur faible coût. Ils offrent des avantages considérables dans un large
éventail d'applications, notamment les systèmes embarqués, les télécommunications, les
applications industrielles, militaires et de défense. Ils se déclinent en plusieurs familles, dont
les PAL, les GAL, les EPLD et les FPGA, chacune avec ses avantages et inconvénients. La
programmation des circuits logiques programmables se fait à l'aide de fusibles, de mémoires
non volatiles ou d'autres technologies, en fonction de la famille de circuits logiques
programmables utilisée. Ii est à retenir que les perspectives d'avenir pour les circuits
logiques programmables sont très prometteuses, car ils sont de plus en plus utilisés dans les
systèmes électroniques, en particulier dans les systèmes embarqués, les
télécommunications et les applications industrielles et militaires. Les avancées
technologiques telles que l'intégration de circuits plus denses, la miniaturisation et
l'augmentation de la vitesse de traitement offrent de nouvelles opportunités pour les circuits
logiques programmables. En somme, les circuits logiques programmables sont un domaine
passionnant et en constante évolution de l'ingénierie électronique, et leur importance ne
fera qu'augmenter dans les années à venir.
REFERENCES
https://fr.wikipedia.org/wiki/Circuit_logique_programmable
14
https://sti.discip.ac-caen.fr/IMG/pdf/plds.pdf
https://sti.discip.ac-caen.fr/IMG/pdf/plds.pdf
15