1. Introduction Les FPGA, comment ca marche ? !
Introduction sur les FPGA
Yann Sionneau
TELECOM SudParis
6 octobre 2009
Yann Sionneau Introduction sur les FPGA
2. Introduction Les FPGA, comment ca marche ? !
Sommaire I
1 Introduction
Qu’est-ce qu’un ASIC ?
O` les trouve-t-on ?
u
Que fait un ASIC ?
System On Chip ? !
Qu’est-ce qu’un FPGA ?
2 Les FPGA, comment ca marche ? !
Structure d’un FPGA ?
Et on peut programmer en quoi ?
Langages utilis´s
e
Exemple de code VHDL
Les fabriquants de FPGA
Exemples de plaques de developpement
Yann Sionneau Introduction sur les FPGA
3. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
Introduction
Qu’est-ce qu’un ASIC ?
O` les trouve-t-on ?
u
Que fait un ASIC ?
Qu’est-ce qu’un FPGA ?
Yann Sionneau Introduction sur les FPGA
4. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
Qu’est-ce qu’un ASIC ?
Wikip´dia : Un ASIC (pour Application-Specific Integrated
e
Circuit) est un circuit int´gr´ (micro-´lectronique) sp´cialis´.
e e e e e
En g´n´ral, il regroupe un grand nombre de fonctionnalit´s
e e e
uniques et/ou sur mesure.
Yann Sionneau Introduction sur les FPGA
5. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
Qu’est-ce qu’un ASIC ?
Yann Sionneau Introduction sur les FPGA
6. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
O` les trouve-t-on ?
u
Yann Sionneau Introduction sur les FPGA
7. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
Que fait un ASIC ?
Fournit des signaux ´lectriques en sortie, en fonction des
e
signaux qu’il re¸oit en entr´e.
c e
Puce de cryptage
PHY/MAC Ethernet
Convertisseur S´rie RS232-USB
e
Micro-controlleur
Micro-Processeur
m´moire RAM, ROM
e
Portes logiques (and, or, xor, shift register)
System On Chip
Yann Sionneau Introduction sur les FPGA
8. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
SoC ? System On Chip ? !
Yann Sionneau Introduction sur les FPGA
9. Introduction Les FPGA, comment ca marche ? ! Qu’est-ce qu’un ASIC ? O` les trouve-t-on ? Que fait un ASIC
u
Qu’est-ce qu’un FPGA ?
C’est c`
¸a
Yann Sionneau Introduction sur les FPGA
10. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Les FPGA, comment ca marche ? !
Structure d’un FPGA ?
Et on peut programmer en quoi ?
Les entit´s synth´tisables
e e
Les langages utilis´s
e
Exemple de code VHDL
Les fabriquants de FPGA
Exemples de plaques de developpement
Yann Sionneau Introduction sur les FPGA
11. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Structure d’un FPGA ?
matrice de blocs logiques programmables
blocs d’I/O programmable
interconnection entre blocs logiques et blocs d’I/O
programmables
Yann Sionneau Introduction sur les FPGA
12. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Et on peut programmer quoi ?
Entit´s ”synth´tisables”
e e
porte AND
porte AND ` 4 entr´es
a e
porte AND ` 8 entr´es
a e
porte AND ` 42 entr´es
a e
Yann Sionneau Introduction sur les FPGA
13. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Et on peut ”synth´tiser” quoi ?
e
Entit´s ”synth´tisables”
e e
Serial UART (Universal Asynchronous Receiver Transmitter)
FPU (Floating Point Unit)
DDR SDRAM Controller Core
1 GigEthernet MAC core
D´codeur JPEG
e
Contrˆlleur VGA
o
Contrˆlleur d’interruptions
o
Contrˆlleur USB
o
G´n´rateur d’effets vid´os bas´s sur une entr´e son
e e e e e
softcores/CPU (8 bits, 32 bits, 64 bits, 1 bit...)
plus d’infos sur http ://www.opencores.org
Yann Sionneau Introduction sur les FPGA
14. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Programmable ? En quoi ? En Java ?
Langage de Programmation
VHDL
Verilog
Yann Sionneau Introduction sur les FPGA
15. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Exemple de la porte AND
Yann Sionneau Introduction sur les FPGA
16. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Exemple de la porte AND
Entit´ AND
e
library ieee ;
use ieee.std logic 1164.all ;
entity AND ent is
port( A : in std logic ;
B : in std logic ;
Y : out std logic
);
end AND ent ;
Yann Sionneau Introduction sur les FPGA
17. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Exemple de la porte AND
Comportement AND
architecture behav of AND ent is
begin
Y <= A and B ;
end behav ;
Yann Sionneau Introduction sur les FPGA
18. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Les fabriquants de FPGA
Xilinx
Altera
Lattice Semiconductor
Atmel
Actel
Cypress
QuickLogic
Nallatech
Yann Sionneau Introduction sur les FPGA
19. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Exemples de plaques de developpement
Yann Sionneau Introduction sur les FPGA
20. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Actel Pro-Asic2
Yann Sionneau Introduction sur les FPGA
21. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Cyclone 3
Yann Sionneau Introduction sur les FPGA
22. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Cyclone 2
Yann Sionneau Introduction sur les FPGA
23. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
FPGA dev board
Yann Sionneau Introduction sur les FPGA
24. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Virtex 5
Yann Sionneau Introduction sur les FPGA
25. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Virtex 4 ML403
Yann Sionneau Introduction sur les FPGA
26. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Spartan 6 SP605
Yann Sionneau Introduction sur les FPGA
27. Introduction Les FPGA, comment ca marche ? ! Structure d’un FPGA ? Et on peut programmer en quoi ? Lan
Merci
Merci de votre attention
Bien Cordialement
Yann Sionneau Introduction sur les FPGA