Professional Documents
Culture Documents
Jean-Luc Danger
PLAN
Page 1
Filières technologiques
Hardware Software
programmes
Circuits programmables :
PLD "Programmable Logic Devices"
FPGA, EPLD
fait
Altera, Xilinx, Actel,Lattice
c11 c10 c12 c8
X10 F15
X5 F13
X13 c5 c10 c4 c8
F11
X2
X11
X4
c9 c14 c12 c8
F9
F7
F5 • Circuit avec interconnexion et cellules
algorithme
c7 c14 c4 c8
F3
X3 F1
programmables.
c13 c6 c12 c8
X9 F14
X6 F12
c3 c6 c4 c8
X14 F10
X1 F8
c15 c2 c12 c8
X8 F6
X7
X15
X0
c1 c2 c4 c8
1/2
F4
F2
F0 • Mémoire interne de programmation
A faire Synchro
PIXELS
CLIP
PARALleL
16
ROUND
32 32
16
TRANSPOSTION
architecture
256x16 bits
CONTROL
8 COMMANDS SERIAL
UNIT OPERATIVE
PART
PERMUTATION
16
32 32
ROUND 16
12
• Utilise les dernières technologies
DCT TERMS
netlist
page 4 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 2
PLD : FPGA et EPLD
PAL
PAL PAL
PAL
...
EPLD :
PAL PAL
• Circuit à base de "macrocellules" PAL PAL
...
...
• Dédié uniquement au contrôle PAL PAL
macrocellule PAL PAL
E/S
Bloc embarqué
Surface environ de 20 à 50 fois plus grosse qu'un ASIC à fonction identique dans
une même technologie
page 6 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 3
Comparaison multi-critères ASIC/FPGA
Coût à la pièce (dépend du volume)
FPGA consommation
vitesse
ASIC
Temps de
développement robustesse
flexibilité sécurité
interfaçage
page 7 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
RAM
CPU embarqué
Co-proc
3
IP soft
CPU RAM
Co-proc Co-proc
2 RAM
1
Page 4
Marché des FPGAs
$ 1285M
$1726M
PLAN
Page 5
Comment générer une fonction logique quelconque?
La LUT
Fonction à 2 entrées : f(A
f(A11,A
,A0)0) =
= f(0,0)A
f(0,0)A11A
A00 +
+ f(0,1)A
f(0,1)A11A
A00 +
+ f(1,0)A
f(1,0)A11A
A00 +f(1,1)A
+f(1,1)A11A
A00
Mémoire 4 bits : dd =
= dd00A
A11A
A00 +
+ dd11A
A11A
A00 +
+ dd22A
A11A
A00 +
+ dd33A
A11A
A00
OUT
LUT d0=0 d2=1
d1=1 d3=0
In 2
SRAM
configuration
In 3 SRAM
SRAM
SRAM
SRAM
SRAM
Out
Points de configuration
Multiplexeur 2 vers 1
page 12 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 6
Combien d'entrées/LUT ?
Elias Ahmed, Jonathan Rose: The effect of LUT and cluster size on deep-submicron FPGA performance and
density. IEEE Trans. VLSI Syst. 12(3): 288-298 (2004)
• mode normal
Page 7
Cellule à LUT : ALTERA Cyclone II
• mode arithmétique
Lower Cost
Logic Delay
2 3 4 5 6 7
LUT size
Source : ALTERA
page 16 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 8
XILINX Virtex5 : LUT6
A6
A5
A4
A3 LUT5
A2
A1
O6
2 sorties
O5
LUT5
1 Comb.
2 Logic
Reg
Adder
ALM Inputs
3
4
5
6
Adder
7 Reg
8
ALM
page 18 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 9
StratixII : Configurations ALM
ALM
ALM
5-LUT
5-LUT
3-LUT ALM
ALM 4-LUT ALM
4-LUT
6-
7- LUT(1)
LUT(1) 4-LUT
ALM 6-
ALM
LUT(1)
5-LUT
6-LUT
5-LUT
Points de e1
configurations e2
e3
Page 10
Cellule à MUX(1)
• Nombreuses combinaisons
• Logique pour l'arithmétique
• Cellule R (DFF) indépendante
• Technologie Antifusible
Page 11
Cellule à MUX ProASIC : mode séquentiel
Chemins de mémorisation
PLAN
Page 12
Taille des cellules
=>Nécessité des blocs gros grains embarqués
Page 13
Type de mémoire
Distribuée
• Utilisation des LUTs
des cellules en mode
mémoire
Exemple : VirtexII 1 Slice = 2 LUT 4 entrées 1 mémoire 32 bits
Virtex2
Embarquée
• La mémoire est un
bloc spécifique
Embedded
Embedded Array
Array Block
Block
18Kbits
18Kbits
Type d'accès
Page 14
Mémoire dans un ALTERA Cyclone II
4-Kbit Port A Port B
• 250-MHz DATA DATA
ADDR ADDR
• Synchrone WREN WREN
CLK CLK
• Vrai mode Dual-Port CLKENA CLKENA
• Simple mode Dual-Port OUT OUT
CLR CLR
Flexibilité
• Mode Mixed-Clock
• Mode Mixed-Width
• Mode Shift Register
• Mode Read-Only
• Byte Enables
Page 15
Bloc multiplieur ALTERA Cyclone II
Multplieur 18x18 configurable en 2 multiplieurs 8x8
Basic Multiplier
Cascade Modes
Modes
Optional RND & SAT Unit
++
- -
Output Register Unit
• Input Cascade
Input Register Unit
Optional Pipelining
Output Multiplexer
• 8 x (9x9)
144
+-Σ R + 72 • 6 x (12x12) • Output Cascade
• 4 x (18x18) Rounding
+-
• 2 x (36x36) • Unbiased and
R
• 2 x complex Biased
(18x18)
Saturation
Sum Modes
Optional RND & SAT Unit
++
- -
Output Register Unit
Optional Pipelining
Output Multiplexer
Logical and
• 2 x Acc Rotation
Page 16
Nécessité de blocks de gestion d'horloge
Problèmes
• Skew d'horloge
- Du à la forte charge et la longueur des lignes
• Fréquence interne différente de la fréquence externe
- Nécessité d'un asservissement fréquence
• Besoin de plusieurs horloges corrélées
Solutions 2 niveaux :
• Interconnexion
- lignes dédiées pour les horloges
• Bloc dédié à la génération :
- Asservissement sur l'extérieur
- Compensation du skew d'horloge
- Multiplication ou division
Synthèse d'horloge fout= P/Q fin
filtre
CLK_out
VCO /Q
f=P/Q fCLK_ref
/P
phase ajustable
Page 17
Bloc amélioré de génération d'horloge
filtre
VCO
/P
d1 CLK_out_1
d2 ligne à retard /Q1
CLK_out_2
/Q2
Cellule E/S
Cellule configurable
• De nombreux paramètres et standards d'interface
- Mode Terminaison simple
- Mode Différentiel
- Synchronisation avec les horloges
- Sérialisation/désérialisation
- Ajustement du Slew Rate
- Adaptation d'impédance
- Adaptation du retard
Tension d'alimentation spécifique
Page 18
Architecture cellule E/S
Mode simple
OE
DFF
OUT broche
Slew rate
DFF Impédance,
IN Retard
Page 19
Blocs embarqués analogiques : ACTEL Fusion
SRAM / FIFO
Coeur FPGA
PA3
E/S
PLL/CCC
Flash
utilisateur
Securité Pompe de
Charge
Gestion ADC
Horloge
RTC, Xtal Osc.
E/S
Flash
analogiques
page 39 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
PLAN
Page 20
Principales topologies d'interconnexion
La plus classique
Boîte de connection
Canaux de routage
Page 21
La matrice de commutation
Nombreuses possibilités
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 3 0 1 2 3 0 1 2 3
La boîte de connexion
mux
Point de configuration
cellule
Page 22
Topologie de type matrice hiérarchique
Connexions niveau 0
Canaux de routage
Connexions niveau 1
Page 23
Exemple de clusters
Slice
LUT
Slice
Canal de longueur 4
Un canal faisant toute la largeur sert pour les signaux globaux (horloge, reset,…)
Page 24
Effet de la segmentation : gain en vitesse
Topologie en arbre
1 hop = passage par un commutateur
LUT
LUT4
LUT
Page 25
PLAN
Programmation
Technologie interne
• Volatile : Mémoire SRAM. Un "bitstream" est stocké à
l'extérieur
- On parle de configuration car la reprogrammation est possible
• Nonvolatile :
- Mémoire FLASH
- Antifusible
Méthode de configuration pour SRAM
• Interface spécifique
• Configuration totale/partielle
• Sécurisation du transfert
Page 26
Technologies des commutateurs
Pass-transistor :
Peu coûteux
c
porte de transmission :
pas de limitation à Vdd-Vt
C C
c
d
page 53 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Technologies de programmation
SRAM,FLASH
Antifusible
Utilisés pour les FPGAs ACTEL AXcelerator
condensateur
Page 27
Interface de Configuration
microcontrôleur
FPGA
CLP • port spécifique (série et/ou parallèle)
• port JTAG
série parallèle
Si échec de la configuration : essai avec un nouveau bitstream => "Fallback"
page 56 Dpt COMELEC / Groupe SEN ELEC 222 Architectures et FPGAs
Page 28
PLAN
PLACEMENT PROGRAMMATION
SAISIE SYNTHESE CONFIGURATION
ROUTAGE
Technologie
FPGA 2. Autonomie :
Téléchargement
Téléchargement du
du bitstream
bitstream
dans
dans le
le circuit
circuit
Contraintes
Page 29
Particularités des outils de Conception de
FPGAs
Page 30