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