Introduction Les FPGA, comment ca marche ? !




                     Introduction sur les FPGA

                                   Yann Sionneau

                                  TELECOM SudParis


                                   6 octobre 2009




                              Yann Sionneau    Introduction sur les FPGA
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Présentation FPGA

  • 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