TEST ET TESTABILITE DES CIRCUITS INTEGRES DIGITAUX Christian LANDRAULT landraul@lirmm.fr Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)
Vérification et Test Vérifier la correction de la conception Effectuée par simulation, émulation matérielle, preuve formelle Effectuée une fois avant la fabrication Responsable de la qualité de la conception Vérifier la correction du matériel fabriqué Deux étapes Génération du programme de test réalisée une fois pendant la conception Application du test: tests électriques appliqués au matériel Le test électrique est appliqué à chaque matériel produit Responsable de la qualité du circuit
Réduction du coût de production - volume données de test - coût du testeur - temps de test Coût total Coût du test Coût du boîtier Coût du silicium Réduction par augmentation des volumes, du rendement et diminution de la surface de la puce Réduction par augmentation des volumes (boîtier moins cher) ou diminution du nombre de broches
Pourquoi tester ? Clauses contractuelles au niveau : d’une inspection d ’entrée, de performances de fiabilité Imposé par un environnement de plus en plus compétitif où la qualité des produits et leur fiabilité sont parmi les points importants mis en avant par la clientèle (consommateurs)
Quand tester ? Circuit Plaque Wafer Système
Quand tester ?
Le test est un filtre OK TEST: testeur, OK (DL) séquence, paramètres Résultat du test Réalité OK TEST: testeur, séquence, paramètres OK (DL) OK OK (€,$)
Le test met en œuvre des matériels coûteux
Définition du test Le test est possible quand on peut appliquer un stimulus connu à une entité dans un état connu et que la réponse connue peut être évaluée stimulus connu : avoir accès aux entrées de l'entité et appliquer une valeur connue CONTROLABILITE état connu : déterminisme de l'influence des entrées sur le circuit réponse connue : avoir accès aux sorties de l'entité et comparer la réponse du circuit à une valeur réputée bonne OBSERVABILITE
Définitions et terminologie Quelque chose fait que le système ne fonctionne pas : erreur, faute, panne, défaut, . . . Erreur : comportement erroné observé Faute : déviation de la structure par rapport aux spécifications Défaut : déviation de la réalisation physique par rapport aux spécifications de fabrication Panne: mauvais fonctionnement en opération Test : détection du défaut Diagnostique : détection et localisation du défaut
Test et testabilité des circuits intégrés digitaux Défaillances physiques et modélisation de fautes Analyse de testabilité Génération automatique de vecteurs de test Simulation de fautes Conception en vue du test Test intégré
Défaillances physiques et modélisation de fautes Christian LANDRAULT landraul@lirmm.fr Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier (LIRMM)
Défaillances physiques et modélisation de fautes Généralités Caractérisation des défauts Modélisation des défauts collage court circuit technologie CMOS fautes de délais Equivalence de fautes
Comment obtenir une séquence de test ? Utiliser une séquence fonctionnelle produite pour vérifier le fonctionnement par simulation lors de la phase de conception : facile à trouver, plus difficile à valider, encore plus difficile à améliorer. Appliquer une séquence exhaustive des entrées trop long Utiliser un modèle de faute, l ’appliquer au circuit et essayer de détecter toutes les fautes validité du modèle (taux de couverture et "defect level") outils de génération
* Quoi tester ? Défaillances dans le processus de fabrication A B C D G E F + *
Défaillances dans le processus de fabrication (1) Court-circuit Via correct Via malformé Court circuit Court-circuit
Défaillances dans le processus de fabrication (2) Métal piqué Extrusion d'aluminium à travers la passivation longue fracture de fatigue du diélectrique Encoches dans du métal étroit Phénomènes d'électromigration
Défaillances physiques et modélisation de fautes Généralités Caractérisation des défauts Modélisation des défauts collage court circuit technologie CMOS fautes de délais Equivalence de fautes
Caractérisation des défauts Mécanismes de défaillance Défauts du wafer (contamination, micro-crevasse) Erreurs humaines (interactions humaines avec le processus de production) Défaillance d'équipements (utilisation de maintenance préventive) Impact de l'environnement (contaminations diverses, vibrations, ..) Instabilités du processus technologique de production DEFAUTS GLOBAUX DEFAUTS LOCAUX
Caractérisation des défauts Monitoring des défauts globaux PCM utilisation de PCM ("Process Control Monitor") composés de structures de base (transistors, lignes de conducteur, chaîne de vias, …) distribués sur le wafer (éventuellement placés sur les lignes de découpe) utilisation d'oscillateur en anneau monitoring de paramètres de haut niveau fréquence d'oscillation fonction des paramètres de plus bas niveau du processus technologique résultats peuvent être mal interprétés
Caractérisation des défauts Monitoring des défauts locaux Monitoring en ligne par inspection à différentes étapes du processus de fabrication (surfscan, réflectométrie, évaluation d'image, ...) Moniteurs d'oxyde de grille (combinaison de condensateurs de différentes formes et tailles, mesure de courant de fuite et de capacités) Moniteurs d'interconnexions Méandre Double peigne Méandre+ peignes
Défaillances physiques et modélisation de fautes Généralités Caractérisation des défauts Modélisation des défauts collage court circuit technologie CMOS fautes de délais Equivalence de fautes
Modélisation des défauts Nécessaire pour : l'estimation du rendement du processus, les stratégies de test orientées défauts Modélisation au niveau global combinaison entre défaut global et variation aléatoire locale Variation aléatoire du processus Impact du défaut global 1 Impact combiné 1 Limite supérieure du processus Valeur du paramètre Position sur le wafer défaut global 2 Impact combiné 2
Modélisation des défauts Modélisation au niveau local chaque défaut est supposé comme un ajout ou un manque de matériau conducteur chaque défaut est supposé avoir une forme circulaire les défauts sont caractérisés par : leur densité la distribution de leur taille leur apparition en cluster plutôt qu'aléatoire Densité relative Distributions typiques Taille du défaut
Le modèle de collage (simple) Avec le modèle de collage, une (et une seule) ligne de la description est collée de manière permanente à la valeur 0 ou à la valeur 1 On utilise parfois uniquement le collage des ports d'entrée et de sortie des modules (ces deux modèles sont équivalents sauf en cas de divergence) 1 1 1 1 1 0X X0 X 1 1 1 Collage à 0 1 0X X0
Le modèle de collage Principales caractéristiques et avantages Il permet de représenter de nombreux défauts physiques différents Il est indépendant de la technologie Il permet d'utiliser l'algèbre booléenne pour trouver les vecteurs de test Les vecteurs de test générés avec ce modèle de collage détectent aussi d'autres défauts L'ensemble des fautes obtenu avec ce modèle est limité Le taux de couverture (TC) associé à ce modèle de fautes est une métrique admise entre fournisseurs et clients Le modèle de collage peut être utilisé pour modéliser d'autres types de fautes
Le modèle de collage Modélisation d'autres fautes X Z X Z Z' Zf 1 Inverseur de départ Perte d'inversion f X Z Z' = Z si f = 0 Z' = Zf si f=1 Z' Zf 1 f Changement de délai f
Le modèle de collage multiple Extension du modèle de collage avec plusieurs lignes collées simultanément Avec n sites possibles pour une faute de collage simple il y a 3n-1 fautes de collage multiple possibles (2n fautes de collage simple) Les fautes de collage multiple ont été introduites à cause des masquages (phénomène peu courant en pratique) 1/1 1/0 0/1 1/1 0/1 0/0 0/1 0/1 1/1 1/0 Séquence de test complète pour les fautes de collage 1/1 Collage multiple à 1
Le modèle de "Bridging Fault" X b X b c c Court-circuit Z(x,y) d d Y Y e e Z(v,v) = v la valeur de Z(v,v) quand à elle dépend de la technologie : Z(0,1) = 0 correspond au modèle de ET cablé Z(0,1) = 1 correspond au modèle de OU cablé
Le modèle de "Bridging Fault" Caractéristiques principales Introduit à l'origine pour les technologies TTL et ECL Généralement appliqué sur une description à portes, le court-circuit est défini entre les sorties de portes et/ou les entrées primaires (pas de différence entre racine et branches de divergence) S'il existe un chemin fonctionnel entre les deux extrémités du court-circuit, celui-ci créé une boucle de contre-réaction (transformant par exemple un circuit combinatoire en circuit séquentiel avec possibilité d'oscillations) Les fautes de court-circuit multiples ont également été introduites (uniquement au niveau théorique) Le modèle de "bridging fault" n'est pas très bien adapté pour les technologies CMOS pour lesquelles la fonction Z(v,v) ne correspond pas toujours à une valeur logique
Inadaptation du modèle de collage Problèmes dus à la modélisation au niveau porte Utilisation du transistor interrupteur dans une logique à relais Utilisation de logique dynamique d1 d2 S d3 d4 Fonction multiplexage Vss a b Vdd S H1 Porte NAND H2
Inadaptation du modèle de collage Problèmes dus à la modélisation au niveau porte Non correspondance entre la description à porte et la description électrique ?
Inadaptation du modèle de collage Problèmes dus à la nature des défauts Les conséquences électriques principales des défauts physiques dans les technologies CMOS se manifestent le plus souvent par des courts-circuits et des circuits ouverts Ces perturbations peuvent entraîner des dysfonctionnements du circuit tels que : modifications de la fonction logique réalisée par le circuit, effet mémoire comportement analogique Dans la plupart des cas, ces dysfonctionnements ne sont pas modélisables par des fautes de collage
Inadaptation du modèle de collage Modification de la fonction logique +
Inadaptation du modèle de collage Effet Mémoire
Inadaptation du modèle de collage Comportement analogique Valeur intermédiaire dépendant de la résistance passante des transistors
Inadaptation du modèle de collage Comportement analogique Valeur intermédiaire dépendant de la résistance passante des transistors Valeur logique erronée : possibilité de détection par un test logique classique augmentation du courant consommé ("IDDQ testing") Valeur logique correcte : pas d'erreur logique détectable en statique augmentation du courant consommé ("IDDQ testing") fautes de délais après régénération du signal par les éléments avals
Inadaptation du modèle de collage Comportement analogique Faute de délai tension Signal d'entrée Niveau haut Sortie correcte Sortie en présence de la faute Niveau bas temps Retard après régénération
Fautes de délais Définitions Du fait de structures plus complexes et de vitesse d'opération plus élevées, les fautes de délais prennent de plus en plus d'importance Lorsqu'un circuit fonctionne à une certaine fréquence et présente un dysfonctionnement à fréquence plus élevée, on dit qu'il est le siège d'une faute de délai Le test d'une faute de délai nécessite l'application de deux vecteurs afin de provoquer une transition au site de la faute et de propager l'erreur vers les sorties primaires
Fautes de délais Définitions Bloc Combinatoire Bascules d'entrée Bascules de sortie Horloge d'entrée Horloge de sortie période d'horloge système délai nominal "slack"
Fautes de délais Origine Sortie saine Sortie avec circuit-ouvert t
Fautes de délais Origine
Fautes de délais Origine
Fautes de délais Classification
Faute de délai de chemin Une faute de délai est associée à chaque chemin de propagation (entre une entrée primaire et une sortie primaire) Un chemin présente une faute de délai si le temps de propagation selon ce chemin (et suivant une certaine polarité) excède la période d'horloge spécifiée Bloc Combinatoire Bascules d'entrée Bascules de sortie Horloge d'entrée Horloge de sortie période d'horloge système
Faute de délai de chemin Caractéristiques principales la faute de délai peut être répartie sur tout le chemin (prise en compte de défauts non locaux tels que dérives, désalignement, ..) la réponse de la sortie est observée à l'intervalle de fonctionnement nominal le modèle de chemin est efficace avec des fautes de n'importe quelle taille la présence d'autres fautes n'affectent (théoriquement) pas la possibilité de tester un chemin donné. Ceci permet donc de gérer les fautes multiple. Le modèle de chemin est réaliste et parfaitement efficace si tous les chemins sont testés
Faute de délai de chemin Caractéristiques principales Le nombre de chemins structurels dans un circuit réel est en général important le nombre de chemins fonctionnels est en général plus faible mais reste important nécessité de choisir un sous-ensemble plus réduit par exemple les chemins structurels les plus longs ATTENTION s'il existe une faute non sensibilisée par le sous-ensemble choisi, elle ne sera jamais détectée
Défaillances physiques et modélisation de fautes Généralités Caractérisation des défauts Modélisation des défauts collage court circuit technologie CMOS fautes de délais Equivalence de fautes
Equivalence de fautes Définitions Soit T(fi) l'ensemble de tous les tests qui détectent la faute fi Deux fautes fi et fj sont équivalentes si et seulement si T(fi) T(fj) Tout test qui détecte fi détecte fj et vice-versa I1 I2 S T(I1/Cà1) = {00} T(I2/Cà1) = {00} T(S/Cà0) = {00} I1 collée à 1, I2 collée à 1 et O collée à 0 sont trois fautes équivalentes
Equivalence de fautes Définitions Une faute fi domine la faute fk si et seulement si T(fk) T(fi) Tout test qui détecte fk détecte fi On dit aussi que le test de fk implique le test de fi T(fk) T(fi)
Equivalence de fautes Exemple de dominance Le test de I1 collée à 0 implique le test de S collée à 1 Le test de I2 collée à 0 I1 I2 S T(I1/Cà0) = {10} T(I2/Cà0) = {01} T(S/Cà1) = {01, 10,11} 10 11 01
Equivalence de fautes En toute généralité, la détermination de savoir si deux fautes sont équivalentes est un problème NP-difficile équivalent au problème de générer tous les vecteurs de test d'un circuit D'un point de vue, réaliste seules des équivalences structurelles locales peuvent être prises en compte f1 - Collage à 1 f2 - Collage à 1
Equivalence Structurelle Niveau porte Généralisation Pour une porte avec une valeur prioritaire c et une inversion i, toute faute de collage à c d'une entrée est équivalente au collage à ci (équivalence stricte) de la sortie Pour une porte avec une valeur prioritaire c et une inversion i, tout test de la faute de collage à c d'une entrée implique le test au collage à ci (dominance seulement) de la sortie
Equivalence Structurelle Niveau Porte Théorème 1 Dans un arbre (pas de divergence) combinatoire réalisé avec des portes conventionnelles, tout test détectant toutes les fautes de collage des entrées primaires détecte toutes les fautes de collage
Equivalence Structurelle Niveau Porte Problème avec les portes OU exclusif
Equivalence Structurelle Niveau Porte Théorème 2 Dans un circuit combinatoire réalisé avec des portes conventionnelles, tout test détectant toutes les fautes de collage des entrées primaires et des branches de divergences détecte toutes les fautes de collage Les entrées primaires et les branches de divergence sont appelés "checkpoints" Attention ce théorème n'est malheureusement valable que pour les circuits non redondants L'ensemble des "checkpoints" peut encore être réduit en utilisant des relations au niveau porte
Equivalence Structurelle Niveau Porte : Exemple Théorème 2 Eq. Struc. Eq. Struc. + dom. Collage à 1 Collage à 0 Ensemble initial de 24 fautes réduit à 10 par équivalence