Académique Documents
Professionnel Documents
Culture Documents
ÉLECTRONIQUE NUMÉRIQUE
É AVANCÉE
É
Filière : InfoTronique
q
Chap. 5 : Architecture des circuits
programmables et FPGA
Co p e d e les
Comprendre es d
différentes
é e tes a
architectures
c tectu es et le
e
fonctionnement des circuits logiques programmables
Avantages et inconvénients des circuits programmables
Types de programmation
EPROM
Anti fuse
Anti-fuse
SRAM
Types de circuits programmables
Les PLD : PAL, PLA, PROM
Les CPLD
Les FPGA
Acronymes :
PLD : Programmable Logic Device
SPLD : Simple
p Programmable
g Logic
g Device
PLA : Programmable Logic Array
PROM : Programmable Read Only Memory
PAL : Programmable
g Arrayy Logic
g
GAL : Generic Array Logic
CPLD : Complexe Programmable Logic Device
FPGA : Field Programmable Gate Array
Faible coût
Production de petites séries
Validation de conceptions d’ASIC
Validation réelle du circuits dans le système complet
Validation à faible coût
Coût de fabrication du prototype
Temps nécessaire pour la fabrication du prototype
Validation rapide d’une conception d’un ASIC
Permet de réagir rapidement aux erreurs de conception
Diminution du temps de mise en marché « TTM » de l’ASIC
Validation à faible risque
q
Faible performance
Vitesse (fréquence)
Consommation
Coût élevé
Pour une très grande production
Circuit intégré IC
ASIC Programmables
"Standard
Standard Cell
Cell" "Gate
Gate Array
Array" Circuits programmables Systèmes Programmables
Spécifique "Full
Full Custom"
Custom
"Gate Array"
nces
Performan
FPGA
CPLD
P
Coût de développement vs performances
25
20
Coût tootal ($)
15 FPGA
Gate Array
10 Stand. Cell
Full-Custom
0
0 5 10 15 20 25 30
3
V l
Volume de
d fabrication
f b i ti (10 )
Méthodes de programmations
EPROM « Erasable Programmable ROM »
EEPROM « Electrical Erasable Programmable ROM »
Anti-fuse
SRAM « Static RAM »
Fonctionnement
Utilisation d’une grille flottante pour programmer les transistors de
transmission
Avantages
Circuits programmables plusieurs fois
Programmation sur site
I
Inconvénients
é i
Consommation statique
Nécessite une grande surface
Plusieurs tensions d’alimentation
Dé-programmation lente et « off site »
B îti d’encapsulation
Boîtier d’ l ti spécial
é i l (avec
( du
d verre))
Fonctionnement :
g
Changement de la résistance du fil de routage
g à
programmer
A
Avant programmation
i : Résistance
Ré i > 100 MΩ
M
Avantages
Faible surface du circuit
Faible délai de routage
Faible résistance
Faible capacité
Confidentialité
Inconvénients
Circuits programmables une seule fois
Modification du procédés CMOS de base pour la
fabrication
Technologie
h l utilisant
l de
d la
l mémoire
é statique SRAM
Inconvénients
Grande surface
Utili ti d’une
Utilisation d’ PROM pour la l programmation
ti ded la
l SRAM lors
l de
d
la mise sous tension du système
Confidentialité
Exemple d’utilisation
d utilisation de LUT
Source : FPGAs for Rapid Prototyping, CRC Press
Interconnexions
interrupteur Multiplexeur
CLB
MUX
LUT
FF
LUT
Re-
Technologie Volatile Resistance Capacité Surface
programmable
SRAM in circuit
in-circuit oui 1 KΩ 15 ff 5 fois
Crosspoint
Pm
oduits
……... ……...
……
Matrice Matrice
……
pro
AND OR
P2
P1
………
Bit line
x1 x1 xn xn ……...
Décodeur d’entrée sommes
……...
Entrées f1 f2 fk
x1 x2 xn
Exemple de programmation d
d’un
un PLA
Source : Programmable Logic Devices ; F. Gail Gray
x y z s = x+ y+z
p1 = …?…..
p2 = …?…..
p3 = …?…..
f1 = …?…..
f2 = …?…..
f3 = …?…..
Diagramme conceptuel d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray
Exemple de programmation d
d’une
une PROM
Source : Programmable Logic Devices ; F. Gail Gray
f1 = …?…..
f2 = …?…..
f3 = …?…..
Exemple de programmation d
d’un
un PAL
Source : Programmable Logic Devices ; F. Gail Gray
Définition
UN CPLD est un ensemble de PLDs simples connectés entre eux avec
une matrice d’interconnexion
Un CPLD est composé de :
CLB
Bloc logique complexe « Complexe Logic Bloc »
Équivalent à un PLD
Dans un CPLD on a plusieurs CLB
SM
Matrice d’interconnexion « Switch Matrix »
Dans un CPLD on a une ou plusieurs matrices
IOB
Blocs d’entrée/sortie « Input/Output Bloc »
Programmable Interconnect
Array
Bloc diagramme
g d’un CPLD de la ffamille MAX 3000A d’Altera
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
Un transistor EEPROM (à grille flottante) contrôle une entrée d’une porte AND à deux
entrées qui sélectionne le signal à connecter au LAB « Logic Array Block »
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
Source : MAX 3000A Programmable Logic Device Family Data Sheet, ALTERA
LATTICE
Famille ispMACH 4000
ATMEL
Famille ATF15xx
CYPRESS
Famille CY3LV
Famille CY39
Famille FLASH370i
Définition
Un FPGA est une matrice de blocs élémentaires configurables organisés en
lignes et en colonnes et connectés entre avec des interconnexions
programmables
Un FPGA est composé de :
Bloc logique
Appelé CLE « Configurable Logic Element », CLB « Configurable Logic Bloc », LE et
LB
Permet de réaliser les fonctions de base
En général, un CLE est composé de :
4 à 6 entrées
Une sortie
Une bascule
Module de routage
Appelé SM « Switch Matrix » et RM « Routing Matrix »
Permet de connecter les blocs logiques
Blocs d’entrée/sortie
d entrée/sortie « IOB »
Blocs logiques
Le choix de l’architecture des blocs logiques et
des modules d’interconnexion influence
di e tement :
directement
La rapidité
La surface
L’architecture la p
plus utilisé pour
p les blocs
logiques est :
Table de vérité LUT « Look-up
p Table »
Architecture d
d’un
un bloc LE « Logic Element » pour APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
Différentes
ff ffamille de routage
g pour
p FPGA
Exemple
p de structure d’un module de routage
g
Source : Reconfigurable Device Interconnect Test
and Diagnosis Time Reduction
Switch
ouvert
N1 N2 N3
W1 E1
0
W2 1 E2
W3 E3
S1 S2 S3
Switch Points
d’interconnexion
fermé
programmables
bl
Interconnexions
CLB
MUX
LUT
FF
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
Architecture d
d’un
un LAB « Logic Array Bloc » pour APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
Structure d
d’interconnexion
interconnexion pour les FPGA de la famille APEX 20K
Source : APEX 20K Programmable Logic Device Family Data Sheet, ALTERA
Architecture générale d
d’un
un FPGA de la famille VIRTEX de Xilinx
CPLD
Faible consommation
Faible
a b e coût
Les délais sont précis et prévisibles
FPGA
Grande densité
Plus rapide
Les délais ne sont connus qu’après placement-routage
Compagnies :
ACTEL
ALTERA
ATMEL
CYPRESS
LATTICE
QUICKLOGIC
TEXAS INSTRUMENT
XILINX
Altera et Xilinx ont 80% du marché
A connaître pour mériter le titre de « FPGA Designer » !!!
Placement-
Saisie Synthèse Routage
Vérification