Les Circuits Reconfigurables : Passé, Présent, Futur ….

publicité
Les Circuits Reconfigurables :
Passé, Présent, Futur ….
Lionel TORRES
[email protected]
INTRODUCTION & CONTEXTE
ª Technologies microélectroniques en 2007 :
- Technologie de 90nm (voir 65nm)
- Intégration courante de plusieurs dizaines de millions de transistors… 1 milliard en 2004
- Fréquence de fonctionnement supérieures à 2GHz
1999
2008
0.18mm
256Mb DRAM
16 CPU FP 64b
500 MHz
0.07mm
4Gb DRAM
256 CPU FP 64b
2.5GHz
18 mm
30,000 pistes
1 clock
répéteurs tous les 3 mm
25 mm
120,000 pistes
16 clocks
répéteurs tous les 0.5 mm
Introduction & contexte
Pourquoi les architectures reconfigurables ?
Les FPGA sont aujourd’hui de réelles alternatives aux ASIC
(capacité, prix et performances en adéquation avec les besoins)
FPGA
Nombre de portes (log)
10M
100k
10k
i té
ac
p
Ca
m
2007
IC
AS
x
a
19
99
100M
19
97
1000M
1M
ASIC
Coût de
fabrication
20
01
2005
03
20
ion
sat
i
l
i
t
d’ u
e
A
n
PG
yen
F
o
M
ax
m
é
it
ac
p
80% des design fonctionnent
Ca
2003
5
200
2001
2 00 7
1999
7
199
à moins de 200MHZ
1k
1989
2000
2007année
Source : Altera, SOPC World Seminar
Source : L. Bossuet, G. Gogniat - LESTER
200 000
1 000 000
Nombre de circuits
fabriqués
S. Tredennick, The Rise of Reconfigurable Systems, ERSA 2003
Pourquoi les architectures reconfigurables ?
D
a
t
a
1G
R
a
t 100M
e
S
a 10M
m
p
l 1M
e
s
100k
p
e
r
10k
s
e
c 1k
o
n
d
ASIC
FPGA-Based
processing
Multiple DSP Cores
or Chips
Single-Chip DSP
MPU/MCU
Less Complex
Algorithm Complexity
More Complex
Pourquoi les architectures reconfigurables ?
D
a
t
a
1G
R
a
t 100M
e
S
a 10M
m
p
l 1M
e
s
100k
p
e
r
10k
s
e
c 1k
o
n
d
ASIC
FPGA-Based
processing
Multiple DSP Cores
or Chips
Single-Chip DSP
MPU/MCU
Less Complex
Algorithm Complexity
More Complex
PRINCIPES et CLASSIFICATION
DEFINITION : COMPOSANTS STANDARDS PROGRAMMABLES
ELECTRIQUEMENT – UNE SEULE FOIS (FUSIBLES) OU PLUSIEURS
FOIS RE-PROGRAMMABLES (RECONFIGURATION)
PRINCIPES DES ARCHITECTURES: ENSEMBLE DE RESSOURCES
LOGIQUES (PORTES, BASCULES, …ETC) QUI PEUVENT ÊTRE
INTERCONNECTÉES DE DIFFÉRENTES FAÇONS.
REALISATION DE FONCTIONS BOOLEENNES SOUS FORME D’UNE
SOMME LIMITEE DE MONOMES (PAL, PLD, EPLD,...) OU D’UN
RESEAU DE CELLULES (FPGA)
User Logic Layer
Configuration Memory Layer
PRINCIPES et CLASSIFICATION
TECHNOLOGIES DE PROGRAMMATION :
FUSIBLES (METAL), ANTIFUSIBLES (CAPACITE MOS),
TRANSISTOR MOS A GRILLE FLOTANTE (EPLD), RAM
STATIQUE (FPGA-SRAM),...
• Fuse
Programmable une seule fois (configurable)
• Antifuse
• FLASH
Nombre de configuration ( x.103 à x. 106) - NV
• SRAM
Configuration réalisée à chaque mise sous tension
PRINCIPES et CLASSIFICATION
CLASSIFICATION
Source: Dataquest
Logic
Standard
Logic
Programmable
Logic Devices
(PLDs)
ASIC
Gate
Arrays
SPLDs
(PALs)
Acronyms
SPLD = Simple Prog. Logic Device
PAL = Prog. Array of Logic
CPLD = Complex PLD
FPGA = Field Prog. Gate Array
CPLDs
Cell-Based
ICs
Full Custom
ICs
FPGAs
Common Resources
Configurable Logic Blocks (CLB)
– Memory Look-Up Table
– AND-OR planes
– Simple gates
Input / Output Blocks (IOB)
– Bidirectional, latches, inverters
PRINCIPES et CLASSIFICATION
Cout
ASIC
FPGA
Reconfigurable architectures
design space
Performances
GPP
Flexibilité
General Purpose Processor
ARCHITECTURES ET CIRCUITS
FPGAs : Field Programmable Gate Arrays
Matrice de blocs reconfigurables
Interconnexion reconfigurable
CLB = LUT + Sequentiel éléments
ARCHITECTURES ET CIRCUITS
FPGAs : Reconfigurable
•
Arrangement Matriciel de blocs logiques avec configuration des :
1. Interconnexions entre les blocs logiques,
2. La fonction de chaque bloc.
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
ARCHITECTURES ET CIRCUITS
FPGAs : Reconfigurable
•
Arrangement Matriciel de blocs logiques avec configuration des :
1. Interconnexions entre les blocs logiques,
2. La fonction de chaque bloc.
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
ARCHITECTURES ET CIRCUITS
FPGAs : Reconfigurable
•
Arrangement Matriciel de blocs logiques avec configuration des :
1. Interconnexions entre les blocs logiques,
2. La fonction de chaque bloc.
set by configuration
bit-stream
Logic Block
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
1
INPUTS
CLB
CLB
CLB
CLB
CLB
CLB
CLB
CLB
latch
4-LUT
FF
0
OUTPUT
4-input "look up table"
ARCHITECTURES ET CIRCUITS
FPGAs : Generic reconfigurable block
1
0
0
0
1
0
0
0
Table de vérité
de la fonction
F( A, B, C, D) = A.B.C.D + A.C.D + A.D
1
F( A, B, C, D) = ∑ (0, 3, 7, 8,10,12,14)
1
0
1
0
1
0
1
0
Entrée du FPGA
Multiplexeur 2n:1
15
ABCD
Si 150 transistors / LUT
Pour 50.000 LUTS Î 7.500.000 transistors !
ARCHITECTURES ET CIRCUITS
Active Interconnect ™
Complexité des FPGAs
Processeur
CLBs
Slice S3
CLB,
CLB,
Switch
Switch IOB,
IOB,
Matrix
Matrix DCM
DCM
Slice S2
Switch
Matrix
• Fully Buffered
• Fast, Predictable
Slice S0
BRAM
Block RAM
• 18KBit True Dual Port
• Up to 3.5Mbits / device
Slice S1
Multipliers
• 18b x 18b mult
• 200MHz pipelined
• 8 LUTs
• Logic (primary use)
• 128b distributed RAM
• Shift registers
• Wide Input functions (32:1)
ARCHITECTURES ET CIRCUITS
Complexité Technologique
• > 500 Mhz de fréquence d‘horloge
• 90 nm, 9-Metal layers – 65nm 11-Metal layers
• > 300 000 CLBs !
• Fonctions arithmétiques cablées (Multiplieur, MAC, etc …)
• Plusieurs Processeurs (Hard, Soft)
• Plusieurs centaines de Kb de Mémoire (Flash ou SRAM)
• Blocs Analogiques (de + en +)
• 50 Millions de bits de configuration !!
ARCHITECTURES ET CIRCUITS
Complexité Logicielle (CAO)
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_signed.all;
entity add4 is
port( A, B
SUM
);
end add4 ;
: in std_logic_vector(7 downto 0);
: out std_logic_vector(7 downto 0)
architecture archi_add4 of add4 is
begin
process(A, B)
begin
sum <= A+B ;
end process;
end archi_add4;
• Hétérogenéité des architectures
• Du FPGA vers le SOPC (System On Programmable Chip)
• Synthèse d‘architecture (et non logique)
ARCHITECTURES ET CIRCUITS
• FPGAs à travers le temps
1990
Mostly
Increasing
number
Very few
LUT
1995
LUT ou LUT ?
LUT a standard ?
2000
2005
2010
LUT
LUT
LUT
LUT
RAM
RAM
RAM
Flash
SRAM
DSP
Analog
DSP
CPU
CPU
CPU
CPU
CPU
CPU
CPU
CPU
LES APPLICATIONS
- Telecom
Un des marchés majeurs du FPGA
- Consumer
HDTV, MP3 etc ..
-Automobile
- Spatial
radiation tolerant reconfigurable FPGAs
-Super Computer (Cray)
- ..... Vers l’embarqué ....
ET LES ETUDIANTS DANS TOUT CELA …
• Que peut on illustrer pédagogiquement
– FPGA se « démocratise » Æ Bac+2 à Bac+8
– Première approche « ludique » vers le monde de la
microélectronique
– Connaissance des architectures/technologies
– Approche logique
– Approche système (µcontrolleur + FPGA)
– Aspects logiciels/matériels
– Utilisation dans le cadre de véritables applications
Ne pas divulguer ce transparent aux fondeurs … merci
ASICs are dead…
My
Position
[Jonathan
Rose]
They Just Don’t Know It Yet!
Téléchargement