ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas Département de génie électrique École Polytechnique de Montréal
Projet, ELE juin 14École Polytechnique de Montréal 1 Plan +Scan-Path et techniques dapplication des tests +Politiques de décalage +Problème fondamental de reconfiguration +Cahier des charges du logiciel +Structures de données +Format de fichier +Architecture logicielle +Algorithmie +Démonstration +Limitations
Projet, ELE juin 14École Polytechnique de Montréal 2 Scan-Path +Le scan-path est une méthode de DFT +Chaîne unique Tous les flip-flops sont reliés Technique dapplication des tests Mode ensemble 3 Ne prends pas avantage de lorganisation du circuit. Mode chevauché 3 Diminue le temps de décalage en divisant le test en plusieurs sessions de test, selon lorganisation du circuit. Chaque session vise à compléter le test dun noyau du circuit.
Projet, ELE juin 14École Polytechnique de Montréal 3 Politiques de décalage pour mode chevauché +Séparer le circuit en noyaux et en registres de scan. +Pour chaque session de test, la politique de décalage dicte le nombre de coups dhorloges quil faut faire en mode test avant dactiver lhorloge normale. Cest le cycle de décalage ( chain cycle ) +Il existe deux politiques de décalage: Flush shift Minimum shift
Projet, ELE juin 14École Polytechnique de Montréal 4 Politiques de décalages (suite) +Flush shift Le cycle de décalage de la chaîne correspond au nombre total de flip-flops dans la chaîne. +Minimum shift Le cycle de décalage de la chaîne est la plus grande des deux valeurs suivantes: Drive cycle Receive cycle Cycle de décalage Flush = 32 c.c. Min= 28 c.c.
Projet, ELE juin 14École Polytechnique de Montréal 5 Reconfiguration: Problème fondamental +On veut insérer des multiplexeurs dans la chaîne de scan pour créer des sous- chaînes avec des cycles de décalage plus petits. Le temps de test total est: +Solution optimale Combien de multiplexeurs? Où les insérer? +Il existe différentes solutions, selon de mode de décalage utilisé.
Projet, ELE juin 14École Polytechnique de Montréal 6 Cahier des charges du logiciel +Charger une description de circuit au moyen dun fichier de description. +Pouvoir spécifier le nombre de multiplexeurs à insérer. +Pouvoir choisir le mode de décalage. +Affichage des résultats dans linterface graphique. +Possibilité de sauvegarder une configuration. +Windows, langage C++
Projet, ELE juin 14École Polytechnique de Montréal 7 Structures de données +Ensemble de noyaux: vector Un noyau est complètement défini par son nombre de vecteurs de test +Registre de scan: structure (classe) contenant les 5 valeurs qui le définissent Index, Length, DriverWeight, ReceiverWeight, Weight. +Multiplexeur: structure (classe) contenant 2 valeurs: Représente les deux entrées du multiplexeur. +Chaîne de scan: vector Le vecteur STL permet le triage.
Projet, ELE juin 14École Polytechnique de Montréal 8 Format de fichier # Description of a simple circuit # Author: lmcote # Date: NUMBER_OF_KERNELS = 3 NUMBER_OF_SCAN_REGISTERS = 6 # Vive le 9 décembre !!! KERNEL_TEST_LENGTHS = 20, 100, 500 SR_LENGTHS = 4, 4, 4, 8, 8, 4 SR_DRIVER_FOR_KERNEL = 3, 3, 2, 2, 1, 0 SR_RECEIVER_FOR_KERNEL = 0, 3, 3, 0, 2, 1
Projet, ELE juin 14École Polytechnique de Montréal 9 Architecture logicielle
Projet, ELE juin 14École Polytechnique de Montréal 10 Algorithmie (flush shift) 1.Ordonner les registres en ordre décroissant de poids (weight). 2.Chaque transition de poids est un point dinsertion potentiel. 3.Trouver les combinaisons (m dans r) qui diminue le plus le temps de test. 4.Choisir la meilleure combinaison et insérer les multiplexeurs aux points dinsertion trouvés pour cette combinaison. Avec 2 multiplexeurs, on obtient la solution optimale: TT = (32 + 1) * 20 + (28 + 1) * 80 + (12 + 1) * = 8212 c.c.
Projet, ELE juin 14École Polytechnique de Montréal 11 Algorithmie (minimum shift) +Le principe est similaire, mais beaucoup plus complexe parce quon tient compte du rôle que jouent chaque registre! 1.Ordonner les registres dune certaine manière. 2.Pour chaque session de test, trouver les segments de la chaîne de scan qui peuvent être sautés. 3.Pour chaque combinaison de segment, calculer les économies de temps de test. 4.Retenir la meilleure combinaison. 5.Perturber lordre des registres et retourner à létape 2 ! Avec 2 multiplexeurs, on obtient éventuellement la solution optimale: TT = (28 + 1) * 20 + (20 + 1) * 80 + (8 + 1) * = 5888 c.c. Ce problème est NP-complet ! Le logiciel doit perturber lordre des registres 2 fois avant darriver à cette solution.
Projet, ELE juin 14École Polytechnique de Montréal 12 Démonstration du logiciel +Charger un fichier de description de circuit (.scanpath) +Modifier les paramètres de reconfiguration. +Lancer la reconfiguration +Créer un rapport
Projet, ELE juin 14École Polytechnique de Montréal 13 Limitations du logiciel +Le logiciel trouve une solution optimale; pas toutes les solutions optimales! +Lanalyse combinatoire (surtout avec le minimum shift) peut prendre beaucoup de temps pour des circuits complexes. +Première version fonctionnelle (alpha-0) !
Projet, ELE juin 14École Polytechnique de Montréal 14 Questions