Académique Documents
Professionnel Documents
Culture Documents
En français :
Composant, constitué d’un ensemble de ressources
logiques élémentaires configurables pouvant être
mises en relation par un réseau d’interconnexions
aussi configurable
M. H. BEDOUI 1
Systèmes temps réel embarqués 2006
FPGA : Historique
M. H. BEDOUI 2
Systèmes temps réel embarqués 2006
FPGA : Historique
1968 Famille MOS
Robert Noyce et Gordon Moore créer une startup : intel
1er PLA « read only associative memory ROAM » IBM
1969 Neil Amstrong marche sur la Lune
1970 Introduction du terme PAL Texas Instrument
1ère ROM, Harris Semiconductor
1971 intel, 1er UV-PROM (effaçable par UV)
1972 Intel, 1er processeur : 4004
1973 André Truong et Francis Grenelle mettent au point et commercialisent le 1er
micro-ordinateur du monde, le Micral, made in France !
1975 Un certain Bill Gates fonde une petite société d’informatique : Microsoft
1978 1ère famille PAL commerciale, MMI
1980 Premiers microprocesseurs 32 bits chez intel et Motorola
1981 IBM lance le PC
M. H. BEDOUI 3
Systèmes temps réel embarqués 2006
FPGA : Historique
1983 1er GAL effaçable électriquement, Lattice
1984 Apple lance le Macintosh
1984 Introduction du FPGA par XILINX : le XC2000
(de 600 à 1500 portes)
création de la société ALTERA
Technologie CMOS UV-EPROM
1985 mise sur le marchet du 1er FPGA XILINX
1992 1er FPGA Altera : le Flex 8000 (15 000 portes max)
1993 Technologie EEPROM
2001 Lancement du Virtex II Xilinx (jusqu’à 10 millions de portes)
M. H. BEDOUI 4
Systèmes temps réel embarqués 2006
FPGA : marché
REVENUS NETS DE XILINX ET ALTERA
1200000
1000000
REVENUS NETS EN $
800000
600000
400000
200000
0
1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
ANNEE
XILINX ALTERA
M. H. BEDOUI 5
Systèmes temps réel embarqués 2006
FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA
40
35
30
25
Xilinx
Altera
% 20
Lattice
Other
15 Actel
10
0
1998 1999 2000
ANNEE
M. H. BEDOUI 6
Systèmes temps réel embarqués 2006
FPGA : marché
PARTS DE MARCHE DES FABRICANTS DE FPGA POUR 2000
Actel
Other 6%
8%
Xilinx
Lattice 38%
14%
Altera
34%
M. H. BEDOUI 7
Systèmes temps réel embarqués 2006
M. H. BEDOUI 8
Systèmes temps réel embarqués 2006
La technologie cuivre
(aujourd’hui maîtrisée) permet
d’augmenter la rapidité des
circuits donc d’augmenter les
fréquences de fonctionnement
M. H. BEDOUI 9
Systèmes temps réel embarqués 2006
300 mm
200 mm
Intégration de 2.3 à 2.5 fois plus => diminution des prix de reviens
M. H. BEDOUI 10
Systèmes temps réel embarqués 2006
300 mm
200 mm
M. H. BEDOUI 11
Systèmes temps réel embarqués 2006
1,2
FPGA : Évolution
INDICE PRIX PAR ELEMENT LOGIQUE
diminue de 40 % par an
0,6
0,4
0,2
0
1995 1996 1997 1998 1999 2000
M. H. BEDOUI 12
Systèmes temps réel embarqués 2006
FPGA : Évolution
M. H. BEDOUI 13
Systèmes temps réel embarqués 2006
FPGA : Évolution
M. H. BEDOUI 14
Systèmes temps réel embarqués 2006
FPGA /ASIC
FPGA ? ASIC
M. H. BEDOUI 15
Systèmes temps réel embarqués 2006
FPGA /ASIC
M. H. BEDOUI 16
Systèmes temps réel embarqués 2006
FPGA
ASIC
0 1 2 3 4 5 6 7 8 9 10
M. H. BEDOUI 17
Systèmes temps réel embarqués 2006
M. H. BEDOUI 18
Systèmes temps réel embarqués 2006
M. H. BEDOUI 19
Systèmes temps réel embarqués 2006
M. H. BEDOUI 20
Systèmes temps réel embarqués 2006
M. H. BEDOUI 21
Systèmes temps réel embarqués 2006
M. H. BEDOUI 22
Systèmes temps réel embarqués 2006
M. H. BEDOUI 23
Systèmes temps réel embarqués 2006
Élément configurable :
• élément logique
• élément de mémorisation
EC • élément arithmétique
• entrée/sortie
Réseau de routage :
• lignes horizontales
• lignes verticales
Matrice de connexions
BC MC
Bloc de connexions
M. H. BEDOUI 24
Systèmes temps réel embarqués 2006
BC
EC
M. H. BEDOUI 25
Systèmes temps réel embarqués 2006
MC
0 1 2 3 0 1 2 3 0 1 2 3
3 3 3 3 3 3
2 2 2 2 2 2
1 1 1 1 1 1
0 0 0 0 0 0
0 1 2 0 1 2 0 1 2
3 3 3
DISJOINT UNIVERSEL WILTON
M. H. BEDOUI 26
Systèmes temps réel embarqués 2006
M. H. BEDOUI 27
Systèmes temps réel embarqués 2006
EC EC EC EC
M. H. BEDOUI 28
Systèmes temps réel embarqués 2006
EC EC EC EC
M. H. BEDOUI 29
Systèmes temps réel embarqués 2006
M. H. BEDOUI 30
Systèmes temps réel embarqués 2006
Detail
connections
controlled by
RAM bits
M. H. BEDOUI 31
Systèmes temps réel embarqués 2006
M. H. BEDOUI 32
Systèmes temps réel embarqués 2006
M. H. BEDOUI 33
Systèmes temps réel embarqués 2006
Réseau de routage de
niveau 2
Élément Hiérarchique de
niveau 2
M. H. BEDOUI 34
Systèmes temps réel embarqués 2006
M. H. BEDOUI 35
Systèmes temps réel embarqués 2006
Lignes de
Cell Cell Cell Cell longueur Cell Cell Cell Cell
4 cellules
Lignes de
4*4 4*4 4*4 4*4 longueur 16*16 16*16 16*16 16*16
64 cellules
M. H. BEDOUI 36
Systèmes temps réel embarqués 2006
M. H. BEDOUI 37
Systèmes temps réel embarqués 2006
ENTREES
LUT D
SORTIES
FAST
CARRY
CHAIN
HORLOGE
Carry-Out
M. H. BEDOUI 38
Look-Up Tables
• Combinatorial logic is stored in Look-Up
Tables (LUTs) A B C D Z
– Also called Function Generators (FGs) 0 0 0 0 0
– Capacity is limited by the number of inputs, not 0 0 0 1 0
by the complexity 0 0 1 0 0
• Delay through the LUT is constant 0 0 1 1 1
0 1 0 0 1
Combinatorial Logic 0 1 0 1 1
A . . .
B 1 1 0 0 0
Z
C 1 1 0 1 0
D
1 1 1 0 0
Basic Architecture 39 1 1 1 1 1
39
Systèmes temps réel embarqués 2006
SRAM
In 0
SRAM
In 1
LUT 4 Out
In 2 SRAM
In 3
SRAM
SRAM
Out
M. H. BEDOUI 40
Systèmes temps réel embarqués 2006
In 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
M. H. BEDOUI 41
Systèmes temps réel embarqués 2006
In 0 = 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
M. H. BEDOUI 42
Systèmes temps réel embarqués 2006
In 0 =0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
M. H. BEDOUI 43
Systèmes temps réel embarqués 2006
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
M. H. BEDOUI 44
Systèmes temps réel embarqués 2006
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
M. H. BEDOUI 45
Systèmes temps réel embarqués 2006
In 0 =0 In 1 = 1 In 2 =1 In 3 = 1
1111 0
1110 1
1101 1
1100 0
1011 0
M. H. BEDOUI 46
Systèmes temps réel embarqués 2006
M. H. BEDOUI 47
Systèmes temps réel embarqués 2006
X1
Cellule très simple
X2 Cas du circuit Xilinx
1 XC6000
0
C
X3
SORTIE
Q
D S
CLK Q
M. H. BEDOUI 48
Systèmes temps réel embarqués 2006
M. H. BEDOUI 49
Systèmes temps réel embarqués 2006
Taille max
2*18-Koctets
M. H. BEDOUI 50
Systèmes temps réel embarqués 2006
M. H. BEDOUI 51
Systèmes temps réel embarqués 2006
Embedded Multiplieur
18*18
M. H. BEDOUI 52
Systèmes temps réel embarqués 2006
M. H. BEDOUI 53
Systèmes temps réel embarqués 2006
M. H. BEDOUI 54
Systèmes temps réel embarqués 2006
• un cœur de processeur :
ARM9 (32 Bits) à 200MHz
8 K octets de cache
Instructions
8 K octets de cache
Données
Matrice FPGA
M. H. BEDOUI 55
Systèmes temps réel embarqués 2006
XA1
FPGA
XA4
LEs 16400
128 Kbytes SRAM
ESB Bytes 26K 64 Kbytes DPRAM
M. H. BEDOUI 56
Systèmes temps réel embarqués 2006
M. H. BEDOUI 57
Systèmes temps réel embarqués 2006
M. H. BEDOUI 58
Systèmes temps réel embarqués 2006
M. H. BEDOUI 59
Systèmes temps réel embarqués 2006
PCI66_3
INTEL
M. H. BEDOUI 60
Systèmes temps réel embarqués 2006
M. H. BEDOUI 61
Systèmes temps réel embarqués 2006
M. H. BEDOUI 62
Systèmes temps réel embarqués 2006
M. H. BEDOUI 63
Systèmes temps réel embarqués 2006
M. H. BEDOUI 64
Systèmes temps réel embarqués 2006
M. H. BEDOUI 65
Systèmes temps réel embarqués 2006
M. H. BEDOUI 66
Systèmes temps réel embarqués 2006
M. H. BEDOUI 67
Systèmes temps réel embarqués 2006
M. H. BEDOUI 68
Systèmes temps réel embarqués 2006
M. H. BEDOUI 69
Systèmes temps réel embarqués 2006
RESEAU D’HORLOGE
21%
ENTREES SORTIES
9% RESSOURCES DE ROUTAGE
65%
RESSOURCES LOGIQUES
5%
M. H. BEDOUI 70
Systèmes temps réel embarqués 2006
M. H. BEDOUI 71
Systèmes temps réel embarqués 2006
M. H. BEDOUI 72
Systèmes temps réel embarqués 2006
M. H. BEDOUI 73
Systèmes temps réel embarqués 2006
Types de configuration
On peut trouver 4 types de configuration :
• La configuration simple contexte (la plus utilisée)
• La configuration partielle simple contexte
• La configuration partielle multi-contextes (la plus
prometteuse)
M. H. BEDOUI 74
Systèmes temps réel embarqués 2006
1 matrice de configuration
SRAM
(méthode de scan-path) FPGA
Le FPGA est reconfiguré entièrement
C’est le type de configuration la plus utilisée
M. H. BEDOUI 75
Systèmes temps réel embarqués 2006
Décodeur
colonne
1 matrice de configuration
SRAM FPGA
Le FPGA est reconfiguré partiellement,
on peut ne modifier qu’une partie de la configuration
M. H. BEDOUI 76
Systèmes temps réel embarqués 2006
Décodeur
contexte Décodeur
colonne
4 matrices de configuration SRAM
Le FPGA est reconfiguré partiellement,
on peut rapidement passer d’un contexte à un autre
M. H. BEDOUI 77
Systèmes temps réel embarqués 2006
M. H. BEDOUI 78
Systèmes temps réel embarqués 2006
Les entrées sorties utilisées pendant la configuration sont aussi des I/O
du circuits utilisables en fonctionnement
M. H. BEDOUI 79
Systèmes temps réel embarqués 2006
Master Mode
Dans ce cas le FPGA est maître de sa configuration
Data Data-in
EPROM FPGA
CLK CLK
OE CTRL
MODE SERIE
M. H. BEDOUI 80
Systèmes temps réel embarqués 2006
Master Mode
EPROM FPGA
OE CTRL
MODE PARALLELE
M. H. BEDOUI 81
Systèmes temps réel embarqués 2006
Data Data-in
EPROM FPGA
CLK CLK
OE
Autre FPGA
circuit logique de contrôle
ou câble de configuration
M. H. BEDOUI 82
Systèmes temps réel embarqués 2006
Peripheral Mode
Le FPGA est vue comme un périphérique du microprocesseur
8 bits
Data(7:0) Data-in(7:0)
CTRL CTRL
M. H. BEDOUI 83
Systèmes temps réel embarqués 2006
ARM-Based Processor
Processor SRAM
Configuration
Unit Hard Logic
JTAG
Link
FPGA
Serial / Parallel Config-
uration FPGA Array
FPGA
Port
Configurator FPGA
M. H. BEDOUI 84
Systèmes temps réel embarqués 2006
JTAG
ARM--Based Processor Link
16 or 8-Bit SRAM
Processor
Flash EBI
Memory Configuration
Hard
Unit Logic
FPGA
M. H. BEDOUI 85