Macrofonctions VHDL


Cette page propose des briques de base (macrofonctions) destinées à faciliter le développement de systèmes à base de composants programmables (Altera) ; le développement de ces modules a été fait dans un souci d'optimisation de la taille et des performances.

Domaines : CCIR601, Ondelettes, ...


CCIR601

Il s'agit de traiter de la vidéo numérique au format CCIR601 4:2:2 dans un composant FPGA ; ces applications sont accessibles sur le site FTP - CCIR au format VHDL (et EDIF pour certaines).

  • ccir_decoder.vhd : extraction des composantes Y et C (Cr et Cb)

    Altera

    Ccir_decoder

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Flex10k

    FLEX10k20

    -4

    65 LE

    72 MHz

    MaxPluxII V10.0

    Apex20kE

    FLEX10k20

    -2X

    62 LE

    231 MHz

    Quartus V1.1

    Apex II

    EP2A15

    -7

    61 LE

    290 MHz

    LeonardoSpectrum + Quartus V2

    Mercury

    EP1M120

    -5

    63 LE

    400 MHz

    LeonardoSpectrum + Quartus V2

    Stratix

    EP1S10

    -6

    63 LE

    422 MHz

    LeonardoSpectrum + Quartus V2

    Xilinx

    Ccir_decoder

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Spartan IIE

    XC2S50E

    -7

    37 slices

    176 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex

    XCV50

    -6

    37 slices

    137 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex II

    XC2V40

    -6

    38 slices

    370 MHz

    FPGAExpress ISE 4.2i sp2

  • cod_encoder.vhd : création d'un flux CCIR601 à partir de Y et C

    Altera

    Ccir_encoder

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Flex10k

    FLEX10k20

    -4

    40 LE

    65 MHz

    MaxPluxII V10.0

    Apex20kE

    FLEX10k20

    -2X

    50 LE

    197 MHz

    Quartus V1.1

    Apex II

    EP2A15

    -7

    49 LE

    188 MHz

    LeonardoSpectrum + Quartus V2

    Mercury

    EP1M120

    -5

    49 LE

    258 MHz

    LeonardoSpectrum + Quartus V2

    Stratix

    EP1S10

    -6

    47 LE

    196 MHz

    LeonardoSpectrum + Quartus V2

    Xilinx

    Ccir_encoder

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Spartan IIE

    XC2S50E

    -7

    26 slices

    100 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex

    XCV50

    -6

    37 slices

    90 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex II

    XC2V40

    -6

    27 slices

    162 MHz

    FPGAExpress ISE 4.2i sp2

    gene_sync_tv.vhd : génération de signaux de synchronisation CCIR601.

    Altera

    Gene_sync_tv

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Flex10k

    FLEX10k20

    -4

    42 LE

    53 MHz

    MaxPluxII V10.0

    Apex20kE

    FLEX10k20

    -2X

    79 LE

    84 MHz

    Quartus V1.1

    Apex20kE

    APEX20k200E

    -2X

    72 LE

    116 MHz

    FPGAExpress + Quartus V2

    Apex20kE

    APEX20k200E

    -2X

    47 LE

    84 MHz

    LeonardoSpectrum + Quartus V1.1

    Apex II

    EP2A15

    -7

    52 LE

    196 MHz

    LeonardoSpectrum + Quartus V2

    Mercury

    EP1M120

    -5

    55 LE

    287 MHz

    LeonardoSpectrum + Quartus V2

    Stratix

    EP1S10

    -6

    52 LE

    244 MHz

    LeonardoSpectrum + Quartus V2

    Xilinx

    Gene_sync_tv

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Spartan IIE

    XC2S50E

    -7

    36 slices

    128 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex

    XCV50

    -6

    36 slices

    107 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex II

    XC2V40

    -6

    37 slices

    206 MHz

    FPGAExpress ISE 4.2i sp2


    Ondelettes

    Il s'agit de calculer les espaces sous-bande d'une décomposition en ondelettes dans un composant FPGA ; ces applications sont accessibles sur le site FTP - Ondelettes

  • dwt.vhd : décomposition 1D sur un flux séquentiel
    détails (ondelettes, Meyer) : Filtre Passe Bas : (1 2 1)/2 et Filtre Passe Haut : (-1 -2 6 -2 -1)/8
    Performances :

    Altera

    dwt

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Flex10k

    FLEX10k20

    -4

    106 LE

    59 MHz

    MaxPluxII V10.0

    Apex20kE

    APEX20k200E

    -2X

    98 LE

    136 MHz

    FPGAExpress + Quartus V2

    Apex20kE

    APEX20k200E

    -2X

    128 LE

    85 MHz

    LeonardoSpectrum + Quartus V1.1

    Apex II

    EP2A15

    -7

    130 LE

    212 MHz

    LeonardoSpectrum + Quartus V2

    Mercury

    EP1M120

    -5

    130 LE

    239 MHz

    LeonardoSpectrum + Quartus V2

    Stratix

    EP1S10

    -6

    143 LE

    161 MHz

    LeonardoSpectrum + Quartus V2

    Xilinx

    dwt

    Famille

    Composant

    Indice

    Taille

    Fréquence libre

    Outils

    Spartan IIE

    XC2S50E

    -7

    54 slices

    113 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex

    XCV50

    -6

    54 slices

    100 MHz

    FPGAExpress ISE 4.2i sp2

    Virtex II

    XC2V40

    -6

    55 slices

    175 MHz

    FPGAExpress ISE 4.2i sp2


    La suite des applications .... on y travaille ! (patience)