Conception des circuits numériques
Architecture des circuits Intégrés
Classification des circuits programmables
Les PLD, FPGA
Les mémoires mortes programmables
Modélisation des Circuits Intégrés
Méthodologie de conception
Le langage VHDL
VHDL pour la synthèse
Modélisation des circuits numériques
VerilogHDL
Test & vérification des circuit numérique
La synthèse en VHDL
Logiciel de simulation de VHDL
Test de modélisation
13/10/2016 Pr. Z. ALAOUI ISMAILI 1
I. INTRODUCTION
L'électronique moderne numérique 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...
par contre les circuits numériques
− nécessitent une architecture plus lourde « leur mode de traitement de l'information
met en oeuvre plus de fonctions élémentaires que l'analogique » d'où découle des
temps de traitement plus long.
− Aussi les fabricants de circuits intégrés numériques s'attachent-ils à fournir des
circuits présentant des densités d'intégration toujours plus élevée, pour des vitesses
de fonctionnement de plus en plus grandes.
13/10/2016 Pr. Z. ALAOUI ISMAILI 2
D'abord réalisées avec des circuits SSI (Small Scale Integration)
avec la mise au point du les fonctions logiques
intégrées se sont
développées
Transistor MOS
dont la facilité d'intégration
a permis la réalisation
• de circuits MSI (Medium Scale Integration) puis LSI (Large Scale Integration)
• puis VLSI (Very Large Scale Integration).
Ces deux dernières générations ont vu l'avènement des
microprocesseurs et microcontroleurs.
13/10/2016 Pr. Z. ALAOUI ISMAILI 3
Ces deux dernières générations
« microprocesseurs et microcontrôleurs »
révolutionné
l'électronique
numérique
la possibilité de réaliser n'importe quelle
fonction par programmation d'un composant
générique
Ils traitent l'information de manière
séquentielle (du moins dans les versions
classiques), ne répondant pas toujours aux
exigences de rapidité.
13/10/2016 Pr. Z. ALAOUI ISMAILI 4
Au début des années 70 sont apparus les premiers composants (en technologie
bipolaire) entièrement configurable par programmation.
Nouveauté
N'importe quelle fonction logique
Il était maintenant possible
d'implanter physiquement par simple
programmation
au sein du circuit
non plus de se contenter de faire réaliser une
opération logique par un microprocesseur dont
l'architecture est figée.
13/10/2016 Pr. Z. ALAOUI ISMAILI 5
D'abord dédiés à des fonctions simples en combinatoire
(décodage d'adresse par exemple)
ces circuits laissent aujourd'hui au
concepteur la possibilité
Implanter des composants aussi Le circuit n'est plus limité à un mode de
divers qu'un inverseur et un traitement séquentielle de l'information comme
microprocesseur au sein d'un même avec les microprocesseurs.
boîtier
Possibilité
L'intégration des principales fonctions numériques
d'une carte au sein d'un même boîtier.
Répondre à la fois critères de
Densité Rapidité
Capacités parasites étant plus faibles, la vitesse de fonctionnement peut augmenter
13/10/2016 Pr. Z. ALAOUI ISMAILI 6
Plupart de ces circuits
Programmés à partir d'un Directement sur la carte
simple ordinateur type PC où ils vont être utilisés
En cas d'erreur
Ils sont reprogrammables électriquement sans avoir
à extraire le composant de son environnement.
De nombreuses familles de circuits De même une certaine inertie dans
sont apparues depuis les années 70 l'évolution du vocabulaire a fait que
avec des noms très divers suivant les certains circuits technologiquement
constructeurs différents ont le même nom.
Brevets
Circuits très voisins
pouvaient être appelés raisons
différemment par deux
constructeurs concurrents
Stratégies commerciales
13/10/2016 Pr. Z. ALAOUI ISMAILI 7
Le terme même de circuit programmable
ambigu
Programmation d'un FPGA ne faisant pas appel aux mêmes opérations
que celle d'un microprocesseur
Il serait plus juste de parler pour les PLD, CPLD et FPGA de circuits à
architecture programmable ou encore de circuits à réseaux logiques
programmables.
13/10/2016 Pr. Z. ALAOUI ISMAILI 8
Ce domaine de l'électronique est aussi celui qui certainement a vu la plus
forte évolution technologique ces dernières années
• En moins de 15 ans la densité d'intégration à été multipliée par 200 (2000 à
20 000 portes en 85 pour 72 000 à 4 000 000 en 2000)
• la taille d'un transistor est passée de 1,2 µm en 91à 0,18 µm en 2000.
• les technologies de conception ont fortement évolué, tel constructeur initiateur
d'un procédé l'abandonne pour un autre, alors que le concurrent le reprend à son
compte.
• la tension d'alimentation est passée de 5 V à 1,8 V diminuant ainsi la
consommation.
Aussi est-il très difficile de s'y retrouver et de donner des ordres de grandeurs qui
puissent être comparés. Nous tenterons dans cet exposé une clarification des choses
dont la volonté de simplification pourra être facilement prise en défaut.
13/10/2016 Pr. Z. ALAOUI ISMAILI 9
Parallèlement à ces circuits
ASIC
(Application Specific Integrated Circuits)
le concepteur intervient au niveau du On ne peut plus franchement parler de circuits
dessin de la pastille de silicium en programmables
fournissant des masques à un fondeur
Les temps de développement long ne justifient
l'utilisation que pour des grandes séries.
Les PLD, CPLD et FPGA sont parfois considérés comme des
ASIC par certains auteurs.
13/10/2016 Pr. Z. ALAOUI ISMAILI 10
Le tableau ci-après tente une classification possible des circuits numérique :
Circuits Numériques
Circuits logiques Circuits à Circuits à Circuits logiques
standard fonctionnement architectures standard
programmable programmables et
faible temps de
développement
74HC.. Microprocesseurs PLD, CPLD, ASIC pré diffusées
Microcontrôleurs FPGA ASIC pré caractérisées
ASIC full custom
Nous nous intéresserons surtout aux circuits à architecture programmable à faible
temps de développement. Le principe de base des circuits nous intéressant ici consiste
à réaliser des connexions logiques programmables entre des structures présentant des
fonctions de bases.
13/10/2016 Pr. Z. ALAOUI ISMAILI 11
Classification des circuits logiques programmables
– PLD : Programmable Logic Device réseau logiqueprogrammable 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 parun 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
13/10/2016 Pr. Z. ALAOUI ISMAILI 12
Classification des mémoires mortes
13/10/2016 Pr. Z. ALAOUI ISMAILI 13
ISP (In System Programmable) : Circuit que
Domaine des circuits logiques programmables
l’on peut programmer (et donc effacer)
même lorsqu’il est en place sur l’application.
ISP (In System Programmable) : Circuit que l’on peut
programmer (et donc effacer)
même lorsqu’il est en place sur l’application
13/10/2016 Pr. Z. ALAOUI ISMAILI 14
Domaine des circuits logiques programmables
Les PLD
– densité de quelques centaines de portes
– architecture ET/OU programmable
– limites : nombre de bascules, nombre de signaux d ’E/S, rigidité du plan
logique ET/OU et de ses interconnexions
– conception sous forme de langages d ’équations, d ’automates…
• PAL : Programmable Array Logic
PAL bipolaires programmables une seule fois
– PAL combinatoires ou PAL simples (portes)
– PAL à registres (Field Programmable Logic Sequencer)
PAL CMOS ≈ GAL
GAL : Generic Array Logic ; programmables et effaçables électriquement ou
PALCMOS ou EEPAL ou PALEECMOS
13/10/2016 Pr. Z. ALAOUI ISMAILI 15
EPLD-CPLD: Erasable PLD ou Complex PLD
Les EPLD sont programmables électriquement et
effaçables aux UV ; les
EEPLD sont effaçables électriquement Principe similaire aux PAL mais avec
interconnexions réalisées en techno UVPROM
FPGA Field Programmable Gate Array ou réseau de portes programmable par
l ’utilisateur
C ’est un ensemble de blocs logiques élémentaires que l ’utilisateur peut
interconnecter pour réaliser les fonctions logiques de son choix. La densité des portes
est importante et sans cesse en évolution
• FPGA à SRAM ou LCA Logic Cell Array introduit en 1985 par Xilinx à base de
SRAM pour configurer les connexions logique non dédiée avec des solutions
d’interconnexionssouples et efficaces
• FPGA à antifusibles nés en 1990 Actel programmables électriquement par
l’utilisateur non effaçables
13/10/2016 Pr. Z. ALAOUI ISMAILI 16
• Complexité (nombre de portes)/volume de
production
• Fréquence utile/nombre de portes
13/10/2016 Pr. Z. ALAOUI ISMAILI 17
Environnement de développement
JEDEC : Format de fichier de programmation des circuits
logiques (image des
fusibles à griller).
Programmateurs standard JEDEC
génère les chronogrammes nécessaires à la programmation du circuit en
fonction des spécifications de son fabricant
– autonomes de production
• phase de production : plusieurs circuits simultanément
• 1 seul type de produit
– autonomes de laboratoire
• une seule pièce à la fois
• divers circuits logiques
– cartes de programmation
• avec micrordinateur PC + logiciel de pilotage
13/10/2016 Pr. Z. ALAOUI ISMAILI 18
Systèmes de développement
– entrées :
• équations logiques
• tables de vérité
• schémas logiques
• VHDL
• Abel ...
– systèmes sur PC
– production d ’un fichier JEDEC transmissible à n ’importe quel
programmateur normalisé
– association système de développement / carte de programmation PC courante
13/10/2016 Pr. Z. ALAOUI ISMAILI 19
Liste des abréviations
• ASIC Application Specific Integrated Circuit - Circuit intégré conçu à la demande
• BLMC Buried Logic Macrocell - Macro cellule logique enterrée
• CC Chip Carrier - Boîtier "porteur de puce"
• CPLD Complex Programmable Logic Device - Réseau logique programmable complexe
• DRAM Dynamic Random Access Memory - Mémoire dynamique à accès aléatoire
• DSP Digital Signal Processor - Processeur orienté vers le traitement du signal
• EDIF Electronic Design Interchange Format
• EEPLD Electrically Erasable Programmable Logic Device - PLD effaçable électriquement
• EEPROM Electrically Erasable PROM - Mémoire à lecture seule, électriquement effaçable
• EPLD Erasable Programmable Logic Device - Réseau logique programmable effaçable
• EPROM Erasable Programmable Read Only Memory - Mémoire à lecture seule effaçable
• FPGA Field Programmable Gate Array - Réseau de portes programmables
• FPROM Field Programmable Read Only Memory
• GAL Generic Array Logic - PAL générique
• ISP In-System (In Situ) Programmable - Composant programmable sur carte
• JEDEC Joint Electronic Device Engineering Council - Organisme de normalisation
• JTAG Joint Test Action Group - Bus de test des composants
• LCA Logic Cell Array (Xilinx) - Réseau de cellules logiques
• LUT Look-Up Table
• MAX Multiple Array Matrix - Megapals d'Altera
• NOVRAM ou NVRAM Non Volatile Random Access Memory - RAM non volatile
• OTP One Time Programmable - Programmable une seule fois
• PAL Programmable Array Logic - Réseau logique programmable
• PGA Programmable Gate Array - Réseau de portes programmable
13/10/2016 Pr. Z. ALAOUI ISMAILI 20
• PLA Programmable Logic Array - Réseau logique programmable
• PLD Programmable Logic Device - Dispositif logique programmable
• POF Programmer Object File - Fichier objet pour programmateur
• PROM Programmable Read Only Memory - Mémoire à lecture seule programmable
• RAM Random Access Memory - Mémoire à accès aléatoire
• ROM Read Only Memory - Mémoire à lecture seule
• SDF Standard Delay File
• SOG Sea-of-Gates - Mer de portes : réseau actif logique prédiffusé
• SRAM Static Random Access Memory - Mémoire statique à accès aléatoire
• TTL Transistor Transistor Logic - Logique transistor-transistor
• VHDL VHSIC Hardware Description Language - Langage de description matérielle VHSIC
• VHSIC Very High Speed Integrated Circuit - Circuit intégré à très grande vitesse
• XNF Xilinx Netlist Format - Format de fichier Xilinx
13/10/2016 Pr. Z. ALAOUI ISMAILI 21