Test par scan vs BIST : les principales différences

Le test par scan relie les bascules de la puce en registres à décalage (chaînes de scan) : un testeur externe y injecte des vecteurs de test, récupère la réponse du circuit et la compare aux valeurs attendues. Les vecteurs sont générés à partir de la netlist par des outils d’ATPG. Le BIST intègre dans la puce un circuit qui génère les vecteurs et un circuit qui évalue le résultat, de sorte que la puce se teste elle-même. En test de production, la combinaison courante est le test par scan pour la logique et le BIST mémoire pour les mémoires intégrées ; le BIST peut aussi servir à l’autodiagnostic après livraison.

CritèreTest par scanBIST (autotest intégré)
PrincipeLes bascules sont reliées en chaînes de scan ; les vecteurs sont chargés par décalage, le circuit fonctionne une fois, puis le résultat est extrait par décalage et comparéUn circuit générant les vecteurs et un circuit évaluant la réponse sont intégrés à la puce, qui se teste elle-même et rend un verdict bon/mauvais
Génération des vecteurs de testL’ATPG produit à partir de la netlist des vecteurs déterministes ciblant les fautes de collage et les fautes de retard de transitionLe BIST logique produit des vecteurs pseudo-aléatoires avec un LFSR. Le BIST mémoire produit adresses et données selon des procédures fixes comme les tests March
Évaluation de la réponseLe testeur compare aux valeurs attendues (avec la compression de test, ce sont des réponses compressées dans la puce qui sont comparées)Le BIST logique compresse la réponse avec un MISR et compare la signature à la valeur attendue. Le BIST mémoire vérifie directement les valeurs lues avec un comparateur
Dépendance au testeurVecteurs et valeurs attendues stockés dans la mémoire du testeur. Il faut des broches de scan ainsi qu’un testeur suffisamment performant et doté de mémoireIl suffit de lancer le test et de lire le résultat (par JTAG, par exemple) ; un testeur simple convient
Cible principaleCircuits logiques (logique combinatoire et bascules)BIST mémoire : mémoires intégrées comme la SRAM. BIST logique : circuits logiques
Couverture de fautesFacile à rendre élevée, car les vecteurs sont générés pour cibler des fautes précisesAvec le BIST logique, des fautes difficiles à détecter par des vecteurs pseudo-aléatoires subsistent souvent, ce que l’on compense par l’insertion de points de test. Le BIST mémoire atteint une couverture élevée grâce à des procédures adaptées aux modèles de fautes des mémoires
Circuits ajoutésLes bascules sont remplacées par des bascules de scan (avec multiplexeur de sélection) et le câblage des chaînes est ajoutéGénérateur de vecteurs, compresseur de réponses et circuit de contrôle nécessaires. Le BIST logique impose en outre d’adapter le circuit pour qu’aucune valeur indéterminée (X) n’apparaisse
Durée de testDes chaînes longues allongent le décalage, et la vitesse du testeur est une limite. La compression de test la réduitL’horloge interne permet d’appliquer rapidement de nombreux vecteurs. Le BIST logique nécessite toutefois beaucoup de vecteurs
Moment d’utilisationPrincipalement le test sur wafer et le test final en production. Sert aussi au diagnostic des puces défectueusesEn plus du test de production, contrôle après montage sur carte et autodiagnostic après livraison, par exemple à la mise sous tension

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

Test par scan
En test de production, pour détecter avec une couverture élevée les fautes structurelles de la logique, ou pour localiser la faute dans une puce défectueuse.
BIST
Test des mémoires intégrées difficiles d’accès direct depuis l’extérieur ; réduction du nombre de broches et de la mémoire du testeur ; autodiagnostic après livraison, à la mise sous tension ou avant de rouler, comme dans l’automobile.
Combinaison
Dans les puces réelles, on utilise généralement le test par scan (avec compression) pour la logique et le BIST mémoire pour les mémoires. Le BIST logique repose lui aussi sur les chaînes de scan.

Questions fréquentes

Le BIST rend-il le test par scan inutile ?

La plupart des puces utilisent les deux. Le BIST logique s’appuie sur des vecteurs pseudo-aléatoires et laisse souvent passer des fautes difficiles à détecter ; en test de production, on assure donc généralement une couverture de fautes élevée par un test par scan avec des vecteurs générés par ATPG. Les mémoires, de structure régulière, sont testées par BIST mémoire.

Quel est le lien entre le BIST logique et le test par scan ?

Le BIST logique utilise lui aussi les chaînes de scan. Les vecteurs produits par un LFSR sont chargés dans les chaînes, le circuit fonctionne, les réponses qui en sortent sont compressées par un MISR et la signature finale est comparée à la valeur attendue. La conception pour le scan sert de base.

Pourquoi utilise-t-on souvent le BIST pour tester les mémoires intégrées ?

Parce qu’une mémoire enfouie dans la puce est difficile à lire et à écrire directement depuis les broches externes, et que sa structure régulière permet de générer avec un petit circuit les adresses et données de procédures fixes comme les tests March. On le combine souvent avec la réparation, qui remplace les bits défectueux trouvés par des lignes ou colonnes de réserve.

Pourquoi les puces automobiles exécutent-elles un BIST à la mise sous tension ?

Pour détecter les fautes apparues après la livraison et les fautes latentes qui ne se manifestent pas en fonctionnement normal. Le BIST s’exécute dans la puce elle-même, sans testeur, et peut donc servir à l’autodiagnostic dans le véhicule.

Vérifier vos connaissances

Quelle description de la conception par scan, l'une des techniques de conception en vue du test (DFT), est correcte ?

  1. ABalayer la surface de la puce au microscope optique pour rechercher des défauts
  2. BAugmenter progressivement la tension d'alimentation pendant le test pour déterminer les limites de fonctionnement
  3. CRelier les bascules du circuit en registre à décalage afin de faciliter le positionnement et l'observation de l'état interne
Afficher la réponse et l'explication

Réponse : C. Relier les bascules du circuit en registre à décalage afin de faciliter le positionnement et l'observation de l'état interne

Dans la conception par scan, un multiplexeur de sélection est ajouté à l'entrée de chaque bascule ; en mode test, les bascules sont chaînées (chaîne de scan), ce qui permet de charger par décalage une valeur quelconque depuis l'extérieur et de relire par décalage les valeurs internes. Le test d'un circuit séquentiel se ramène ainsi au test d'un circuit combinatoire, et l'ATPG peut générer automatiquement des vecteurs à forte couverture de fautes. Cela n'a rien à voir avec un balayage au microscope ou un balayage en tension.

Quelle description du BIST (autotest intégré) est correcte ?

  1. ATous les tests sont réalisés uniquement par un testeur externe
  2. BDes circuits de test sont intégrés dans la puce, qui effectue elle-même son test
  3. CL'aspect extérieur est contrôlé à l'œil nu
Afficher la réponse et l'explication

Réponse : B. Des circuits de test sont intégrés dans la puce, qui effectue elle-même son test

Le BIST intègre dans la puce un circuit de génération des vecteurs de test et un circuit d'évaluation des résultats, de sorte que la puce exécute elle-même son test. Le MBIST, destiné aux mémoires, génère à haute vitesse des séquences comme les tests March, tandis que le LBIST, destiné aux circuits logiques, utilise des séquences pseudo-aléatoires. Il réduit la dépendance vis-à-vis de testeurs coûteux ainsi que le temps de test et, dans l'automobile, permet un autodiagnostic à chaque mise sous tension, y compris après expédition.

Comment appelle-t-on la génération automatique, à partir de la netlist d'un circuit, de vecteurs de test destinés à détecter les fautes ?

  1. ADRC
  2. BATPG (génération automatique de vecteurs de test)
  3. CCTS
Afficher la réponse et l'explication

Réponse : B. ATPG (génération automatique de vecteurs de test)

L'ATPG est une technique qui génère automatiquement à partir de la netlist, sur la base d'un modèle de faute tel que le collage, des vecteurs d'entrée permettant de propager chaque faute jusqu'à une sortie pour la détecter. Combinée à la conception par scan, elle permet de produire efficacement des vecteurs à forte couverture de fautes, même pour des circuits de plusieurs centaines de millions de portes. Le DRC est la vérification des règles de conception du layout et la CTS la synthèse de l'arbre d'horloge, deux étapes de conception.

  1. Quelle est la définition de la couverture de fautes (fault coverage) d'un ensemble de vecteurs de test ?
  2. 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 ?
  3. Du point de vue de la sécurité fonctionnelle, quel est le but principal de l'exécution d'un BIST logique ou d'un BIST mémoire sur un microcontrôleur automobile à la mise sous tension ou avant de rouler ?

Questions d'entraînement sur Test et inspection

Termes clés expliqués

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.
BIST (autotest intégré)
Mécanisme intégrant dans la puce un circuit de test qui génère lui-même les vecteurs de test et évalue les résultats. Très utilisé notamment pour le test des mémoires.
ATPG (génération automatique de vecteurs de test)
Génération automatique, à partir de la netlist du circuit, de vecteurs de test destinés à détecter les fautes. Utilisée avec la conception à base de scan.
Taux de couverture des fautes (fault coverage)
Proportion des fautes supposées que les vecteurs de test permettent de détecter. Plus il est élevé, moins on risque de laisser passer des produits défectueux.
DFT (conception en vue du test)
Méthode de conception qui intègre à l'avance dans le circuit des structures facilitant le test, comme les chaînes de scan ou le BIST.

Comparatifs associés