Techniques de compression de données de test ELE-6306 TESTS DE SYSTÈMES ÉLECTRONIQUES Techniques de compression de données de test Par Patrick Delisle Et Aziz El maghri École Polytechnique de Montréal
Techniques de compression de données de test Problématique Fonctionnement Prétraitement Technique de compression Choix d’un algorithme de compression Conclusion
Problématique Augmentation de la complexité des circuits Augmentation du volume de données de test Entraîne des coûts élevés pour les équipements de test automatiques (ATE)
Coût ATE Nombre de plot connexion Mémoire pour emmagasiner les données de test Temps de test
Solution Compression des données Réduction du volume de données Réduction du nombre de plot
Règles à respecter Compression sans perte (réversible) Les vecteurs de test doivent être récupérable Facile à compresser & décompresser Pour ne pas augmenter le temps de test Limiter la complexité des parties à implémenter matériellement Requiert peu de surface sur le SOC
Fonctionnement
Prétraitement des Données les techniques qui préparent les données de test à être compressé Les techniques étudiées Bits indéterminés Barrow Wheeler transformation
Bits Indéterminés (X) 1X0011XXX00XXXX1X001 Détermination selon la technique Run Length: 10001100000000010001
Burrows Wheeler Transformation Permet réorganisation des vecteurs Détermination d’une matrice n x n Rotation (n-1) Sort
Burrows Wheeler Transformation Matrice Vecteur 10010010 1 N - 1 = 7 N = 8
Burrows Wheeler Transformation Réorganisation Si on tri le dernier tableau on retrouve : Le nouveau vecteur 1 Vecteur initial Position 6
Burrows Wheeler Transformation Retour Pour retrouver le vecteur initial : Ajout du vecteur initial (MSB) Le vecteur Tri Tri R1 S R2 R3 R4 R5 1 10 00 100 001 1001 0010 10010 00100 00101 01 101 010 1010 0100 10100 01001 0101 01010
Burrows Wheeler Transformation Retour Si on refait la même chose N fois, on retrouve le vecteur de test initial à la position R6 S R7 R8 100100 001001 1001001 0010010 10010010 00100101 100101 001010 1001010 0010100 10010100 00101001 101001 010010 1010010 0100100 10100100 01001001 0100101 01001010 010100 0101001 01010010 Vecteur initial à La Position 6
Burrows Wheeler Transformation Permet meilleur adaptation des vecteurs Effectif sur série avec cycle → Pas toujours avantageux 000111 => 100110
Techniques de Compression Compression Run-Length Encodage par Entropie Codage de Golomb Codage de Huffmen Codage 9C Codage arithmétique Technique du dictionnaire
Compression Run-Length Remplace des séquences par un code Séquence de « 0 » ou Séquence de « 1 » 2 méthodes On remplace chaque séquence par un « flag» qui représente le bit de la séquence, puis le nombre de fois que ça se répète. On remplace ou bien la séquence des « 0 » ou la séquence des « 1 ». Avantage Logique minime
Compression Run-Length Exemple : Méthode 1 1111000000 → 1100 0110 10 bits 8 bits Compression: 20% Méthode 2 0100000001 → 001 111 10 bits 6 bits Compression: 40%
Encodage par Entropie Codage de Golomb Codage de Huffmen Codage 9C Codage arithmétique
Codage de Golomb Similaire à Run-Length Utilise code pour remplacer des « 0 » Divisé en groupe selon paramètre m Formé d’un préfixe et d’un suffixe Requiert une terminaison par « 1 »
Codage de Golomb A. Chandra, K. Chakrabarty « System-on-a-Chip Test-Data Compression and Decompression Architectures Based on Golomb Codes »
Codage de Golomb Détermination de la compression n: nombre de bit r: nombre de « 1 » Détermination du paramètre m
Codage de Huffman Remplace une séquence par un code Longueur du code non fixe Remplace selon le poids de la séquence Aucun préfixe
Codage de Huffman Compression Huffman: 28% Selected: 19% ] A. Jas, J. Ghosh-Dastidar, Mom-Eng Ng, N. A. Touba « An Efficient test vector compression scheme using selective Huffman Coding »
Codage de Huffman A. Jas, J. Ghosh-Dastidar, Mom-Eng Ng, N. A. Touba « An Efficient test vector compression scheme using selective Huffman Coding »
Codage 9C Remplace séquences par un code Utilisation de 9 code Séquence indéfinie Paramètre K à choisir
Mohammad Tehranipoor « Test Data Compression » Codage 9C Mohammad Tehranipoor « Test Data Compression »
Codage Arithmétique Basé sur le calcul d’entropie Utilisation de probabilité Donne meilleur longueur de code possible
Technique du dictionnaire Banque de donnée Code de même longueur Statique ou dynamique Bit d’identification
Technique du dictionnaire Séquences 1 : 1 10001 2 : 0 01101 10011 01001 Dictionnaire 10001 → 00010 11100 10101 Autre 0 01101 10011 01001 → 011011001101001 Compression: 27%
Choix d’un Algorithme de Compression Comment choisir? Coût des tests Paramètres à vérifier Dépendance sur les données de test
Taux de compression Compression Réduction du temps de test 20-70% Moyenne: 50-60% Réduction du temps de test
Conclusion Nécessité de la compression Prétraitement Technique Choix des X Burrows Wheeler Technique Run-Length Entropie Golomb Huffman Codage 9C Technique du dictionnaire Choix d’un algorithme
Bibliographie [1] M-L Flottes, R. Poirier, B. Rouzeyre « An arithmetic structure for test data horizontal compression » Laboratoire de Montpellier 2004. [2] I. Pomeranz, S. M. Reddy « Test data compression based on input-output dependance » IEEE transactions on computer-aided design of integrated circuits and systems.Vol. 22 Oct. 2003 [3] A. Chandra, K. Chakrabarty « System-on-a-Chip Test-Data Compression and Decompression Architectures Based on Golomb Codes » IEEE transactions on computer-aided design of integrated circuits and systems. Vol. 20 Mars 2001 [4] T. J. Yamaguchi, D. S. Ha, M. Ishida, T. Ohmi « A method for compressing test data based on Burrows-Wheeler transformation » IEEE transactions on computer-aided design of integrated circuits and systems. Vol. 20 Mai 2002 [5] A. Jas, J. Ghosh-Dastidar, Mom-Eng Ng, N. A. Touba « An Efficient test vector compression scheme using selective Huffman coding » IEEE transactions on computer-aided design of integrated circuits and systems. Vol. 20 Juin 2002 [6] J. Rajski, J. Tyszer « Test Data Compression and Compaction for Embedded Test of Nanometer Technology Designs » IEEE 21st International conference on computer design, 2003. [7] Kedarnath J. Balakrishnan, Nur A. Touba « Relating Entropy Theory on Test Data Compression » Computer Engineering Research Center. [8] Armin Wurtenberger, Christofer S. Tautermann, Sybille Hellebrand « A Hybrid Coding Strategy fir Optimized Test Data Compression » University of Innsbruck Austria. [9] Paul Theo Gonciari, Bashir M Al-Hashimi, Nicola Nicolici « Test Data Compression: The System Integrator’s Perspective » University of Southampton, McMaster University, 2003. [10] Sherief Reda, Alex Orailoglu « Reducing Test Application Time Through Test Data Mutation Encoding » IEEE Proceedings of the 2002 Design, Automation and Test in Europe Conference and Exhibition, 2002. [11] Gang Zeng, Hideo Ito « X-Tolerant Test Data Compression for SOC with Enhanced Diagnosis Capability » The Institute of Electronics, Information and Communication Engineers, 2005.
Question?