François Verdier
www-etis.ensea.fr/~verdier/
Université de Cergy-Pontoise Laboratoire ETIS - UMR CNRS 8051
Plan du cours
S = (A . B) +
C
A
B S
C
2.1.1 - La logique standard
densité : <20%
temps : mn à h
7408 7432
2.1.2 - La logique à mémoire : LUT
A réseau de portes ET
B
C
réseau de portes OU
S = A.B + C
A
LUT
ET LUT Un ensemble de
B
chemins de
routage
LUT LUT
OU S = A.B + C
C
OU S = A.B + C
C
Cellule mémoire
2.2 - Classification des technologies
Logique
PLD
anti-fusibles
EPROM
EEPROM/FLASH SRAM
Les circuits FPGA SRAM deviennent des solutions de
remplacement avantageuses pour les systèmes numériques
à haute intégration.
Conception
Vérification
Réalisation
3 - Architecture des circuits FPGA
(XILINX)
• Un FPGA réalise une fonction logique complexe. Il est
programmable, et re-programmable dans son
environnement
• Les circuits FPGA XILINX sont disponibles en de
nombreuses configurations de taille, de vitesse et de
prix
• Des outils logiciels puissants et automatiques
permettent de réaliser facilement un système sur
FPGA.
Evolution de la technologie des circuits
FPGA XILINX
* produits obsolètes
3.1 - Architecture générale
CLB
IOB
lignes de
connections
matrices de
connexion
3.2 - Les interconnexions
(directes)
2 ns
CLB CLB
DELAIS DEPENDANT
5 ns DU ROUTAGE !!!
CLB CLB
3.2 - Les interconnexions
(matrices)
CLB CLB
CLB CLB
3.2 - Les interconnexions (lignes)
CLB CLB
CLB CLB
3.3 - Structure des CLB
Routage inter-CLB
3.6 - Utilisation des CLB en
mémoires
3.7 - Configuration des FPGA
Les circuits FPGA XILINX se configurent selon plusieurs modes :
Accélération
des délais
de routage
CLB SelectRAM
Device # gates Array SlicesMax RAM Kbits
Multipliers Kbits Max I/O
Bibliothèque
standard
COMPILATEUR Bibliothèque
IP
Simulation
Rétro-
annotation Modèle de
temporelle Programmation
du composant composant
Validation
Les bibliothèques d'Intelectual Properties
IP Typ e Pr ovid e r
IP Applica t ion
Circuits FpgASIC
FPGA HardWire FPGA
Processeur
hôte
Réseau d'interconnexion Plusieurs circuits FPGA
FPGA FPGA
Mem. Mem.
FPGA FPGA
Mémoires
Mem. de travail
5.1 - Quelques exemples de
FCCM
FPGA XC3090
5.1.2 - La machine CARMeN
SIDSA
5.2 - Programmation des FCCM :
Le CODESIGN
Application
Analyse Extraction
du code du parallélisme
SIMULATION
ANALYSE
SYNTHESE
Résultats de test
5.2.2 - Un nouveau standard : SystemCTM
(Synopsys + CoWare + Frontier Design : www.systemc.org)
Modèle SystemC
Essais d'architectures
Amélioration
Analyse de
performances
Modèle temporel
Harware / Software
Partitionnemen
t
Modèle abstrait
Modèle Bus
RTOS
Amélioration Amélioration
Modèle cycle
Cible RTOS
synthétisable
6 – La Reconfiguration Dynamique des FPGA
op1 op2
Image i
Image i-1
op1
Image i-2
Image i+1
Conf. Deriche1
GTI1 BC GTI2
Mémoire
256kx32
IN FPGA
OUT
FPGA
GTI1
Deriche 1 GTI2
Mémoire
256kx32
Exec. Deriche1 / Conf. Deriche 2
GTI1 BC GTI2
Mémoire
256kx32
IN FPGA
OUT
FPGA
GTI1
Deriche 1 GTI2
Mémoire
256kx32
Exec. Deriche 2 / Conf. Contours
GTI1 BC GTI2
Mémoire
256kx32
IN FPGA
OUT
FPGA
GTI1
Deriche 2 GTI2
Mémoire
256kx32
Exec. Contours / Conf. Fermeture 1
GTI1 BC GTI2
Mémoire
256kx32
IN FPGA
OUT
FPGA
GTI1
Contours GTI2
Mémoire
256kx32
Exec. Fermeture 1 / Conf. Fermeture 2
GTI1 BC GTI2
Mémoire
256kx32
IN OUT
FPGA Fermeture FPGA
GTI1 1 GTI2
Mémoire
256kx32
Exec. Fermeture 2 / Conf. région 1
GTI1 BC GTI2
Mémoire
256kx32
IN OUT
FPGA Fermeture FPGA
GTI1 2 GTI2
Mémoire
256kx32
Exec. Région 1 / Conf. région 2
GTI1 BC GTI2
Mémoire
256kx32
IN OUT
FPGA Région FPGA
GTI1 1 GTI2
Mémoire
256kx32
Exec. Région 2 / Conf. Deriche 1
GTI1 BC GTI2
Mémoire
256kx32
IN OUT
FPGA Région FPGA
GTI1 2 GTI2
Mémoire
256kx32
Exec. Deriche 1 / Conf. Deriche 2
GTI1 BC GTI2
Mémoire
256kx32
IN OUT
FPGA Deriche 1 FPGA
GTI1 GTI2
Mémoire
256kx32
ARDOISE : Estimation de performances
Application de segmentation d’images
7 – Des FPGA aux SOPC
Systems On Programmable Chips
Transceivers
RocketIO 622 Mbps
Architecture FPGA
VitexII
Processeur PowerPC
32 bits 400MHz
7.1 – Architecture des Virtex2-Pro
PPC
405
7.1 – Architecture des Virtex2-Pro
Auto-reconfiguration complète de la plate-forme !
Mémoire
PPC
405
Ethernet
I/O
Internal Configuration
Acces Port
7.2 – Architecture des Virtex4-multiPlatform
Virtex-4 LX FPGA Devices
Une « famille » de composants « plate-forme »
différenciés en fonction des besoins :
• LX : logique haute performances
• FX : TS très hautes performances
• SX : traitement embarqué et connectivité
rapide
EasyPath™ Cost
XCE XCE XCE XCE XCE XCE XCE
Reduction --
4VLX25 4VLX40 4VLX60 4VL80 4VLX100 4VLX160 4LX200
Solutions
Logic Cells 13,824 24,192 41,472 59,904 80,640 110,592 152,064 200,448
Block RAM/FIFO
w/ECC (18 kbits 48 72 96 160 200 240 288 336
each)
Digital Clock
4 8 8 8 12 12 12 12
Managers (DCM)
Phase-matched
Clock Dividers 0 4 4 4 8 8 8 8
(PMCD)
Max Differential
160 224 320 320 384 480 480 480
I/O Pairs
XtremeDSP™
32 48 64 64 80 96 96 96
Slices
PowerPC™
-- -- -- -- -- -- -- --
Processor Blocks
10/100/1000
Ethernet MAC -- -- -- -- --- -- -- --
Blocks
RocketIO™ Serial
-- -- -- -- -- -- -- --
Transceivers
Configuration
4,875,392 8,037,312 12,647,680 18,315,520 24,101,440 31,818,624 41,863,296 50,648,448
Memory Bits
Max SelectIO™ 320 448 640 640 768 960 960 960
7.2 – Architecture des Virtex4-multiPlatform
XC XC XC
Feature/Product 4VSX25 4VSX35 4VSX55
XCE XCE XCE
EasyPath Cost Reduction Solutions
4VSX25 4VSX35 4VSX55
Logic Cells 23,040 34,560 55,296
Block RAM/FIFO w/ECC (18 kbits
128 192 320
each)
Total Block RAM (kbits) 2,304 3,456 5,760
Digital Clock Managers (DCM) 4 8 8
Phase-matched Clock
0 0 4 8 8
Dividers (PMCD)
PowerPC Processor
1 1 2 2 2
Blocks
RocketIO Serial
0 8 12 16 24
Transceivers
Application
OS pour SOC+ARD
non-reconfigurable reconfigurable
OS pour ARD
Gestion OS_createMV()
des entrepot
communications
de config.
main
OS_createMM()
PROCESSEUR CENTRAL
réseau de communication
flexible
Zone reconfigurable
OS pour ARD
mémoires
de tâches
PROCESSEUR CENTRAL
réseau de communication
flexible
Zone reconfigurable
OS pour ARD changement de contexte
Migration changements
de contexte
Ordonnancement soft / soft
Migration
hard / soft
PROCESSEUR CENTRAL
Préemption
matérielle
Zone reconfigurable
Modélisation UML des plate-formes
Flot de modélisation, d’abstraction et de raffinement
http://oversoc.ensea.fr
Projet ANR 2005-2008