techniques de compression de données de test
Post on 04-Jan-2016
46 Views
Preview:
DESCRIPTION
TRANSCRIPT
Techniques de compression de données de test
Par Patrick Delisle
EtAziz El maghri
ELE-6306TESTS DE SYSTÈMES ÉLECTRONIQUES
École Polytechnique de Montréal
Techniques de compression de données de test
1. Problématique
2. Fonctionnement
3. Prétraitement
4. Technique de compression
5. Choix d’un algorithme de compression
6. 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 TransformationMatrice
Vecteur 10010010
1 0 0 1 0 0 1 0
0 0 1 0 0 1 0 1
0 1 0 0 1 0 1 0
1 0 0 1 0 1 0 0
0 0 1 0 1 0 0 1
0 1 0 1 0 0 1 0
1 0 1 0 0 1 0 0
0 1 0 0 1 0 0 1
N = 8
N - 1 = 7
Burrows Wheeler TransformationRéorganisation
0 0 1 0 0 1 0 1
0 0 1 0 1 0 0 1
0 1 0 0 1 0 0 1
0 1 0 0 1 0 1 0
0 1 0 1 0 0 1 0
1 0 0 1 0 0 1 0
1 0 0 1 0 1 0 0
1 0 1 0 0 1 0 0
Si on tri le dernier tableau on retrouve : Le nouveau vecteur
Vecteur initial
Position 6
Burrows Wheeler Transformation Retour
R1 S R2 S R3 S R4 S R5 S
1 0 10 00 100 001 1001 0010 10010 00100
1 0 10 00 100 001 1001 0010 10010 00101
1 0 10 01 101 010 1010 0100 10100 01001
0 0 00 01 001 010 0010 0100 00100 01001
0 0 00 01 001 010 0010 0101 00101 01010
0 1 01 10 010 100 0100 1001 01001 10010
0 1 01 10 010 100 0100 1001 01001 10010
0 1 01 10 010 101 0101 1010 01010 10100
Pour retrouver le vecteur initial :
Le vecteur
Tri Tri
Ajout du vecteur initial (MSB)
Burrows Wheeler Transformation Retour
R6 S R7 S R8 S
100100 001001 1001001 0010010 10010010 00100101
100101 001010 1001010 0010100 10010100 00101001
101001 010010 1010010 0100100 10100100 01001001
001001 010010 0010010 0100101 00100101 01001010
001010 010100 0010100 0101001 00101001 01010010
010010 100100 0100100 1001001 01001001 10010010
010010 100101 0100101 1001010 01001010 10010100
010100 101001 0101001 1010010 01010010 10100100
Vecteur initial à
La Position 6
Si on refait la même chose N fois, on retrouve le vecteur de test initial à la position
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éthodes1. 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.
2. On remplace ou bien la séquence des « 0 » ou la séquence des « 1 ».
• Avantage Logique minime
Compression Run-Length
• Méthode 1
1111000000 → 1100 0110
10 bits 8 bits
Compression: 20%
• Méthode 2
0100000001 → 001 111
10 bits 6 bits
Compression: 40%
Exemple :
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
mrmr
m
nGmr
m
n 11loglog 22
02ln 2
m
rn
m
r
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
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équences1 : 1 100012 : 0 01101 10011 01001
• Dictionnaire 10001 → 00010 11100 10101
• Autre0 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– 20-70% Moyenne: 50-60%
• Réduction du temps de test– 20-70% Moyenne: 50-60%
Conclusion
• Nécessité de la compression• Prétraitement
– 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?
top related