• Aucun résultat trouvé

La conception en vue du test : Design For Test (DFT)

Test de production

4.2 Le test des circuits numériques

4.2.4 La conception en vue du test : Design For Test (DFT)

La conception en vue du test ou DFT pour Design For Test, est un ensemble de techniques mises en jeu au moment de la conception du circuit pour en faciliter le test. Cela peut aller d’une simple amélioration de l’accessibilité et de l’observabilité de certaines sous parties à une conception auto test intégrée ou toutes les fonctions du test sont implémentées dans la puce.

4.2.4.1 Les méthodes ad hoc

Ce sont des techniques simples qui interviennent après la conception et qui ont pour but d’améliorer la testabilité des circuits intégrés, on compte parmi ces méthodes :

• Le partitionnement : en divisant un circuit complexe en sous parties indépendantes plus faciles à tester.

• Le rajout de points de test : pour améliorer l’observabilité et l’accessibilité en ajoutant des plots d’entrées sorties via des multiplexeurs.

4.2.4.2 Le balayage (scan path)

Le test des circuits séquentiels est beaucoup plus compliqué que celui des circuits combinatoires parce que l’on ne peut assigner l’état d’un circuit séquentiel qu’en lui appliquant une séquence de vecteurs sur les plots d’entrées. Pour détecter une faute à l’intérieur de la partie séquentielle, il faut alors placer le circuit dans un état précis qui n’est pas toujours possible d’obtenir. De plus les circuits séquentiels n’ont pas tous une fonction d’initialisation et des registres peuvent se trouver dans des états inconnus.

Le scan-path [1][7] est une technique de conception en vue du test qui permet de tester plus facilement les circuits séquentiels. Cette technique consiste à intégrer au circuit un mode test qui, lorsqu’il est activé relit les points mémoires et les registres à décalage d'un circuit pour former une chaîne (comme montré sur la Figure 59). Le circuit ainsi reconfiguré forme un chemin (scan path) directement contrôlable et observable depuis l'interface. Le circuit séquentiel est ainsi transformé en circuit combinatoire facilitant ainsi la génération de test. Le test d’un circuit conçu ainsi se déroule de la façon suivante :

• Les données sont extraites des registres pour être analysées.

Cette suite est reproduite autant de fois qu’il y a de vecteurs de test. A noter qu’un scan-path peut être

complet ou partiel suivant que tous les points mémoires sont dans le registre à décalage ou seulement une partie. Cette méthode est aujourd’hui automatisée par les outils de synthèse, l’inconvénient majeur de son utilisation est un surcoût en terme de surface du circuit.

Entrées accessibles Logique combinatoire Logique combinatoire Sorties accessibles

Scan in Scan out

Scan path

Entrées non accessibles

Figure 59 : Schéma représentant la conception de type scan path en vue du test.

4.2.4.3 Le Boundary-Scan

Le boundary scan [8] est une norme (IEEE 1149.1) qui vise rendre le test des cartes plus facile, et à procurer une interface pour mettre en œuvre le test du circuit sur la carte. La méthode consiste à remplacer les cellules d’entrée sortie (les plots) par des cellules boundary scan qui lors du mode test seront connectées entre elles pour former une chaîne. Cette chaîne est alors reliée au contrôleur de test (TAP pour Test Access Port) qui est une cellule normalisée. Le circuit est alors isolé des autres circuits sur la carte et le contrôleur de test permet de gérer l’application des vecteurs de test ainsi que l’extraction des signatures. Une autre fonctionnalité de cette norme est de pouvoir tester les interconnexions entre les différentes puces d’une carte. La Figure 60 montre une configuration classique de puce selon la norme IEEE 1149.1.

Contrôleur de test (Test access port)

Circuit à tester

Cellules boundary scan Plots d’entrée/sortie

Entrée des données de test

Sélection du mode test Horloge de test

Sortie des résultats du test Entrées/sorties

4.2.4.4 L’auto test intégré : Built-In Self Test (BIST)

Le principe de l’auto test intégré (BIST) [5][6][9], détaillé dans la Figure 61 est d'inclure dans le circuit lui-même les fonctions de génération de vecteurs de test, de contrôle du test et de l’analyse des résultats du test. Ainsi le circuit est capable de se tester de façon autonome sans avoir recours à un équipement de test complexe. Le BIST est très utilisé pour le test des structures régulières comme les mémoires.

Les circuits BIST se basent sur deux éléments :

• Le générateur de vecteur de test : qui peut être réalisé à partir d’une ROM pour des vecteurs de test déterministes, de compteurs pour des vecteurs de test exhaustifs ou par l’utilisation d'un générateur des vecteurs de test pseudo-aléatoire comme par exemple un LFSR15 [10][11] qui est un circuit qui se compose d’un registre à décalage à base de bascules D et d’un système de contre réaction. Le schéma de la Figure 62 montre la structure d’un LFSR à quatre étages. Ce circuit fournit alors une suite de vecteurs pseudo-aléatoires qui vont être utilisés comme vecteurs de test.

• L’analyseur de signature : élément qui va alors stocker et compacter les résultats du test pour créer la signature qui sera ensuite comparée à la signature sans faute. Cette fonction peut être réalisée par un MISR16 qui est une structure similaire au LFSR et qui a pour fonction de produire une signature à partir d’un ensemble de vecteurs de test entrant. La signature qui est typiquement un mot logique va ensuite être comparée à la signature parfaite pour fournir un signal bon ou mauvais.

L’intégration des ces fonctions d’auto test dans le circuit va avec une augmentation de la taille du circuit ainsi qu’un effort supplémentaire au niveau de la conception. Cependant cette technique permet de s’affranchir des équipements de test complexes et de tester le circuit à sa fréquence de fonctionnement.

Générateur de vecteurs de test

Analyseur de réponse

Circuit à tester Contrôleur

de test

Comparateur Résultat:go/no go

Figure 61: Schéma de principe d’une architecture BIST.

Q D clk Q D clk Q D clk Q D clk