Compression de configuration FPGA

publicité
Compression de configuration FPGA
Soutenance d’Introduction à la Recherche en Laboratoire
Siméon Marijon
Laboratoratoire TIMA, Équipe SLS
21 mai 2012
Encadrants :
Pierre-Henri HORREIN
Oliver MULLER
Siméon Marijon
Jury :
Florence MARANINCHI
Christophe RIPPERT
Compression de configuration FPGA
21 mai 2012
1 / 11
Plan
Introduction
État de l’art
Problèmatique dégagée
Validation de la méthode
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
2 / 11
Contexte
I
Un système reconfigurable :
I
I
I
I
Problèmes :
I
I
I
Utilisation de matériel logique reprogrammable
Tâches exécutées en matériel
Reconfiguration dynamique partielle
Une configuration occupe beaucoup d’espace
Le temps de transfert trop important de la mémoire à la carte
Solution possible : Compresser les configurations
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
3 / 11
État de l’art
I
Critères de comparaison
I
I
I
I
Deux grandes familles d’algorithmes
I
I
I
du fichier compressé
Tc : le taux de compression ( Taille
Taille du fichier original )
Cd : la complexité de décompression
Sd : la surface du décompresseur sur la carte.
Basé sur les travaux de Lempiel et Ziv (LZ) : LZ77, LZSS,
LZ78, LZW
Basé sur la recherche de différence
Spécialisation des algorithmes pour le contexte
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
4 / 11
Le LZ77
La chaine à encoder : ”ABABCABAB”
Dans la fenêtre :
En sortie du compresseur :
1.
1. A
2. A
2. AB
3. AB
3. AB(2,2)
4. ABAB
4. AB(2,2)C
5. ABABC
5. AB(2,2)C(5,4)
6. ABABCABAB
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
5 / 11
Analyse comparative
XXX
XXX Critère
XXX
Méthode
XX
LZSS
LZ78+LZW
DVRLE , DVHuffman , DVArith
Tc
Cd
Sd
+
++
+++
+++
+
-
+++
+
--
Table: Synthèse des différentes techniques de compression de bitstream
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
6 / 11
Vers un référentiel commun
Problèmes :
I
Différents jeux de tests
I
Différentes cartes cibles
I
Reproductibilité
impossible
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
7 / 11
Vers un référentiel commun
Problèmes :
Notre proposition :
I
Différents jeux de tests
I
Différentes cartes cibles
I
Reproductibilité
impossible
Siméon Marijon
I
Une base de tests
équilibrée
I
Des cartes cibles de
marque et de famille
différentes
I
Un accès libre à la base
de tests et aux résultats
Compression de configuration FPGA
21 mai 2012
7 / 11
Méthode d’ajout d’un algorithme dans le référentiel
1. Choix d’un algorithme existant ou proposition d’un nouvel
algorithme
2. Compresseur sur CPU : validation sur Tc sur l’ensemble de la
base de tests
3. Description du décompresseur en HDL (Verilog ou VHDL)
4. Analyse du composant synthétisé : Sd
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
8 / 11
LZSS
1. Compresseur/Décompresseur fourni par H. Okumura
2. Résultats :
```
``` Bitstream
```
DCT
```
Carte cible
Xilinx V5LX110
12.1
Xilinx Spartan 3 S1000
11.8
IDCT
DES
11.9
11.8
13.2
13.8
Table: Taux de compression des bitstreams par l’algorithme LZSS
en fonction de la carte cible
3. Architecture de la Partie Opérative
4. Ressources utilisées
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
9 / 11
LZSS
1. Compresseur/Décompresseur fourni par H. Okumura
2. Résultats :
3. Architecture de la Partie Opérative
4. Ressources utilisées
hhh
hh
Resources
hh
hhh utilisées
hhhh
Carte cible
h
Xilinx V5LX110
Xilinx Spartan 3 S1000
Altera Stratix
Siméon Marijon
LUT
Registre/Buffer
RAM
202
368
310
615
615
541
0
0
0
Compression de configuration FPGA
21 mai 2012
9 / 11
Conclusion
I
Pas de comparaison des différentes techniques possibles
I
Création d’un référentiel de base
I
Méthode d’ajout d’algorithme
I
Validation de la méthode avec l’exemple LZSS
Perspectives :
I
Ajout d’autres algorithmes
I
Mise en place de l’automatisation des tests
I
Tests en fonctionnement réels
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
10 / 11
Questions ?
Avez-vous des questions ?
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
11 / 11
LZSS : architecture de la PO
DELAY_LINE_SHIFT
WRITE_ENABLE
NEW_DATA
DELAY_LINE_ADRESS
0
1
....
63
b
a
X
X
DATA_IN
MUX 64 vers 1
MUX 2 vers 1
DIRECT_OUTPUT
DATA_OUT
Figure: Architecture du décompresseur LZSS
Siméon Marijon
Compression de configuration FPGA
21 mai 2012
Annexe
Téléchargement