Qu'est-ce que Test par scan ?

Méthode de test qui relie les bascules du circuit en chaînes de scan afin de fixer et d'observer les états internes.

Nom japonais: スキャンテスト

« Test par scan » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Test et inspection.

Domaine: Test et inspection

Fonctionnement d'une chaîne de scan

En conception scan, chaque bascule est remplacée par une bascule de scan dotée d'un multiplexeur à son entrée. Lorsqu'un signal d'activation du scan (scan enable) est activé, les bascules se relient en registres à décalage appelés chaînes de scan, ce qui permet au testeur de charger par décalage n'importe quel état voulu dans chaque bascule. Un seul coup d'horloge fonctionnelle (capture) laisse alors la logique combinatoire calculer, et les résultats sont mémorisés dans les bascules. Le décalage de la chaîne vers la sortie lit ces résultats pendant que le motif suivant est chargé. Le problème difficile du test d'une logique séquentielle profonde se ramène ainsi au test d'une logique combinatoire placée entre des registres contrôlables et observables.

Motifs, fautes et ATPG

Les motifs de scan sont produits par des outils de génération automatique de motifs de test (ATPG), qui ciblent des modèles de fautes tels que les fautes de collage (stuck-at), où un nœud est supposé figé à 0 ou à 1, et les fautes de transition, qui modélisent des nœuds commutant trop lentement et se testent avec des horloges de capture à la vitesse nominale (at-speed). La qualité d'un jeu de motifs s'exprime par la couverture de fautes. Le coût du scan comprend la surface supplémentaire des multiplexeurs et du routage, un léger retard ajouté aux entrées des bascules, et l'effort de conception lié aux règles de conception en vue du test (DFT), comme le maintien de la contrôlabilité des horloges et des resets pendant le test.

Compression et valeurs inconnues

Sur les grosses puces, le nombre de bascules rend énormes le volume brut de données de scan et le temps de décalage. La compression de test découpe la logique en de nombreuses chaînes courtes, alimentées par un décompresseur intégré et vidées dans un compacteur de sortie. Comme la plupart des bits d'un motif sont indifférents (don't care), le volume de données et le temps de test peuvent diminuer d'un facteur de quelques dizaines ou plus. Le compactage a toutefois un point faible : une valeur inconnue (X) issue d'une mémoire non initialisée, d'un bloc analogique ou d'un passage entre domaines d'horloge corrompt la signature compactée. On évite donc les sources de X dès la conception, et le masquage des X bloque les cellules de scan concernées.

Test par scan et boundary scan

Le scan interne cible la logique à l'intérieur de la puce en chaînant ses bascules. Le boundary scan, normalisé sous la référence IEEE 1149.1 (JTAG), place des cellules de scan au niveau des broches d'E/S de la puce afin de tester les interconnexions et les soudures au niveau de la carte, et de piloter ou d'observer les broches sans sonde physique. Les deux approches sont complémentaires, et le port JTAG sert souvent aussi à commander les fonctions de test internes. Aucune ne remplace entièrement le test fonctionnel, car les motifs de scan sollicitent la structure plutôt que les cas d'usage réels de la puce.

S'entraîner : questions sur Test par scan

Comment appelle-t-on la technique qui décompresse les vecteurs de test dans la puce et compresse les réponses afin de réduire le volume de données et le temps du test par scan ?

  1. ACompression de test (compression de scan)
  2. BBurn-in
  3. CTest IDDQ
Afficher la réponse et l'explication

Réponse : A. Compression de test (compression de scan)

Dans les grands LSI, le volume de vecteurs de test par scan devient considérable, ce qui pose problème pour la mémoire du testeur et le temps de test. La compression de test distribue un faible volume de données d'entrée sur de nombreuses chaînes de scan courtes via un circuit de décompression intégré, et regroupe également les sorties dans un circuit de compression avant comparaison. Comme la plupart des bits des vecteurs sont indifférents, le volume de données et le temps de test peuvent être réduits d'un facteur de plusieurs dizaines ou davantage.

Lors de la compression des sorties en test par scan, pourquoi faut-il éliminer les signaux dont la valeur 0 ou 1 n'est pas déterminée en simulation (valeurs indéterminées X) ?

  1. AParce que si des valeurs indéterminées se mêlent au résultat compressé, il ne peut plus être comparé aux valeurs attendues et les fautes ne sont plus détectables
  2. BParce que les valeurs indéterminées font chauffer la puce
  3. CParce que les valeurs indéterminées arrêtent l'horloge
Afficher la réponse et l'explication

Réponse : A. Parce que si des valeurs indéterminées se mêlent au résultat compressé, il ne peut plus être comparé aux valeurs attendues et les fautes ne sont plus détectables

Les valeurs indéterminées (X) provenant de mémoires non initialisées, de circuits analogiques, de frontières entre domaines d'horloge, etc., rendent indéterminée toute la valeur compressée lorsqu'elles se mêlent aux autres bits dans le circuit de compression, qui ne peut alors plus être comparée à la valeur attendue correcte. On utilise donc le X-masking, qui bloque la sortie des cellules de scan produisant des X, ou des précautions de conception limitant l'apparition de X. Cela n'a rien à voir avec l'échauffement ou l'arrêt de l'horloge.

Questions fréquentes

À quoi sert une chaîne de scan ?

Pendant le test, une chaîne de scan relie les bascules d'une puce en registre à décalage, de sorte que chaque état interne peut être imposé et lu directement. On peut ainsi atteindre une couverture de fautes élevée avec des motifs générés automatiquement.

Quelle est la différence entre le test par scan et le boundary scan JTAG ?

Le scan interne chaîne les bascules du cœur pour tester la logique de la puce, tandis que le boundary scan (IEEE 1149.1) chaîne des cellules placées sur les broches d'E/S pour tester les connexions entre puces sur une carte. Tous deux reposent sur un décalage série, mais ils couvrent des parties différentes du système.

Pourquoi les valeurs inconnues (X) posent-elles problème en compression de scan ?

Un X qui entre dans le compacteur de sortie se mélange aux autres bits et rend le résultat compacté imprévisible : on ne peut plus le comparer à la valeur attendue, et des fautes risquent de passer inaperçues. Le masquage des X et une conception exempte de X évitent ce problème.

« Test par scan » dans les explications

Questions mentionnant « Test par scan » (3)

  1. Comment appelle-t-on la technique qui décompresse les vecteurs de test dans la puce et compresse les réponses afin de réduire le volume de données et le temps du test par scan ?
  2. Lors de la compression des sorties en test par scan, pourquoi faut-il éliminer les signaux dont la valeur 0 ou 1 n'est pas déterminée en simulation (valeurs indéterminées X) ?
  3. Pour une puce défaillante au test par scan, comment appelle-t-on le traitement qui restreint logiquement les emplacements de faute probables à partir des sorties et des vecteurs présentant des discordances ?

Termes associés

Via Rendement (yield) ATE (équipement de test automatique) ATPG (génération automatique de vecteurs de test) BIST (autotest intégré) Carte à pointes (probe card) Défaut de collage (stuck-at fault) Déverminage (burn-in) DFT (conception en vue du test) KGD (Known Good Die)

Retour au glossaire