ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration =...

15
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

Transcript of ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration =...

Page 1: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

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

Page 2: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

2

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Plan

Scan-Path et techniques d’application des testsPolitiques de décalageProblème fondamental de reconfigurationCahier des charges du logicielStructures de donnéesFormat de fichierArchitecture logicielleAlgorithmieDémonstrationLimitations

Page 3: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

3

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Scan-Path

Le scan-path est une méthode de DFT

Chaîne unique Tous les flip-flops sont reliés Technique d’application des tests

Mode ensemble Ne prends pas avantage de l’organisation du circuit.

Mode chevauché Diminue le temps de décalage en divisant le test en

plusieurs sessions de test, selon l’organisation du circuit. Chaque session vise à compléter le test d’un noyau du circuit.

Page 4: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

4

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

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 d’horloges

qu’il faut faire en mode test avant d’activer

l’horloge normale. C’est le cycle de décalage (chain cycle)

Il existe deux politiques de décalage: Flush shift Minimum shift

Page 5: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

5

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Politiques de décalages (suite)

Flush shiftLe cycle de décalage de la chaîne correspond au nombre total de flip-flops dans la chaîne.

Minimum shiftLe cycle de décalage de la chaîne est la plus grande des deux valeurs suivantes:

Drive cycleReceive cycle

Cycle de décalageFlush = 32 c.c.Min = 28 c.c.

Page 6: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

6

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

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 optimaleCombien de multiplexeurs?Où les insérer?

Il existe différentes

solutions, selon de mode

de décalage utilisé.1

11 )1)(( CCCCWWTT

n

iiii

Page 7: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

7

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Cahier des charges du logiciel

Charger une description de circuit au moyen

d’un fichier de description.

Pouvoir spécifier le nombre de multiplexeurs à

insérer.

Pouvoir choisir le mode de décalage.

Affichage des résultats dans l’interface

graphique.

Possibilité de sauvegarder une configuration.

Windows, langage C++

Page 8: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

8

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Structures de données

Ensemble de noyaux: vector<unsigned long>

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<CScanRegisterDescription>

Le vecteur STL permet le triage.

+CMuxBypassSegment()+CMuxBypassSegment()

+ulFirst : unsigned long+ulLast : unsigned long

CMuxBypassSegment

+CScanRegisterDescription()

+ulIndex : unsigned long+ulLength : unsigned long+ulDriverWeight : unsigned long+ulReceiverWeight : unsigned long+ulWeight : unsigned long

CScanRegisterDescription

Page 9: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

9

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Format de fichier

# Description of a simple circuit

# Author: lmcote

# Date: 2003.11.22

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

Page 10: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

10

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Architecture logicielle

Page 11: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

11

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Algorithmie (flush shift)

1. Ordonner les registres en

ordre décroissant de poids

(weight).

2. Chaque transition de poids est

un point d’insertion 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

d’insertion trouvés pour cette

combinaison.

R14

500

R24

500

R48

100

R58

100

R64

20

R34

500

R14

500

R24

500

R48

100

R58

100

R64

20

R34

500

Avec 2 multiplexeurs, on obtient la

solution optimale:

TT = (32 + 1) * 20 + (28 + 1) * 80 +

(12 + 1) * 400 + 32

= 8212 c.c.

Page 12: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

12

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Algorithmie (minimum shift)

Le principe est similaire, mais beaucoup plus complexe parce qu’on tient compte du rôle que jouent chaque registre!

1. Ordonner les registres d’une 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 l’ordre 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) * 400 + 28

= 5888 c.c.

Ce problème est NP-complet !

Le logiciel doit perturber l’ordre

des registres 2 fois avant

d’arriver à cette solution.

Page 13: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

13

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

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

Page 14: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

14

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Limitations du logiciel

Le logiciel trouve une solution optimale; pas

toutes les solutions optimales!

L’analyse combinatoire (surtout avec le

minimum shift) peut prendre beaucoup de

temps pour des circuits complexes.

Première version fonctionnelle (alpha-0) !

Page 15: ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.

15

Projet, ELE6306 - 11 avr. 2023 École Polytechnique de Montréal

Questions