Les circuits logiques programmables

publicité
Les FPGAs
Architectures et tendances
SE204
Jean-Luc Danger
page 1
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 2
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Qu’est ce qu’un FPGA ?
 Circuit Electronique
• Dispose d’une structure régulière de portes ou « cellules »
 « Field Programmable Gate Array »
• Calculs concurrents et rapides (qq100MHz), propres au
matériel
• Circuit déjà fabriqué
 Circuit Programmable
• Contient une mémoire
• Le contenu de la mémoire « bitstream » définit :
 La fonction de chaque cellules
 L’interconnexion entre les cellules
• Le « bitstream » n’est pas du logiciel
 Ce n’est pas un fichier exécutable,
 mais une description de portes ou « netlist »
page 3
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Place dans les filières technologiques
Matériel
Logiciel
programmes
Circuits personnalisés Circuits "sur étagères"
ASICs
PLDs
Full custom
Gate arrays
EPLD
FPGA
Standard Cell
page 4
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Microprocesseur,
DSP,
Microcontrôleur,
Mémoire
ASSP
Applications des FPGAs
 Marché petit et moyen volume
• Etude des coûts pour le choix
ASIC  FPGA
 Prototypage rapide avant
conception ASIC
 Accélération de simulation
 Validation de concept en
Recherche
• Plate-forme quantique
• Plate-forme 100Ghz
• Fiabilité, sécurité,…
 Enseignement de l'électronique
page 5
Télécom ParisTech
Nick Tredennick, Brion Shimamoto. The Rise
of Reconfigurable Systems. In proceeding of
Engineering of Reconfigurable Systems and
Algorithms, ERSA’2003. June 23-26,Las
Vegas, Nevada, USA.
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Architecture d'un FPGA

3 plans virtuels :
Logique
Interconnexion
Programmation
Matrice de cellules
Canaux de routage
et commutateurs
Mémoire de configuration
Contient le « bitstream »
E/S
Bloc embarqué
cellule
• L’interconnexion occupe environ 80% de la surface
• Pour une même fonction, la surface est environ 30 fois celle d’un circuit ASIC
page 6
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Marché des FPGAs
page 7
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Histoire :
Concurrence féroce, beaucoup d'échecs
•
•
L’innovation des nouvelles sociétés doit présenter une vraie rupture
Beaucoup de juristes dans les sociétés de FPGAs (toutes américaines)
page 8
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 9
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Comparaison multi-critères ASIC/FPGA
Coût à la pièce (dépend du volume)
FPGA
ASIC
consommation
vitesse
Temps de
développement
robustesse
flexibilité
sécurité
interfaçage
page 10
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
reprogrammable
À concevoir 1 fois
Comparaison multi-niveaux ASIC/FPGA
logiciel
c 11
c 10
c 12
c8
c5
c 10
c4
c8
c9
c 14
c 12
c8
X5
X13
FPGA
F 13
F 11
X2
F9
F7
X4
F5
c7
c 14
c4
c8
c 13
c6
c 12
c8
c3
c6
c4
c8
F3
X3
F1
F 14
X9
X6
X14
Standard cell
F 15
X10
X11
ASIC
existant
F 12
F 10
X1
F8
c 15
c2
c 12
c8
c4
c8
X8
F6
X7
F4
c1
c2
F2
X15
1/2
16
16
8 CONTROL
UNIT
COMMANDS
16
ROUND
32
16
32
PERMUTATION PERMUTATION
TRANSPOSTION
MEMORY
256x16 bits
9
CLIP
&
ROUND
SERIAL
PARALleL
CONVERTER
PIXELS
Synchro
SERIAL
PARALleL
CONVERTER
X0
32
SERIAL
OPERATIVE
PART
Algorithme
F0
Logiciel
CPU
Architecture
Logiciel
SoC
Logiciel
SoC
Code HDL
Code HDL
Netlist
Netlist
32
12
DCT TERMS
Logique
transistors
CPU
existe
Lay-out portes
masques
Lay-out global
fonderie
page 11
Télécom ParisTech
schémas portes
Fonte + test
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
circuit
existe
Flot de conception FPGA
Principales Différences avec ASIC :
• Synthèse et P/R spécifiques
• Pas de structure de test
• Fabrication => programmation
spécifications
VERIFICATION
Code HDL
SYNTHESE
Synthèse et P/R spécifique :
nombre de cellules figé par
circuit
page 12
Télécom ParisTech
PLACEMENT
ROUTAGE
netlist
Technologie
FPGA
+ contraintes
Vitesse/Coût
bitstream
CONFIGURATION
Programmation :
Téléchargement du bitstream
dans le circuit => autonomie
Altera : Quartus II
Xilinx : ISE
Microsemi (Actel) : libero
Lattice : Diamond
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Les technologies micro-électroniques des
FPGAs
 Les dernières technologies sont utilisées
• Permet de satisfaire le besoin fort en densité
• Permet au fondeur de tester sa technologie
Evolution des FPGAs XILINX famille Virtex :
famille
année
technologie
Max cellules
Détail techno
Virtex4
2004
90nm
200000 LUT4
Virtex5
2007
65nm
330000 LUT6
* Triple oxyde (réduction de la consommation)
Virtex6
2010
40nm
760000 LUT6
* Lithographie par immersion (finesse de
gravure)
* Implants SiGe (augmentation de la vitesse)
Virtex7
2012
28nm
2000000 LUT6
* High-K technology (réduit les courants de
fuite)
En préparation : Virtex Ultrascale avec technologie 3D 20nm
page 13
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Les technologies micro-électroniques des
FPGAs
Evolution des FPGAs ALTERA STRATIX:
Fin FET
page 14
Télécom ParisTech
Technologie INTEL Fin-FET
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
ASICs dans les FPGAs : Hard IPs
RAM
CPU
RAM
Co-proc
2
RAM
page 15
CPU embarqué
Co-proc
3
IP soft
Co-proc
1
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 16
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
La cellule ou
Comment générer une fonction logique quelconque?
Cellule = LUT (+ bascule)
In1
In2
In3
in4
LUT4
OUT
LUT pour la logique combinatoire
LUT  mémoire
ad1
ad2
ad3
ad4
page 17
mémoire
Télécom ParisTech
DFF pour la logique séquentielle
Modes d’utilisation de la LUT :
• Additionneur 1 bit : 1LUT4 = 2 LUT3
(résultat,retenue)
• Mémoire RAM 16 bits (Xilinx)
• Registre à décalage (Xilinx)
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Architecture d'une LUT
In 0
In 1
In 2
In 3
LUT 4
entrées
Out
In 0
In 0
In 1
In 1
In 2
In 3
In 2
configuration
SRAM
In 3
SRAM
SRAM
SRAM
SRAM
SRAM
Points de configuration
page 18
Out
Multiplexeur 2 vers 1
Télécom ParisTech
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Combien d'entrées pour la LUT ?
Si beaucoup d’entrées : mémoire énorme mais moins de LUT sur le chemin
de calcul . Quel est le meilleur compromis ?
Nb LUTs
interconnexion
NB LUTs sur le chemin critique
Temps critique
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)
page 19
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule à LUT : ALTERA STRATIX
 mode
normal
LUT Chain
Input
Register
Chain Input
Register Control
Signals
Cin
Data1
Data2
4-Input
LUT
Data3
Sync Load
&
Clear Logic
Reg
Data4
Row, Column
& Direct Link
Routing
Local Routing
Register
Feedback
LUT Chain
Output
page 20
Télécom ParisTech
Register Chain
Output
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule à LUT : ALTERA STRATIX
 mode
arithmétique
Algorithme : CARRY SELECT
C0
LAB Carry-In
Carry-In0
Carry-In1
Carry-In
Logic
Register
Chain Input
addnsub
Data1
Data2
Data3
cellule
Register Control
Signals
Two
2-Input
LUTs
(Sum)
0
1
0
1
0
Sync Load
&
Clear Logic
Two
2-Input
LUTs
(Carry)
C15
Reg
Row, Column
& Direct Link
Routing
Local Routing
Carry-Out
Logic
Register Chain Output
CarryOut0
page 21
CarryOut1
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
1
XILINX Virtex5/6 : LUT6
A6
A5
A4
A3
A2
A1
LUT5
O6
2 sorties
O5
LUT5
Configuration en 1 LUT6 ou 2 LUT5
page 22
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
ALTERA Adaptive Logic Module (STRATIXII,III,IV,V)
1
ALM Inputs
2
Comb.
Logic
Adder
3
Reg
4
5
6
Adder
7
Reg
8
ALM
page 23
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
StratixII : Configurations ALM
ALM
ALM
5-LUT
3-LUT
ALM
5-LUT
ALM
4-LUT
4-LUT
6LUT(1)
7LUT(1)
4-LUT
ALM
ALM
5-LUT
6-LUT
5-LUT
page 24
ALM
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
6LUT(1)
StratixII : Arbre d’addition
X0
Y0
Z0
X0
Y0
Z0
3 LUT
+
Shared
3 LUT
C0 Arith
3 LUT
S1
3 LUT
C1
X2
Y2
Z2
3 LUT
S2
X2
Y2
Z2
3 LUT
C2
X1
Y1
Z1
X1
Y1
Z1
3 LUT
page 25
S0
Télécom ParisTech
R0
Carry
Chain
Chain
+
R1
ALM
0
+
R2
+
R3
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule à MUX : ProASIC en mode combinatoire

Exemple : ProASICPLUS de ACTEL (technologie FLASH)
Exemple 1 : porte NAND à 3 entrées
page 26
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule à MUX ProASIC : mode séquentiel

Exemple : ProASICPLUS de ACTEL (technologie FLASH)
Chemins de mémorisation
Exemple 2 : bascule D avec reset asynchrone
page 27
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 28
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Topologie d'interconnexion en matrice
Boîte de connection
Matrice de commutation
cellule
Canaux de routage
page 29
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
La matrice de commutation
Nombreuses possibilités
0 1 2 3
3
2
1
0
0 1 2 3
3
2
1
0
3
2
1
0
0 1 2 3
3
2
1
0
3
2
1
0
3
2
1
0
0 1 2 3
0 1 2 3
0 1 2 3
DISJOINT
UNIVERSEL
WILTON
page 30
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
La boîte de connexion
Les points de configuration des entrées sont en log(N) pour N entrées
Point de configuration
page 31
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Topologie de type matrice hiérarchique
cellule
Groupe de cellules
(CLB,LAB,cluster,…)
Connexions niveau 0
Connexions niveau 1
Canaux de routage
CLB : "Configurable Logic Block"
LAB : Logic Array Block
page 32
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Taille des clusters
Un grande taille de cluster facilite
les contraintes de timings :
=> taille d'au moins 8
Taille du FPGA pour différentes tailles de LUT et cluster
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)
page 33
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Exemple de clusters
Slice
LUT
x2
Virtex5 : CLB = 2 slices * 4 LUT6
page 34
Télécom ParisTech
StratixIII : LAB = 8 ALM
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Matrice : interconnexions segmentées
CLB
CLB
CLB
CLB
Canal de 4 lignes de longueur 1
Canal de 2 lignes de longueur 2
Canal de longueur 4
Un canal faisant toute la largeur sert pour les signaux globaux (horloge, reset,…)
page 35
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Effet de la segmentation : gain en vitesse
1 hop = passage par un commutateur
XILINX
Virtex 4
page 36
Télécom ParisTech
Intra-LAB
1 Hop
2 Hop
3 Hop
XILINX
Virtex 5
ALTERA
StratixIII
Segmentation diagonale
Segmentation très forte
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 37
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Un FPGA est plus qu’un ensemble de cellules
cellules
mémoires
Multiplieurs
Clocks
I/Os
interfaces
page 38
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Mémoires dans les FPGA
 Distribuée
• Utilisation des LUTs des cellules
en mode mémoire
 Embarquée
• La mémoire est un bloc
spécifique
• Tailles entre 512b et 512Kb
• Utilisable en
 Simple / Douple Port
 ROM
 FIFO
 Quelques Mbits dans les
dernières familles
• 17Mbits dans les Virtex7
page 39
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Embedded Array
Block
18Kbits
Type d'accès

Exemple : Xilinx Virtex5
Each 18K
3
6
True dual-port
page 40
16Kx1, 8Kx2,
4Kx4, 2Kx9,
1Kx18
Simple dual-port
16Kx1, 8Kx2,
4Kx4, 2Kx9,
1Kx18, 512x36
Single-port
16Kx1, 8Kx2,
4Kx4, 2Kx9,
1Kx18, 512x36
Télécom ParisTech
2
independent read and write
ports
1
read & 1 write port
Read AND write in 1 cycle
1
read & 1 write port
Read OR write in 1 cycle
Backwards compatible to V4
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Add
rA
Port A
Wdata Rdata
A 36KbA
36
Memor
y
Array
Ad
36 dr
B
Wdata
B
Port
B Rdata
36
B
Pour FIFO
Evolution des tailles mémoires STRATIX
Memory Functions
Processor
code storage
Packet buffers
Video frame buffers
General
purpose memory
Shift
registers
Small FIFO buffers
Filter delay lines
page 41
Télécom ParisTech
Stratix II Devices
Stratix III/IV Devices
MRAM
M144K
576K Bits
144K
Bits
M4K
M9K
4.5K
Bits
9K Bits
M512
MLAB
576 Bits
640 Bits
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Blocs arithmétiques dans les FPGAs
 Additions/soustractions
• Se font généralement en propagation de retenue par un
chemin de routage spécifique le long des cellules
 Multiplications, MACs
• Blocs dédiés
 Souvent 18x18 utilisables en 4 (9x9)
 Accumulation
 Mise en Cascade, Arrondi, troncature, saturation
• Quelques milliers dans les dernières familles
 4000 dans les Virtex7
page 42
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Exemple : Xilinx Virtex 6 DSP slice
B
D
A
X
P
+/-
=
C
25x18 Multiplier
25bit Pre-adder
ALU-like
Second Stage
Pattern Detector
Power Consumption Benefits
 Lowest power operation of any FPGA solution
 1.23mW/100Mz at 38% toggle rate
43
Performance Benefits
 600MHz operations for any DSP operation
(including large filters)
 ~1.2 TeraMACC in a single device
Cost Benefits
q Hardened pre-adder and adder cascade saves
significant logic resources
q Logic functions can be mapped into DSP blocks
Télécom ParisTech
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Exemple : ALTERA StratixIII DSP block
+
Output Register Unit
R
R
Optional RND & SAT Unit
+-
+-
Output Multiplexer
+ +- -
Optional Pipelining
144
Input Register Unit

72
+
R
page 44
Télécom ParisTech
Output Register Unit
R
Optional RND & SAT Unit
© 2006 Altera Corporation - Confidential
14
+-
+-
Output Multiplexer
+ +- -
Optional Pipelining
144
Input Register Unit

72

Basic Multiplier
Modes
• 8 x (9x9)
• 6 x (12x12)
• 4 x (18x18)
• 2 x (36x36)
• 2 x complex
(18x18)
Sum Modes
• 4 x Sum of Two
(18x18)
• 2 x Sum of Four
(18x18)
Accumulation
• 2 x Acc
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cascade Modes



Input Cascade
Output Cascade
Rounding


Unbiased and
Biased
Saturation


Asymm and
Symmetrical
Barrel Shifter


Arithmetic, Logical
and Rotation
Blocks de gestion d'horloge
 Besoins
• Eviter le« 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 : arbre d'horloge « bufferisés »
• Bloc PLL/DLL dédié à la génération :
 Asservissement sur l'extérieur
 Compensation du skew d'horloge
page 45
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Principe de génération d'horloge

Système asservi en fréquence sur une oscillateur
externe
• PLL
mesure de l'erreur de phase
• DLL
Frequence ajustable
phase ajustable
page 46
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Circuit de génération d'horloge

Ajustement en fréquence et phase sur plusieurs
horloges
PLL
f_out1=P/Q1 f_in
f_out2=P/Q2 f_in
DLL
page 47
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
DLL

Exemple : XILINX VIRTEX
Virtex
Virtex
Clock Mirror
Zero-Delay Internal Clock Buffer
Sub 5ns Clock-to-Out on MegaGate FPGA
Zero-Delay Board Clock Buffer
Virtex
Clock Phase Synthesis
Clock Frequency Doubling
For Internal and Board Applications
page 48
Télécom ParisTech
Timing Precision with normal clocks
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLL
 Exemple
ALTERA Stratix
Lock
Detect
Switchover
Circuit
Clock
Inputs
Redundant
Clock
PFD
t
CP/LF
VCO
M
External
Feedback
page 49
Télécom ParisTech
t
K1
t
I/O Buffer
Spread
Spectrum
N
K0
General Routing
or I/O Buffers
Local
Clocks
G0
t
G1
t
G2
t
G3
t
E0
t
E1
t
E2
t
E3
t
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
4 Global
Clocks
M
N x KN
I/O Buffers
(SingleEnded or
Differential
Interconnexion : Réseau d'horloges

Exemple : XILINX VIRTEX II
8 BUFGMUX
16 équipotentielles réparties sur
4 quadrants
NE
NW
8
8
NW
8 BUFGMUX
NE
16 Clocks
16 Clocks
8
SW
8 BUFGMUX
SW
8
SW
8 BUFGMUX
page 50
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
SE
Les processeurs intégrés
 Processeurs
Hard :
• IBM PPC405
• XILINX VIRTEX
• (dual) ARM cortex-A9
• ALTERA ARRIA V, CYCLONE V,
• XILINX ZynQ
• ARM cortex-M3
• Smartfusion 2
• Beaucoup de processeurs Soft :
• Propriétaires
- XILINX : MicroBlaze 32 bits
- ALTERA : NIOS2 32 bits
- ACTEL Igloo , ProASIC3, Fusion : ARM7 cortex M1
• Libres. Exemples :
- 32 bits RISC :Leon (SPARC 32 bits), LM32 (lattice)
- 8 bits CISC simple : 6502
page 51
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Virtex-4 FX/Virtex-II Pro PowerPC 405
PLB
Auxiliary Processor Unit
Controller (Virtex-4)
ISOCM
PowerPC 405 Core
I-Cache
Array
I-Cache
Controller
Instruction-Cache Unit
Data-Cache Unit
D-Cache
Controller
PLB
page 52
CPU
Instruction
Shadow-TLB
(4-Entry)
Fetch and
Decode
Logic
3-Element
Fetch Queue
Data
Shadow-TLB
(8-Entry)
Execution Unit
32x32
GPR
ALU
DSOCM
Télécom ParisTech
Timers
PIT, FIT
and WDT
Timers
and
Debug
Unified TLB
(64-Entry)
Cache
Units
D-Cache
Array
MMU
MAC
Debug
Logic
JTAG
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
I-Trace
ARM cortex-A9 dans ARRIA V, CYCLONE V
page 53
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Blocs embarqués analogiques : ACTEL Fusion
SRAM / FIFO
Coeur FPGA
PA3
E/S
PLL/CCC
Flash
utilisateur
Securité
Pompe de
Charge
ADC
Gestion
Horloge
RTC, Xtal Osc.
E/S
analogiques
Flash
page 54
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Les IPs softs

Bibliothèques très riches
Communications
ADPCM (u-law,
a-law)
ATM Controller
CRC
Ethernet MAC (10/100/Gigabit)
HDLC Protocol Core
IMA Controller
SONET/SDH Framer
T3/E3 Framer
Packet Over SONET Processor
Telephony Tone Generator
Utopia Master & Slave
POS-PHY Interface
page 55
Bus Interface
DSP
Cœur de Processeurs,
Périphériques
PCI Target
Color Space Converter
NiosTM Processor
PCI Master-Target
Correlator
PCI-X
Digital Modulator
Tensilica X-tensa
Processor
CAN Bus
Discrete Cosine Transform
IIC Master & Slave
Fast Fourier Transform
IEEE 1394
FIR Compiler
PowerPC Bus
Arbiter
IIR Filter
Image Processing Library
PowerPC Bus
Master
NCO
PowerPC Bus Slave
Reed Solomon Encoder/Decoder
USB Function Controller
Interleaver/Deinterleaver
USB Host
Controller
Viterbi Decoder
…
…
Télécom ParisTech
Turbo Decoder
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PalmChip Bus
SDRAM Controller
DDR-SDRAM Controller
QDR-SDRAM Controller
8237 DMA Controller
8255 Peripheral Interface
8259 Interrupt Controller
8254 Timer/Counter
8051, 6502, Z80
…
Cellule E/S
 E/S configurable
• Nombreux paramètres et standards
 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
 Transceivers
• Gigabit Transceivers jusqu’à 28Gbps (Virtex7)
 Accepte diverses tensions d'alimentation
page 56
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule E/S: XILINX VIRTEX
page 57
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule E/S : Virtex7
SERDES : sérialisation/désérialisation
Interconnect to FPGA fabric
Master IOLOGIC
P
IOSERDES
+ IODELAY
VCCO
PAD
LVDS
Termination
Slave IOLOGIC
N
IOSERDES
+ IODELAY
Single-ended
différentiel
page 58
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Cellule E/S ALTERA StratixIII
Puissance et slew
rate ajustables
Retard ajustable
:2
Sync
block
Read
Terminaisons
programmables
1
demux
Sync
block
Write
DQ Hard I/O
IO
Synchronisation
avec l'horloge,
31 registres au total
SERDES,…
page 59
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Protocoles supportés
 Virtex5
SRAM
standard
Différentiel
Très
rapides
page 60
LVCMOS (3.3v, 2.5v,
1.8v, 1.5v, and 1.2v)
LVDS, Bus LVDS,
Extended LVDS
LCPECL
PCI, PCI-X
HyperTranport (LDT)
Télécom ParisTech
HSTL (1.8v, 1.5v,
Classes I, II, III, IV)
HSTL_I_12
(unidirectional only)
DIFF_HSTL_I_18,
DIFF_HSTL_I_18_DCI
DIFF_HSTL_I,
DIFF_HSTL_I_DCI
RSDS_25 (point-topoint)
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
SDRAM, DDRAM
SSTL (2.5v, 1.8v,
Classes I, II)
DIFF_SSTL_I
DIFF_SSTL2_I_DCI
DIFF_SSTL18_I,
DIFF_SSTL18_I_DCI
GTL, GTL+
Fond de panier
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 61
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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 ou équivalent
- Antifusible
 Méthode
de configuration pour SRAM
• Interface spécifique
• Configuration totale/partielle
• Sécurisation du transfert
page 62
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Technologies des commutateurs
Pass-transistor :
Peu coûteux
c
C
porte de transmission :
pas de limitation à Vdd-Vt
C
C
c
Buffer 3-états : amplificateur
d
page 63
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Technologies de programmation
 Mémoire
Antifusible (Actel)
La plus utilisée
condensateur
Point mémoire
Point mémoire SRAM ou FLASH
• Opération de fusion du diélectrique
irréversible (OTP)
grille
polysilicium
grille flottante
N+
drain
N+
oxyde
Transistor à grille flottante
page 64
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 65
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Consommation dans les FPGAs
Le prix à payer de la programmabilité : x14 vs ASIC
 Consommation dynamique
• En CMOS, l'essentiel de la consommation provient des courants
de charge et décharge des capacités réparties
1
2
P= C V dd f
2
Vdd
f
C
P
 Consommation statique
• Due aux courants de fuite. Quasi nulle dans les technologies
>130nM mais devient non négligeable si <130nM
 Stratégie de réduction
• Transistors faible consommation
• Gestion pour la mise en veille
page 66
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Stratégie pour réduire la puissance statique

Technologie Triple-Oxyde
(Vgg)
Configuration Memory
Vccint
Logic / Buffers
Vcco
IOB
Transistor Types
Interconnect Pass Gates
page 67
Télécom ParisTech
Thin Ox – Fast switching time, highest leakage
Mid Ox – Fast signal passing, low leakage
Thick Ox – Max Voltage tolerance, lowest leakage
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Stratégie pour réduire la puissance dynamique
Stratix III
Logic Array
Timing Critical Path
High-Speed Logic
Low-Power Logic
Unused Low-Power Logic
page 68
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Stratégie pour réduire la puissance dynamique : StratixIII


Changement de la tension du coeur
• 1.1 V pour la performance maximum
• 0.9 V pour le minimum de puissance consommée (varie en Vdd2)
Tensions des E/S et PLL non affectées
• La vitesse est maintenue au maximum sur les E/S
Nominal
Voltage
Min. Regulator
vOUT
Max. Regulator
vOUT
Slow Timing
Model
Fast Timing
Model
Power Model
1.1 V
1.05 V
1.15 V



0.9 V
0.86 V
0.94 V



page 69
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
StratixIII :Prise en compte au niveau de la conception
Design
Entry
Timing
Constraints
Synthesis
Place and Route
Timing, Area, Power
Optimization
page 70
Télécom ParisTech
PowerPlay
Power Analyzer
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Robustesse dans les FPGAS
 Plusieurs sources de “fautes”
• Rayonnements cosmiques
 Affecte les mémoires SRAM
 Mémoires embarquées
 Mémoire de configuration (à part Flash et anti-fusible)
• Vieillissement des technologies
• Bruit interne détériorant l'intégrité du signal
 Interférences
 Bruit de masse (Simultaneous Switching Noise)
 Mauvaises adaptations d'impédance
• Actes malveillants
page 71
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Rayonnement cosmique

espace
Erreur SEU "Single Event Upset"
Current
Rayon cosmique
Point mémoire SRAM
Time
Vcc
Add
Data In
Data Out
Voltage
Vss
page 72
Télécom ParisTech
Time
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Voltage
Clear
Time
Parades au rayonnement cosmique
 Mémoire de configuration
• Signature CRC dans le bitstream
• Mesure régulière du CRC (Xilinx) ou utilisation d'un
processeur pour mesurer la "criticalité" (Altera)
• Utilisation de technologies robustes (Actel : FLASH,
Antifusibles)
 Mémoire utilisateur
• Code correcteur d'erreur ECC associé aux mémoires
embarquées
page 73
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Amélioration de l'intégrité du signal
 Action au niveau des E/S
• Ajustement du « slew rate »
• Ajustement de la puissance des sorties
• Adaptation d'impédance
• Ajustement du retard
 Action au niveau du boîtier
• Respecter le ratio Vdd/Gnd/ E/S (8)
• Mettre des capacités de découplage ou utiliser des
boîtiers pré-équipés
page 74
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Boîtiers

Nécessité d'un grand nombre d'E/S
*Loi de Rent: N=K.G
N = nombre d'E/S
K = nombre d'entrées/portes
G = nombre de portes
 = constante de Rent dépendant de l'application ~0,6
Peut dépasser 1000 => boîtier BGA
circuit
boitier
DIP (Dual In Line Package)
page 75
Télécom ParisTech
QFP (Quad Flat Package)
BGA (Ball Grid Array)
pitch=0,5mmm
pitch=1mm ou moins
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLAN
 Qu’est ce qu’un FPGA ?
• Les grands principes, le Marché
• Comparaison avec les circuits ASICs
 Les principes innovants
• Cellules
• Interconnexion
• Blocs embarqués, I/Os
• Configuration
• Consommation, sûreté
 Tendances
 Conception
• Vue d’ensemble
• Synthèse à partir
page 76
Télécom ParisTech
d’un modèle HDL
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Offre SoC avec processeurs en « dur »
 Existants : processeur en « HDL »
• Processeurs Propriétaires (netlist seulement)
 XILINX : MicroBlaze 32
 ALTERA : NIOS2
 ACTEL Fusion, IGLOO, ProASIC3 : ARM7 cortex-M1
• Processeurs Libres LGPL, GPL
 Code VHDL ou Verilog
 LATTICE : MICO 32bits
 32 bits RISC :Leon (SPARC 32 bits)
 Tendances : processeur en « dur »
• Xilinx Zynq 7000 : Dual core ARM cortex A9
• Altera ARRIA SX : Dual core ARM cortex A9
• Actel Smartfusion(2) cSoc : ARM cortex M3
page 77
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Microsemi SmartFusion 2
page 78
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Xilinx Zynq 7000
page 79
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Altera ARRIA SX
page 80
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Réduire la consommation
 Technologies Low-Power
Flash
• Silicon Blue : NVCM
 Mémoire NV à partir de process
CMOS à 2 transistors (
technologie Kilopass)
• ACTEL : Famille IGLOO
 Flash freeze mode : mode veille
 Technologies SRAM
• Altera CYCLONE V
• Xilinx ARTIX-7
page 81
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Augmenter les interfaces et leur rapidité
 De plus en plus de blocs d’interface durs dans les
derniers FPGAs
• PCI-express, Ethernet/MAC,Transceivers 28Gbps
 FPGA dédié I/O
• CSwitch CS90 (configurable switch)
 Interconnexion et logique au centre de blocs périphériques durs
page 82
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Transceivers Xilinx
Spartan®-6 Virtex®-6
Family
Family
Artix™-7 Kintex™-7 Virtex-7 Family
T Devices XT Devices
Family
Family
28.05 Gb/s
GTZ
GTH
11.18 Gb/s
GTH
6.6 Gb/s
GTX
GTP
GTP
40nm
page 83
GTX
GTX
12. 5 Gb/s
3.75 Gb/s
3.125 Gb/s
HT Devices
Télécom ParisTech
28nm
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
GTX
GTH
ReConfiguration à la volée

page 84
Télécom ParisTech
Start-up Tabula
• 2D + Temps
• Reconfigurations permanentes
@1.6GHz
• 8 configurations
• Mémoires simple port
équivalente à 8 ports 200MHz
• Diminue les ressources de
routage
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Calcul Asynchrone : plus d’horloge globale
 Pour augmenter les Performances
• startup Achronix (techno Intel 22nm transistors 3D)
 Speedster 22i : Technologie « Picopipe » =>1.5GHz
 Pour augmenter la sécurité
• Projet « SAFE » TIMA + TPT
 Implante le protocole QDI
 Routage et calcul dual rail
page 85
Télécom ParisTech
Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Circuits FPGA « custom » Télécom ParisTech
Projet SAFE : 65nm
FPGA asynchrone 3x3
Projet FASE : 130nm
FPGA reconfigurable
dynamiquement 8x8
Projet SeFPGA : 65nm
FPGA en arbre
2048 cellules
page 86
Télécom ParisTech
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Téléchargement