Vous êtes sur la page 1sur 86

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 d’un modèle HDL

page 2 Télécom ParisTech 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"


Microprocesseur,
ASICs PLDs DSP,
Microcontrôleur,
Mémoire
Full custom EPLD ASSP
Gate arrays
FPGA
Standard Cell

page 4 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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 Nick Tredennick, Brion Shimamoto. The Rise
of Reconfigurable Systems. In proceeding of

• Plate-forme 100Ghz Engineering of Reconfigurable Systems and


Algorithms, ERSA’2003. June 23-26,Las
Vegas, Nevada, USA.
• Fiabilité, sécurité,…
 Enseignement de l'électronique

page 5 Télécom ParisTech 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 Mémoire de configuration
et commutateurs 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 d’un modèle HDL

page 9 Télécom ParisTech 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 consommation
vitesse
ASIC

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
existant
ASIC
c 11 c 10 c 12 c8
logiciel Standard cell FPGA
X10 F 15

X5 F 13
c5 c 10 c4 c8
X13 F 11

X2 F9
c9 c 14 c 12 c8
X11 F7

X4 F5

c7 c 14 c4 c8

Logiciel Logiciel Logiciel


F3

X3 F1

c 13 c6 c 12 c8

Algorithme
X9 F 14

X6 F 12
c3 c6 c4 c8
X14 F 10

X1 F8

c 15 c2 c 12 c8
X8 F6

CPU SoC SoC


X7 F4
c1 c2 c4 c8
X15 F2
1/2
X0 F0
PERMUTATION PERMUTATION

PIXELS
CONVERTER

Synchro
9
PARALleL
SERIAL

CLIP
&
TRANSPOSTION

ROUND 16

Architecture
32 32
MEMORY

16
256x16 bits

Code HDL Code HDL


CONVERTER

8 CONTROL
UNIT COMMANDS SERIAL
OPERATIVE
PARALleL

PART
SERIAL

16
32 32
ROUND 16

12
DCT TERMS

Logique Netlist Netlist


CPU
transistors existe schémas portes

Lay-out portes circuit


masques existe
Lay-out global

fonderie Fonte + test

page 11 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Flot de conception FPGA
Principales Différences avec ASIC :
spécifications • Synthèse et P/R spécifiques
• Pas de structure de test
• Fabrication => programmation
VERIFICATION

PLACEMENT CONFIGURATION
SYNTHESE netlist
ROUTAGE
bitstream
Code HDL

Programmation :
Téléchargement du bitstream
Technologie dans le circuit => autonomie
Synthèse et P/R spécifique : FPGA
nombre de cellules figé par + contraintes
circuit Vitesse/Coût Altera : Quartus II
Xilinx : ISE
Microsemi (Actel) : libero
Lattice : Diamond

page 12 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

 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 Technologie INTEL Fin-FET

page 14 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
ASICs dans les FPGAs : Hard IPs

RAM

Co-proc CPU embarqué


3
CPU RAM IP soft

Co-proc Co-proc
2 RAM
1

page 15 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 d’un modèle HDL

page 16 Télécom ParisTech 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 LUT4 OUT
In3
in4

LUT pour la logique combinatoire DFF pour la logique séquentielle

LUT  mémoire Modes d’utilisation de la LUT :


• Additionneur 1 bit : 1LUT4 = 2 LUT3
ad1 mémoire (résultat,retenue)
ad2 • Mémoire RAM 16 bits (Xilinx)
ad3 • Registre à décalage (Xilinx)
ad4

page 17 Télécom ParisTech 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
LUT 4 Out entrées
In 3
In 0 In 0 In 1 In 2 In 3
In 1

In 2

SRAM
configuration

In 3 SRAM

SRAM

SRAM

SRAM

SRAM
Out

Points de configuration
Multiplexeur 2 vers 1
page 18 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 ?

interconnexion Nb LUTs 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 Register Control
Chain Input Signals
Cin

Data1
Data2 4-Input Sync Load
& Row, Column
Data3 LUT & Direct Link
Clear Logic Reg
Data4 Routing

Local Routing

Register
Feedback
LUT Chain Register Chain
Output Output

page 20 Télécom ParisTech 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-In
Carry-In1 Logic
cellule
0

Register Register Control 1

addnsub Chain Input Signals

Data1 Two 0

2-Input
Data2 1
LUTs
Data3 (Sum)
0

Two Sync Load C15

2-Input & Row, Column 1

LUTs Clear Logic & Direct Link


Reg
(Carry) Routing

Local Routing

Carry-Out
Logic
Register Chain Output

Carry- Carry-
Out0 Out1
page 21 Télécom ParisTech Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
XILINX Virtex5/6 : LUT6

A6

A5
A4
A3 LUT5
A2
A1
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 Comb.
2 Logic
Reg
Adder
ALM Inputs

3
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
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

page 24 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
StratixII : Arbre d’addition

X0
S0 R0
Y0
Z0
3 LUT +
Carry
X0 Shared Chain
C0 Arith
Y0 3 LUT
Z0 Chain
X1
S1 R1
Y1
Z1
3 LUT +
X1
Y1 C1
Z1 3 LUT
ALM
X2
S2 R2
Y2
Z2
3 LUT +
X2
Y2 C2
3 LUT
Z2

0 R3
3 LUT +
page 25 Télécom ParisTech 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 d’un modèle HDL

page 28 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Topologie d'interconnexion en matrice

Boîte de connection

cellule Matrice de commutation

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 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

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 StratixIII : LAB = 8 ALM

page 34 Télécom ParisTech 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 Intra-LAB


1 Hop
2 Hop
3 Hop

XILINX XILINX ALTERA


Virtex 4 Virtex 5 StratixIII
Segmentation diagonale Segmentation très forte

page 36 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 d’un modèle HDL

page 37 Télécom ParisTech 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 Embedded Array
Block
• La mémoire est un bloc 18Kbits
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
Type d'accès

 Exemple : Xilinx Virtex5

Each 18K
Add
3 rA Port A 36
6 Wdata Rdata
A 36KbA
16Kx1, 8Kx2, Memor
y
2 independent read and write
True dual-port 4Kx4, 2Kx9,
ports Ad
Array
Port
36 dr
1Kx18 B B Rdata 36

Wdata B
B

16Kx1, 8Kx2, 1read & 1 write port


Simple dual-port 4Kx4, 2Kx9, Pour FIFO
Read AND write in 1 cycle
1Kx18, 512x36

16Kx1, 8Kx2, 1read & 1 write port


Single-port 4Kx4, 2Kx9, Read OR write in 1 cycle
1Kx18, 512x36 Backwards compatible to V4

page 40 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Evolution des tailles mémoires STRATIX

Memory Functions Stratix II Devices Stratix III/IV Devices


Processor code storage MRAM M144K
Packet buffers
Video frame buffers

144K
576K Bits Bits

General purpose memory M4K M9K


4.5K 9K Bits
Bits

Shift registers M512 MLAB


Small FIFO buffers
Filter delay lines
576 Bits 640 Bits

page 41 Télécom ParisTech 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
X
P
D
A
+/-
=
C
25x18 Multiplier ALU-like
Second Stage
25bit Pre-adder

Pattern Detector

Power Consumption Benefits Performance Benefits Cost Benefits


 Lowest power operation of any FPGA solution  600MHz operations for any DSP operation q Hardened pre-adder and adder cascade saves
(including large filters) significant logic resources
 1.23mW/100Mz at 38% toggle rate
 ~1.2 TeraMACC in a single device q Logic functions can be mapped into DSP blocks

Télécom ParisTech
43 Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Exemple : ALTERA StratixIII DSP block

 Basic Multiplier
Modes  Cascade Modes

Optional RND & SAT Unit


+ +- - • 8 x (9x9) Input Cascade

Output Register Unit


Input Register Unit

Optional Pipelining

Output Multiplexer

144 • 6 x (12x12)  Output Cascade


+- R + 72 • 4 x (18x18)
• 2 x (36x36)  Rounding
+- • 2 x complex  Unbiased and
R
(18x18) Biased
 Sum Modes  Saturation
• 4 x Sum of Two
Optional RND & SAT Unit (18x18)  Asymm and
+ +- -

Output Register Unit


Symmetrical
Input Register Unit

• 2 x Sum of Four
Optional Pipelining

Output Multiplexer

144 (18x18)  Barrel Shifter


+- R + 72
 Accumulation
 Arithmetic, Logical
• 2 x Acc
© 2006 Altera Corporation - Confidential
14 +- and Rotation
R

page 44 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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

Zero-Delay Internal Clock Buffer Clock Mirror


Sub 5ns Clock-to-Out on MegaGate FPGA Zero-Delay Board Clock Buffer

Virtex

Clock Frequency Doubling Clock Phase Synthesis


For Internal and Board Applications Timing Precision with normal clocks

page 48 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
PLL
 Exemple ALTERA Stratix
Lock General Routing
Detect or I/O Buffers
K0 t
Local
K1 t Clocks
Switchover
Circuit Spread I/O Buffer
Spectrum G0 t

Clock G1 t
N PFD CP/LF VCO 4 Global
Inputs Clocks
G2 t
M
Redundant N x KN
Clock G3 t
t M
E0 t

E1 t I/O Buffers


External (Single-
Feedback E2 t Ended or
Differential
E3 t

page 49 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
Interconnexion : Réseau d'horloges

 Exemple : XILINX VIRTEX II


8 BUFGMUX
16 équipotentielles réparties sur
4 quadrants NW NE
8
8
8 BUFGMUX
NW NE
16 Clocks
16 Clocks
8 8

SW SW SE
8 BUFGMUX SW

8 BUFGMUX
page 50 Télécom ParisTech Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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
Auxiliary Processor Unit
PLB ISOCM
Controller (Virtex-4)

PowerPC 405 Core

MMU CPU
I-Cache I-Cache
Array Controller Instruction Fetch and 3-Element Timers
Shadow-TLB Decode Fetch Queue PIT, FIT
Instruction-Cache Unit (4-Entry) Logic and WDT

Cache Unified TLB Timers


Units (64-Entry) and
Debug
Data-Cache Unit Execution Unit
Data
D-Cache D-Cache Shadow-TLB 32x32 ALU MAC Debug
Array Controller (8-Entry) GPR Logic

PLB DSOCM JTAG I-Trace

page 52 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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
Gestion ADC
Horloge
RTC, Xtal Osc.
E/S
Flash
analogiques

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

Cœur de Processeurs,
Communications Bus Interface DSP
Périphériques
ADPCM (u-law, PCI Target Color Space Converter NiosTM Processor
a-law)
PCI Master-Target Correlator Tensilica X-tensa
ATM Controller Processor
PCI-X Digital Modulator
CRC PalmChip Bus
CAN Bus Discrete Cosine Transform
Ethernet MAC (10/100/Gigabit) SDRAM Controller
IIC Master & Slave Fast Fourier Transform
HDLC Protocol Core DDR-SDRAM Controller
IEEE 1394 FIR Compiler
IMA Controller QDR-SDRAM Controller
PowerPC Bus IIR Filter
SONET/SDH Framer Arbiter 8237 DMA Controller
Image Processing Library
T3/E3 Framer PowerPC Bus 8255 Peripheral Interface
Master NCO
Packet Over SONET Processor 8259 Interrupt Controller
PowerPC Bus Slave Reed Solomon Encoder/Decoder
Telephony Tone Generator 8254 Timer/Counter
USB Function Controller Interleaver/Deinterleaver
Utopia Master & Slave 8051, 6502, Z80
USB Host Viterbi Decoder
POS-PHY Interface Controller …
Turbo Decoder
… …

page 55 Télécom ParisTech Les FPGAs


Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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

Master IOLOGIC
IOSERDES P
+ IODELAY VCCO
Interconnect to FPGA fabric

PAD
LVDS
Termination

Slave IOLOGIC
IOSERDES N
+ 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

DQ Hard I/O
IO 1 :2
demux

Sync

Read
block

Sync

Write
Terminaisons block
programmables

Puissance et slew Retard ajustable Synchronisation


rate ajustables 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 SDRAM, DDRAM
LVCMOS (3.3v, 2.5v, HSTL (1.8v, 1.5v, SSTL (2.5v, 1.8v,
standard 1.8v, 1.5v, and 1.2v) Classes I, II, III, IV) Classes I, II)
LVDS, Bus LVDS, HSTL_I_12 DIFF_SSTL_I
(unidirectional only) DIFF_SSTL2_I_DCI
Différentiel Extended LVDS DIFF_HSTL_I_18, DIFF_SSTL18_I,
Très DIFF_HSTL_I_18_DCI DIFF_SSTL18_I_DCI
LCPECL
rapides DIFF_HSTL_I,
PCI, PCI-X
DIFF_HSTL_I_DCI GTL, GTL+
HyperTranport (LDT)
RSDS_25 (point-to- Fond de panier
point)

page 60 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 d’un modèle HDL

page 61 Télécom ParisTech 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

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 • Opération de fusion du diélectrique


irréversible (OTP)
Point mémoire SRAM ou FLASH
grille
polysilicium

grille flottante drain

N+ 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 d’un modèle HDL

page 65 Télécom ParisTech 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 f C
2 Vdd 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 Vcco

Logic / Buffers IOB

Transistor Types
Thin Ox – Fast switching time, highest leakage
Interconnect Pass Gates Mid Ox – Fast signal passing, low leakage
Thick Ox – Max Voltage tolerance, lowest leakage

page 67 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

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 Min. Regulator Max. Regulator Slow Timing Fast Timing


Power Model
Voltage vOUT vOUT Model 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 Timing
Entry Constraints

Synthesis

Place and Route


PowerPlay
Power Analyzer
Timing, Area, Power
Optimization

page 70 Télécom ParisTech 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"
Rayon cosmique
Current

Point mémoire SRAM


Time
Vcc
Add

Data In Data Out

Clear

Voltage
Vss
Voltage

Time

Time
page 72 Télécom ParisTech Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
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) QFP (Quad Flat Package) BGA (Ball Grid Array)
pitch=0,5mmm pitch=1mm ou moins

page 75 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 d’un modèle HDL

page 76 Télécom ParisTech 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 Artix™-7 Kintex™-7 Virtex-7 Family
Family Family Family Family T Devices XT Devices HT Devices

28.05 Gb/s GTZ

GTH GTH

12. 5 Gb/s GTX GTX GTX

11.18 Gb/s GTH

6.6 Gb/s GTX GTP

3.75 Gb/s
3.125 Gb/s GTP

40nm 28nm
page 83 Télécom ParisTech Les FPGAs
Toute diffusion ou reproduction nécessite une autorisation de Télécom ParisTech
ReConfiguration à la volée

 Start-up Tabula
• 2D + Temps
• Reconfigurations permanentes
@1.6GHz
• 8 configurations
• Mémoires simple port
équivalente à 8 ports 200MHz
• Diminue les ressources de
routage

page 84 Télécom ParisTech 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

Vous aimerez peut-être aussi