t intÉgrÉ des circuits digitaux analyse et gÉnÉration …virazel/these/phd_french.pdf ·...

149
ACADÉMIE DE MONTPELLIER UNIVERSITÉ MONTPELLIER II SCIENCES ET TECHNIQUES DE LANGUEDOC présentée à l'Université de Montpellier II Sciences et Techniques du Languedoc pour obtenir le DIPLÔME DE DOCTORAT Spécialité : Génie Informatique, Automatique et Traitement du Signal Formation Doctorale : Systèmes Automatiques et Microélectroniques École Doctorale : Information, Structures, Systèmes T TEST I I NTÉGRÉ DES C CIRCUITS D DIGITAUX A A N N A A L L Y Y S S E E E E T T G G É É N N É É R R A A T T I I O O N N D D E E S S É É Q Q U U E E N N C C E E S S A A L L É É A A T T O O I I R R E E S S A A D D J J A A C C E E N N T T E E S S par Arnaud VIRAZEL Soutenue le devant le Jury composé de : M. René DAVID, Directeur de Recherche Émérite CNRS, INPG Grenoble Examinateur M. Patrick GIRARD, Chargé de Recherche CNRS, Université Montpellier II Examinateur M. Christian LANDRAULT, Directeur de Recherche CNRS, Université Montpellier II Examinateur M. Michaël NICOLAIDIS, Directeur de Recherche CNRS, iRoC Technologies (Grenoble) Rapporteur M. Serge PRAVOSSOUDOVITCH, Professeur, Université Montpellier II Directeur de Thèse Mme Pascale THEVENOD-FOSSE, Directeur de Recherche CNRS, LAAS (Toulouse) Rapporteur THÈSE

Upload: others

Post on 04-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ACADÉMIE DE MONTPELLIER

UNIVERSITÉ MONTPELLIER IISCIENCES ET TECHNIQUES DE LANGUEDOC

présentée à l'Université de Mon

pour obten

Spécialité : Génie Informati

Formation Doctorale : Systè

École Doctorale : Informatio

TTEESSTT IINNTTÉÉGGRRÉÉ DDAANNAALLYYSSEE EETT GGÉÉNN

AALLÉÉAATTOOII

Arn

Soutenue le

M. René DAVID, Directeur de Recherche É

M. Patrick GIRARD, Chargé de Recherche

M. Christian LANDRAULT, Directeur de Re

M. Michaël NICOLAIDIS, Directeur de Rec

M. Serge PRAVOSSOUDOVITCH, Profess

Mme Pascale THEVENOD-FOSSE, Direct

E

THÈS

tpellier II Sciences et Techniques du Languedoc

ir le DIPLÔME DE DOCTORAT

que, Automatique et Traitement du Signal

mes Automatiques et Microélectroniques

n, Structures, Systèmes

EESS CCIIRRCCUUIITTSS DDIIGGIITTAAUUXXÉÉRRAATTIIOONN DDEE SSÉÉQQUUEENNCCEESSRREESS AADDJJAACCEENNTTEESS

par

aud VIRAZEL

devant le Jury composé de :

mérite CNRS, INPG Grenoble Examinateur

CNRS, Université Montpellier II Examinateur

cherche CNRS, Université Montpellier II Examinateur

herche CNRS, iRoC Technologies (Grenoble) Rapporteur

eur, Université Montpellier II Directeur de Thèse

eur de Recherche CNRS, LAAS (Toulouse) Rapporteur

Page 2: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

REMERCIEMENTS

Les travaux de recherche de ce mémoire ont été effectués au Laboratoire d'Informatique,

de Robotique et de Microélectronique de Montpellier (LIRMM) dirigé par Monsieur Gaston

Cambon, Professeur à l'Université Montpellier II, au début de ma thèse et qui, par la suite, a

été remplacé par Monsieur Michel Habib, Professeur à l'Université Montpellier II.

Je remercie Monsieur Serge Pravossoudovitch, Professeur à l'Université Montpellier II,

sous la direction duquel ces travaux ont été effectués, pour son aide, l'expérience dont il m'a

fait profiter et la confiance qu'il m'a accordée tout au long de la préparation de ces travaux.

Je tiens à exprimer ma gratitude à Messieurs Christian Landrault (Directeur de Recherche

au CNRS) et Patrick Girard (Chargée de Recherche au CNRS), pour les nombreux conseils

qu'ils m'ont prodigués tout au long de ces années, ainsi que la confiance qu'ils m'ont

témoignée.

Je souhaite également exprimer toute ma reconnaissance à Monsieur René David,

Directeur de Recherche Émérite au CNRS (Laboratoire d'Automatique de Grenoble) qui a

participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements pour

sa sympathie, sa disponibilité, sa pédagogie et son aide précieuse.

Je remercie aussi Madame Pascal Thévenod-Fosse, Directeur de Recherche au CNRS

(Laboratoire d'Analyse et d'Architecture des Systèmes de Toulouse) et Monsieur Michaël

Nicolaidis, Directeur de Recherche au CNRS (iRoC Technologies – Grenoble), qui m'ont fait

l'honneur d'accepter d'être rapporteurs et membres du jury de cette thèse. Vos remarques

judicieuses, précises et constructives sur le manuscrit m'ont été d'un grand secours pour le

finaliser.

Que mes camarades et amis du LIRMM trouvent ici un hommage à la hauteur de leur aide,

de leur soutien et de leur bonne humeur. Je ne pourrais oublier l'ensemble des personnes du

LIRMM, de l'administration aux services techniques, qui ont rendu cette thèse la plus

agréable possible.

Enfin, je remercie mes parents et ma famille pour leur soutien au cours de ces longues

années d'études et sans lesquels je ne serai pas docteur aujourd'hui.

Page 3: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

SSOOMMMMAAIIRREE

Page 4: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

SOMMAIRE

SOMMAIRE

INTRODUCTION GÉNÉRALE ___________________________________ 1

Chapitre I : CONTEXTE DE L’ÉTUDE _________________________ 7Introduction........................................................................................................... 9I Défauts, Erreurs et Fautes dans les Circuits VLSI ........................................ 10

I.1 Notations ............................................................................................................... 10I.2 Couverture de Défauts........................................................................................... 10

II Les Fautes de Délai ......................................................................................... 14II.1 Nature des Délais dans un Circuit......................................................................... 14II.2 Modèles de Faute de Délai ................................................................................... 15

II.2.1 Modèle Local ................................................................................................................. 15II.2.2 Modèle de Chemin ........................................................................................................ 16

II.3 Test des Fautes de Délai ...................................................................................... 18II.3.1 Principe du Test des Fautes de Délai ........................................................................... 18II.3.2 Phénomènes d'Invalidations d'un Test de Délai ........................................................... 19II.3.3 Modes de Détection d'une Faute de Délai .................................................................... 22

II.3.3.1 Faute de Délai Fonctionnellement Sensibilisable ou Redondante....................................... 22II.3.3.2 Le test Robuste ................................................................................................................... 23II.3.3.3 Le Test Non-Robuste .......................................................................................................... 24II.3.3.4 Bilan .................................................................................................................................... 27

III Les Fautes de Court-Circuit........................................................................... 28III.1 Classification des Fautes de Court-Circuit ........................................................... 28III.2 Modèles de Faute de Court-Circuit ...................................................................... 30III.3 Test Logique des Fautes de Court-Circuit............................................................ 31

Conclusion .......................................................................................................... 33

Chapitre II : ANALYSE COMPARATIVE DE L'EFFICACITÉDES SÉQUENCES ALÉATOIRES MIC ET SIC __________ 33

Introduction......................................................................................................... 37I Comparaisons Aléatoire / Pseudo-Aléatoire .................................................. 38

I.1 Génération de Séquences de Test Aléatoires........................................................ 39I.1.1 Séquence de Vecteurs RMIC......................................................................................... 39I.1.2 Séquence de Vecteurs RSIC ......................................................................................... 41

I.2 Étude de l'Influence du Caractère Aléatoire sur les Séquences SIC ...................... 42

II Comparaisons RMIC / RSIC ............................................................................ 44II.1 Test des Fautes de Délai ...................................................................................... 45

II.1.1 Une Étude de Cas ......................................................................................................... 45II.1.1.1 Efficacité Réelle du Test et Taux de Succès ....................................................................... 48II.1.1.2 Efficacité Réelle des Séquences RMIC et RSIC.................................................................. 51

II.1.2 Généralisation à d'Autres Circuits ................................................................................. 53

Page 5: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

II.2 Application à d'autres Modèles de Faute .............................................................. 55II.2.1 Test des Fautes de Court-Circuit .................................................................................. 56II.2.2 Test des Fautes de Collage .......................................................................................... 58

II.3 Propriété "Universelle" des Séquences de Test RSIC .......................................... 59

Conclusion .......................................................................................................... 62

Chapitre III : IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC_____ 63Introduction......................................................................................................... 65I Test Intégré ....................................................................................................... 66

I.1 Principe ................................................................................................................. 66I.2 Génération Pseudo-Aléatoire................................................................................. 68

I.2.1 Généralités ..................................................................................................................... 68I.2.2 Registre à Décalage à Rétroaction Linéaire : LFSR ...................................................... 69

II Mise en Œuvre de la Génération RSIC........................................................... 71II.1 Structure............................................................................................................... 71II.2 Contraintes ........................................................................................................... 72

II.2.1 LFSR "Aléatoire"............................................................................................................ 72II.2.2 Le Transcodage............................................................................................................. 76II.2.3 Période de la Séquence de Test ................................................................................... 79

II.3 Bilan des Contraintes............................................................................................ 81

Conclusion .......................................................................................................... 82

Chapitre IV : VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE ___ 83Introduction......................................................................................................... 85I Validation de la Structure ................................................................................ 86

I.1 Comparaison de l'Efficacité Robuste ..................................................................... 86I.2 Comparaison de l'Efficacité Non-Robuste.............................................................. 89

II Optimisations de la Structure......................................................................... 92II.1 Étude du Paramètre k – Taille du LFSR................................................................ 92II.2 Étude du Paramètre - Équilibre des Probabilités de Commutation .................... 94II.3 Étude du Paramètre - Décalage Multiple sur le LFSR ....................................... 98II.4 Bilan de l'Étude des Paramètres......................................................................... 101

III Optimisation du Générateur en Fonction de la Structure du Circuit ....... 101IV Coût en Surface du Générateur .................................................................. 104

VI.1 Environnement BILBO....................................................................................... 105VI.2 Environnement C-BILBO................................................................................... 108

Conclusion ........................................................................................................ 113

CONCLUSION GÉNÉRALE __________________________________ 115

Annexe I : SIMULATEUR DE FAUTES DE COURT-CIRCUIT________ 121

Page 6: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

SOMMAIRE

Annexe II : COMPARAISONS "ALÉATOIRE" / PSEUDO-ALÉATOIRE __ 127

Annexe III : PROBABILITÉS DE TRANSITION

EN FONCTION DU PARAMÈTRE σ_________________ 133

RÉFÉRENCES __________________________________________ 143

LISTES DES ALGORITHMES, COURBES, FIGURES ET TABLEAU ________ 155

Page 7: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

1

IINNTTRROODDUUCCTTIIOONN GGÉÉNNÉÉRRAALLEE

Page 8: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

INTRODUCTION GÉNÉRALE

3

INTRODUCTION GÉNÉRALE

Dans un avenir proche, l'augmentation de la complexité des circuits intégrés ainsi que

l'utilisation massive de systèmes sur puce mèneront très certainement à la généralisation du

test intégré logique (BIST pour "Built-In Self Test"). Ceci est confirmé par le rapport de

l'ITRS ("International Technology Roadmap for Semiconductors") [Sia99] affirmant que d'ici

2014, le test d'un circuit intégré coûtera plus cher que sa fabrication à moins que des

techniques de BIST soient utilisées.

Le BIST logique consiste à intégrer directement dans le circuit un générateur de vecteurs

de test et un analyseur de réponses. Cette technique offre ainsi de nombreux avantages

comparée au test externe qui devient de plus en plus difficile et coûteux. Le premier problème

dû à l'utilisation d'un testeur externe (EAT pour "Équipement Automatique de Test") provient

du fait que ce type d'équipement est souvent moins rapide que le circuit à tester. En effet,

alors que les performances en vitesse des circuits augmentent de 30 % par an, les

performances temporelles des EATs augmentent seulement de 12 % par an. A l'inverse, le

BIST permet de tester le circuit en utilisant son horloge interne, permettant ainsi l'application

de vecteurs à la fréquence nominale du circuit. Le test intégré apparaît donc comme une

solution intéressante afin de tester les circuits actuels à leurs fréquences de fonctionnement

("test at speed"). De plus, le BIST réduit grandement la quantité de données de test à stocker,

entraînant l'utilisation d'un EAT de moindre coût. Le BIST est aussi une solution efficace

pour le test des systèmes sur puce (appelés SOC pour "System-On-Chip"). Cette solution

permet, en effet, de tester les différents cœurs composant un système tout en préservant

l'aspect "propriété intellectuelle" associé.

Dans le cadre du test intégré, de nombreux travaux ont consisté à proposer des

architectures de génération de vecteurs de test. Sachant que la génération exhaustive

[McCl84, Crai85, Vuks94] n'est pas envisageable pour la plupart des circuits ou cœurs (en

raison du nombre d'entrées qui est souvent important), les architectures de génération de

vecteurs peuvent être classées en trois catégories : méthodes déterministes, pseudo-aléatoires

et mixtes.

Les méthodes déterministes consistent à stocker une séquence de vecteurs prédéterminée,

générée à partir d'un générateur automatique de vecteurs de test (ATPG pour "Automatic Test

Page 9: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

4

Pattern Generator") [Dand84, Star84, Edir92]. Ces architectures sont très efficaces en termes

de détection de fautes, mais sont également très coûteuses en surface. De plus, ce type de

génération repose sur l'utilisation d'un modèle de faute spécifique, ce qui limite quelque peu la

couverture de défauts que l'on peut obtenir.

L'approche pseudo-aléatoire consiste à appliquer un ensemble de vecteurs pseudo-

aléatoires produit par une structure de type LFSR ou Automate Cellulaire [Savi84, Will85,

Wagn87, Wund87, Pila93, Wang94, Gira97, Fago99]. Contrairement aux approches

déterministe, l'utilisation du test pseudo-aléatoire peut conduire à des séquences de test de

longueur importante. Cependant, l'avantage majeur de ce type de génération est que la

séquence de test utilisée n'est pas spécifique à un modèle de faute et qu'un grand nombre de

défauts de natures diverses peuvent être mis en évidences lors du test. De plus, l'utilisation

d'une technique de génération pseudo-aléatoire est facile à mettre en œuvre et entraîne un coût

en surface faible.

La dernière approche concerne les architectures mixtes. Ces techniques consistent à utiliser

conjointement l'approche déterministe et l'approche pseudo-aléatoire. Des vecteurs

déterministes sont utilisés pour tester les fautes difficiles1, tandis que des vecteurs aléatoires

ciblent les fautes faciles à détecter. Ainsi, la surface additionnelle est réduite car le nombre de

vecteurs déterministes à générer est limité. Parmi ces approches, nous pouvons citer les

techniques de compression [Koen91, Hell95, Hell98, Chak99] et celles dites de "bit-fixing" ou

"bit-flipping" [Toub96a, Toub96b, Fago98, Kief00]. Cependant, l'utilisation de techniques

déterministes rend les approches mixtes limitées à un modèle de faute spécifique ce qui limite

donc la couverture de défauts.

Le but de l'étude présentée dans ce manuscrit est de proposer une structure de génération

de vecteurs de test permettant de tester efficacement plusieurs modèles de faute. L'intérêt

d'utiliser une telle génération peut s'expliquer de la manière suivante. Le modèle de faute de

collage classique reste le plus utilisé pour valider une séquence de test. En effet, le taux de

couverture de fautes de collage est une métrique établie pour la communication entre

fournisseur et clients de circuits intégrés. Cependant, certains défauts pouvant affecter les

circuits dans les nouvelles technologies CMOS ne sont plus modélisés correctement par le

modèle de faute de collage [Aitk99]. L'utilisation de plusieurs modèles de faute tels que le

modèle de faute de délai et le modèle de faute de court-circuit, en complément du modèle de

faute de collage, est une solution permettant de garantir une couverture de défauts élevée

1 Fautes détectées par un petit nombre de vecteurs par rapport aux autres fautes dans le circuit.

Page 10: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

INTRODUCTION GÉNÉRALE

5

[Ma95, Nigh97a, Nigh97b, Nigh99, Sia99]. Pour ces différentes raisons, cette étude consiste à

proposer une solution alternative consistant à utiliser un générateur permettant de tester

efficacement les fautes de collage ainsi que les fautes de court-circuit et les fautes de délai.

Une question se pose alors : Quel procédé de génération doit-on utiliser pour générer une

telle séquence de test ? Considérant les différentes approches de génération présentées

précédemment, la solution qui s'impose est l'approche pseudo-aléatoire car elle est

indépendante du modèle de faute utilisé. Cependant, il a été démontré dans [Davi98] que les

qualités de détection des fautes d'une séquence pseudo-aléatoire peuvent être améliorées en

respectant certaines conditions sur l'aspect aléatoire de la génération. En utilisant ces

principes, nous montrerons, tout au long de ce manuscrit, l'efficacité de la génération aléatoire

à travers l'utilisation de séquences de test que nous appellerons séquences RSIC (pour

"Random Single Input Change"). Une telle séquence de test est une séquence de vecteurs

adjacents dans laquelle le terme "Random" signifie que la sélection du bit à changer entre

deux vecteurs consécutifs est réalisée aléatoirement. L'aspect universel de cette séquence de

test sera démontré en prouvant sa capacité à tester efficacement les fautes des trois modèles

considérés.

Ce manuscrit est divisé en quatre chapitres. Dans un premier temps, nous situerons le

contexte de l'étude en définissant les modèles de faute considérés (collage, court-circuit et

délai). Pour chacun de ces modèles, nous verrons en détail les conditions générales de

détection qui leurs sont associées.

Ensuite, nous présenterons les comparaisons effectuées sur des séquences de test aléatoires

qui seront, dans un premier temps, générées de manière logicielle. Ces comparaisons

concernent les séquences de vecteurs non adjacents, notées RMIC ("Random Multiple Input

Change") et les séquences RSIC. A travers des expérimentations menées sur les trois modèles

de faute (délai, court-circuit et collage), un bilan général des résultats obtenus nous permettra

de conclure sur l'aspect universel des séquences de test RSIC.

Dans le troisième chapitre, nous aborderons l'aspect réalisation matérielle de séquences de

test RSIC. Après avoir rappelé les notions de base du test intégré, nous présenterons la

structure de génération de séquences RSIC ainsi que l'ensemble des contraintes nécessaires à

sa réalisation.

Finalement, le dernier chapitre de ce mémoire sera consacré aux évaluations et

optimisations de la structure de génération. Dans un premier temps, nous validerons cette

structure par rapport aux résultats obtenus à l'aide de séquences générées de manière

Page 11: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

6

logicielle. Cette structure de génération sera ensuite optimisée en vu d'un coût en surface

additionnel minimal. Nous conclurons ce chapitre par une comparaison des coûts en surface

induits par la structure de génération proposée par rapport à une approche de génération

pseudo-aléatoire classique de type LFSR.

Page 12: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

7

Chapitre IChapitre IChapitre IChapitre I

CCOONNTTEEXXTTEE DDEE LL’’ÉÉTTUUDDEE

Page 13: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

9

Chapitre I CCOONNTTEEXXTTEE DDEE LL’’ÉÉTTUUDDEE

INTRODUCTION

L'objectif de ce premier chapitre est de situer le contexte de l'étude. Comme indiqué dans

l'introduction générale, notre objectif est de proposer une structure intégrée de génération de

vecteurs de test, permettant de tester efficacement plusieurs modèles de faute. Cette prise en

compte de plusieurs modèles de faute s'avère indispensable afin d'améliorer la couverture de

défauts des circuits actuels [Nigh97a, Nigh97b, Nigh99, Sia99]. En d'autres termes, il n'est

plus suffisant de tester uniquement les fautes de collage pour statuer sur la qualité résultante

du test.

Après un rapide rappel sur les notions de défaut, erreur et panne, la première partie de ce

chapitre sera consacrée aux comparaisons de couverture de défaut et couverture de faute. Ces

travaux nous permettrons donc de justifier l'étude menée.

Dans la deuxième partie de ce chapitre, nous présenterons en détail les modèles de faute de

délai ainsi que les différents modes de détection qui leur sont associés.

La dernière partie sera consacrée aux modèles de fautes de court-circuit ainsi qu'aux

comportements ET et OU associés au test logique.

Page 14: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

10

I DÉFAUTS, ERREURS ET FAUTES DANS LES CIRCUITS VLSI

I.1 Notations

Un circuit, qu'il soit simple ou très complexe, doit effectuer la ou les fonctions définies par

son cahier des charges. L'apparition d'un comportement inexact, c'est-à-dire non conforme au

comportement attendu, est définie par l'ensemble des termes suivants : défauts, erreurs et

fautes. Les définitions sont les suivantes [Bush00] :

Définition I.1 : Un défaut (aussi appelé défaillance) est la différence, non

voulue, entre l'implantation réelle et l'implantation désirée du système.

Les défauts dans les circuits VLSI ("Very Large Scale Integration") sont typiquement les

suivants [Howe81] :

! défauts du procédé de fabrication : rupture d'oxyde, transistor parasite, …

! défauts du matériau : pureté, fissure du matériau, …

! défauts du boîtier : dégradation des contacts, étanchéité du boîtier, …

! défauts de vieillesse : électromigration, rupture de diélectrique, …

Définition I.2 : Une erreur est la manifestation logique d'un défaut

observable sur une sortie du circuit. Elle peut se produire en présence de

certains stimuli.

Définition I.3 : Une faute ou panne correspond à la représentation d'un

défaut suivant un modèle donné. La modélisation permet l'utilisation

d'outils de simulation de fautes et de génération automatique de vecteurs de

test (ATPG).

I.2 Couverture de Défauts

Les évolutions technologiques se traduisent non seulement par une diminution constante de

la taille des transistors et donc par une augmentation de la fréquence de fonctionnement, mais

aussi par une densité d'intégration toujours plus importante, ainsi que par une augmentation de

la taille des puces. Ces différentes notions sont présentées dans le Tableau I.1 dans lequel les

valeurs correspondent à des circuits de type microprocesseur en fonction de l'année

d'apparition de la technologie (0,35 µm, 0,25 µm, … etc).

Page 15: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

11

Année 1995 1998 1999 2002 2005 2008

Technologie 0,35 µm 0,25 µm 0,18 µm 0,13 µm 0,10 µm 0,07 µmNb. Transistors / cm2 2 M 3,7 M 6,6 M 18 M 44 M 109 MSurface de la puce 250 mm2 300 mm2 340 mm2 430 mm2 520 mm2 620 mm2

Tableau I.1 : Estimations sur la densité d'intégration et sur la surface des puces [Sia99]

La diminution de la largueur des transistors, des lignes d'interconnexions et de

l'espacement entre ces lignes a permis une densité d'intégration plus importante. Cependant,

ces progrès technologiques font apparaître des défaillances spécifiques. Ainsi, les circuits

actuels sont plus sensibles à des défauts temporels. L'origine s'explique, d'une part, par les

fréquences de fonctionnement élevées et d'autre part, par la prépondérance prise par les

interconnexions sur les performances des circuits. Cette dernière notion est illustrée sur la

Figure I.1 dans le cas d'interconnexions en aluminium.

0

10

20

30

40

50

0,10,30,50,7

délais des portes

délais des interconnexions

somme des délais

Technologies (µµµµm)

Délais (ps)

Figure I.1 : Estimations sur les délais en fonction de la génération technologique [Sia99]

Cette figure révèle une inversion de tendance à partir de la technologie 0,25 µm. En effet, à

partir de cette technologie, les interconnexions influent de manière prépondérante sur les

performances des circuits.

Une autre raison, rendant les circuits plus sensibles aux défauts temporels, est liée à la foi

aux interconnexions et aux fréquences de fonctionnements élevées. Ces phénomènes, connus

sous le nom de diaphonie [Serv01], interviennent sous forme de couplage capacitif entre

lignes mais aussi par des phénomènes inductifs.

Page 16: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

12

Afin d'être le plus exhaustif possible, il faut ajouter à cette liste l'occurrence de défauts de

type court-circuit due à la diminution entre les lignes d'interconnexions (sur un même niveau

ou entre niveaux de métaux).

Ces différentes défaillances, spécifiques aux technologies "submicronique", nous

permettent de montrer l'importance de considérer plusieurs modèles de faute afin d'obtenir

une couverture de défauts élevée. Cette conclusion a aussi été illustrée par le groupe

SEMATECH ("SEmiconductor MAnufacturing TECHnology"). En effet, dans le cadre du test

des circuits digitaux et plus particulièrement dans le cadre de l'analyse comparative des taux

de couverture de différents modèles de faute, ce groupe a proposé un certain nombre de

résultats [Nigh97a, Nigh97b]. Pour leurs expérimentations, les auteurs ont utilisé un certain

nombre de tests qui sont les suivants :

! le test fonctionnel,

! le test des fautes de collage,

! le test des fautes de délai (modèle local : transition),

! le test IDDQ.

Ces tests ont été appliqués à un ensemble de circuits dont les caractéristiques sont les

suivantes :

! taille : 116 000 portes

! technologie : 0,8 µm

! tension d'alimentation : 3,3 V

! fréquence de fonctionnement : de 40 à 50 MHz

! 249 entrées / sorties

! DFT : Circuit scan complet avec 5280 bascules scan réparties en 8 chaînes de scan.

La Figure I.2 résume les résultats obtenus lors de l'application des différents types de test

utilisés sur un ensemble de circuit. Les termes "pass" et "fail" signifient respectivement que

les circuits sont jugés corrects ou défectueux en fonction du type de test appliqué. A titre

d'exemple, 1251 circuits ont passé avec succès le test fonctionnel mais ont été déclarés

défectueux par les tests de collage, de délai et IDDQ.

Page 17: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

13

pass pass fail fail

pass NC1 6 1463 7 pass

pass 14 0 34 1 fail

fail 6 1 13 8 pass

fail 52 36 1251 NC1 fail

pass fail pass fail

Test IDDQ (5µA)

Test Fonctionnel

Test

des

Fau

tes

de C

olla

ge

Test

des

Fau

tes

de D

élai

Figure I.2 : Bilan des tests "pass" et "fail" (source SEMATECH) 1

A partir de ces expérimentations, le même groupe a proposé une analyse plus fine des

résultats obtenus par les différents tests appliqués au circuit cité ci-dessus [Nigh99]. Ainsi,

pour chaque circuit défectueux, les auteurs ont recherché la localisation du ou des défauts

dans le circuit. Ces analyses permettent donc de montrer l'importance des modèles de faute

utilisés. En effet, certains circuits ayant passé avec succès le test fonctionnel ainsi que le test

des fautes de collage, ont été déclarés défectueux par le test des fautes de délai de transition et

le test IDDQ. Les différents défauts mis en cause sont dus, la plupart du temps, à des défauts

de type court-circuit. Ceci permet donc de montrer les limitations du modèle de faute de

collage vis-à-vis de l'obtention d'une bonne couverture de défauts.

A l'aide de ces expérimentations, nous pouvons donc justifier l'étude réalisée qui consiste à

considérer plusieurs modèles de faute (IDDQ, court-circuit, délai, circuit ouvert, … etc) en

complément du modèle de collage, afin d'augmenter la couverture de défauts. Parmi les

modèles de faute cités, nous avons choisi d'utiliser le modèle de délai de chemin ainsi que le

modèle de court-circuit.

Le modèle de panne de collage classique ne sera pas décrit plus en détail dans ce

manuscrit. Par contre, il nous a semblé utile d'exposer les modèles de panne temporelle et de

panne de court-circuit utilisés.

1 Résultats non-communiqués par les auteurs.

Page 18: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

14

II LES FAUTES DE DÉLAI

II.1 Nature des Délais dans un Circuit

Afin de comprendre les effets d’une faute de délai, nous allons nous intéresser, dans un

premier temps, à l’origine des retards dans un circuit. Considérons, par exemple, le cas d’un

inverseur CMOS. Le schéma électrique complet d’un tel inverseur est donné sur la Figure I.3.

Vs

Vdd

t0

Vs = f(Ve,t)Ve Vs

Vdd

W p IP

W n IN

τin

CL

Figure I.3 : Inverseur en technologie CMOS

La charge de cette cellule est entièrement définie par la capacité CL englobant les capacités

parasites, les capacités d’interconnexions et les charges des portes contrôlées. La forme du

signal d’entrée est modélisée par une rampe de durée τin.

Le délai, dans un inverseur CMOS, peut être obtenu à partir de l’équation de conservation

des charges dans la structure [Turg96] :

dtdV*CII s

LNp =− (I.1)

où CL représente la charge totale de sortie de l’inverseur en commutation et où on évalue

l’excursion en tension dVs aux bornes de CL comme le transfert de charge produit par le

courant moyen disponible (Ip-IN) pendant un intervalle de temps défini dt, appelé délai de la

porte. Afin d’améliorer la précision de cette équation, il est nécessaire de prendre en compte

un certain nombre de facteurs qui ont été négligés. Dans [Daga97] est présentée la

modélisation du retard et de la durée de rampe de sortie de l’inverseur submicronique en

prenant en compte les effets des capacités non utilisés précédemment.

Dans le cadre de la simulation, plusieurs niveaux de modélisation des retards peuvent être

considérés selon la précision souhaitée. C'est ainsi que dans le cadre de la simulation logico-

Page 19: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

15

temporelle, qui a pour principal but de vérifier le fonctionnement du circuit sans avoir

nécessairement une précision absolue sur les délais de propagation, chaque intervalle de

temps peut être modélisé par un élément de retard sur les entrées et sur la sortie de la porte.

Ces paramètres peuvent être combinés afin d’obtenir un temps de montée et un temps de

descente. La Figure I.4 illustre la modélisation des délais d’une porte logique NOR.

e1Se2

temps de descentetemps de montée

Figure I.4 : Modélisation des temps de montée et de descente d’une porte NOR

L’ensemble de ces données est fourni par les fondeurs en fonction des caractéristiques de

l’environnement (rampe d’entrée et charge de sortie) et de la technologie utilisée. De plus,

pour chaque type de cellule, les fabriquants fournissent, pour les temps de montée et temps de

descente, les valeurs minimales, typiques et maximales (min / typ / max).

II.2 Modèles de Faute de Délai

Une faute de délai affecte les paramètres temporels du circuit. Elle peut soit être localisée

sur un site particulier, soit être la conséquence de plusieurs défauts accumulés sur un chemin

du circuit. La modélisation des défaillances, pouvant affecter le comportement temporel d’un

circuit logique, a donné lieu à une classification des fautes [Gira92, Krst98] en fonction de

l’aspect local ou global de la panne (Figure I.5).

Faute deDélai

ModèleLocal

ModèleGlobal

Faute de Délaide Transition

Faute de Délaide Porte

Faute de Délaide Chemin

Faute de Délaide Porte Multiple

Figure I.5 : Classification des différents modèles de faute de délai

II.2.1 Modèle Local

Le modèle local de faute de délai conduit généralement aux fautes de délai de porte

[Hsie77, Barz83, Haya84, Kish86, Koep86, Pram88]. Ce modèle caractérise un défaut

temporel affectant les entrées ou la sortie d’une porte logique du circuit sous test. En fonction

Page 20: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

16

du type de commutation retardée (commutation montante ou descendante), le défaut est

modélisé par une panne de type "lent-à-monter" et/ou "lent-à-descendre".

Propriété I.1 : Une faute de délai de porte se manifeste quand le temps de

propagation d’une porte du circuit sous test est supérieur au temps de

propagation maximal spécifié. Sa détection dépend de la fréquence de test

mais également du chemin logique sensibilisé pour propager cette faute.

Un cas particulier du modèle local est le modèle de faute de délai de transition [Leve86,

Waic86, Schu87, Waic87]. Dans ce modèle, le retard induit par la panne est supposé être

suffisamment long pour provoquer une erreur quel que soit le chemin utilisé pour la propager.

Ce modèle permet de gérer les phénomènes dus à la propagation des erreurs dans les circuits

séquentiels (masquage, etc..) [Cava97].

Le modèle local est particulièrement intéressant dans le cadre du diagnostic [Gira92]. Dans

ce cas, il s’agit de déterminer le site de la panne avec la plus grande précision possible (porte

logique). Un autre avantage non négligeable de ce modèle est le nombre de fautes possibles

dans le circuit. Ce nombre reste limité au nombre de connexions du circuit voire le double si

l’on considère les pannes "lent-à-monter" et "lent-à-descendre". Ceci n’est pas le cas avec

d’autres modèles tel que le modèle de faute de délai de chemin que nous détaillerons par la

suite.

En ce qui concerne le modèle de faute de délai de transition, l'inconvénient majeur est que

seul l’aspect qualitatif des fautes est pris en compte, ce qui limite son utilisation au cas

particulier des fautes de délai de grande taille. Cependant, le modèle de faute de transition est

très souvent utilisé dans les applications industrielles car il est simple à manipuler et, de plus,

il est très proche du modèle de faute de collage d'un point de vue génération de vecteurs de

test. A contrario, le modèle de faute de délai de porte est beaucoup plus complexe à mettre en

œuvre car c'est l'aspect quantitatif de la faute qui est pris en compte.

De manière générale, l'utilisation des modèles de faute de délai de porte ou de transition

amène à des taux de couvertures de défauts faibles dans la mesure où les défauts multiples et

répartis ne sont pas explicitement considérés.

II.2.2 Modèle Global

Afin de ne pas se restreindre aux pannes isolées dans le circuit, le modèle global ou

modèle de faute de délai de chemin ainsi que le modèle de délai de porte multiples

(rarement traité puisque la probabilité d'apparition d'une faute multiple dans un circuit est

Page 21: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

17

nettement inférieure à celle d'une faute unique) ont été développés [Smit85, Lin87, Park87,

Savi86, Rajs87].

Propriété I.2 : Une faute de délai de chemin est une faute de délai associée

à un chemin acyclique reliant une entrée primaire à une sortie primaire du

circuit sous test. Ce type de panne survient lorsque le délai de propagation

du chemin considéré excède le délai critique du circuit.

L’avantage de ce modèle est que les défauts localisés et les défauts répartis sur un chemin

sont également modélisés par une faute de délai de chemin.

Ce modèle présente cependant un inconvénient majeur car, pour la plupart des circuits, il

est impossible de considérer la totalité des chemins lors du test. En effet, le nombre de

chemins peut croître de manière exponentielle avec le nombre de portes. A titre d’exemple, le

nombre de chemins structurels à tester dans le circuit de référence ISCAS’85 c6288 [Brgl85]

est approximativement égal à 1,8.1020. Dans ce cas, il est donc impossible de tester tous les

chemins.

Cependant, le modèle de chemin est plus réaliste que le modèle de délai de porte. En effet,

l'utilisation du modèle de délai de chemin permet de prendre en compte la totalité des défauts

temporels pouvant affecter le circuit. De plus, comme le modèle de transition présenté

précédemment, le modèle de faute de délai de chemin est souvent utilisé à échelle industrielle.

Dans ce cas, uniquement un ensemble de chemin critique est testé [Hitc82a, Hitc82b, Al-H85,

Li89]. Cependant, ceci devient de moins en moins possible dans les circuits actuels. En effet,

dans ces circuits, les chemins sont quasiment tous équilibrés afin de satisfaire les contraintes

de performances temporelles et de puissance [Alin01]. Donc, tester par exemple uniquement

10 % des chemins critiques n'est plus une solution viable pour garantir le fonctionnement du

circuit. En effet, les chemins non considérés lors du test, ayant des temps de propagation très

proches des chemins testés, si un défaut affecte les temps de propagation de ces chemins, le

circuit a de très fortes chances de ne plus fonctionner à sa fréquence nominale.

Nous pouvons donc conclure que l'utilisation du modèle de faute de délai de chemin

permet de garantir le bon fonctionnement d'un circuit à sa fréquence nominale. Son utilisation

entraînera, bien sûr, des temps de test très longs. Cependant, avec les technologies actuelles,

les circuits fonctionnant à des fréquences de l'ordre du GHz, l'application de plusieurs

dizaines de millions de vecteurs reste tout à fait envisageable d'un point de vue temps de test.

Page 22: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

18

II.3 Test des Fautes de Délai

II.3.1 Principe du Test des Fautes de Délai

Qu’il soit associé à un chemin ou à une porte, le test d'une panne temporelle nécessite

d'activer la panne, de la propager et de l'observer.

L’activation d’une faute de délai nécessite l’application d’une transition sur le site de la

panne (transition montante ou descendante suivant le type de panne considéré). Cette

transition est obtenue en appliquant successivement deux valeurs complémentaires sur le site

de la panne (paire de vecteurs V0 V1).

La propagation consiste à ouvrir un chemin entre le site de la panne et un point observable

du circuit qui est, généralement, une sortie primaire.

Finalement, l'observation de la panne consiste à capturer les valeurs de sortie du circuit et à

les comparer avec celles d'un circuit répertorié sain. De plus, la particularité importante de

l'observation de la panne est l'instant auquel les valeurs de sorties du circuit vont être

capturées. Cet instant est calculé à partir d'un intervalle de temps Tc correspondant à la

différence entre l'instant T1 d'application du vecteur V1 et l'instant d'observation Tobs. Il est à

noter que si l’intervalle de temps Tc est très grand (cas d'un test à basse fréquence par rapport

à la fréquence nominale du circuit), une faute de délai peut ne pas être observée en sortie car,

dans ce cas, la faute n’affectera pas les valeurs logiques de sortie.

Ces trois phases nécessaires au test d'une faute de délai sont présentées sur la Figure I.6.

T0 T1 Tobs = T1+Tc

V0

Initialisation

Observationdes sorties

Observation

V1

Sensibilisation

Tc

CircuitCombinatoireRegistre d'Entrée Registre de Sorties

H1

H2

H1 H2

Figure I.6 : Schéma de principe du test de délai

Page 23: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

19

A l’instant T0, le vecteur d’initialisation V0 est appliqué sur les entrées primaires du circuit

à tester. Ensuite, à l’instant T1 (sachant que T1-T0 ≥ Tc), le circuit est stabilisé, on applique le

vecteur de sensibilisation V1 par l'intermédiaire de l'horloge H1. Ce deuxième vecteur

provoque une ou plusieurs transitions sur les entrées du circuit et propage ces transitions à

travers le circuit. Les valeurs logiques des sorties primaires sont observées à l’instant

Tobs = T1 + Tc par l'intermédiaire de l'horloge H2. Ces réponses sont alors comparées aux

réponses d’un circuit sain.

De manière générale, l’absence de fautes de délai dans un circuit logique est définie de la

façon suivante :

Définition I.4 : Un circuit fonctionne correctement à sa fréquence nominale

si les deux conditions suivantes sont respectées : la fréquence de test doit

être égale à la fréquence nominale du circuit et le circuit ne doit pas

comporter de faute de délai de chemin. Ceci est vérifié si chaque chemin P,

compris entre une entrée primaire et une sortie primaire, propage ses

signaux en un temps inférieur ou égal au temps Tc.

L'aspect fréquence de test ou temps d'observation est donc un des points importants du test

des pannes temporelles. A l'heure actuelle, le test des fautes de délai devient de plus en plus

important de part les fréquences utilisées lors du test des circuits. En effet, les circuits sont

généralement testés à leur fréquence nominale, permettant ainsi d'obtenir des temps de test

plus courts. Ceci entraîne donc la mise en évidence plus fréquente de défauts temporels.

II.3.2 Phénomènes d'Invalidations d'un Test de Délai

A partir de ce point, nous détaillerons les différents phénomènes liés au test de délai en

utilisant le modèle de délai de chemin. Il est à noter que les différents raisonnements présentés

sont identiques quel que soit le modèle utilisé.

Le cas idéal de propagation de l'effet d'une faute de délai de chemin est présenté sur la

Figure I.7. Dans ce cas, les entrées des portes n'appartenant pas au chemin à tester ("off-path")

sont placées à des valeurs non prioritaires pour les deux vecteurs V0 et V1.

Page 24: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

20

Entrées n’appartenant pas au chemin testé"off-path"

0 0

1 10 0

1 0V0 V1

Figure I.7 : Cas idéal du test d'une faute de délai de chemin

Lorsque les entrées n'appartenant pas au chemin à tester ne présentent pas de valeurs non

prioritaires pendant la phase d'activation (V0) ou de propagation (V1), le test peut être invalidé

par des phénomènes de masquage.

Le test d'une faute de délai peut aussi être invalidé par un aléa :

! statique : les valeurs initiales et finales sont identiques (Figure I.8.a),

! dynamique : changement provisoire de valeur pendant une transition montante

ou descendante (Figure I.8.b).

a) b)

Figure I.8 : Exemples de signaux contenant des aléas

a) aléa statique et b) aléa dynamique

Dans ce cas, des phénomènes transitoires pourront invalider le test. Par exemple, lors de la

présence d'un aléa statique (Figure I.8.a), si l'instant d'observation Tobs est situé avant l'aléa, la

valeur observée est correcte (un 0 logique) mais le circuit est défectueux. En effet, le circuit

est déclaré sain si l’instant d’observation est situé après l'aléa.

Illustrons ces notions d'invalidation du test des fautes de délai de chemin par masquage ou

par aléa à l'aide de deux exemples.

Exemple I.1 : Considérons le circuit présenté sur la Figure I.9 dans lequel chaque porte

est affectée d’un délai unitaire. La faute de délai considérée est répartie sur le chemin

e4-c-S ("on-path"). La paire de vecteurs (V0=1011, V1=1110) est appliquée en entrée.

Page 25: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

21

1 1a

b

c

1

2

3

4

0 1

1 1

1 0

V0 V1

e1

e2

e4

e3S

Figure I.9 : Invalidation du test par masquage

Cette paire de vecteurs (V0, V1) sensibilise la faute de délai considérée. Cependant,

l'observation de l'effet de faute est masquée par la présence d'une valeur prioritaire sur

l'autre entrée de la porte 4 (Figure I.10).

Tc

Tobs

b

T1

c

S

Valeur prioritaire sur l'entrée("off-path") de la porte 4

Figure I.10 : Chronogramme des signaux avec invalidation du test par masquage

Ainsi, la faute de délai, sur le chemin considéré, n'aura aucune influence sur la transition

de sortie. On dit alors que le test est invalidé par masquage.

Exemple I.2 : Considérons le même circuit que celui de la Figure I.9 mais en appliquant

la paire de vecteurs de test (V0=1101, V1=1111) sur les entrées (Figure I.11).

Comme le chemin e3-a-b-S présente un délai de propagation supérieur au chemin e3-c-S

(le nombre de portes est différent) la sortie S présente un bref passage à 1. Il y a donc

occurrence d’un aléa statique (Figure I.12).

Page 26: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

22

1 1

a

b

c

1

2

3

4

1 1

0 1

1 1

V0 V1

e1

e2

e4

e3S

Figure I.11 : Invalidation d’un test par un aléa

Si l'on considère maintenant que les chemins e3-a-b-S et e3-c-S présentent des temps de

propagations supérieurs à la limite autorisée (> Tc), l’aléa statique en sortie est donc

retardé. Lors de l’observation du nœud de sortie S, le retard de l'aléa peut entraîner que

la valeur lue est la même que la valeur attendue. La présence de la faute n’est donc pas

détectée.

Tc

Tobs

e3

T1

a

b

c

Scircuit fautif

Scircuit sain

Figure I.12 : Chronogramme des signaux avec invalidation du test par un aléa

II.3.3 Modes de Détection d'une Faute de Délai

II.3.3.1 Faute de Délai Fonctionnellement Sensibilisable ou Redondante

On trouve généralement dans la littérature deux grandes classifications des fautes de délai

de chemin : fonctionnellement sensibilisable et fonctionnellement redondante [Chen96]

dont les définitions sont les suivantes :

Page 27: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

23

Définition I.5 : Un chemin est fonctionnellement sensibilisable s'il existe un

vecteur d'entrée qui ne masque pas la valeur se propageant sur le chemin

quand celle-ci est à la valeur non prioritaire.

Il est à noter que cette condition est la condition essentielle du test d'une faute de délai de

chemin. En effet, si cette condition n'est pas remplie, alors le chemin est fonctionnellement

redondant car il sera impossible de propager une transition sur le chemin testé.

Définition I.6 : Un chemin est fonctionnellement redondant s'il n'est pas

fonctionnellement sensibilisable.

Dans l'ensemble des fautes fonctionnellement sensibilisables, nous allons définir les

conditions nécessaires au test robuste, non-robuste et non-robuste validable.

II.3.3.2 Le test Robuste

Un test robuste est défini de la manière suivante :

Définition I.7 : Un test de délai robuste est un test qui permet de détecter

une panne temporelle indépendamment de la taille des autres délais de

propagation ou des autres pannes temporelles dans le circuit [Park87].

Pour obtenir une détection de panne temporelle de manière robuste, il faut qu'une transition

se propage sur le chemin à tester et que les entrées externes des portes, présentes sur le

chemin de propagation, soit aux valeurs non prioritaires pendant l’application du deuxième

vecteur (V1). Une restriction supplémentaire s’applique quand une valeur non prioritaire est

présente sur le chemin à tester pendant l’application du premier vecteur (V0). Dans ce cas, il

ne doit pas y avoir de transitions sur les entrées externes des portes présentes sur le chemin à

tester. La Figure I.13 présente ces conditions appliquées dans le cas d’une porte AND.

X 1 1 1a) b)

Pas de transitoireou stable à 1

Figure I.13 : Cas d’une porte AND en détection robuste

a) chemin lent à monter et b) chemin lent à descendre

Afin d'illustrer la notion de test robuste considérons l'exemple suivant :

Page 28: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

24

Exemple I.3 : Dans le circuit présenté sur la Figure I.14, dont chaque porte a un délai

unitaire, considérons un défaut réparti sur le chemin e2-a-b-S. La paire de vecteurs de

test (V0 = 1011 et V1 = 1111), appliquée sur les entrées primaires du circuit, génère une

transition montante en entrée du chemin à tester et propage cette transition jusqu’au

nœud de sortie S.

Nous remarquons que les vecteurs utilisés permettent de détecter un retard sur le chemin

e2-a-b-S indépendamment des autres pannes temporelles dans le circuit (Figure I.15).

En effet, les autres entrées primaires des portes, traversées par le chemin à tester, ont été

placées à des valeurs non prioritaires pour les vecteurs V0 et V1. De cette manière, la

transition propagée en sortie ne peut être invalidée par d’autres pannes temporelles

présentes dans le circuit. Cette paire de vecteurs de test permet donc de tester de

manière robuste la faute de délai de chemin considérée.

1 1 e1

0 1 e2

1 1 e4

1 1 e3

S

V0 V1

ab

c

1

2

3

4

Figure I.14 : Exemple de test de délai robuste

Scircuit fautif

Tc

Scircuit sain

Tobs

b

T1

Figure I.15 : Chronogramme des signaux pour un test robuste

II.3.3.3 Le Test Non-Robuste

Un test non-robuste [Park87], contrairement à un test robuste, peut être invalidé sous

certaines conditions. Cette notion est définie de la manière suivante :

Page 29: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

25

Définition I.8 : Un test non-robuste est un test qui permet de détecter une

panne temporelle en supposant que les autres pannes dans le circuit

n’existent pas (hypothèse de la panne unique) [Park87].

Une panne temporelle est détectée de manière non-robuste quand une transition se propage

sur le chemin à tester et quand les entrées externes des portes, présentes sur le chemin de

propagation, sont aux valeurs non prioritaires pendant l’application du deuxième vecteur (V1).

La Figure I.16 présente ces conditions appliquées dans le cas d’une porte AND.

X 1 X 1a) b)

Figure I.16 : Cas d’une porte AND en détection non-robuste

a) chemin lent à monter et b) chemin lent à descendre

Ces notions sont reprises dans l'exemple suivant.

Exemple I.4 : Considérons le circuit de la Figure I.17, dans lequel chaque porte a un

délai unitaire. La faute de délai considérée est répartie sur le chemin e2-a-b-S.

1 1 e1

0 1 e2

0 1 e4

1 1 e3

S

V0 V1

ab

c

1

2

3

4

Figure I.17 : Exemple de test de délai non-robuste

La paire de vecteurs de test (V0 = 1010 et V1 = 1111) est appliquée en entrée. Cette paire

de vecteur génère deux transitions montantes sur les entrées e2 et e4. Ces deux

transitions sont propagées jusqu’à la sortie S suivant les chemins b (e2-a-b-S) et le

chemin c (e4-c-S).

Dans le premier cas de figure, supposons qu'il n'y a pas de retard sur le chemin c (Figure

I.18.a). Dans ce cas, la panne répartie sur le chemin b est détectée.

Page 30: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

26

Par contre, si le chemin c est également affecté d’une panne temporelle, le délai de

propagation de ce chemin devient supérieur à celui du circuit sain et il est alors

impossible de détecter la panne sur le chemin b (Figure I.18.b).

On dit qu’il s’agit d’un test non-robuste pour la panne temporelle sur le chemin b en

question puisque la validité de ce test dépend de la présence ou non d'un retard sur le

chemin c.

Scircuit fautif

Tc

Scircuit sain

Tobs

b

T1

c

a)

Scircuit fautif

Tc

Scircuit sain

Tobs

b

T1

c

b)

Figure I.18 : Chronogramme des signaux pour un test non-robuste

a) détection et b) non-détection de la panne

Cependant, les phénomènes d'invalidations du test non-robuste peuvent être résolus en

utilisant le mode de détection non-robuste validable [Redd87, Crep96] dont la définition est

la suivante :

Définition I.9 : Un chemin est testé de manière non-robuste validable si le

ou les chemins, qui rendent son test non-robuste, sont testés de manière

robuste.

Ce type de considération nécessite de trouver, pour un test non-robuste donné, les paires de

vecteurs testant de manière robuste l'ensemble des chemins sur les "off-path"2 pouvant

invalider le test du chemin considéré. Si nous reprenons l'exemple de la Figure I.17, la paire

de vecteurs (V0 = 1010 et V1 = 1111) teste de manière non-robuste le chemin b (e2-a-b-S). Ce

test est invalidé par le chemin c (e4-c-S). Par contre, si une autre paire de vecteur, testant le

chemin c (e4-c-S) de manière robuste est au préalablement appliqué au circuit, alors le test

non-robuste est appelé non-robuste validable. Il est donc évident que cette contrainte de pré-

génération compliquera grandement la génération de vecteurs de test [Srin97].

2 Ensemble de chemins permettant la propagation de la transition sur le chemin à tester.

Page 31: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

27

II.3.3.4 Bilan

La Figure I.19 présente une répartition des différents modes de détection des fautes de

délai de chemin présentés. Par exemple, toutes les fautes qui ne sont pas fonctionnellement

redondantes sont fonctionnellement sensibilisables. Dans cet ensemble, une faute testable de

façon robuste est aussi testable de façon non-robuste validable et ainsi de suite.

Testablenon-robuste

TestableRobuste

Fonctionnellementredondant

Testablenon-robuste

validable

Fonctionnellementsensibilisable

Figure I.19 : Classification des fautes de délai de chemin

A partir de ces différentes définitions, nous avons choisi, pour nos expérimentations, de

manipuler les tests robustes et non-robustes.

En ce qui concerne le test robuste, c'est un test très souvent utilisé car il garantit la

détection définitive de la faute [Mao89] (les phénomènes de masquage et d'aléa n'empêchent

pas la propagation de l'effet de faute). Cependant, ce mode de détection présente un

inconvénient majeur. En effet, très souvent un grand nombre de fautes n'ont pas de test

robuste de par l'architecture du circuit ou bien la séquence de test appliquée. Dans ce cas,

l'utilisation du test non-robuste, faisant l'hypothèse de la panne unique, permet de palier le

problème du test robuste.

Pour nos expérimentations, nous avons utilisé un outil industriel de génération et de

simulation de séquences de test, Testgen de Synopsys [Test99]. Dans cet outil, la notion de

test non-robuste est reprise sous une appellation propre à l'outil noté "Weak non-robuste". Par

contre, les contraintes nécessaires au test robuste ne sont pas implantées dans l'outil.

Cependant, un modèle très proche noté "Strong non-robuste" (Figure I.20) qui diffère du test

robuste uniquement sur les notions de transitoire est implanté dans cet outil.

Page 32: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

28

X 1 1 1a) b)

Figure I.20 : Cas d’une porte AND en détection "Strong non-robuste"

a) chemin lent à monter et b) chemin lent à descendre

En comparant les conditions de détection "Strong non-robuste" pour une porte AND

indiquées sur cette figure avec celles présentées sur la Figure I.13 (cas du test robuste), nous

constatons que :

! dans le cas d'une transition montante, les conditions sur la deuxième entrée de

la porte sont identiques.

! dans le cas d'une transition descendante, la détection robuste implique une

valeur stable à 1, sur la deuxième entrée de la porte, pendant l'application de la

paire de vecteurs. Cette condition de stabilité n'est pas reprise dans le cas de la

détection "Strong non-robuste".

Dans la suite de ce mémoire, nous utiliserons le mode de détection "Strong non-robuste"

comme étant une approximation du test robuste.

III LES FAUTES DE COURT-CIRCUIT

Un court-circuit est défini de manière générale comme une défaillance physique mettant en

relation électrique deux équipotentielles indépendantes dans le circuit sain. Ces courts-circuits

sont causés, par exemple, par des particules opaques accidentellement déposées sur un des

masques de fabrication et provoquant, par l’intermédiaire de la résine photosensible, soit une

présence de matériau conducteur supplémentaire entre deux équipotentielles, soit au contraire

une absence de matière isolante. Il est clair qu’il existe de nombreuses autres causes

physiques qui peuvent être à l’origine des courts-circuits (non-homogénéité du substrat,

contamination de surface, etc.).

III.1 Classification des Fautes de Court-Circuit

Chaque court-circuit peut être caractérisé de manière générale par sa localisation sur le

circuit et par sa résistance. La valeur de la résistance dépend de la topologie et de la nature du

matériau qui constitue le court-circuit. Des études menées sur des circuits réels montrent que

Page 33: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

29

sur un ensemble de circuits issus de différentes chaînes de production, la grande majorité des

valeurs de résistances se situe entre 0Ω et 500Ω [Rodr92].

Les différents courts-circuits possibles sont classés en fonction du type d'équipotentielles

qu'ils affectent. Les équipotentielles d’un circuit peuvent être divisées en trois groupes définis

relativement à l’entité porte logique comme illustré sur la Figure I.21 [Huc95] :

! le groupe des équipotentielles externes reliant les différentes portes logiques est

noté Ext,

! le groupe des lignes d’alimentation est noté Alim,

! le groupe des équipotentielles internes reliant les différents transistors et

n’appartenant pas aux deux groupes précédents est noté Int.

En associant deux à deux les groupes d’équipotentielles précédemment définis, six

classes de courts-circuits peuvent être définies : Ext/Ext, Ext/Int, Ext/Alim, Int/Int,

Int/Alim et Alim/Alim. Il est clair que les courts-circuits de la classe Alim/Alim ne

nécessitent pas d’études particulières. En effet, ils sont soit sans effet lorsqu’ils sont du

type Vdd/Vdd ou Gnd/Gnd, soit leur caractère catastrophique les rend aisément

détectables.

PortesLogiques

N2

N1

E1

E2

E2

E1

E3

E3

Vdd

Gnd

S

E1 N1

N2

Vdd

Gnd

SE2E3

ExternesInternesAlimentations

Figure I.21 : Classement des nœuds

Finalement, les courts-circuits se répartissent en cinq classes. En vue de mieux cibler cette

étude, il est intéressant de connaître leur répartition dans chacune de ces classes afin de les

ranger d’après leur incidence sur le taux de rejet sur site. Cette répartition a été réalisée dans

[Midk93] sur un ensemble de onze circuits de comparaison de la famille ISCAS’85 [Brgl85].

Les moyennes des résultats sont reportées sur la Figure I.22.a pour chacune de ces classes.

Page 34: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

30

Classe %Ext/Ext 75,90Ext/Int 6,40

Ext/Alim 6,80Int/Int 5,10%

Int/Alim 5,80%

%Ext/Ext Sortie/Sortie

Entrée/SortieEntrée/Entrée

65,206,404,30

Ext/Int Entrée/IntSortie/Int

1,504,90

Ext/Alim 6,80

Int/Int Portes DifférentesMême porte

0,204,90

Int/Alim 5,8a) b)

Prépondérants

Non-Prépondérants

Figure I.22 : Classification des courts-circuits

Il apparaît clairement que la classe Ext/Ext possède une probabilité d’apparition beaucoup

plus grande que celle des autres classes avec 75,90% contre moins de 7% pour chacune des

autres. Par conséquent, cette classe possède la plus grande incidence sur le taux de rejet sur

site.

Une répartition à l’intérieur de chaque classe est reportée sur la Figure I.22.b où apparaît la

grande prépondérance des courts-circuits de la classe Ext/Ext entre sorties de portes

différentes (65,20%). Les autres courts-circuits, au vu des pourcentages précédents, sont

considérés comme non prépondérants. Dans la suite de cette étude, nous ne considérerons que

les courts-circuits de la classe Ext/Ext.

III.2 Modèles de Faute de Court-Circuit

Le test d'une faute de court-circuit, si l'on considère les valeurs des courants et des

tensions, est très précis mais ce type d'approche engendrerais des temps de simulation très

importants pour des circuits de grandes tailles [Lavo98]. Dans ce cas, le court-circuit est

évalué en fonction de la résistance. Il existe, dans ce domaine de test, de nombreux modèles

[Huc95] qui restent difficiles à utiliser pour des circuits concrets. Pour nos expérimentations,

nous avons choisi de manipuler le test logique qui est beaucoup plus facile à mettre en œuvre

mais, bien sur, moins précis de par l'utilisation de deux valeurs logiques 0 et 1.

Dans le cadre du test logique, lorsqu'on considère deux lignes d'un circuit en court-circuit,

les valeurs prises par ces deux lignes sont fonction de deux comportements ou modèles :

comportement ET ("wire AND") et comportement OU ("wire OR") [Mei74, Huc95]. La

Figure I.22 présente les deux comportements considérés dans cette étude. Dans le cas d'un

comportement ET, les valeurs des deux lignes en court-circuit prennent la valeur 0 logique

Page 35: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

31

(Figure I.23.a). Inversement, le comportement OU entraîne la valeur 1 logique sur les deux

lignes (Figure I.23.b).

Faute de court-circuit

0

1

A

B

a)

0

0

0

1

A

B

b)

1

1

Figure I.23 : Modèles de faute de court-circuit

a) comportement ET ("wire AND") et b) comportement OU ("wire OR")

L'avantage de ces modèles de faute est qu'ils ne prennent pas en compte la valeur de la

résistance de court-circuit. En effet, le court-circuit est considéré comme franc avec comme

prépondérance soit le 1 logique ("wire OR"), soit le 0 logique ("wire AND").

III.3 Test Logique des Fautes de Court-Circuit

Soit une faute de court-circuit entre deux lignes A et B. La faute de court-circuit est

détectée de manière fonctionnelle :

! si la faute est sensibilisée,

! si son effet est propagé sur une sortie du circuit.

La phase de sensibilisation consiste à appliquer deux valeurs logiques opposées sur les

lignes A et B (0 et 1 ou inversement). Pour ce qui est de la propagation de l'erreur, cela est

fonction du modèle utilisé pour le court-circuit (ET / OU).

Afin de réaliser nos expérimentations, nous avons réalisé un simulateur de court-circuit

présenté dans l'Annexe I. Le principe de ce simulateur est basé sur la détection des fautes de

collage [Ma99]. En effet, nous avons utilisé le fait que l'observation de l'effet d'une faute de

court-circuit puisse se ramener au test des fautes de collage sur les lignes A et B. Dans ce cas,

suivant le collage testé (collage à 0 ou collage à 1), nous pouvons statuer sur l'état testé ou

non (comportement ET / OU) de la faute considérée (Figure I.24).

Page 36: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre I

32

0

0

0

1

A

B

SortiesPrimaires

Faute de court-circuitComportement ET

1

0

1

1

A

B

SortiesPrimaires

a)

0

1/01/0

Propagationde l'effet de

fauteFaute de court-circuitComportement OU

0/1

1

0/1

Propagationde l'effet de

faute

b)

Collage à 0

Collage à 1

Figure I.24 : Détection d’une faute de court-circuit

a) comportement ET et b) comportement OU

Le comportement ET conduit à une valeur logique 0 sur les deux lignes en court-circuit. La

détection d’une faute de court-circuit sur les sorties primaires est alors équivalente à la

détection de la faute de collage à 0 de la ligne (A ou B) portant la valeur logique 1 (Figure

I.24.a).

Le comportement OU conduit à une valeur logique 1 sur les deux lignes en court-circuit.

La détection d’une faute de court-circuit sur les sorties primaires est alors équivalente à la

détection de la faute de collage à 1 de la ligne (A ou B) portant la valeur logique 0 (Figure

I.24.b).

Page 37: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONTEXTE DE L’ÉTUDE

33

CONCLUSION

Dans ce chapitre, nous avons présenté une synthèse portant sur les modèles de panne que

nous allons utiliser. Dans un premier temps, nous avons défini les notions de défaut, erreur et

panne et montré l'intérêt d'utiliser différents modèles de faute afin d'améliorer la couverture de

défaut.

Les différents modèles de panne temporelle, c'est-à-dire, modèle local et modèle global,

ont ensuite été présentés. La dernière partie à été consacrée au modèle de panne de court-

circuit et plus particulièrement aux comportements ET et OU.

Ce chapitre nous a permit de présenter les motivations de cette étude qui consiste à

proposer une structure de génération intégrée permettant de tester efficacement plusieurs

modèles de faute dans le but d'obtenir une couverture de défauts élevée. Le choix de ces

modèles est lié aux défaillances spécifiques des technologies "submicronique". Ainsi, nous

considérerons, dans la suite de ce manuscrit, les modèles de délai de chemin et de court-

circuit en complément du modèle classique de collage.

Page 38: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

35

Chapitre IIChapitre IIChapitre IIChapitre II

AANNAALLYYSSEE CCOOMMPPAARRAATTIIVVEEDDEE LL''EEFFFFIICCAACCIITTÉÉ DDEESS SSÉÉQQUUEENNCCEESS

AALLÉÉAATTOOIIRREESS MMIICC EETT SSIICC

Page 39: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

37

Chapitre II AANNAALLYYSSEE CCOOMMPPAARRAATTIIVVEE DDEESS SSÉÉQQUUEENNCCEESS

AALLÉÉAATTOOIIRREESS MMIICC EETT SSIICC

INTRODUCTION

Ce chapitre est consacré à une analyse comparative de séquences aléatoires où les vecteurs

successifs ne diffèrent que d'un seul bit (séquences de vecteurs adjacents ou SIC pour "Single

Input Change") et de séquences ou les vecteurs diffèrent de plusieurs bits (séquences de

vecteurs non-adjacents ou MIC pour "Multiple Input Change"). Le but final de cette étude est

dans un premier temps, de montrer l'intérêt des séquences RSIC (pour "Random SIC") par

rapport aux séquences RMIC (pour "Random MIC") et, par la suite de conclure sur l'aspect

universel de ces séquences à travers des expérimentations menées sur les trois modèles de

faute (délai, court-circuit et collage).

Dans la première partie de ce chapitre, nous présenterons les procédés de génération des

séquences de test aléatoires utilisées ainsi que des comparaisons montrant l'intérêt des

séquences aléatoires par rapport aux séquences pseudo-aléatoires.

La deuxième partie sera consacrée aux comparaisons entre les séquences RSIC et RMIC

sur les modèles de faute de délai de chemin, faute de court-circuit et faute de collage. A la fin

de cette partie, nous effectuerons une analyse générale des différentes expérimentations afin

de montrer le caractère universel des séquences de test RSIC.

Page 40: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

38

I COMPARAISONS ALÉATOIRE / PSEUDO-ALÉATOIRE

Pour nos expérimentations, nous avons considéré des séquences de vecteurs de test

aléatoires équiprobables (autant de chance d'avoir un 0 ou un 1). Nous parlerons alors de

séquences RMIC (pour "Random Multiple Input Change") et RSIC (pour "Random Single

Input Change"). D'un point de vue théorique, les séquences de test RMIC et RSIC peuvent

être définies de la manière suivante. Considérons :

L).V(l)...V(V(1)V(2).. S = , (II.1)

comme une séquence de test composée de L vecteurs de n bits V(l). Chaque vecteur de S

prend une valeur de l'ensemble :

12j10 n V..., , V..., , V, VV −= , (II.2)

ou Vj correspond à un vecteur de n bits (x1, x2, …, xn) associé à une valeur décimale j. Par

exemple, pour n = 5, V9 = 01001, c'est-à-dire que x1 = x3 = x4 = 0 et x2 = x5 = 1.

Dans une séquence RMIC, la probabilité Pr[ V(l) = Vj ] = 1 / 2n pour tout l et tout j. De plus,

la probabilité Pr[ V(l) = Vj ] est indépendante des valeurs de V(i) quand i = 1, 2, …, l-1 . Dans ce

cas, on parle de génération de séquences de test sans contrainte.

Dans une séquence RSIC,

[ ]n1V1)V(lV V(l)Pr kj ==−= , si et seulement si a2k-j = , (II.3)

où a est un entier positif. En d'autres termes, pour tout l > 0, V(l) diffère de V(l-1) exactement

d'un seul bit choisi aléatoirement. Contrairement à la séquence RMIC, dans ce cas la

génération est avec contrainte. De plus, ce bit doit être indépendant de ceux choisis

précédemment, ce qui est défini par la relation suivante :

[ ] 2jj n1V)2V(lV V(l)Pr ==−= (II.4)

Ces différentes propriétés permettent de définir, d'un point de vue théorique, une séquence

de test purement aléatoire. Cependant, les procédés de génération, qu'ils soient logiciels ou

matériels, ne sont pas aléatoires mais pseudo-aléatoires car reproductibles dans le temps.

Ainsi, la génération d'une séquence de test RMIC ou RSIC ne peut être parfaite. Il est donc

important, afin de se rapprocher le plus possible des propriétés aléatoires, de réaliser la

génération dans de bonnes conditions afin de limiter, par exemple, les phénomènes de

corrélations entre vecteurs.

Page 41: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

39

Afin de différencier les procédés de génération utilisés, nous appellerons, dans la suite de

ce manuscrit, séquences de test aléatoires des séquences issues d'un procédé de génération

permettant de se rapprocher des propriétés citées ci-dessus. Le terme pseudo-aléatoire sera

utilisé pour qualifier les séquences de test issues d'un procédé de génération standard.

I.1 Génération de Séquences de Test Aléatoires

Dans un premier temps, nous avons évité de nous préoccuper de l'aspect structure

matérielle en générant les séquences de test de manière logicielle. L'aspect implantation

matérielle fera l'objet du chapitre suivant.

Le principe de la génération logicielle est basé sur l'utilisation de la fonction rand() du

langage C. Cette fonction produit une série de chiffre Y qui ne sont pas purement aléatoires.

Cependant, la séquence générée possède de bien meilleures propriétés (corrélation,

périodicité, …) que les séquences pseudo-aléatoires. De manière générale, les instructions

rand(), des différents langages de programmation, sont basées sur les nombres congrus

[Knut81, Yarm88]. Il a été mis en évidence par [Prép97] que les bits de poids faible des mots

produits par la fonction rand() ont une période de 2 pour le poids faible y0, 4 pour y1 et ainsi

de suite. Afin d'éviter ce phénomène, nous n'avons pas considéré les bits de poids faibles, en

utilisant uniquement les 15 bits de poids forts sur les 32 possibles. En effet, en prenant cette

précaution, il a été montré que le phénomène précédent disparaissait complètement [Prép97].

Les séquences de test aléatoires RMIC et RSIC, obtenues par les procédés de génération

logiciels détaillés dans la suite de ce chapitre, nous servirons de référence. Les qualités

aléatoires de ces séquences n'ont pas été évaluées [Cho87]. En effet, les procédés de

génération de séquences de test sont basés sur l'utilisation de la fonction rand() dont les

qualités aléatoires ne sont plus à démontrer.

I.1.1 Séquence de Vecteurs RMIC

Pour générer une séquence de vecteurs RMIC plusieurs solutions sont envisageables. La

solution que nous avons retenue est présentée sur la Figure II.1.

Dans ce procédé de génération, deux cas possibles sont envisagés :

! le nombre d’entrées du circuit (n) est inférieur ou égal à 15,

! le nombre d’entrées du circuit (n) est supérieur à 15.

Page 42: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

40

1 152

12 premiers bits

1 152

10 premiers bits

1 152

10 premiers bits

1 152

11 premiers bits

1 12

1 3110 10 11

12

a)

V1

VL

V1

VL

b)

Tirages Aléatoire Séquences de Vecteurs

Figure II.1 : Génération logicielle d'une séquence RMIC

a) n ≤ 15 et b) n > 15

Dans le premier cas (n ≤ 15) présenté sur la Figure II.1.a, un seul tirage aléatoire permet de

générer un vecteur. Les n bits de poids fort constituent le vecteur.

Par contre, si n > 15 (Figure II.1.b), il est nécessaire d'effectuer plusieurs tirages aléatoires

pour générer un vecteur. Le vecteur est donc constitué de la concaténation de tirages

aléatoires. Dans l'exemple où n = 31, il est nécessaire de réaliser 3 tirages aléatoires pour

générer un vecteur. Après la transformation décimal vers binaire, les 10 bits de poids fort des

2 premiers tirages sont groupés avec les 11 bits de poids fort du troisième tirage aléatoire.

Ceci permet d'obtenir un vecteur de 31 bits. En répétant L fois un de ces procédés, nous

obtenons une séquence RMIC constituée de L vecteurs de test (Algorithme II.1).

Page 43: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

41

de l = 1 à L avec L = longueur de la séquence /* premier cas */si n ≤ 15

Y = rand() ;/* calcul du vecteur */Vl = n bits de poids fort de Y ;

/* deuxième cas */sinon

/* choix du nombre de tirages aléatoires t */t = n/15 ;/* faire autant de tirages aléatoires que nécessaire */de i = 1 à t-1

Yi = rand() ;/* calcul du vecteur */Vl = Vl + n/t bits de poids fort de Yi ;

Vl = Vl + ( n - n/t x (t-1) ) bits de poids fort de Yi ;

Algorithme II.1 : Étapes de la génération RMIC

I.1.2 Séquence de Vecteurs RSIC

Cette séquence aléatoire, où seulement un seul bit commute entre deux vecteurs, est

également générée en utilisant la fonction rand() du C. La Figure II.2 présente le principe de

cette génération.

0 215-1

n tranches

1 2 3 n

1 2 3 n

Mots générés parla fonction rand

Commutationdu bit n° 1

Commutationdu bit n° n

Vecteur de Départ

Tirages Aléatoire

Séquences de Vecteurs

Figure II.2 : Génération logicielle d'une séquence RSIC

Page 44: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

42

L'ensemble des valeurs comprises entre 0 et 215-1 est divisé en n intervalles (n = nombre

d'entrées du circuit sous test). En fonction de la valeur retournée par la fonction aléatoire, le

bit correspondant au numéro de l'intervalle est changé dans le nouveau vecteur. Ce procédé

démarre avec un vecteur choisi de manière aléatoire en utilisant le procédé de la génération

RMIC. Ce procédé est répété L-1 fois pour générer une séquence RSIC de longueur L

(Algorithme II.2).

/* Initialisation de la séquence */vecteur V1(t1) = x1(t1) x2(t1) … xn(t1) ;

de l = 2 à L avec L = longueur de la séquence Y = rand() ;Y = Y / (215-1)i = Y*n ;

/* Choix du bit à commuter */si xi(l-1) = 0

xi(l) = 1 ;sinon

xi(l) = 0 ;

pour tout j ≠ i xj(l) = xj(l-1) ;

Algorithme II.2 : Étapes de la génération RSIC

I.2 Étude de l'Influence du Caractère Aléatoire sur lesSéquences SIC

Au début de ce chapitre, nous avons présenté les notions de séquences aléatoires et pseudo-

aléatoires. Dans cette partie, nous allons montrer l'importance du caractère aléatoire d'une

séquence de test. Pour cela, nous avons comparé les séquences RSIC (séquences aléatoires

issues d'une procédé logiciel) aux séquences SIC (séquences pseudo-aléatoires issues d'une

d'un procédé de génération standard) sur le modèle de faute de délai de chemin.

Un ensemble de simulation a été effectué afin de comparer les couvertures de faute

robustes obtenues par une séquence SIC [Gira97, More98] générée par un LFSR et la

séquence RSIC. Le Tableau II.1 présente les résultats obtenus sur un ensemble de circuits

ISCAS'89 [Brgl89] en considérant uniquement leurs parties combinatoires, avec un modèle de

faute de délai de chemin.

Page 45: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

43

ATPG SIC RSIC

Circuit #vecteurs_ATPG Tc % #vecteurs Tc % Eff % Tc % Eff %

s298 688 76,19 68800 57,79 75,85 69,70 91,48s382 1398 88 139800 68,37 77,69 80,25 90,19s386 736 100 73600 87,92 87,92 98,79 98,79s420 1322 100 132200 51,17 51,17 66,86 66,86s510 1366 100 136600 75,95 75,95 91,11 91,11s526 1396 86,3 139600 70,37 81,50 78,05 90,40s641 2778 66,16 277800 44,06 66,60 50,29 76,01s713 4418 22,54 441800 16,44 72,94 18,87 83,72s1238 4992 62,2 499200 46,59 74,94 55,40 89,11s1494 3518 98,8 351800 80,52 81,47 93,40 94,51s3330 15862 89,87 158620 12,71 14,14 55,97 62,28s5378 29730 74,02 297300 34,18 46,18 47,94 64,77

Tableau II.1 : Comparaisons SIC/RSIC pour un test robuste

La première colonne de ce tableau indique le nom des circuits, la seconde indique la

longueur de la séquence de test (#vecteurs_ATPG) et la troisième indique la couverture de

faute obtenue (Tc % ) par un ATPG [Test99]. Pour certains circuits, la couverture de faute

n'est pas de 100% car ces circuits contiennent des fautes de délai de chemin non testables de

manière robuste. Les cinq dernières colonnes de ce tableau présentent les résultats obtenus par

les séquences SIC (pseudo-aléatoire générées à partir d'un LFSR standard) et RSIC

(aléatoire). La longueur de test appliquée (#vecteurs), dans le cas de ces séquences,

correspond à 100*(# vecteurs ATPG). Le choix de cette longueur de test provient d'un certain

nombre d'expérimentations que nous avons réalisés. Nous avons pu constater qu'elle

correspondait à un bon compromis entre le temps de test et la qualité résultante de détection

des fautes. En effet, pour cette longueur de test, la couverture de faute n'évolue quasiment

plus. De plus, ce choix de longueur de test nous permet d'avoir des longueurs de test

différentes pour chaque circuit et donc adaptées à la difficulté de test de chacun.

Dans les quatre dernières colonnes, les résultats sont à la fois exprimés en termes de

couverture de faute (Tc % ) mais aussi en termes d'efficacité (Eff % ) par rapport à la

couverture de faute obtenue par l'ATPG. Ces résultats ont été obtenus en utilisant une seul

séquence de chaque type.

Ces expérimentations montrent bien que la séquence RSIC est plus efficace que la

séquence SIC pseudo-aléatoire. En effet, en moyenne, l'écart obtenu entre les deux séquences

est de plus de 15%. Ces différences s'expliquent de part la nature des séquences de test

Page 46: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

44

utilisées. Dans le cas de la génération SIC (pseudo-aléatoire), l'architecture s'articule autour

d'un LFSR standard. Ceci engendre donc certaines corrélations entre les vecteurs successifs

de la séquence. Par contre, dans le cas de la génération RSIC (aléatoire) la transition entre

chaque vecteur est choisie "aléatoirement".

Dans le cas du test non-robuste, la même conclusion peut être tirée en analysant les

données répertoriées dans le Tableau II.2.

SIC RSICCircuit ATPG Tc % #vecteurs Tc % Eff % Tc % Eff %

s298 78,79 68800 77,49 98,35 78,79 100s382 91,75 139800 90,00 98,09 91,25 99,73s386 100 73600 98,05 98,05 100,00 100s420 100 132200 62,17 62,17 68,62 68,62s510 100 136600 100,00 100 100,00 100s526 87,80 139600 83,12 94,67 84,27 95,98s641 71,02 277800 54,00 76,03 57,02 80,29s713 37,13 441800 31,19 84 31,13 83,84s1238 62,93 499200 59,79 95,01 61,14 97,16s1494 98,89 351800 68,48 69,25 98,89 100s3330 90,94 158620 65,53 72,06 70,60 77,63s5378 82,20 297300 44,83 54,54 55,26 67,23

Tableau II.2 : Comparaisons SIC/RSIC pour un test non-robuste

Plus généralement, ces comparaisons ont été étendues aux modèles de faute de court-

circuit et collage en considérant aussi les séquences de test MIC (séquences de vecteurs

pseudo-aléatoires générées à l'aide d'un LFSR standard) et RMIC (séquences de vecteurs

aléatoires). Ces résultats sont présentés dans l'Annexe II.

II COMPARAISONS RMIC / RSIC

Afin de détailler ces comparaisons et les différentes notions que nous avons proposées,

nous allons, dans un premier temps, détailler les résultats sur le modèle de panne temporelle.

Dans la suite, nous étendrons ces comparaisons aux autres modèles de faute considérés, c'est-

à-dire, les fautes de court-circuit et les fautes de collage.

Page 47: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

45

II.1 Test des Fautes de Délai

L'étude comparative sur le modèle de faute de délai est divisée en deux parties. La

première partie est une étude de cas nous permettant de détailler les différentes notions

proposées. Ensuite, nous généraliserons ces notions sur un ensemble de circuits de la famille

ISCAS'89 [Brgl89].

II.1.1 Une Étude de Cas

Le cas d'étude que nous avons considéré correspond à la partie combinatoire du circuit

s382 [Brgl89]. Les performances des séquences RMIC et RSIC sont évaluées par rapport aux

résultats obtenus par l'ATPG Testgen de Synopsys [Test99]. Le Tableau II.3 présente les

résultats obtenus par l'ATPG (Générateur Déterministe) sur ce circuit.

Délai

Circuit n Ld Tc R % Tc NR %s382 24 1398 88 91,75

Tableau II.3 : Résultats ATPG obtenus sur le circuit s382

Sur le Tableau II.3, (n) représente le nombre d'entrées du circuit et (Ld) la longueur de la

séquence de test. Cette longueur de test correspond à une couverture de fautes maximale,

c'est-à-dire avec une efficacité de 100 % sur le modèle de délai de chemin. Les colonnes (Tc

R % ) et (Tc NR % ) présentent respectivement les taux de couverture robuste et non-robuste.

Ces résultats peuvent être interprétés de la manière suivante. La séquence de test, constituée

de 1368 vecteurs, détecte 88 % des fautes de délai de chemin de manière robuste. Cette

séquence permet de détecter 91,75 % des fautes de délai de chemin de manière non-robuste.

Donc, 8,25 % des fautes restantes ne sont pas testables ni de manière robuste ni de manière

non-robuste (fautes uniquement fonctionnellement sensibilisables ou fonctionnellement

redondantes). De plus, comme l'ensemble des fautes testées de manière robuste est inclus dans

l'ensemble des fautes testées de manière non-robuste, il y a exactement 91,75 – 88 = 3,75 %

des fautes qui ont uniquement un test non-robuste. Ces résultats vont nous servir de base pour

les comparaisons effectuées dans la suite. Afin d'éviter l'effet des fautes redondantes dans

l'interprétation des résultats, nous exprimerons les résultats obtenus en termes d'efficacité par

rapport à la séquence déterministe (ATPG). Ces efficacités seront exprimées en fonction des

équations suivantes :

Page 48: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

46

! dans le cas d'un test robuste :

100 x % ATPGRTc

% RTc % R Eff = (II.5)

! dans le cas d'un test non-robuste :

100 x % ATPGNRTc

% NRTc % NR Eff = (II.6)

Ainsi, les termes Eff R % et Eff NR % représentent, respectivement, le nombre de fautes

détectées par une séquence donnée par rapport au nombre de fautes testables pour un test

robuste et non-robuste.

Le Tableau II.4 présente les résultats obtenus avec les séquences RMIC et RSIC. Les

efficacités robustes (Eff R % ) et non-robustes (Eff NR % ) sont données pour différentes

longueurs de test (#vecteurs). La séquence de test de 1000000 de vecteurs permet de montrer

que l'évolution des efficacités sature.

RMIC RSIC

#vecteurs Eff R % Eff NR % Eff R % Eff NR %

10 12,78 16,49 1,70 1,63100 25,57 52,04 14,35 15,40349 30,97 73,97 24,57 25,61699 33,09 86,78 43,47 46,051398 33,24 91,01 52,84 57,222796 33,52 96,86 61,36 66,496990 33,52 99,31 76,56 84,33

13980 33,52 99,86 81,53 90,3227960 33,52 99,86 86,65 96,1969900 33,52 99,86 89,06 98,64139800 33,52 99,86 90,19 99,731000000 33,52 99,86 90,48 100

Tableau II.4 : Efficacités Robustes et Non-Robustes

pour les séquences RMIC et RSIC

A partir des ces résultats, nous pouvons faire quelques observations :

1) Les efficacités robustes et non-robustes, obtenues avec la séquence RSIC sont

très proches alors qu'il y beaucoup plus d'écart entre celles obtenues avec la

séquence RMIC. L'application d'une séquence de test RSIC permet de

sensibiliser seulement un petit nombre de chemin par paire de vecteurs. Ainsi,

les conditions d'un test robuste sont plus facilement respectées. Ceci entraîne

Page 49: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

47

donc l'obtention d'une efficacité robuste élevée mais aussi une efficacité non-

robuste très proche de l'efficacité robuste. Par contre, dans le cas d'une

séquence de test RMIC, le changement de plusieurs bits entre vecteurs fait

apparaître beaucoup plus de phénomènes de masquage. Ceci ce traduit par une

grande différence entre les efficacités robustes et non-robustes.

2) Pour une séquence de test courte (< 500 vecteurs) les efficacités obtenues avec

la séquence RSIC sont inférieures à celles obtenues avec la séquence RMIC.

Pour une séquence de test plus longue, l'efficacité non-robuste obtenue avec la

séquence RMIC est supérieure à celle obtenue avec la séquence RSIC. Par

contre, la séquence RSIC est beaucoup plus efficace que la séquence RMIC en

termes d'efficacité robuste.

3) Pour une séquence de test très longue (de l'ordre de 1000000 de vecteurs), les

séquences RMIC et RSIC sont autant efficaces en termes d'efficacité non-

robuste.

La Courbe II.1 présente les évolutions obtenues à partir des résultats du Tableau II.4.

s382

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RMIC Eff R % RSIC Eff R %

RMIC Eff NR % RSIC Eff NR %

Courbe II.1 : Efficacités des séquences RMIC et RSIC pour le circuit s382

Pour résumer ces expérimentations, nous pouvons dire que la séquence RMIC amène à de

meilleurs résultats en termes d'efficacité non-robuste alors que la séquence RSIC est plus

intéressante dans le but d'obtenir une efficacité robuste élevée. Par conséquent, une question

se pose : Quel est le type de séquences à utiliser pour le test des fautes de délai de chemin ?

Afin de répondre à cette question, nous allons définir ce que nous appelons l'efficacité réelle

du test.

Page 50: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

48

II.1.1.1 Efficacité Réelle du Test et Taux de Succès

Comme précisé précédemment, les séquences de test utilisées sont plus ou moins efficaces

selon le mode de détection considéré : le test robuste pour la séquence RSIC et le test non-

robuste pour la séquence RMIC. Est-il donc préférable de favoriser le test robuste ou le test

non-robuste ? Dans la suite de cette partie nous discuterons de ces notions en essayant de

définir ce qu'est l'efficacité réelle d'une séquence de test.

Lors de l'application d'une séquence de test sur le circuit, une incertitude se pose sur la

proportion de fautes testées de manière non-robuste qui sont réellement détectées. Ainsi,

l'efficacité réelle du test peut être définie de la manière suivante :

Définition II.1 : L'efficacité réelle du test correspond à la couverture de

faute robuste plus une proportion des fautes uniquement testées de manière

non-robuste.

En effet, par définition une faute de délai de chemin testée de manière robuste sera détectée

lors de l'application du test (les phénomènes de masquages ou d'aléas n'empêchent pas

l'activation ou la propagation de la faute). Par contre, avec les problèmes d'invalidation du test

non-robuste, seulement une proportion des fautes testées de manière non-robuste sera détectée

lors de l'application du test. Cette proportion dépend du nombre mais aussi de la nature des

défauts qui affectent le circuit et qui peuvent donc invalider les tests non-robustes. Nous

appellerons cette proportion le "taux de succès non-robuste" noté SNR qui est défini de la

manière suivante :

Définition II.2 : Le taux de succès, noté SNR, correspond à la proportion de

fautes, ayant uniquement un test non-robuste, réellement détectée lors de

l'application du test.

N'ayant aucun moyen de connaître le taux de succès à priori, nous considérerons, pour nos

expérimentations, trois valeurs arbitraires qui sont : SNR = 10 %, 50 % et 90 % .

Nous pouvons ainsi exprimer l'efficacité réelle, notée EFF(SNR), en fonction du taux de

succès, noté SNR, de la manière suivante :

NRNR S x q) x R EffNR (Effq x R Eff)EFF(S −+= (II.7)

avec :

Robuste-Non Tc_ATPGRobuste Tc_ATPG q = (II.8)

Page 51: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

49

sachant que les termes :

! Eff R et Eff NR correspondent respectivement aux efficacités robustes et non-

robustes obtenues par une séquence de test donnée.

! Tc_ATPG Robuste et Tc_ATPG Non-Robuste correspondent aux taux de

couverture robuste et non-robuste obtenus à l'aide de l'ATPG Testgen de

Synopsys [Test99] pour une efficacité complète (100 %).

Démonstration II.1 : L'Équation II.7 se démontre de la manière suivante. Soit :

! #FRD : le nombre de fautes réellement détectées par une séquence donnée,

! #FR : le nombre de fautes détectées de manière robuste par une séquence donnée,

! #FNR : le nombre de fautes détectées de manière non-robuste par une séquence

donnée,

! #FTR : le nombre de fautes testables de manière robuste (information ATPG),

! #FTNR : le nombre de fautes testables de manière non-robuste (information

ATPG),

! #FT : le nombre total de fautes dans le circuit (nombre de fautes de délai de

chemin du circuit sous test).

Avec ces différentes notations, le nombre de fautes réellement détectées correspond à la

somme entre le nombre de fautes détectées de manière robuste (#FR) et le nombre de

fautes ayant été testées uniquement de manière non-robuste (#FNR - #FR) multiplié par

le taux de succès (SNR). Nous obtenons ainsi la formulation suivante :

NRNR S x FR)# FNR(#FR#)FRD(S# −+= (II.9)

L'efficacité réelle étant le rapport entre le nombre de fautes réellement détectées et le

nombre de fautes testables de manière non-robuste, l'Équation II.9 se ramène à la forme

suivante :

NRNR S x )FTNR#

FR# FTNR#FNR#(

FTNR#FR#

FTNR#FRD# )EFF(S −+== (II.10)

Dans cette équation, le terme #FNR / #FTNR correspond à l'efficacité non-robuste notée

Eff NR. De plus, le rapport #FR / #FTNR peut se mettre sous la forme suivante afin de

faire apparaître le paramètre q :

Page 52: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

50

q x R EffRobusteNon Tc_ATPG

Robuste Tc_ATPG xR Eff

FT#FTR#x

FTNR#FT#x

FTR#FR#

FTR#FTR#x

FT#FT#x

FTNR#FR#

=−

=

= (II.11)

Ainsi, à partir des Équations II.10 et II.11, nous obtenons donc la relation entre les

efficacités robuste et non-robuste permettant de calculer l'efficacité réelle.

Cette notion d'efficacité réelle est illustrée sur la Courbe II.2. L'efficacité réelle se situe

entre l'efficacité robuste et l'efficacité non-robuste. Par définition, elle est au moins supérieure

à l'efficacité robuste (un test robuste est indépendant des autres fautes dans le circuit) et

inférieure ou égale à l'efficacité non-robuste (problème d'invalidation du test) en fonction de

la valeur du taux de succès.

0

20

40

60

80

100

100 1000 10000 100000#vecteurs

Eff %

Efficacité Robuste

Efficacité Non-Robuste

Efficacité RéelleProportion des fautes

ayant uniquement un testnon-robuste

Taux de succèsSNR

A

B

BA

=

Courbe II.2 : Illustration de l'efficacité réelle

Nous pouvons considérer deux cas particuliers qui sont les suivants :

! Si le taux de succès est de 0 % alors, l'efficacité réelle est égale à l'efficacité

robuste car aucune faute, ayant uniquement un test non-robuste, n'est détectée.

! Si le taux de succès est de 100 %, l'efficacité réelle est identique à l'efficacité

non-robuste car toutes les fautes, testées de manière non-robuste, ont été

détectées. Dans ce cas, il n'y a aucun problème d'invalidation du test.

Page 53: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

51

II.1.1.2 Efficacité Réelle des Séquences RMIC et RSIC

Dans cette partie, nous allons comparer les efficacités réelles des séquences de test RMIC

et RSIC. Les applications de l'Équation II.7, pour le circuit s382, sont présentées sur le

Tableau II.5. Après la colonne (#vecteurs), qui représente le nombre de vecteurs de la

séquence, ce tableau est divisé en deux parties. La première partie (RMIC EFF % ) présente les

valeurs calculées en termes d'efficacité réelle pour les trois valeurs du taux de succès

considérées (SNR 10% , SNR 50 % et SNR 90 % ). De manière similaire, la deuxième partie

(RSIC EFF % ) présente les efficacités réelles obtenues avec la séquence RSIC. Ces résultats

sont aussi représentés par les graphiques de la Courbe II.3.

RMIC EFF % RSIC EFF %

#vecteurs SNR 10 % SNR 50 % SNR 90 % SNR 10 % SNR 50 % SNR 90 %10 12,68 14,37 16,07 1,63 1,63 1,63100 27,27 38,28 49,29 13,93 14,58 15,24349 34,13 51,84 69,54 23,77 24,59 25,41699 37,24 59,26 81,28 42,12 43,87 45,611398 37,79 61,44 85,10 51,33 53,95 56,572796 38,62 64,50 90,39 59,61 62,67 65,736990 38,86 65,73 92,59 74,51 78,88 83,2413980 38,92 66 93,09 79,40 84,25 89,1127960 38,92 66 93,09 84,41 89,64 94,8869900 38,92 66 93,09 86,73 92,02 97,32139800 38,92 66 93,09 87,82 93,11 98,411000000 38,92 66 93,09 88,09 93,39 98,68

Tableau II.5 : Efficacités réelles pour le circuit s382

avec différentes valeurs du taux de succès

Sur ces courbes, il apparaît clairement que l'efficacité réelle croit plus rapidement au début

avec la séquence RMIC. Ensuite, pour des séquences de test supérieures à 20000 vecteurs, la

séquence RSIC est plus efficace que la séquence RMIC quelle que soit la valeur du taux de

succès considéré.

Page 54: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

52

s382SNR 10%

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RMIC

RSIC

a)

s382SNR 50%

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RMIC

RSIC

b)

s382SNR 90%

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RMIC

RSIC

c)

Courbe II.3 : Comparaison des efficacités réelles des séquences RMIC et RSIC

pour différentes valeurs du taux de succès a) SNR = 10 %, b) SNR = 50 % e c) SNR = 90 %

Page 55: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

53

En conclusion de ces expérimentations, nous pouvons constater, surtout dans le cas ou le

taux de succès est de 90 %, que l'application d'une séquence de test RSIC longue amène à de

meilleurs résultats même si l'efficacité non-robuste de la séquence RSIC est inférieure à celle

obtenues avec la séquence RMIC. Nous verrons dans la suite que les séquences de test seront

encore plus longues pour des circuits de plus grandes tailles. Ces longueurs de test sont

nécessaires pour garantir une efficacité réelle élevée. De plus, comme nous l'avons déjà

précisé, les temps de test sont liés aux performances temporelles des circuits. Les

technologies actuelles, permettant d'atteindre des fréquences de fonctionnement de l'ordre du

GHz, rendent donc tout à fait envisageable l'application de séquences de test de plusieurs

millions de vecteurs. Il est donc préférable d'utiliser une séquence aléatoire de vecteurs

adjacents (RSIC) pour le test des fautes de délai de chemin.

II.1.2 Généralisation à d'Autres Circuits

Afin de confirmer les conclusions des expérimentations effectuées sur le circuit s382, nous

avons effectué le même type d'expérimentation sur un ensemble de circuits de la famille

ISCAS'89 [Brgl89]. Le Tableau II.6 présente les résultats obtenus par un ATPG [Test99]. La

première colonne indique le nom des circuits. Après le nombre d'entrées des circuits (n), le

nombre de faute de délai de chemin (# chemins) et la longueur des séquences de test générées

(Ld), les deux dernières colonnes présentent respectivement les taux de couverture de fautes

de délai robuste (Tc R % ) et non-robuste (Tc NR % ) obtenues par l'ATPG (avec une efficacité

de 100 %).

Délai

Circuit n # chemin Ld Tc R % Tc NRs298 17 462 688 76,19 78,79s382 24 800 1398 88 91,75s386 13 414 736 100 100s420 35 682 1322 100 100s510 25 686 1366 100 100s526 24 820 1396 86,34 87,8s641 54 2778 2778 66,16 71,02s713 54 6130 4418 22,54 37,13s1238 32 3984 4992 62,17 62,93s1494 14 1802 3518 98,83 98,89s3330 172 9074 15862 89,87 90,94s5378 214 18532 29730 74,02 82,2

Tableau II.6 : Résultats ATPG délai obtenus sur les circuits ISCAS'89

Page 56: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

54

Nous avons appliqué à cet ensemble de circuit les séquences de test RMIC et RSIC. Les

résultats obtenus sont reportés sur le Tableau II.7. La colonne (#vecteurs) indique la longueur

des séquences de test appliquées (100*Ld). Il est à noter que nous avons appliqué des

séquences de test de longueur 10*Ld pour les deux derniers circuits (s3330 et s5378) afin

d'obtenir des temps de simulation réaliste. Les deux dernières parties (RMIC et RSIC)

présentent les résultats en termes d'efficacité robuste (Eff R % ) et non-robuste (Eff NR % )

obtenus avec ces deux séquences de test.

RMIC RSIC

Circuit #vecteurs Eff R % Eff NR % Eff R % Eff NR %s298 68800 36,65 100 91,48 100s382 139800 33,52 99,86 90,19 99,73s386 73600 40,82 100 98,79 100s420 132200 37,24 84,31 66,86 68,62s510 136600 31,78 100 91,11 100s526 139600 30,09 100 90,4 95,98s641 277800 18,12 97,11 76,01 80,29s713 441800 20,76 96,74 83,72 83,84s1238 499200 29,35 99,84 89,11 97,16s1494 351800 30,83 99,78 94,51 100s3330 158620 23,47 90,71 62,28 77,63s5378 297300 24,51 97,09 64,77 67,23

Tableau II.7 : Efficacités robustes et non-robustes des séquences RMIC et RSIC

Dans tous les cas, les résultats obtenus en termes d'efficacité robuste avec la séquence

RSIC sont supérieurs à ceux obtenus avec la séquence RMIC. Dans le cas du test non-robuste,

comme pour le cas d'étude présenté précédemment, nous obtenons des résultats très proches

dans la majorité des cas. Cependant, pour les deux plus grands circuits traités (s3330 et

s5378) l'écart est beaucoup plus important. En effet, pour ces deux circuits, nous n'avons pas

appliqué une séquence de test très longue (limité à 10*Ld) pour des raisons de temps de

simulation trop importants.

Le Tableau II.8 présente les résultats en termes d'efficacité réelle en appliquant l'Équation

II.7. Comme précédemment, nous avons utilisé trois valeurs du taux de succès (SNR = 10 %,

SNR = 50 % et SNR = 90 %). Nous pouvons remarquer que, pour les deux premières valeurs du

taux de succès (10 et 50 %), la séquence de test RSIC est toujours plus efficace. Par contre,

dans le cas d'un taux de succès de 90 %, pour 5 circuits (s420, s641, s713, s3330 et s5378)

c'est la séquence RMIC qui est plus efficace. Ceci provient du fait que l'efficacité non-robuste

Page 57: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

55

obtenue avec la séquence RSIC est très inférieure à celle obtenue avec la séquence RMIC

(Tableau II.7). Si l'on augmente la longueur des séquences de test la séquence RSIC serait

alors plus efficace.

RMIC EFF % RSIC EFF %

Circuit #vecteur SNR 10 % SNR 50 % SNR 90 % SNR 10 % SNR 50 % SNR 90 %s298 68800 41,90 67,72 93,54 89,62 94,23 98,85s382 139800 38,92 66,00 93,09 87,83 93,12 98,41s386 73600 46,74 70,41 94,08 98,91 99,40 99,88s420 132200 41,95 60,78 79,60 67,04 67,74 68,44s510 136600 38,60 65,89 93,18 92,00 95,56 99,11s526 139600 36,63 64,79 92,96 89,61 92,44 95,27s641 277800 24,90 57,00 89,09 71,76 75,55 79,34s713 441800 21,02 54,67 88,33 54,12 67,33 80,54s1238 499200 36,08 64,42 92,76 88,95 92,60 96,25s1494 351800 37,71 65,30 92,88 95,01 97,23 99,45s3330 158620 29,95 56,95 83,96 63,16 69,59 76,02s5378 297300 29,57 59,58 89,59 59,22 62,78 66,34

Tableau II.8 : Efficacités réelles pour avec différentes valeurs du taux de succès

Comme pour le cas d'étude, nous constatons que l'utilisation des séquences de test RSIC

peut être préférée aux séquences RMIC pour le test des fautes de délai de chemin surtout dans

le cas de séquences de test longues. Cependant, pour certains circuits la séquence de test

RMIC est plus efficace avec un taux de succès de 90 %. Mis à part les deux derniers circuits

pour lesquels les longueurs de séquences sont trop courtes, nous pouvons constater que les

écarts obtenus pour les circuits s420, s641 et s713 restent faibles (inférieurs à 10%). De plus,

un taux de succès de 90 % est un pourcentage élevé. Dans ce cas, l'efficacité réelle correspond

quasiment à l'efficacité non-robuste. C'est-à-dire que les effets de masquage et d'aléa

n'interviennent pas lors de l'application du test (notion de test non-robuste). Donc, dans

l'ensemble la séquence RSIC est plus efficace.

II.2 Application à d'autres Modèles de Faute

Ayant montré l'intérêt d'utiliser des séquences RSIC pour le test du modèle de faute de

chemin, nous allons étendre l'étude à d'autres modèles de faute. Comme indiqué

précédemment, les modèles retenus sont les fautes de court-circuit mais aussi les fautes de

collage. Ainsi, l'utilisation des ces différents modèles de faute, nous permettra d'obtenir une

couverture de défaut élevée.

Page 58: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

56

II.2.1 Test des Fautes de Court-Circuit

Les listes de fautes considérées dans cette partie sont issues d'une extraction "post layout"

[Gonç97]. Ainsi, les listes de fautes sont constituées de fautes de court-circuit, entre lignes

proches sur le "layout" de type "standard cell", c'est-à-dire, ayant une probabilité non

négligeable d'affecter le circuit. Nous les appellerons courts-circuits réalistes.

Les résultats en termes de taux de couverture de fautes de court-circuit sont présentés sur le

Tableau II.9 pour la séquence RMIC et le Tableau II.10 pour la séquence RSIC. Dans chaque

tableau, la colonne (#fautes) indique le nombre de fautes de court-circuit considéré. Ensuite,

les résultats sont exprimés en termes de couverture de fautes en utilisant les notations

suivantes :

! Tc ET % = Taux de couverture de fautes testées pour un comportement ET,

! Tc OU % = Taux de couverture de fautes testées pour un comportement OU,

! Tc ET&OU % = Taux de couverture de fautes testées les comportements ET et

OU.

! Tc ET||OU % = Taux de couverture de fautes testées soit pour un comportement

OU soit pour un comportement ET,

Les séquences de test appliquées aux circuits sont, dans un premier temps, de 10000

vecteurs. De plus, les résultats sont exprimés uniquement en termes de taux de couverture de

faute et non en termes d'efficacité car dans ce cas, nous ne disposons pas d'information de

type ATPG sur les propriétés détectable3, non-testable4 et autre de chaque faute. De plus, nous

avons appliqué ces séquences de test uniquement sur un petit ensemble de circuit car nous ne

disposions pas de l'ensemble des listes de fautes de court-circuit réaliste.

RMIC

Circuit #fautesTc ET

%Tc OU

%Tc ET&OU

%Tc ET||OU

%s386 390 99,23 100 99,23 100s420 521 86,18 88,29 77,74 96,74s510 1073 99,72 100 99,72 100s1238 2924 99,69 99,9 99,62 99,97s1494 3851 100 99,95 99,95 100

Tableau II.9 : Taux de couverture de fautes de court-circuit pour la séquence RMIC

3 Il existe un vecteur permettant de sensibiliser la faute et propager son effet sur une sortie primaire du circuit.4 Il n'existe pas de vecteur pour tester la faute.

Page 59: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

57

RSIC

Circuit #fautesTc ET

%Tc OU

%Tc ET&OU

%Tc ET||OU

%s386 390 99,23 100 99,23 100s420 521 83,3 83,69 73,51 93,47s510 1073 99,72 100 99,72 100s1238 2924 99,62 99,73 99,42 99,93s1494 3851 100 99,95 99,95 100

Tableau II.10 : Taux de couverture de fautes de court-circuit pour la séquence RSIC

Au vu des résultats obtenus avec les séquences de test RMIC et RSIC, nous pouvons dire

que les taux de couverture de faute sont proches malgré l'application d'une séquence de test

courte (10000 vecteurs). Cependant, notre objectif est aussi de tester efficacement les pannes

temporelles. Ceci engendre l'application de séquences de test beaucoup plus longues. Les

résultats, reportés sur le Tableau II.11, ont été obtenus avec des longueurs de séquences de

test identiques à celles utilisées pour le test des fautes de délai. Après le nom des circuits ainsi

que le nombre de fautes considérées, la colonne (#vecteurs) indique les longueurs des

séquences de test utilisées. Par contre, les résultats sont uniquement présentés en termes de

taux de couverture de faute Tc ET&OU % et Tc ET||OU % car ces deux modes de détection sont

les plus représentatifs de la qualité du test effectué.

RMIC RSIC

Circuit #fautes #vecteursTc ET&OU

%Tc ET||OU

%Tc ET&OU

%Tc ET||OU

%s386 390 73600 99,23 100 99,23 100s420 521 132200 81,96 98,89 81,23 97,59s510 1 073 136600 100 100 100 100s1238 2 924 499200 99,90 100 99,90 100s1494 3 851 351800 99,95 100 99,95 100

Tableau II.11 : Taux de couverture de fautes de court-circuit avec des séquences de test

de longueurs compatibles à celles utilisées pour le test des fautes de délai

Nous pouvons donc conclure que si la séquence de test RSIC n'est pas meilleure, elle est

aussi efficace que la séquence de test RMIC pour des longueurs de test compatibles avec le

test des pannes temporelles.

Page 60: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

58

II.2.2 Test des Fautes de Collage

De la même manière que pour les pannes de court-circuit, nous comparerons, dans cette

partie, l'efficacité des séquences RSIC et RMIC en considérant le modèle de collage classique

Le Tableau II.12 présente les résultats obtenus à l'aide d'un ATPG. Dans ce tableau, après le

nom des circuits, les colonnes (n) et (#fautes) indiquent respectivement le nombre d'entrées et

le nombre de fautes de chaque circuit. La colonne (Lc) indique les longueurs des séquences de

test obtenues pour les taux de couverture de fautes (Tc ATPG % ) pour une efficacité de

100 %.

Collage

Circuit n #fautes Lc Tc ATPG %s298 17 308 38 100s382 24 399 36 100s386 13 372 86 100s420 35 394 55 100s510 25 550 67 100s526 24 555 68 99,82s641 54 465 46 100s713 54 581 90 93,46s1238 32 1327 196 94,8s1494 14 1478 158 99,19s3330 172 2866 238 100s5378 214 4603 141 99,13

Tableau II.12 : Résultats ATPG collage obtenus sur les circuits ISCAS'89

Ensuite, nous avons procédé de la même manière que pour les comparaisons sur le modèle

de fautes de court-circuit. Les résultats comparatifs des séquences RMIC et RSIC sont

présentés sur le Tableau II.13. Après le nom des circuits, la colonne suivante (#vecteurs)

indique les longueurs des séquences de test utilisées. Ces longueurs de test sont identiques à

celles utilisées pour le test des fautes de délai de chemin. La suite de ce tableau est divisée en

deux parties (RMIC et RSIC) résumant les résultats obtenus en termes de taux de couverture

de faute (Tc % ) et d'efficacité (Eff % ).

Page 61: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

59

RMIC RSIC

Circuit #vecteurs Tc % Eff % Tc % Eff %s298 68800 100 100 100 100s382 139800 100 100 100 100s386 73600 100 100 100 100s420 132200 97,88 97,88 96,1 96,1s510 136600 100 100 100 100s526 139600 99,82 100 99,82 100s641 277800 99,35 99,35 99,35 99,35s713 441800 92,94 99,44 92,94 99,44s1238 499200 94,8 100 93,7 98,84s1494 351800 99,19 100 99,19 100s3330 158620 88,85 88,85 86,29 86,29s5378 297300 98,85 99,72 98,72 99,59

Tableau II.13 : Comparaisons RMIC et RSIC sur le modèle de faute de collage

De manière similaire au test des fautes de court-circuit, ces résultats montrent que, pour

des longueurs de séquences de test compatibles avec le test des fautes de délai de chemin, les

séquences RSIC sont pratiquement aussi efficaces que les séquences RMIC.

II.3 Propriété "Universelle" des Séquences de Test RSIC

Dans cette partie, nous allons synthétiser les différents résultats obtenus avec la séquence

de test RSIC afin de montrer le caractère universel de cette séquence de test.

L'efficacité des séquences de test RSIC sur les différents circuits et modèles de pannes est

reportée sur le Tableau II.14. Après le nom des circuits, la colonne (#vecteurs) indique les

longueurs de séquences de test appliquées à chaque circuit. Il est à noter que ces longueurs

correspondent à celles utilisées pour le test des fautes de délai de chemin. Ensuite, le tableau

est divisé en trois parties. La première partie présente les résultats obtenus, en termes

d'efficacité robuste (Eff R % ) et non-robuste (Eff NR % ), pour le test des fautes de délai. La

partie (Court-Circuit) indique les taux de couverture obtenus (Tc ET&OU % et Tc ET||OU % ).

Finalement, la dernière partie présente les résultats, en termes d'efficacité (Eff % ), obtenus sur

le modèle de faute de collage.

Page 62: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

60

Délai Court-Circuit Collage

Circuit #vecteurs Eff R % Eff NR % Tc ET&OU % Tc ET||OU % Eff %s298 68800 91,48 100 - - 100s382 139800 90,19 99,73 - - 100s386 73600 98,79 100 99,23 100 100s420 132200 66,86 68,62 81,23 97,59 96,1s510 136600 91,11 100 100 100 100s526 139600 90,4 95,98 66,79* 86,26* 100s641 277800 76,01 80,29 99,06* 100* 99,35s713 441800 83,72 83,84 - - 99,44s1238 499200 89,11 97,16 99,9 100 98,84s1494 351800 94,51 100 99,95 100 100s3330 158620 62,28 77,63 - - 86,29s5378 297300 64,77 67,23 - - 99,59

Tableau II.14 : Synthèse des résultats démontrant l'efficacité des séquences de test RSIC

(* résultats obtenus avec des séquences de 10000 vecteurs de test)

En ce qui concerne le test des fautes de court-circuit, nous avons uniquement des résultats

pour quelques circuits car les temps de simulation sont très longs mais aussi car nous n'avons

pas toutes les listes de fautes de court-circuit réaliste. De plus, les résultats en italique (*) ont

été obtenus en limitant la séquence à 10000 vecteurs de test pour cause de temps de

simulation prohibitif.

A titre d'exemple, la Courbe II.4 représente sous forme graphique, les évolutions obtenues,

en termes de couverture de faute, sur le circuit s1494. Comme illustré sur ces courbes, pour

une longueur de test courte (< 10000 vecteurs) les couvertures de faute de collage et court-

circuit sont quasi complètes. En augmentant la longueur de la séquence, nous arrivons aussi à

tester correctement les fautes de délai de chemin. De plus, pour cette longueur de séquence de

test, les résultats obtenus en termes de taux de couverture de faute robuste et non-robuste sont

très proches, ce qui garantit une très bonne efficacité réelle du test.

Page 63: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

ANALYSE COMPARATIVE DE L'EFFICACITÉ DES SÉQUENCES ALÉATOIRE MIC ET SIC

61

s1494

0

20

40

60

80

100

1 10 100 1000 10000 100000 1000000#vecteurs

Tc %

Délai RobusteDélai Non-RobusteCourt-Circuit ET&ORCollage

Courbe II.4 : Exemples d'évolutions des taux de couverture de faute

obtenues sur le circuit s1494

En conclusion, nous pouvons dire que, pour des longueurs de séquences de test supérieures

ou égales à 500000 vecteurs, la séquence RSIC est très efficace pour le test des modèles de

faute considérés. Néanmoins, nous pouvons nous poser la question de savoir si une longueur

de test de 500000 vecteurs est envisageable d'un point de vue pratique. Les technologies

actuelles permettent de concevoir des circuits fonctionnant à des fréquences de l'ordre du

GHz. Si le circuit est testé à une fréquence de 1 GHz par exemple, l'application de 500000

vecteurs entraînera un temps de test de 0,5 ms. Nous pouvons donc en conclure que

l'application d'une séquence de test même très longue n'est plus un handicap sachant qu'en

plus elle garantira une couverture de défauts élevée. En effet, cette séquence de test amène à

des couvertures de faute de collage, court-circuit et délai de chemin élevées. Nous pourrions

aussi étendre cette étude au modèle de circuit ouvert. Ce type de faute, qui nécessite

l'application de paires de vecteurs, serait testé avec des efficacités comparables à celles

obtenues pour le modèle de délai de chemin. Nous pouvons donc conclure que la séquence de

test RSIC peut être considérée comme une séquence de test "universelle".

Page 64: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre II

62

CONCLUSION

Dans ce chapitre nous avons effectué des comparaisons entre deux types de séquences de

test aléatoire. Les résultats expérimentaux obtenus en comparant les séquences RMIC et

RSIC, sur le modèle de faute de délai de chemin nous ont permis de définir la notion

d'efficacité réelle du test. Cette notion, qui est liée au taux de succès, a permis de montrer qu'il

était préférable d'utiliser des séquences de test RSIC. En effet, nous avons montré que ces

séquences étaient plus efficaces que les séquences RMIC quand, à la fois, les tests robustes et

non-robustes sont considérés.

La suite de ce chapitre a consisté à comparer ces séquences sur les modèles de faute de

court-circuit et collage. Le bilan de l'ensemble des ces expérimentations (menées sur les

modèles de délai, court-circuit et collage) a montré l'intérêt d'utiliser des séquences de test

RSIC.

Maintenant que nous avons montré le caractère universel des séquences de test RSIC, nous

allons concentrer notre étude sur la recherche d'une structure de génération intégrée

permettant de produire ce type de séquences.

Page 65: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

63

Chapitre IIIChapitre IIIChapitre IIIChapitre III

IIMMPPLLAANNTTAATTIIOONN MMAATTÉÉRRIIEELLLLEEDDEE SSÉÉQQUUEENNCCEESS RRSSIICC

Page 66: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

65

Chapitre III IIMMPPLLAANNTTAATTIIOONN MMAATTÉÉRRIIEELLLLEE

DDEE SSÉÉQQUUEENNCCEESS RRSSIICC

INTRODUCTION

Après avoir montré l'intérêt d'utiliser une séquence de test RSIC, ce chapitre va détailler

comment il est possible de réaliser un générateur matériel produisant ce type de séquence.

Dans un premier temps, nous présenterons les différents aspects du test intégré ainsi que

les approches de génération dites pseudo-aléatoires et plus particulièrement les principes du

registre à décalage à rétroaction linéaire ou LFSR.

La deuxième partie de ce chapitre sera consacrée à la structure de génération de séquence

de test RSIC. Après avoir présenté les principes de la structure, nous détaillerons les

différentes contraintes nécessaires à sa réalisation. L'ensemble de ces contraintes permettra

d'obtenir une génération de vecteurs aléatoires.

Page 67: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

66

I TEST INTÉGRÉ

I.1 Principe

Les techniques de test intégré ou BIST pour "Built-In Self Test" consistent à inclure

directement dans le circuit tout ou partie des fonctions réalisées par le testeur, c’est-à-dire

génération de vecteurs de test et analyse des résultats. Le schéma de principe du test intégré

est présenté sur la Figure III.1.

Circuitsous Test

Gén

érat

eur d

eVe

cteu

rs d

e Te

st

Anal

yseu

r de

Sign

atur

es

Unité de Contrôledu Test

Figure III.1 : Architecture classique du test intégré

Ce schéma fait apparaître les modules matériels principaux, associés aux différentes

architectures de test intégré, à savoir :

! un Générateur de Vecteurs de Test (GVT),

! une Logique de Contrôle et de Multiplexage

! un Compacteur / Analyseur de Réponses.

De part cette architecture, le test intégré présente divers avantages [Zori99] dont :

! la suppression de la nécessité d'un testeur coûteux,

! la possibilité de tester le circuit à haute fréquence et surtout à sa vitesse

nominale de fonctionnement, condition nécessaire au test des fautes de délai,

! la possibilité de tester le circuit sur site.

En contrepartie, l'utilisation du test intégré conduit obligatoirement à un surcoût en surface

s'accompagnant d'une perte de performance en fonctionnement normal due au multiplexage.

En ce qui concerne le compacteur de réponse, de nombreuses et efficaces techniques de

compression de réponses existent et sont disponibles dans la littérature [Cart82, Hass84,

Savi85, Davi86, Bard87]. La structure de compression de réponses la plus classique est le

Page 68: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

67

MISR ("Multiple Input Shift Register") proposée par [Kone80]. Ces différentes structures de

compression de réponse ne seront pas détaillées dans la suite. Nous nous préoccuperons donc

uniquement, dans la suite de ce rapport, de l'aspect génération de vecteurs de test et plus

particulièrement de la génération pseudo-aléatoire.

Deux approches peuvent être envisagées pour l'implantation du test intégré :

! le test intégré série,

! le test intégré parallèle.

Le principe du test intégré série est basé sur une technique de Conception en Vue du

Test (CVT ou DFT : "Design For Testability") appelée technique de scan5 [Will73]. Le test

intégré série (Figure III.2) consiste à générer des vecteurs dont les bits seront chargés en série

(on parle alors de "sérialisation" de vecteurs) dans la chaîne de scan avant d’être appliqués au

circuit. La réponse est ensuite capturée également dans la chaîne de scan avant d'être décalée

en série pour être compressée à l'aide d'un compresseur de réponses.

GVT

Circuitsous Test

Référence

Contrôle

OK/OK

Com

para

teur

Chaîne de Scan

CR

Figure III.2 : Le test intégré série ("test-per-scan")

Le test intégré série s'intègre parfaitement dans une méthodologie scan sans apporter de

modifications notables. Cependant, l'inconvénient majeur du test intégré série provient d'un

temps très long dû à la sérialisation des vecteurs de test dans la chaîne de scan. De plus, cette

sérialisation préalable des vecteurs de test rend le test des fautes de délai difficile et dans tous

les cas extrêmement coûteux en surface additionnelle. Par exemple, nous pouvons citer une

solution consistant à doubler la chaîne de scan afin de pouvoir appliquer, en un coup

d'horloge, une paire de vecteurs de test [Derv91].

Dans le cas du test intégré parallèle ou "test-per-clock" (Figure III.3), un vecteur de test

est généré et la réponse du circuit est capturée et compactée à chaque cycle d'horloge.

5 Technique consistant à rendre les bascules d'un circuit complètement contrôlables et observables.

Page 69: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

68

GVT

Circuitsous Test

CR Référence

Contrôle Comparateur

EntréesPrimaires Sorties

Primaires

OK/OK

Figure III.3 : Le test intégré parallèle ("test-per-clock")

Le test intégré parallèle est beaucoup plus rapide que son homologue série. En effet, dans

ce cas, un vecteur de test est appliqué à chaque cycle d'horloge. Cependant, son domaine

d'application reste limité généralement aux circuits combinatoires. Il est bien sûr possible de

l'appliquer aux circuits séquentiels mais, dans ce cas, le coût en surface est plus important de

par l'utilisation de bascules plus complexes de type BILBO [Koen80, Bush00] ou C-BILBO

[Abra90].

L'avantage majeur du test intégré parallèle est qu'il permet de tester le circuit à sa vitesse

nominale de fonctionnement et donc de prendre en compte le test des fautes de délai. C'est

pour cette raison que nous avons retenu ce type d'architecture dans notre étude.

I.2 Génération Pseudo-Aléatoire

I.2.1 Généralités

Le test intégré est généralement basé sur un générateur pseudo-aléatoire. Cette génération

pseudo-aléatoire repose sur l'utilisation d'Automate Cellulaire (CA pour "Cellular

Automata") [Hort89, Hort90] et plus généralement sur l'utilisation d'un Registre à Décalage à

Rétroaction Linéaire (LFSR pour "Linear Feedback Shift Register") [Golo82, Bard87].

Au-delà de cet aspect pseudo-aléatoire, de nombreuses études ont été menées [Knut81,

Bard90, Hort90, Prad94, Davi98] afin de juger le caractère aléatoire des séquences de test en

fonction :

! de la fréquence d'apparition des valeurs 0 et 1 sur les différents bits des

vecteurs produits,

! des corrélations possibles entre ces bits,

Page 70: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

69

! des densités de 0 et de 1 au sein d'un vecteur donné.

Dans la suite de cette partie, nous détaillerons uniquement les principes du LFSR car cette

architecture de générateur pseudo-aléatoire servira de base à nos comparaisons.

I.2.2 Registre à Décalage à Rétroaction Linéaire : LFSR

Un LFSR est constitué de bascules, reliées en série, subissant une rétroaction linéaire à

travers des portes XOR à deux entrées. Les bascules constituent les étages du générateur et

sont en général des bascules de type D.

Les architectures de LFSRs les plus classiques sont le LFSR à portes XOR externes, dit

de type 1 (Figure III.4.a) et le LFSR à portes XOR internes, dit de type 2 (Figure III.4.b).

ak-1a0 ak-2

hk-1h1 hk =1

ak-1a0 ak-2

h1 hk-1 hk =1

a)

b)

Figure III.4 : Architectures de LFSR

a) LFSR à portes XOR externes (type 1) et b) LFSR à portes XOR internes (type 2)

Les deux types de LFSRs sont mathématiquement équivalents et sont décrits par un

polynôme caractéristique (Équation I.1) de la forme :

ik

1iixh1P(x) ∑

=

+= (III.1)

où k le nombre de bascules du LFSR. Dans le cas d'un LFSR à portes XOR externes, la

constante binaire hi définit la présence (hi=1) ou l'absence (hi=0) d'une connexion de l'étage

i-1 à la boucle de rétroaction. Si hi=1, la valeur courante ai-1 de la bascule i-1 intervient dans le

calcul de l'état suivant. Dans le cas d'un LFSR à portes XOR internes, la constante binaire hi

définit la connexion ou non de la boucle de rétroaction à la porte XOR connectée en sortie de

la bascule i-1.

Page 71: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

70

La Figure III.5 représente un LFSR de type 1 (c'est-à-dire à portes XOR externes) à trois

étages. Dans un tel LFSR, h1=0 et h2=h3=1. D'après l'Équation III.1, son polynôme

caractéristique est : P(x) = x3 ⊕ x2 ⊕ 1.

a2a0 a1

Figure III.5 : Exemple d'un LFSR à trois étages

Les transitions d'états du LFSR peuvent être calculées à partir de la matrice

caractéristique [M] de dimension k×k.

[ ]

=

−− 1k2k21 hh...hh110...00001...000........00...10000...010

M (III.2)

Le calcul de l’état suivant ai+1 est obtenu :

! dans le cas d’un LFSR de type 1 par le produit entre le vecteur ligne ai et la

matrice [M] (Équation III.3) :

ai+1 = ai × [M] (III.3)

! dans le cas d’un LFSR à portes XOR internes (type 2) par l'Équation III.4 où le

vecteur ai est un vecteur colonne :

ai+1 = [M] × ai (III.4)

Étant donné qu'un LFSR à k étages est constitué d'un nombre fini k de bascules, 2k états

peuvent être générés. Cependant, lorsque toutes les bascules sont initialisées au 0 logique ai=0

∀ i, l'état suivant restera inchangé ai+1=0 ∀ i (état absorbant). A l'inverse, lorsque les bascules

ne sont pas toutes initialisées à 0, l'état ai+1=0 ∀ i n'est jamais atteint.

Définition III.1 : Une séquence générée par un LFSR à k étages, ayant une

période de 2k-1, est appelée séquence de longueur maximale [Bard87].

Définition III.2 : Le polynôme caractéristique d’un LFSR, associé à une

séquence de longueur maximale, est un polynôme primitif [Bard87].

Page 72: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

71

Le Tableau III.1 donne des exemples de polynôme primitif pour des valeurs de n

comprises entre 1 et 36 [Bard87]. Par exemple, pour le degré 30 nous avons le polynôme

primitif P(x)=x30 ⊕ x16 ⊕ x15 ⊕ x ⊕ 1.

degré degré degré1 0 13 4 3 1 0 25 3 02 1 0 14 12 11 1 0 26 8 7 1 03 1 0 15 1 0 27 8 7 1 04 1 0 16 5 3 2 0 28 3 05 2 0 17 3 0 29 2 06 1 0 18 7 0 30 16 15 1 07 1 0 19 6 5 1 0 31 3 08 6 5 1 0 20 3 0 32 28 27 1 09 4 0 21 2 0 33 13 010 3 0 22 1 0 34 15 14 1 011 2 0 23 5 0 35 2 012 7 4 3 0 24 4 3 1 0 36 11 0

Tableau III.1 : Exemple de polynômes primitifs

Le principal avantage des LFSRs est lié au faible coût en surface nécessaire à son

implantation. De manière générale, dans les séquences de test générées par les LFSRs, la

probabilité d’avoir un 1 logique est presque égale à la probabilité d’avoir un 0 logique sur

chaque bit du vecteur généré (P(0) ≈ P(1) ≈ 1/2). Ces séquences sont appelées séquences

équiprobables ("flat random").

II MISE EN ŒUVRE DE LA GÉNÉRATION RSIC

Une des contraintes principales que nous nous sommes fixée dans cette étude est que la

structure de génération matérielle de la séquence RSIC doit permettre de conserver l'aspect

aléatoire de la génération logicielle utilisée dans le Chapitre II. Ainsi, la structure proposée

dans la suite de ce chapitre devra remplir un certain nombre de conditions garantissant la

génération de séquences de vecteurs de test aléatoires.

II.1 Structure

Le principe du générateur RSIC, que nous avons utilisé, a été proposé dans [Davi98]. La

Figure III.6 présente le schéma de principe de ce générateur.

Page 73: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

72

V(t) = x1(t)

Q1 QkQm . . . . . . . . . . .. . . . . . . . . . .Générateur (Pseudo) Aléatoire, k bits

. . . . . . . . . . . . .m bits Rm(t)R(t) = R1(t)

. . . . . . . . . . .

Transcodage

Circuit sous Test

. . . . . . . . . .

n bits xn(t)

Figure III.6 : Principe du générateur RSIC

De manière générale, un générateur source de k bits est utilisé. La valeur du vecteur

Q1Q2…Qk, obtenue à partir de ce générateur source, change à chaque cycle d'horloge. A

chaque instant t, un sous-ensemble de m bits est utilisé (avec m ≤ k). Le vecteur

R(t) = R1(t)R2(t)…Rm(t) est ensuite transformé en un vecteur V(t) de n bits (n > m) avec

V(t) = x1(t)x2(t)…xn(t). Ce vecteur V(t) est ensuite appliqué au circuit sous test.

Afin de prendre en compte les propriétés de la séquence RSIC, indiquées précédemment,

les points suivants doivent être respectés :

! R(l) est indépendant de R(l−1).

! Le transcodage, entre R(l) et V(l), doit satisfaire l'équation suivante (Équation

II.3 du Chapitre II) :

[ ]n1V1)V(lV V(l)Pr kj ==−= , si et seulement si a2k-j = , (III.6)

! La période de la séquence de vecteurs S = V(1)V(2)…V(l) doit au moins être

égale à la longueur du test L (Équation II.2 du Chapitre II).

12j10 n V..., , V..., , V, VV −= , (III.7)

Ces trois points vont être développés dans les parties suivantes.

II.2 Contraintes

II.2.1 LFSR "Aléatoire"

Afin d'améliorer les propriétés aléatoires de la séquence de test générée à l'aide de la

structure présentée sur la Figure III.8, il est nécessaire d'utiliser un générateur source

possédant de "bonnes propriétés aléatoires". En effet, l'utilisation d'un LFSR standard ne

permet pas de satisfaire la condition citée ci-dessus qui impose l'utilisation de séquences de

Page 74: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

73

vecteurs non corrélés (R(l) est indépendant de R(l−1)). Afin de résoudre ce problème de

corrélation entre vecteurs, nous utiliserons une structure matérielle permettant de générer une

séquence de test possédant de "bonnes" propriétés aléatoires. Cette architecture de LFSR

"aléatoire" a été proposée dans [Davi98].

La méthode consiste à modifier un LFSR standard, c'est-à-dire dont le polynôme

caractéristique est primitif. Ces modifications permettent, en plus d'obtenir une séquence de

vecteurs non corrélés, de générer toutes les paires de vecteurs possibles. L'ensemble des

contraintes nécessaires à ces modifications sont les suivantes :

! Génération de toutes les paires de vecteurs possibles :

Pour un circuit à m entrées, si pour un vecteur donné on veut obtenir les 2m

vecteurs suivants, il faut être capable de générer 22m vecteurs. Sachant qu'un

LFSR de degré k génère une séquence de 2k-1 vecteurs, il faut donc utiliser un

LFSR de degré :

12m k +≥ (III.8)

Cette première contrainte rend aussi possible la génération du vecteur nul sur

les entrées primaires puisque le degré du polynôme est supérieur au nombre

d'entrées du circuit.

! Génération de vecteurs non corrélés :

Les problèmes de corrélation entre vecteurs seront résolus en rajoutant un

nouveau paramètre. Ce paramètre σ représente le nombre de décalages dans le

registre avant de prélever un nouveau vecteur. Si nous voulons tester un circuit

à m entrées, il faut utiliser un LFSR de degré k avec k ≥ 2m+1, pour remplir la

première condition. Notons b(1)b(2)…b(2k-1) l'ensemble des bits consécutifs

générés par ce LFSR. A chaque cycle d’horloge, le LFSR produit un nouveau

vecteur. Cependant, la séquence ainsi produite est fortement corrélée. En effet,

si le premier vecteur de la séquence de test est R(1) = b(k)b(k-1)…b(k-m+1),

après un cycle d'horloge, le vecteur suivant est R(2) = b(k+1)b(k)…b(k-m+2).

Pour que le vecteur R(2) ne soit pas corrélé avec R(1) (aucune valeurs de b(i)

en commun), il faut que R(2) = b(k+m)b(k+m-1)…b(k+1). Ceci entraîne donc

un décalage minimal de σ = m. Dans le cas général, pour que les vecteurs

générés soient non corrélés, nous devons satisfaire l'équation suivante :

Page 75: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

74

m)1(2σm k −−≤≤ (III.9)

La borne supérieure s'explique de la même manière. En effet, pour que le

vecteur R(2) ne soit pas corrélé avec R(1) il faut que R(2) = b(k+2k-1-m)b(k+2k-

2-m)…b(k+2k). La valeur maximale de σ est donc 2k-1-m. Les valeurs minimale

et maximale de σ correspondent aux valeurs nécessaires permettant d'obtenir

une génération de vecteurs de test non corrélés. Cependant, il a été démontré

dans [Davi98] que le choix σ = m permettait, dans tous les cas, de garantir une

génération de vecteurs non corrélés (condition nécessaire et suffisante).

! Génération d'une séquence de longueur maximale :

La dernière contrainte est :

12et σ k − premiers entre eux, (III.10)

Elle permet de générer tous les vecteurs de la séquence. Cette contrainte

permet donc de produire une séquence de longueur maximale. L'explication de

cette contrainte est donnée dans [Davi98 propriété 10.3].

Illustrons ces différentes contraintes sur l'exemple suivant :

Exemple III.1 : Considérons, par exemple, que nous avons besoin de vecteurs de 2 bits

(m = 2). Afin de satisfaire l'Équation III.8, le degré k du LFSR doit au moins être de 5.

La Figure III.7.a présente un LFSR dont le polynôme est x5 ⊕ x2 ⊕ 1. Comme le

polynôme utilisé pour ce LFSR est primitif, la séquence de bits générée est une

séquence pseudo-aléatoire de longueur 25 - 1 = 31 comme illustré sur la Figure III.7.b.

Les bits successifs de cette séquence sont notés b(1)b(2)…b(31). Les valeurs des

vecteurs sont donc : R(1) = b(5)b(4) = 00, R(2) = b(6)b(5) = 10 et ainsi de suite. Dans le

cas général, R2(l+1) = R1(l). Afin d'éliminer ces corrélations, choisissons σ = m = 2

(Équation III.7). Nous obtenons, comme vecteur R(2), le couple b(7)b(6). Dans ce cas,

nous pouvons dire que deux vecteurs consécutifs ainsi produits sont non corrélés.

Sur la Figure III.7.c nous avons représenté l’implantation de telles contraintes pour la

génération de la séquence aléatoire dans le cas d'un circuit à 2 entrées. L'utilisation de

deux portes XOR permet de générer un vecteur de test à chaque cycle d’horloge. Le

chaînage des bascules de la Figure III.7.c peut s'expliquer à partir des états issus du

LFSR standard (polynôme primitif P(x) = 1 ⊕ x2 ⊕ x5) de la Figure III.7.a. Si Q1, Q2, Q3,

Q4 et Q5 représentent les cinq étages des LFSRs, nous pouvons calculer les états du

Page 76: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

75

LFSR standard pour différents instants t = t0, t1 et t2. Ces états sont répertoriés dans les

trois premières colonnes du Tableau III.2.

Q1 Q2 Q3 Q4 Q5

R

c)

a)

024

123

122

121

120

119

018

017

016

115

114

013

112

111

110

09

18

07

16

05

04

03

02

11

025

126

127

028

129

030

031

11

02

Période = 25 – 1 = 31

R

b(i)i

b)

Q1 Q2 Q3 Q4 Q5

R

Figure III.7 : Structure d'un LFSR "aléatoire"

a) LFSR standard, b) Séquence générée et c) Réalisation matérielle pour σ = 2

t = t0 t = t1 t = t2 Pour σσσσ = 2Q1(t0) Q1(t1) = Q2(t0) ⊕ Q5(t0) Q1(t2) = Q2(t1) ⊕ Q5(t1) Q1 ⇐ Q1 ⊕ Q4

Q2(t0) Q2(t1) = Q1(t0) Q2(t2) = Q1(t1) Q2 ⇐ Q2 ⊕ Q5

Q3(t0) Q3(t1) = Q2(t0) Q3(t2) = Q2(t1) Q3 ⇐ Q1

Q4(t0) Q4(t1) = Q3(t0) Q4(t2) = Q3(t1) Q4 ⇐ Q2

Q5(t0) Q5(t1) = Q4(t0) Q5(t2) = Q4(t1) Q5 ⇐ Q3

Tableau III.2 : Explication de l'implantation du LFSR "aléatoire"

Le paramètre σ = 2 implique que l'état du LFSR aléatoire à l'instant t2 doit directement

être déduit de son état à l'instant t0. La dernière colonne du Tableau III.2 indique le

chaînage correspondant des bascules.

Page 77: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

76

Cette solution est peu coûteuse en termes de surface additionnelle car la modification du

LFSR nécessite seulement un petit nombre de portes XOR additionnelles (correspondant au

nombre de décalages requis) comparé à un LFSR standard. En effet, le nombre de portes

XOR est directement lié au nombre de décalages à effectuer. Ainsi, le nombre de portes XOR

permettant de réaliser le LFSR "aléatoire" est le suivant :

! Un polynôme caractéristique à 3 termes, dans le cas d'un LFSR standard, entraîne

l'utilisation d'une porte XOR. Ainsi, le coût en surface nécessaire à la modification

en LFSR "aléatoire" sera le suivant :

σNb_XOR = (III.11)

! Par contre, dans le cas d'un polynôme caractéristique à 5 termes, le coût en surface

sera plus important. En effet, un polynôme à 5 termes nécessite trois portes XOR

pour sa réalisation. Nous obtenons donc un coût en surface trois fois plus important :

σ x 3Nb_XOR = (III.12)

Ainsi, afin d'avoir un coût en surface additionnelle minimal, nous utiliserons pour nos

expérimentations des polynômes de LFSR uniquement à trois termes. De plus, la surface

additionnelle nécessaire à la réalisation d'un LFSR "aléatoire" dépend du nombre de bascules

car ce nombre est doublé (Équation III.8). Cependant, dans l'architecture de génération RSIC

proposée, le LFSR utilisé est de petite taille car nous ajoutons à ses sorties un module de

démultiplexage. Ainsi, le coût en surface engendrée par le doublement de la taille du LFSR ne

sera pas un handicap.

II.2.2 Le Transcodage

Le principe du transcodage est illustré sur la Figure III.8. Le transcodeur est constitué d'un

décodeur 1 parmi n, qui permet de transformer le vecteur R(l) vers un vecteur T(l). Ainsi, nous

obtenons Ti(l) = 1 et Tj(l) = 0 pour tout j ≠ i.

Page 78: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

77

n bits

T(l). . . . . . . . .

DécodeurCode 1 parmi n

. . . . . . . . .

T1 Tn

V(l)x1 xn

CLKQ1 QkQm . . . . . . . . . . .. . . . . . . . . . .

Générateur (Pseudo) Aléatoire, k bits

. . . . . . . . . . . . .m bits R(l)

Figure III.8 : Transcodage de R(l) à V(l)

Ensuite, chaque bit du vecteur T(l) est appliqué aux entrées d'un ensemble de n bascules T.

Le schéma d'une telle bascule est présenté sur la Figure III.9.

CLK

Ti QiDi

Figure III.9 : Bascule T

A l'aide de cette bascule, nous obtenons les relations suivantes :

1)(lQ(l)Q ii −= si 01)(lTi =− (III.13)

1)(lQ(l)Q ii −= si 11)(lTi =− (III.14)

Donc, le vecteur de sortie V(l) diffère du vecteur V(l-1) uniquement d'une valeur xi.

A partir de cette structure, il faut donc poser un certain nombre de condition afin de définir

la valeur du paramètre m.

1. Si n = 2a, où a est un entier, alors m = a peut être choisi

2. Dans le cas plus général, 2a-1 < n < 2a. Dans ce cas, m ≥ a, c'est-à-dire,

m ≥ log2n . En pratique, nous considérerons que :

αnlogm 2 += (III.15)

avec α = 2 ou 3. Ces valeurs seront discutées dans la suite de ce chapitre.

Exemple III.2 : Considérons un circuit à 3 entrées. Ceci entraîne m = log23 + α. En

choisissant α = 2, nous obtenons m = 4. Il y a donc 24 = 16 valeurs possibles pour R(l)

Page 79: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

78

que nous notons R0,R1, …,R15. Le décodeur doit générer 3 sorties notées T1, T2 et T3. Il

faut donc répartir les 16 valeurs de R(l) afin d'obtenir des probabilités de commutation

équilibrées. Si nous associons 6 valeurs à T1 (T1 = R0 +R1 + R2 + R3 + R12 +R14) et 5

valeurs à T2 (T2 = R8 + R9 + R10 + R11 + R15) et à T3 (T3 = R4 + R5 + R6 + R7 + R13), les

probabilités de commutations sont donc les suivantes :

166change]Pr[x1 ≈ et

165change]Pr[xchange]Pr[x2 ≈= 3

Le choix des combinaisons entre les différentes valeurs de R(l) est obtenu par

optimisation à l'aide du tableau de Karnaugh présenté sur la Figure III.10.

0 0 0 1 1 1 1 0

0 0

0 1

1 1

1 0

T1 (6 valeurs)

T2 (5 valeurs)

T3 (5 valeurs)

Q1 Q2

Q3 Q4

Figure III.10 : Représentation sous forme de tableau de Karnaugh

du choix des valeurs de Ti

Ainsi, nous obtenons les équations suivantes pour trois valeurs de Ti :

432431 .Q.QQQ.QT +=

421432 .Q.QQ.QQT +=

321433 .QQ.QQ.QT +=

La réalisation matérielle du décodeur, pour les valeurs de n et m citées ci-dessus, est

représentée sur la Figure III.11. Ce schéma est complété par le registre de bascules T.

Page 80: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

79

T1 T2 T3

x1 x2 x3 V(l)

T(l)

R(l)

CLK

Q1 Q2 Q3 Q4

Figure III.11 : Exemple de décodeur pour n = 3 et m = 4

Il est à noter que la probabilité d'obtenir le vecteur R0 (sachant que R0 = 0 0 0 0) est

inférieure aux probabilités d'obtenir les autres valeurs (de R1 à R15). Afin d'équilibrer au

mieux les probabilités de commutation, R0 est associé à T1 car c'est l'entrée x1 qui a la

plus forte probabilité de commutation (166change]Pr[x1 ≈ ).

II.2.3 Période de la Séquence de Test

La période de la séquence de test générée par la structure va nous permettre de définir la

valeur de k, c'est-à-dire la taille du LFSR. Comme défini au début de ce chapitre (Définition

III.1), la période d'un LFSR de degré k est 2k-1. Nous allons montrer que la période de la

séquence RSIC générée par la structure est :

1)(2 x 2L k −= (III.16)

En d'autre terme, la période de la séquence RSIC correspond au double de la période du

LFSR utilisé.

Démonstration III.1 [Davi01b]: La démonstration de l'Équation III.16 est faite en deux

parties. Dans un premier temps, nous montrerons que l'état du générateur RSIC est le

Page 81: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

80

même à l'instant l = 0 et l = 2x(2k-1). Ensuite, nous démontrerons qu'il n'y a pas de

période plus courte entre ces deux valeurs.

1. L'état du générateur est obtenu à partir de l'état du LFSR mais aussi de l'état

des bascules T. Notons Ni le nombre de changements d'une entrée du circuit

xi entre l'instant l = 0 et l = 2k-1. Comme la période de la séquence générée

par le LFSR est 2k-1, l'entrée xi du circuit change Ni fois entre l = 2k–1 et

l = 2 x (2k–1) car la séquence est la même. Donc, entre l = 0 et l = 2 x (2k-1)

l'entrée xi change 2 x Ni. Ainsi, le nombre de changements effectué sur

l'entrée xi est un nombre pair. Ceci nous permet de conclure que l'état initial

à l = 0 est le même que celui obtenu à l = 2 x (2k-1).

2. Afin de démontrer qu'il n'existe pas de période plus courte, nous allons

considérer le cas ou n = 2m. Considérons, à partir de la Figure III.12, que

Ti = Ri pour i ≠ n et Tn = R0. Ainsi, entre l = 0 et l = 2 x (2k-1), il y a

(propriété 10.2 [Davi98]) :

A2 x 2N x 2 mki == − changements de xi pour i ≠ n et (III.17)

2-A(2 x 2N x 2 mki =−= − )1 changements de xn (III.18)

De plus, considérons que la période de la séquence de test est 2 x (2k–1) / d

et notons Ni(d) le nombre de changements d'une entrée xi du circuit pendant

une période. A partir des Équations III.17 et III.18, nous obtenons la relation

suivante :

dA(d)Ni = pour i ≠ n et

d2-A(d)Nn = (III.19)

A partir de ces deux dernières équations nous pouvons déduire que :

d2(d)N-(d)N ni = (III.20)

Dans une période de test, Ni(d) et Nn(d) sont des nombres pairs. Ainsi,

l'Équation III.20 est vraie uniquement si d = 1. Dans ce cas, il n'existe donc

pas de période plus courte que 2 x (2k-1).

Finalement, la taille du LFSR est obtenue par l'équation suivante :

1)2L(log k 2 +≥ (III.21)

Page 82: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

IMPLANTATION MATÉRIELLE DE SÉQUENCES RSIC

81

II.3 Bilan des Contraintes

Finalement, pour que la structure matérielle produise une séquence SIC ayant de "bonnes

propriétés aléatoires", elle doit respecter les contraintes suivantes :

! Le polynôme du LFSR est primitif (à 3 termes) de degré k tel que :

1)2L(log k 2 +≥ ,

! Le nombre de bit m utilisé sur le LFSR doit être le suivant :

m = log2n + α avec α ≥ 0,

! Le nombre de décalage σ sur le LFSR, afin d'obtenir une génération de

vecteurs non corrélés, doit satisfaire les relations suivantes :

m ≤ σ ≤ 2k-1-m et σ et 2k-1 premiers entre eux,

! Finalement, le décodeur doit être réaliser de manière à obtenir des

probabilités de commutation quasiment identique sur chaque entrée du

circuit :

bj, le nombre de bits associé à Tj tel que : 1bminbmax jiji≤− .

Nous analyserons, dans le chapitre suivant, l'importance de chacune de ces contraintes afin

de voir s'il est possible d'en relâcher certaines pour minimiser le coût en surface engendrée par

la structure sans trop nuire à la qualité de la séquence générée.

Page 83: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre III

82

CONCLUSION

Dans ce chapitre nous avons abordé l'implantation matérielle de la séquence de test RSIC.

Dans un premier temps, nous avons exposé les principes du test intégré et plus

particulièrement les notions du test pseudo-aléatoire réalisé à partir du LFSR.

La deuxième partie de ce chapitre a été consacrée à la structure de génération RSIC. Après

les principes du générateur, nous avons détaillé tour à tour les contraintes nécessaires à la

génération d'une séquence de vecteurs aléatoires. Ceci nous a permis d'introduire le LFSR

"aléatoire" [Davi98]. La structure présentée permet de résoudre les problèmes dus à la

structure des LFSRs standards qui sont généralement dus à la corrélation entre vecteurs.

A la fin de ce chapitre, nous avons exposé les contraintes nécessaires à la réalisation de

cette structure de génération intégrée. Il nous reste maintenant à valider et éventuellement

optimiser cette structure.

Page 84: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

83

Chapitre IVChapitre IVChapitre IVChapitre IV

VVAALLIIDDAATTIIOONNSS EETT OOPPTTIIMMIISSAATTIIOONNSSDDEE LLAA SSTTRRUUCCTTUURREE

Page 85: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

85

Chapitre IV VALIDATIONS ET OPTIMISATIONS

DE LA STRUCTURE

INTRODUCTION

Dans ce chapitre nous allons analyser les caractéristiques de la structure de génération

RSIC présentée dans le chapitre précédent afin de tenter de l'optimiser.

Dans un premier temps, nous analyserons les performances des séquences générées par

cette structure en termes de couverture de fautes.

Dans la deuxième partie de ce chapitre, nous analyserons les contraintes liées à cette

structure. Nous tenterons ainsi de définir si certaines d'entre elles peuvent être relâchées afin

de réduire la surface nécessaire à l'implantation du générateur, sans toutefois nuire à la qualité

des séquences générées.

Après avoir exposé les principes de l'optimisation structurelle utilisée qui est basée sur la

recherche des entrées compatibles, la dernière partie sera consacrée à l'évaluation en surface

de ce générateur.

Page 86: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

86

I VALIDATION DE LA STRUCTURE

Afin de valider la structure de génération présentée dans le Chapitre III ainsi que les

différentes contraintes nécessaires à sa réalisation, nous allons comparer les séquences de test

générées par cette structure à celles obtenues de manière logicielle (Chapitre II). Afin de

faciliter les notations, nous appellerons RSICS les séquences obtenues de manière logicielles

et RSICH celles générées avec la structure présentée.

Comme précédemment, nous avons effectué ces comparaisons sur le circuit s382. Le

générateur RSICH1, spécifique à ce circuit, est défini à partir des contraintes suivantes :

! le polynôme du LFSR est primitif de degré k tel que 1)2L(logk 2 +≥ ,

! m = log2n + α avec α =2 ou 3,

! m ≤ σ ≤ 2k-1-m et σ et 2k-1 premiers entre eux,

! bj, le nombre de bit associé à Tj tel que : 1bminbmax jiji≤− .

Ce circuit possède 24 entrées (n = 24). La longueur de la séquence de test est de 1000000

vecteurs ce qui implique k ≥ 19 (Équation III.18). Comme σ et 2k-1 doivent être premiers entre

eux (Équation III.7) et que le polynôme du LFSR doit être constitué de trois termes (coût

minimal en surface), alors la plus petite valeur de k est 23. Ainsi, le générateur RSIC pour ce

circuit, est défini de la manière suivante :

RSICH1 :

! le polynôme du LFSR est x23 ⊕ x5 ⊕ 1,

! m = log2n + α = 7 pour α = 2,

! σ = m = 7,

! le nombre de bits associé à Ti est 6 pour i = 1 à 8 et 5 pour i = 9 à 24.

I.1 Comparaison de l'Efficacité Robuste

Les comparaisons sont basées sur un ensemble de 15 expérimentations. Chaque

expérimentation correspond à un état initial différent. Le Tableau IV.1 présente les résultats

obtenus en termes d'efficacité robuste. Les résultats obtenus avec les séquences RSICS sont

numérotés de S1 à S15 (Tableau IV.1.a) et de S16 à S30 pour la génération RSICH1 (Tableau

IV.1.b). De plus, sur chaque tableau, la première colonne indique le nombre de vecteurs

appliqué et la dernière, la valeur moyenne des 15 expérimentations effectuées.

Page 87: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

87

Efficacité Robuste - RSICS

# vecteurs S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 Moyenne

10 1,27 2,13 2,41 1,27 1,99 1,56 2,41 1,99 3,13 2,41 2,56 1,84 3,69 2,41 0,42 2,10

100 19,60 12,65 13,35 9,94 9,24 6,82 14,35 12,36 14,64 10,51 13,64 14,20 17,76 14,92 11,80 13,05

349 29,11 22,16 23,01 23,72 24,72 25,28 25,70 28,98 37,36 24,57 26,84 28,83 32,24 27,56 36,22 27,75

699 34,80 29,68 37,36 30,82 32,95 36,51 37,78 43,61 44,47 32,95 38,50 35,65 42,61 45,32 47,31 38,02

1398 48,44 47,31 52,84 47,44 44,32 48,16 50,85 52,70 53,98 45,17 49,58 53,98 55,68 55,68 53,27 50,63

2796 60,66 65,20 66,76 59,81 60,80 62,36 61,93 62,65 61,80 57,53 61,23 65,20 65,20 70,60 62,50 62,95

6990 74,72 80,40 77,27 73,86 75,14 73,86 75,14 75,99 77,27 71,59 77,41 77,13 74,43 77,98 75,57 75,85

13980 80,25 86,08 85,65 81,39 81,39 81,67 82,52 82,52 82,39 82,81 83,81 82,39 81,95 83,52 84,51 82,86

27960 84,66 87,78 87,35 86,93 87,07 86,93 85,65 85,23 86,22 86,65 87,22 87,64 86,08 86,65 87,22 86,62

69900 87,78 89,49 89,91 88,92 88,92 88,49 88,64 88,07 88,35 88,77 89,20 89,20 88,92 88,92 88,77 88,82

139800 88,64 90,06 90,63 88,92 90,06 89,06 89,34 88,64 88,77 89,49 90,76 90,19 89,77 89,49 89,06 89,52

1000000 88,92 90,06 90,63 89,20 90,06 89,34 89,49 88,92 88,92 89,91 90,76 90,19 89,91 89,49 89,06 89,66

Efficacité Robuste – RSICH1

# vecteurs S16 S17 S18 S19 S20 S21 S22 S23 S24 S25 S26 S27 S28 S29 S30 Moyenne

10 1,14 3,13 2,13 2,27 3,13 1,99 2,56 1,42 1,42 2,69 1,56 1,84 1,99 1,84 2,27 2,09

100 4,55 18,32 14,20 18,32 16,63 5,82 6,53 4,83 5,53 6,53 5,68 5,68 5,82 5,82 5,68 8,66

349 27,98 26,70 25,14 28,98 26,84 27,41 26,70 26,99 25,99 30,40 28,69 26,27 28,41 22,58 27,56 27,11

699 36,22 38,78 37,78 43,61 42,61 36,22 37,50 35,36 36,36 38,22 39,49 36,22 37,22 32,81 36,22 37,64

1398 45,32 53,84 49,15 56,11 54,41 50,28 48,86 45,17 46,88 50,72 51,28 47,16 46,31 48,30 51,70 49,70

2796 58,67 63,35 60,23 64,92 63,92 64,35 59,09 57,25 62,08 57,95 61,08 65,63 62,36 59,94 63,50 61,62

6990 72,86 74,57 75,57 77,69 75,42 75,42 75,70 74,15 75,99 74,72 72,59 75,28 76,27 75,85 75,70 75,19

13980 81,10 81,10 83,81 86,78 81,95 82,24 81,25 82,24 82,10 83,38 80,97 82,24 82,24 81,53 81,10 82,27

27960 85,51 85,36 87,35 89,20 85,08 86,93 84,51 85,36 85,65 86,65 86,93 86,36 88,49 86,93 85,36 86,38

69900 89,77 88,92 89,77 90,19 87,92 89,91 87,64 89,63 88,07 89,91 89,49 87,92 90,63 88,77 89,20 89,18

139800 90,63 89,34 90,76 90,91 88,77 90,63 88,20 90,63 89,49 90,76 90,19 90,06 90,63 88,92 89,77 89,98

1000000 90,63 89,34 90,76 90,91 89,34 91,05 88,77 90,63 89,49 90,76 90,48 90,48 90,91 89,49 90,06 90,21

a)

b)

Tableau IV.1 : Validation de la structure pour un test robuste

a) RSICS et b) RSICH1

L'ensemble des résultats du Tableau IV.1 est illustré par les Courbes IV.1.a pour les

séquences RSICS et IV.1.b pour la génération RSICH1. Ces courbes montrent que la différence

entre les deux générations utilisées n'est pas visible pour une séquence de test longue. En

effet, l'état initial influe principalement sur le début des séquences de test.

Page 88: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

88

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSIC

a)

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSIC

b)

RSICS

RSICH1

Courbe IV.1 : Illustration des résultats robuste a) RSICS et b) RSICH1

La Figure IV.1 présente une analyse plus détaillée pour deux longueurs de test (L = 139800

et 1000000 vecteurs). La première longueur de test utilisée correspond à 100*Ld_ATPG

(L = 139800) qui est la valeur utilisée pour l'ensemble de nos expérimentations. La deuxième

longueur de test (L = 1000000) permet en plus de montrer qu'il y a peu d'évolution des

efficacités robustes de par l'augmentation de la longueur de la séquence de test.

Sur cette figure, l'axe des abscisses correspond aux valeurs des efficacités robustes

obtenues à partir des expérimentations effectuées. Ces valeurs d'efficacité sont indiquées par

tranche de 1%. Par exemple, nous pouvons déterminer combien de séquences de test (parmi

les 15 expérimentations effectuées) permettent d'obtenir une efficacité robuste comprise entre

88 % et 89 % si la longueur de la séquence est de 139800 vecteurs. Dans ce cas, la réponse est

4 pour la génération RSICS (expérimentations S1, S4, S8 et S9) et 3 pour la génération

RSICH1 (expérimentations S20, S22 et S29). De plus, le nombre de fautes non testées en

Page 89: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

89

robuste est compris entre 78 et 84. La même interprétation peut être effectuée pour une

longueur de test de 1000000 vecteurs. Dans ce cas, 3 séquences RSICS (S1, S8 et S9) et 1

séquence RSICH1 (S2) permettent d'obtenir une efficacité comprise entre 88 % et 89 %.

# séquences

139 800

1 000 000

L

Efficacité Robuste %# fautes non détectées(parmi les 704 testables en robuste)

2

4

6

8

0< 88 88-89 89-90 90-91 91-92 > 92

> 84 78-84 71-77 64-70 57-65 < 57

RSICS

RSICH1

Figure IV.1 : Comparaison RSICS et RSICH1 en robuste pour deux longueurs

de la séquence de test

De plus, l'efficacité robuste est comprise entre 88 % et 91 % pour toutes les séquences de

test (RSICS et RSICH1) pour une longueur de test de 139800 vecteurs. Par contre, si

L = 1000000 l'efficacité robuste est comprise entre 88 % et 92 % pour la génération RSICH1.

En conclusion, nous pouvons dire que ces comparaisons montrent que les résultats obtenus

par les générations logicielle (RSICS) et matérielle (RSICH1) sont quasiment identiques en

termes d'efficacité robuste.

I.2 Comparaison de l'Efficacité Non-Robuste

De manière similaire aux comparaisons effectuées pour le test robuste, les Tableaux IV.2 et

les Courbes IV.2 présentent les résultats obtenus en termes d'efficacité non-robuste.

Page 90: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

90

Efficacité Non-Robuste - RSICS

# vecteurs S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S15 Moyenne

10 1,09 3,40 2,31 2,58 3,27 1,91 2,58 1,36 1,36 2,86 1,63 1,77 1,91 2,18 2,31 2,17

100 4,49 19,89 14,99 18,80 17,71 5,72 6,67 4,63 5,99 6,54 5,85 5,99 5,58 6,13 5,58 8,97

349 29,01 28,88 26,70 30,38 28,74 29,29 29,43 28,20 26,83 32,83 30,79 27,65 29,97 24,25 29,56 28,83

699 39,11 41,69 39,92 47,28 45,92 37,87 41,42 37,60 38,29 41,69 42,92 37,47 39,24 35,29 38,42 40,28

1398 48,37 58,72 52,73 60,49 58,18 54,22 53,55 48,23 50,14 55,18 56,40 50,82 49,46 53,13 56,27 53,73

2796 63,08 69,08 64,85 70,57 69,21 69,48 64,58 62,27 68,12 63,22 67,03 71,79 67,72 66,08 69,62 67,11

6990 79,69 82,56 83,11 85,01 83,38 82,69 84,74 80,93 84,05 81,47 79,69 82,96 83,92 83,51 83,65 82,76

13980 89,65 90,46 91,96 95,37 90,74 90,46 92,10 90,74 91,41 91,68 90,46 91,28 91,14 90,05 90,19 91,18

27960 94,82 95,37 96,59 98,22 95,37 95,77 95,77 94,68 95,64 95,50 96,32 95,77 97,55 96,86 94,82 95,94

69900 99,04 99,46 99,04 99,31 98,64 98,91 98,91 99,04 98,50 99,18 99,04 97,55 99,59 99,18 99,18 98,97

139800 99,86 99,86 100 100 99,46 99,59 99,46 100 100 100 99,73 99,59 99,59 99,31 99,73 99,74

1000000 99,86 99,86 100 100 100 100 100 100 100 100 100 100 100 99,86 100 99,97

Efficacité Non-Robuste – RSICH1

# vecteurs S16 S17 S18 S19 S20 S21 S22 S23 S24 S25 S26 S27 S28 S29 S30 Moyenne

10 1,22 2,18 2,58 1,22 2,04 1,49 2,58 2,18 3,54 2,31 2,86 1,77 4,49 2,45 0,40 2,22

100 22,47 12,81 13,62 10,22 9,26 7,22 16,08 12,81 15,13 11,17 14,58 14,58 20,16 15,67 12,81 13,91

349 33,65 22,75 23,43 24,65 26,02 26,56 28,47 31,19 40,60 26,29 29,01 29,97 35,84 29,70 39,24 29,82

699 39,65 31,06 39,65 32,70 34,60 38,83 42,10 46,74 47,96 35,69 41,56 38,15 47,14 48,92 51,77 41,10

1398 53,95 49,73 57,09 52,19 46,59 51,64 56,27 58,04 59,00 48,92 53,41 58,04 61,58 60,36 57,91 54,98

2796 67,57 70,30 72,48 65,94 65,54 67,99 67,99 70,03 67,99 62,67 66,08 70,43 71,93 77,38 67,72 68,80

6990 84,33 88,28 84,74 81,74 82,96 82,56 83,92 85,56 86,10 80,11 84,87 84,60 82,02 86,51 84,20 84,17

13980 90,74 95,23 94,68 90,74 90,19 91,28 93,05 93,05 91,96 92,10 92,37 90,87 91,28 93,19 94,28 92,33

27960 95,64 97,55 96,59 97,55 96,86 97,13 96,04 95,91 97,00 96,32 96,46 97,28 96,19 96,73 97,82 96,74

69900 98,77 99,31 99,18 99,73 98,77 99,18 99,18 99,04 99,46 98,77 98,50 98,91 99,04 99,46 99,59 99,13

139800 99,73 99,86 100 99,73 99,86 99,73 99,86 99,59 99,86 99,46 100 99,86 99,86 100 99,86 99,82

1000000 100 99,86 100 100 99,86 100 100 100 100 99,86 100 99,86 100 100 99,86 99,95

a)

b)

Tableau IV.2 : Validation de la structure pour un test non-robuste

a) RSICS et b) RSICH1

Page 91: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

91

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSIC

a)

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSIC

b)

RSICS

RSICH1

Courbe IV.2 : Illustration des résultats non-robuste a) RSICS et b) RSICH1

La Figure IV.2 présente des comparaisons pour deux longueurs des séquences de test.

L'efficacité non-robuste est comprise entre 99,3 % et 100 % quelles que soient les séquences

de test (RSICS et RSICH1) pour L =139800 vecteurs. Si la longueur des séquences de test est

de 1000000 de vecteurs, alors, l'efficacité non-robuste est comprise entre 99,7 % et 100 %. Le

choix de ces deux longueurs de séquences de test est identique aux comparaisons effectuées

précédemment sur l'efficacité robuste.

Page 92: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

92

139 800

1 000 000

L

Efficacité Non-Robuste %# fautes non détectées(parmi les 734 testable en Non-Robuste)

2

4

6

8

0< 99.3 99.3-.5 99.5-.7 99.7-.9 > 99.9

> 5 4 or 5 3 1 or 2 0

RSICS

RSICH1

# séquences

10

12

Figure IV.2 : Comparaison RSICS et RSICH1 en non-robuste

pour deux longueurs de la séquence de test

Ainsi, à partir des différentes comparaisons effectuées pour des tests robustes et non-

robustes, nous pouvons conclure que la génération matérielle RSICH1 est aussi efficace que la

génération logicielle RSICS. A partir de maintenant, le générateur RSICH1 servira de base de

comparaison afin de minimiser, une à une, les contraintes.

II OPTIMISATIONS DE LA STRUCTURE

Dans cette partie, nous allons étudier l'influence des différentes contraintes et paramètres

du générateur :

! taille du LFSR : k,

! équilibre des probabilités de commutation : α,

! décalage multiple sur le LFSR : σ.

afin de montrer leur importance relative dans le but d'optimiser la structure en termes de

surface additionnelle sans dégrader l'efficacité des séquences de test.

II.1 Étude du Paramètre k – Taille du LFSR

La première modification des contraintes consiste à diminuer la taille du LFSR. Ainsi,

nous considérerons un générateur RSICH2 identique au générateur RSICH

1 sauf pour ce qui est

de la taille k du LFSR utilisé. Ce générateur est défini de la manière suivante :

Page 93: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

93

RSICH2 :

! LFSR de degré k = 11 avec le polynôme suivant x11 ⊕ x2 ⊕ 1,

! m = log2n + α = 7 pour α = 2,

! σ = m = 7,

! le nombre de bit associé à Ti est 6 pour i = 1 à 8 et 5 pour i = 9 à 24.

Avec ce polynôme, la période de la séquence de test sera plus courte. En effet, à l'aide de

l'Équation III.16 du Chapitre III nous obtenons la période suivante :

4094)1(2 x 2 1)(2 x 2L 11k =−=−=

Le Tableau IV.3 présente les résultats obtenus pour différentes longueurs de test en termes

d'efficacité robuste et non-robuste. Les évolutions obtenues avec les générateurs RSICH1 et

RSICH2, présentées sur la Courbe IV.3, montrent une saturation dans l'évolution de la

couverture de faute aux alentours du 4000ième vecteur.

RSICH1 RSICH

2

# vecteurs Eff R % Eff NR % Eff R % Eff NR %10 1,14 1,09 2,98 3,13100 4,55 1,22 16,91 18,11349 27,98 29,01 26,27 28,34699 36,22 39,11 33,24 35,841398 45,32 48,37 49,86 54,372796 58,67 63,08 55,82 61,496990 72,86 79,69 57,82 63,4913980 81,1 89,65 57,82 63,4927960 85,51 94,82 57,82 63,4969900 89,77 99,04 57,82 63,49139800 90,63 99,86 57,82 63,491000000 90,63 99,86 57,82 63,49

Tableau IV.3 : Comparaisons RSICH1 et RSICH

2

Page 94: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

94

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSICH1

RSICH2

R

NRR

NR

Courbe IV.3 : Évolutions des générations RSICH1 et RSICH

2

A partir de ces résultats sur les efficacités robustes et non-robustes obtenues, nous pouvons

ainsi valider le choix du degré du LFSR à utiliser. En effet, si le degré du LFSR ne satisfait

pas l'équation suivante :

1)2L(log k 2 +≥

les qualités de détection des fautes de la séquence de test seront dégradées de par la

diminution de la période.

II.2 Étude du Paramètre αααα - Équilibre des Probabilités de Commutation

Le paramètre α du générateur RSICH idéal permet d'obtenir, sur les entrées du circuit sous

test, des probabilités de commutations quasi-identiques. Afin d'étudier l'influence de ce

paramètre, nous l'avons fait varier. A titre d'exemple, nous présentons les résultats obtenus

avec un générateur (RSICH3) dont les paramètres sont identiques au générateur RSICH

1 mise à

part la valeur de α permettant de déséquilibrer les probabilités de transitions. Ce générateur

est défini de la manière suivante :

RSICH3 :

! le polynôme du LFSR est x29 ⊕ x2 ⊕ 1,

! m = log2n + α = 14 pour α = 9,

! σ = m = 14,

! le nombre de bits associé à Ti est 1365 pour i = 1 à 4, 1364 pour i = 5 à

12 et 1 pour i = 13 à 24.

Page 95: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

95

Ainsi, les probabilités de changement des sorties x13 à x24 sont beaucoup plus faibles que

celles des sorties x1 à x12. Il est à noter que, pour ce générateur, nous avons aussi modifié le

degré k du LFSR afin de satisfaire l'Équation III.8 du Chapitre III, c'est-à-dire :

12m k +≥

Le Tableau IV.4 présente les résultats obtenus pour différentes longueurs de test en termes

d'efficacité robuste et non-robuste.

RSICH1 RSICH

3

# vecteurs Eff R % Eff NR % Eff R % Eff NR %10 1,14 1,09 1,14 1,09100 4,55 1,22 5,68 5,85349 27,98 29,01 6,12 6,62699 36,22 39,11 6,12 6,621398 45,32 48,37 6,12 6,622796 58,67 63,08 6,12 6,626990 72,86 79,69 10,5 11,513980 81,1 89,65 14,13 15,527960 85,51 94,82 20,5 23,8769900 89,77 99,04 25,5 29,75139800 90,63 99,86 44,25 52,41000000 90,63 99,86 73,27 83,65

Tableau IV.4 : Comparaisons RSICH1 et RSICH

3

Les évolutions obtenues avec les générateurs RSICH1 et RSICH

3, sont présentées sur la

Courbe IV.4.

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSICH1

RSICH3

R

NR

RNR

Courbe IV.4 : Évolutions des générations RSICH1 et RSICH

3

Page 96: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

96

Ces valeurs mettent évidence la relative inefficacité de la génération RSICH3. Ce

phénomène s'explique de la manière suivante. Notons ρ :

min ncommutatio de éProbabilitmax ncommutatio de éProbabilitρ = (IV.1)

le rapport des probabilités de commutation d'une séquence de test. Le cas idéal correspond à ρ

= 1. Dans ce cas, les probabilités de commutations de chaque entrée du circuit sont

équilibrées. Par contre, dans le cas du générateur RSICH3, ce rapport est grand puisque ρ =

1365. Ce fort déséquilibre entre les probabilités de commutation dégrade donc l'efficacité de

la séquence de test obtenue par ce générateur.

Le cas du générateur RSICH3 est bien sûr un cas extrême. Nous allons donc montrer qu'un

faible déséquilibre entre les probabilités de commutation n'aura qu'un faible impact sur la

qualité de la séquence de test. En effet, si nous considérons maintenant que m = log2n , un

rapport de 1, entre les probabilités de commutation, peut être obtenu uniquement si n est une

puissance de 2. Sinon, la valeur minimale est ρ = 2. Ainsi, nous définissons le générateur

RSICH4 de la manière suivante :

RSICH4 :

! le polynôme du LFSR est x23 ⊕ x5 ⊕ 1.

! m = log2n + α = 5 pour α = 0,

! σ = m = 5.

! le nombre de bits associé à Ti est 2 pour i = 1 à 8 et 1 pour i = 9 à 24.

Pour ce générateur, le rapport des probabilités de commutation est ρ = 2. Le Tableau IV.5

présente les comparaisons, en termes d'efficacité robuste (Eff R %) et non-robuste (Eff NR %),

des générations RSICH1 et RSICH

4 pour différentes longueurs de test. Ces valeurs sont

représentées, sous forme graphique, sur la Courbe IV.5.

Page 97: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

97

RSICH1 RSICH

4

# vecteurs Eff R % Eff NR % Eff R % Eff NR %10 1,14 1,09 3,83 4,09100 4,55 1,22 13,92 17,44349 27,98 29,01 22,01 26,7699 36,22 39,11 34,38 36,241398 45,32 48,37 45,74 50,142796 58,67 63,08 58,52 62,546990 72,86 79,69 75,42 77,11

13980 81,1 89,65 83,38 87,4727960 85,51 94,82 86,5 93,5969900 89,77 99,04 89,06 98,5139800 90,63 99,86 90,63 99,731000000 90,63 99,86 90,63 100

Tableau IV.5 : Comparaisons RSICH1 et RSICH

4

s386

0

20

40

60

80

100

10 100 1000 10000 100000 1000000#vecteurs

Eff %

RSICH1 Eff R %

RSICH1 Eff NR %

RSICH4 Eff R %

RSICH4 Eff NR %

Courbe IV.5 : Évolutions des générations RSICH1 et RSICH

4

Au vu de ces résultats, nous pouvons donc conclure que l'Équation III.15 du Chapitre III,

c'est-à-dire :

αnlogm 2 +=

peut être améliorée afin d'obtenir un coût en surface additionnelle réduit. Finalement, dans la

suite, nous prendrons comme valeur de m :

nlogm 2= (IV.2)

Page 98: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

98

afin d'obtenir ρ = 1 ou 2 suivant la valeur de n. C'est donc le générateur RSICH4 qui servira de

base pour les comparaisons et analyses suivantes.

A titre d'illustration, nous avons repris l'exemple de la Figure III.11. Ainsi, avec les

nouvelles contraintes du générateur RSICH4, le décodeur obtenu est présenté sur la Figure

IV.3. Dans ce cas, la surface nécessaire à l'implantation du décodeur est beaucoup moins

importante.

T1

x1 x2 x3

V(l)

T(l)

R(l)

CLK

Q1 Q2

T2 T3

Figure IV.3 : Exemple de décodeur pour n = 3 et m = 2

II.3 Étude du Paramètre σσσσ - Décalage Multiple sur le LFSR

Dans cette dernière partie, nous allons nous intéresser au paramètre σ de décalage du

LFSR. Jusqu'à présent, les différents générateurs étudiés utilisaient une valeur de σ = m. Pour

démonter l'impact de ce paramètre sur les qualités de la génération, nous utilisons le

générateur RSICH5 pour lequel uniquement le paramètre σ = 1 diffère du générateur RSICH

4.

Ce générateur est défini de la manière suivante :

RSICH5 :

! le polynôme du LFSR est x23 ⊕ x5 ⊕ 1.

! m = log2n + α = 5 pour α = 0,

! σ = 1.

! le nombre de bit associé à Ti est 2 pour i = 1 à 8 et 1 pour i = 9 à 24.

Ce générateur est comparé au générateur RSICH4 sur un ensemble de circuits de la famille

ISCAS'89 [Brgl89]. Les résultats comparatifs sont présentés sur le Tableau IV.6. Après le

Page 99: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

99

nom des circuits ainsi que leur nombre d'entrées (n), la colonne (# vecteurs) indique les

longueurs de séquences de test utilisées. Ces longueurs de test correspondent à celles utilisées

dans les chapitres précédents (100*Ld_ATPG). La colonne m indique le nombre de bits du

LFSR utilisé pour chaque circuit. Il est à noter que nous avons utilisé un LFSR de degré k =

23, identique pour chaque circuit, avec comme polynôme primitif

x23 ⊕ x5 ⊕ 1. Ensuite, pour chaque génération, les résultats sont exprimés en termes

d'efficacité robuste (Eff R %) et non-robuste (Eff NR %).

RSICH4 RSICH

5

Circuit n # vecteurs m Eff R % Eff NR % Eff R % Eff NR %

s298 17 68800 5 91,76 100 90,05 98,9s382 24 139800 5 90,63 99,73 90,06 99,59s386 13 73600 4 98,79 100 82,13 83,33s420 35 132200 6 66,42 68,48 65,84 67,01s510 25 136600 5 91,4 100 89,36 98,98s526 24 139600 5 92,09 97,64 93,09 97,64s641 54 277800 6 76,56 80,6 78,57 82,26s713 54 441800 6 84,69 83,84 85,18 85,46

s1238 32 499200 5 88,79 97 89,03 95,46s1494 14 351800 4 93,43 100 73,61 78,73

Tableau IV.6 : Comparaisons RSICH4 et RSICH

5

L'ensemble de ces résultats est représenté sur la Courbe IV.6, pour les efficacités robustes

et sur la Courbe IV.7 pour les efficacités non-robustes.

0

20

40

60

80

100

s298

s382

s386

s420

s510

s526

s641

s713

s123

8s1

494

circuits

Eff %

RSICH4

RSICH5

RSICH4

RSICH5

Courbe IV.6 : Comparaisons RSICH4 et RSICH

5 pour un test robuste

Page 100: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

100

0

20

40

60

80

100

s298

s382

s386

s420

s510

s526

s641

s713

s123

8s1

494

circuits

Eff %

RSICH4

RSICH5

RSICH4

RSICH5

Courbe IV.7 : Comparaisons RSICH4 et RSICH

5 pour un test non-robuste

Les résultats obtenus avec la génération RSICH5 sont très proches de ceux obtenus avec la

génération RSICH4. Cependant, pour deux circuits (s386 et s1494), nous obtenons des résultats

inférieurs de l'ordre de 15 à 20 %. Afin d'analyser les problèmes rencontrés pour ces deux

circuits, nous avons calculé la probabilité suivante :

t(l)]λ)Pr[t(l =+ (IV.3)

comme étant la probabilité qu'une transition effectuée à l'instant l se reproduise à l'instant l+λ.

Le calcul de cette probabilité, en fonction de σ (nombre de décalages sur le LFSR) mais aussi

de n (nombre d'entrées du circuit sous test) est détaillé dans l'Annexe III. A partir des formules

présentées dans cette annexe nous pouvons donner deux résultats importants correspondant à

λ = 2 :

! pour σ = 1 :

41t(l)])Pr[t(l ==+ 2 (IV.4)

! pour σ = m :

2n 1t(l)])Pr[t(l ==+ 2 (IV.5)

A l'aide des Équations IV.4 et IV.5, nous pouvons conclure sur l'intérêt du choix σ = m. En

effet, quand σ = m la probabilité de refaire la transition est inversement proportionnelle au

carré du nombre d'entrées. De plus, ce résultat correspond à la définition théorique d'une

séquence RSIC (Équation II.4 du Chapitre II). Par contre, si σ = 1 la probabilité est constante

et égale à 1/4.

Page 101: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

101

Ces deux équations nous permettent donc de justifier l'utilisation de σ = m afin de ne pas

dégrader les qualités aléatoires de la séquence de test. De plus, comme précisé précédemment,

le coût en surface engendré par ce choix reste faible car il correspond seulement à l'ajout de

quelques portes XOR.

II.4 Bilan de l'Étude des Paramètres

Les différents essais sur les paramètres du générateur de départ permettent de définir les

degrés de liberté que nous pouvons nous octroyer afin d'optimiser la surface du générateur. En

utilisant une valeur de m (correspondant au nombre de bits utilisé sur le LFSR) minimale

(Équation IV.2) nous réduisons ainsi la taille du transcodeur. Nous pouvons définir les

contraintes finales du générateur RSIC matériel de la manière suivante :

! le polynôme du LFSR est primitif (à 3 termes) de degré k tel que :

k ≥ 2m+1 et 1)2L(log k 2 +≥

! m = log2n

! σ = m

! bi, le nombre de bits associé à Ti tel que bi = 1 ou 2.

L'ensemble de ces contraintes correspond donc à une implantation de coût minimal. La

modification de l'une d'entre elles aura bien sûr pour effet de diminuer la surface additionnelle

du générateur mais au détriment de l'efficacité de la séquence de test générée.

III OPTIMISATION DU GÉNÉRATEUR EN FONCTIONDE LA STRUCTURE DU CIRCUIT

Après avoir montré l'influence des paramètres du générateur RSIC, nous nous sommes

intéressé à un autre type d'optimisation. Cette dernière dépend de la structure du circuit sous

test. En effet, en analysant les caractéristiques structurelles des circuits, nous pouvons

transformer une séquence SIC en une séquence pseudo-SIC. Cette notion est définie de la

manière suivante :

Définition IV.1 : Considérons un circuit sous test avec une entrée Ii

appartenant au cône de la sortie O et une entrée Ij n’appartenant pas au

cône de cette même sortie. Une paire de vecteurs SIC (V0, V1) teste un

chemin P de Ii vers O de manière robuste. Ce chemin est aussi testé de

manière robuste par une autre paire de vecteurs MIC (V0’, V1’) qui diffère

Page 102: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

102

de (V0, V1) seulement par le jéme bit. Dans ce cas, la paire de vecteurs (V0’,

V1’) est appelée pseudo-SIC.

Le but de cette optimisation est donc de rechercher les entrées du circuit n'agissant pas sur

une même sortie. Ce type d'optimisation a été proposé par [More98] afin d'optimiser une

structure de génération de vecteurs aléatoires SIC [Gira97, More98]. Afin de montrer ce

procédé d'optimisation, considérons l'exemple suivant.

Exemple IV.1 : Considérons le circuit de la Figure IV.3.

O2

O1

I2

I1

I3

I4

Figure IV.3 : Exemple de circuit

Afin de rechercher les entrées "compatibles", c'est-à-dire celles pouvant être communes

lors du test, ce circuit est représenté sous forme de graphe de dépendance (Figure

IV.4.a). Dans ce graphe, les nœuds correspondent aux entrées et sorties du circuit et

chaque arc correspond à l'existence d'un chemin logique entre une entrée et une sortie.

A partir du graphe de dépendance, nous construisons le graphe d'incompatibilité

présenté sur la Figure IV.4.b.

I1

I2

I3

I4

O1

O2

a)

I1

I2

I3

I4

b)

I1I2

I3

I4

c)

Figure IV.4 : Représentation du circuit sous forme de graphe

a) graphe de dépendance, b) graphe d'incompatibilité et c) graphe de compatibilité

Dans ce graphe, la présence d'un arc entre deux nœuds (entrées du circuit) indique que

ces deux entrées agissent sur la même sortie. Donc, elles ne pourront pas être activées

Page 103: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

103

en même temps lors du test. Ensuite, le graphe d'incompatibilité est transformé en

graphe de compatibilité (Figure IV.4.c). Ce dernier graphe est donc uniquement

constitué de tous les arcs qui n'existaient pas dans le graphe précédent. A partir du

graphe de compatibilité, la recherche des entrées compatibles se ramène à la recherche

du nombre minimal de clique6. Ainsi, dans cet exemple, on peut conclure que les

entrées I1 et I4 sont compatibles. Dans un premier temps, une paire de vecteurs teste de

manière robuste le chemin P1 (Figure IV.5.a) allant de l'entrée I1 à la sortie O1. Il en est

de même pour le chemin P2 (Figure IV.5.b) entre I4.et O2. Ces deux entrées, I1 et I4, étant

compatibles, il est donc possible de les faire commuter simultanément.

a)

b)

c)

Chemin P1

O2

O1

I2

I1

I3

I4

0 0

00

11

1 1

XXX X

1 0

XX

I2

I1

I3

I4

0 0

1 1

X X

Chemin P2

O2

O1

00

11

XX

1 0

XX

I2

I1

I3

I4

0 0

1 1

O2

O1

00

11

1 0

1 0

Figure IV.5 : Exemple de test robuste

a) test du chemin P1, b) test du chemin P2 et c) test des deux chemins simultanément

Ainsi, il est possible de tester de manière robuste les deux chemins simultanément

(Figure IV.5.c). La paire de vecteurs (V0 =1011, V1 =0010) est donc appelée paire de

6 Une clique est un ensemble de nœud dans un graphe connexe (un nœud est connecté à tout les autres nœuds).

Page 104: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

104

vecteurs pseudo-SIC. Nous pouvons donc dire que le test de ce circuit possédant 4

entrées se ramène au test d'un circuit à 3 entrées.

Ce procédé de recherche automatique (programmé en langage C) des entrées compatibles a

été appliqué à l'ensemble des circuits de référence ISCAS'89 [Brgl89]. Le Tableau IV.7

résume les résultats obtenus. Après le nom des circuits, la deuxième colonne (n) indique le

nombre d'entrées de chacun. La dernière colonne de ce tableau (n*) présente le nombre

d'entrées obtenu après optimisation structurelle. En d'autre terme, la recherche des entrées

compatibles permet, par exemple, de ramener le test du circuit s526, possédant 24 entrées, au

test d'un circuit à 14 entrées.

Circuit n n*

s510 25 20s526 24 14s641 54 27s713 54 27s820 23 21s832 23 21s953 45 19s1196 32 23s1238 32 23s1423 91 59s1488 14 14s1494 14 14s5378 214 61s9234 247 87s13207 700 212s15850 611 183s35932 1763 16s38417 1664 100s38584 1464 147

Tableau IV.7 : Résultats de l'optimisation structurelle [More98]

IV COÛT EN SURFACE DU GÉNÉRATEUR

Afin d'estimer le coût en surface engendré par la structure de génération proposée, nous

avons considéré un environnement de test parallèle ou "test per-clock". Dans un premier

temps, nous utiliserons le schéma classique du test parallèle, c'est-à-dire, une succession de

blocs combinatoires séparés par des registres. Dans ce cas, les registres doivent soit appliquer

Page 105: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

105

la séquence de test (Générateur) soit récupérer les réponses (Analyseur de signature). Ce

premier environnement est appelé "environnement BILBO".

Nous envisagerons par la suite une structure ("C_BILBO") où les registres produisent les

séquences de test et analysent les réponses simultanément.

Pour ces environnements, les évaluations vont consister à comparer le coût en surface

engendré par une technique de génération standard (générateur de séquences MIC : LFSR

standard) avec celui engendré par la structure de génération RSIC. Il est à noter que les

contraintes utilisées pour le générateur RSIC seront de coût minimal. Nous utiliserons aussi

les résultats de l'optimisation structurelle afin de limiter le coût en surface de la structure.

VI.1 Environnement BILBO

La Figure IV.6 présente le schéma de principe du test parallèle que nous avons utilisé. Dans

le cas d'une génération de vecteur de test standard (séquences MIC), entre chaque bloc

combinatoire, un registre de cellule BILBO [Koen80, Bush00] ("Built-In Logic Block

Observation") doit être rajouté (Figure IV.6.a). Dans le cas de la génération RSIC, le registre

BILBO initial est modifié, afin qu'il puisse réaliser la fonction bascule T et les éléments

nécessaires à la génération RSIC (Transcodeur et LFSR) sont rajoutés (Figure IV.6.b).

Transcodeur

Circuitsous Test

C1

Registre BILBO

LFSR k bits

b)

n bits

Circuitsous Test

C1

Registre BILBOM

n bits

n* bits

m bits

a)

Figure IV.6 : Schéma de principe du BIST parallèle

a) génération standard MIC et b) génération RSIC

Le schéma logique d'une cellule BILBO est présenté sur la Figure IV.7.a. Une telle cellule

permet, grâce à deux entrées de commande (B1 et B2) d'obtenir les 4 modes de fonctionnement

suivants :

Page 106: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

106

! B1 = B2 = 0 : Mode SCAN

! B1 = 1 et B2 = 0 : Fonctionnement normal

! B1 = 0 et B2 = 1 : Mode Générateur (LFSR)

! B1 = B2 = 1 : Mode Analyseur de Signature (MISR)

Le registre BILBO modifié (BILBOM) est constitué de cellules qui sont présentées sur la

Figure IV.7.b. Parmi les 4 modes de fonctionnements ci-dessus, uniquement le mode

générateur est modifié. En effet, lorsque B1 = 0 et B2 = 1, la cellule BILBOM réalise la fonction

bascule T à partir de l'entrée Xn. Cette entrée est en réalité une des sorties du transcodeur. La

modification du fonctionnement de la cellule BILBO standard est obtenue en ajoutant deux

multiplexeurs.

a)

D Q Qn

CLK

Qn-1

B1

B1+B2

Dn

B1+B2D Q Qn

CLK

Qn-1

B1

Dn

B1.B2

0

1

0 1

Xn

b)

Figure IV.7 : Schéma d'une cellule BILBO a) BILBO standard et b) BILBO modifiée

Afin d'évaluer les coûts en surface, nous avons utilisé la notion de porte équivalente, noté

"PE". Pour un tel procédé d'évaluation, une porte équivalente correspond à 4 transistors. Les

valeurs de surface, pour les portes simples et les bascules, sont donc les suivantes :

! 0,5 x n pour une porte NAND ou NOR,

! 0,75 x n pour une porte AND ou OR,

! 0,5 pour une porte NOT,

! et 2,5 x (n-1) pour une porte XOR.

A partir de ces valeurs, nous obtenons les surfaces suivantes :

! Cellule BILBO :

2 portes NAND à 2 entrées 2 PE

Page 107: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

107

1 porte XOR à 2 entrées 2,5 PE

1 bascule 5,5 PE

Donc un total de 10 PE pour la cellule BILBO standard.

! Cellule BILBOM :

2 portes NAND à 2 entrées 2 PE

1 porte XOR à 2 entrées 2,5 PE

1 bascule 5,5 PE

2 multiplexeurs 2 entrées avec même commande 2,5 PE

Donc un total de 12,5 PE pour la cellule BILBO modifiée.

Les résultats, en terme d'augmentation en surface, sont reportés dans le Tableau IV.8.

Après le nom des circuits, les deux colonnes suivantes indiquent le nombre d'entrées des

circuits (n) et leurs surfaces en portes équivalentes (Aire circuit). Il est à noter que ces résultats

de surface concernent uniquement la partie combinatoire des circuits étudiés. La colonne S1

indique la surface nécessaire à une génération standard de vecteurs MIC. En d'autres termes,

cette surface correspond au registre BILBO standard en entrée du circuit sous test. Dans les

trois colonnes suivantes, nous avons reporté le nombre d'entrées optimisées (n*), le nombre de

bits utilisé sur le LFSR (m avec m = log2(n*) ) ainsi que la surface nécessaire à l'implantation

de la structure RSIC (S2). Cette surface correspond au registre BILBO modifié, au

transcodeur et au LFSR. Finalement, la dernière colonne présente le coût en surface

engendrée par la structure de génération RSIC par rapport à la génération MIC. Plus

spécialement, ce coût en surface correspond au rapport suivant :

circuit AireS1S1S2

+− (IV.6)

Page 108: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

108

MIC RSIC

Circuit n Aire circuit S1 n* m S2Coût en

Surface %

s510 25 243,5 256 20 5 506 50,1s526 24 264,5 246 14 4 473,5 44,6s641 54 321 546 27 5 889,5 39,6s713 54 351 546 27 5 889,5 38,3s820 23 446,5 236 21 5 484 36,3s832 23 455,5 236 21 5 484 35,9s953 45 414 456 19 5 753 34,1

s1196 32 614 326 23 5 602,5 29,4s1238 32 643,5 326 23 5 602,5 28,5s1423 91 749 916 59 6 1464,5 32,9s1488 14 968,5 146 14 4 348,5 18,2s1494 14 975,5 146 14 4 348,5 18,1s5378 214 2225,5 2146 61 6 3009 19,7s9234 247 4678,5 2476 87 7 3527 14,7s13207 700 6395,5 7006 212 8 9734,5 20,4s15850 611 7987 6116 183 8 8491,5 16,8s35932 1763 16726,5 17636 16 4 22216 13,3s38417 1664 18230,5 16646 100 7 21291,5 13,3s38584 1464 20446,5 14646 147 7 18979,5 12,3

Tableau IV.8 : Coût en surface de la génération RSIC par rapport

à une génération standard de type MIC dans un environnement BILBO

Les résultats, reportés dans le Tableau IV.8, montrent que le coût en surface ajoutée pour la

génération RSIC est compris, pour les plus grands circuits, entre 12 % et 20 %. Il est à noter

ce pourcentage diminue quand la taille des circuits augmente. Ce coût additionnel en surface

n'est bien sûr pas négligeable. Cependant, il faut mettre en parallèle avec ce coût le fait que la

structure de génération implantée permette de tester efficacement les modèles de panne

temporelle, panne de court-circuit et panne de collage.

VI.2 Environnement C-BILBO

Pour cette deuxième évaluation, nous allons utiliser des cellules C-BILBO [Abra90]. Ce

type de cellule permet d’obtenir à la fois les modes LFSR et MISR, ce qui est nécessaire pour

les circuits utilisés. La Figure IV.8 présente le schéma de cette cellule.

Page 109: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

109

D Q

CLK

SCAN IN

Retour polynôme MISR

Qn

B2

B1

Zn

1D Q

CLK

2DSEL

1

0

Retour polynôme LFSR

Figure IV.8 : Schéma d'une cellule C-BILBO

Ce type de cellule permet d’obtenir les 3 modes de fonctionnements suivants :

! B1 = X et B2 = 0 : Fonctionnement normal

! B1 = 0 et B2 = 1 : Mode test (LFSR et MISR simultanément)

! B1 = B2 = 1 : Mode SCAN

Comme précédemment, il est nécessaire de modifier la structure C-BILBO pour obtenir un

mode de fonctionnement bascule T dans le cas de la génération RSIC. La Figure IV.9 présente

une telle modification.

Page 110: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

110

D Q

CLK

SCAN IN

Retour polynôme MISR

Qn

B2

B1

Zn

Q

CLK

1

0

Retour polynôme LFSR

1

0TFF1

1D2D

SEL

Figure IV.9 : Schéma d'une cellule C-BILBO modifiée

A partir des Figures IV.8 et IV.9, nous obtenons les surfaces suivantes :

! Cellule C-BILBO :

1 porte AND à 2 entrées 1,5 PE

1 porte XOR à 2 entrées 2,5 PE

2 bascules 11 PE

1 multiplexeur 2 entrées 1,5 PE

Donc un total de 16,5 PE pour la cellule C-BILBO standard.

! Cellule C-BILBOM :

1 porte AND à 2 entrées 1,5 PE

2 portes XOR à 2 entrées 5 PE

2 bascules 11 PE

2 multiplexeurs 2 entrées 3 PE

Donc un total de 20,5 PE pour la cellule C-BILBO modifiée.

La Figure IV.10 présente les schémas de principe utilisés pour la génération MIC et RSIC.

Page 111: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

111

RegistreBILBO

RegistreBILBO

RegistreBILBO

Transcodeur

LFSR degré 23

Registre C

-BILBO

a)

CircuitSous Test

Registre C

-BILBOm

odifié

b)

RegistreBILBOmodifié

CircuitSous Test

Figure IV.10 : Exemple de test parallèle utilisant des registres C-BILBO

a) génération classique MIC et b) génération RSIC

Comme précédemment, le Tableau IV.9 présente les résultats obtenus avec l’utilisation de

cellules C-BILBO. Dans ce cas, comme les cellules sont plus importantes en surface mais

aussi comme la modification d’une cellule C-BILBO (mode bascule T) est plus coûteuse, les

augmentations en surface sont plus importantes. Cependant, comme dans le cas précédent, le

générateur implanté dans le système permet de tester efficacement les modèles de faute

considérés.

Page 112: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Chapitre IV

112

MIC RSIC

Circuit n Aire circuit S1' n* m S2'Coût en

Surface %

s510 25 243,5 365,5 20 5 668,5 49,8s526 24 264,5 443 14 4 746 42,8s641 54 321 910 27 5 1326 33,8s713 54 351 900 27 5 1316 33,3s820 23 446,5 459 21 5 758,5 33,1s832 23 455,5 459 21 5 758,5 32,8s953 45 414 875 19 5 1259,5 29,8s1196 32 614 583,5 23 5 931 29,0s1238 32 643,5 583,5 23 5 931 28,3s1423 91 749 1447,5 59 6 2151 32,0s1488 14 968,5 375,5 14 4 631 19,0s1494 14 975,5 375,5 14 4 631 18,9s5378 214 2225,5 3800 61 6 4975,5 19,5s9234 247 4678,5 4178,5 87 7 5615,5 16,2s13207 700 6395,5 12565 212 8 16341 19,9s15850 611 7987 10867 183 8 14182 17,6s35932 1763 16726,5 32068,5 16 4 39284,5 14,8s38417 1664 18230,5 28340,5 100 7 35484 15,3s38584 1464 20446,5 26864,5 147 7 33420 13,9

Tableau IV.9 : Coût en surface de la génération RSIC par rapport

à une génération standard de type MIC dans un environnement C-BILBO

Page 113: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

VALIDATIONS ET OPTIMISATIONS DE LA STRUCTURE

113

CONCLUSION

Ce dernier chapitre a consisté à évaluer la structure de génération présentée dans le

Chapitre III. Nous avons ainsi montré qu'il était possible d'obtenir une structure de génération

matérielle produisant des séquences de test ayant les mêmes qualités "aléatoire" que celles

précédemment utilisées qui étaient produites de manière logicielle.

Cette structure a ensuite été analysée en étudiant l'impact des différentes contraintes

nécessaires à une "bonne" génération aléatoire. De cette analyse, nous avons fait ressortir un

ensemble de contraintes permettant de minimiser le coût en surface sans pour autant dégrader

la qualité de détection des fautes.

La suite de ce chapitre a été consacrée à l'optimisation du générateur en fonction des

caractéristiques structurelles du circuit sous test. Nous avons ainsi montré qu'il était possible

de diminuer le coût en surface en transformant les séquences de test SIC en séquences de test

pseudo-SIC.

La dernière partie de ce chapitre a consisté à l'évaluation en surface de cette structure dans

des environnements de test intégré parallèle (BILBO et C-BILBO). Les résultats obtenus

montrent que la structure proposée est tout à fait viable en termes de coût en surface car nous

avons obtenu des surcoûts, pour les circuits de grandes tailles, de l'ordre de 12 %.

Le bilan de ce dernier chapitre nous permet donc de démontrer la faisabilité matérielle des

séquences de test RSIC dans un environnement de test intégré. La structure proposée permet

d'obtenir des qualités de détection de fautes identiques aux séquences de test utilisées jusqu'à

présent (séquences de test générées de manière logicielle dans le Chapitre II). De plus, cette

structure, implantée dans un environnement de parallèle, engendre un surcoût en surface

additionnel raisonnable par rapport aux avantages procurés par l'utilisation de ce type de

séquences de test.

Page 114: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

115

CCOONNCCLLUUSSIIOONN GGÉÉNNÉÉRRAALLEE

Page 115: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONCLUSION GÉNÉRALE

117

CONCLUSION GÉNÉRALE

Avec l'évolution de la complexité et des performances des circuits intégrés actuels, le test

devient de plus en plus difficile et coûteux. En effet, d'une part les performances en vitesse

des équipements externes de test (EATs) n'évoluent pas aussi rapidement que celles des

circuits. D'autre part, la complexité des circuits actuels nécessite l'application d'un très grand

nombre de données de test, ce qui nécessite de grandes capacités en mémoire dans ces EATs.

La solution proposée pour résoudre ces problèmes, appelée test intégré ou BIST, consiste à

intégrer directement dans le circuit les ressources nécessaires à son test, c'est à dire un

générateur de vecteurs de test et un analyseur de signature. Cette solution apparaît comme

étant une solution efficace à la maîtrise des coûts induits par le test [Sia99, Zori99].

Un autre aspect important du test des circuits intégrés réside dans la couverture de défauts

obtenue. Dans ce domaine, de nombreux travaux ont montré les limitations du modèle de

faute de collage classique [Nigh97a, Nigh97b, Nigh99]. Ces travaux sont à l'origine de l'étude

que nous avons menée et qui consiste à développer une architecture de génération produisant

des séquences de vecteurs RSIC (pour "Random Single Input Change") efficaces pour le test

des fautes de délai de chemin, de court-circuit et de collage.

Dans le premier chapitre de ce manuscrit, nous avons, tout d'abord, présenté une analyse

comparative entre la couverture de défaut et les couvertures de faute de certains modèles.

Cette analyse a permis de justifier l'utilisation des modèles de faute de délai et de court-circuit

en complément du modèle de faute de collage. Nous avons ensuite présenté ces différents

modèles et plus particulièrement le modèle de faute de délai et le modèle de faute de court-

circuit.

Le deuxième chapitre a présenté une analyse comparative entre les séquences RSIC et les

séquences de vecteurs plus conventionnelles appelées RMIC ("pour "Random Multiple Input

Change"). Nous avons, dans un premier temps, défini de manière théorique les séquences de

vecteurs de test aléatoires. Ces définitions nous ont conduit à l'utilisation de procédés de

génération logiciel permettant de se rapprocher le plus possible des définitions théoriques.

Ensuite, un ensemble de comparaisons entre les séquences SIC (séquences de vecteurs de test

pseudo-aléatoires générées à l'aide d'un LFSR standard) et les séquences RSIC (séquences de

vecteurs de test aléatoire générées de manière logicielle) nous a permis de montrer l'intérêt du

caractère aléatoire des séquences de test. Ensuite, les comparaisons menées sur les séquences

Page 116: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

118

aléatoires nous ont permis, dans un premier temps, de monter l'intérêt des séquences RSIC par

rapport aux séquences RMIC et, par la suite, de conclure sur l'aspect universel de ces

séquences à travers des expérimentations menées sur les trois modèles de faute (délai, court-

circuit et collage).

Après avoir montré l'intérêt d'utiliser une séquence de test RSIC, le chapitre suivant a

montré comment il était possible de réaliser un générateur matériel produisant ce type de

séquences. Dans un premier temps, nous avons présenté les différents aspects du test intégré

ainsi que la génération pseudo-aléatoire à partir d'un LFSR. La deuxième partie de ce chapitre

a été consacrée à la structure de génération de séquences de test RSIC ainsi qu'aux différentes

contraintes nécessaires à une "bonne" génération aléatoire.

Dans le dernier chapitre de ce mémoire, les aspects validation et optimisation de la

structure ont été abordés. Dans un premier temps, un ensemble de comparaisons entre la

séquence logicielle et la séquence générée par la structure proposée nous a permis de valider

l'implantation matérielle ainsi que ses contraintes de réalisation. Nous avons ensuite analysé

les contraintes liées à cette structure dans le but de réduire la surface nécessaire à

l'implantation du générateur, sans toutefois nuire à la qualité des séquences générées.

Finalement, la dernière partie a été consacrée à l'évaluation en surface de ce générateur. Les

résultats obtenus montrent que la structure proposée est tout à fait intéressante car elle

entraîne un surcoût en surface additionnelle d'environ 12 % pour les circuits de grandes

tailles.

Le bilan général de cette étude ainsi que l'ensemble des résultats et expérimentations

effectuées nous permettent de conclure sur l'intérêt des séquences de test RSIC et notamment

sur leur aspect universel. L'utilisation de ce type de séquences est une solution qui peut être

particulièrement intéressante pour certaines applications. En effet, les séquences RSIC

permettent de tester efficacement les fautes de collage, de court-circuit et de délai de chemin

et ce, pour un coût en surface additionnelle acceptable. Ceci permet donc de garantir une

couverture de défaut élevée.

Les perspectives envisageables à partir de l'étude menée peuvent s'orienter sur plusieurs

axes. Nous pourrions, par exemple, diminuer le coût en surface de la structure en réalisant un

compromis entre la génération MIC et la génération SIC. En d'autres termes, il serait

intéressant de proposer une structure de génération produisant des séquences de test dans

lesquelles deux ou trois bits changent entre deux vecteurs consécutifs. Ainsi, en profitant des

Page 117: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

CONCLUSION GÉNÉRALE

119

avantages des deux types de séquences de test, le coût en surface nécessaire à la réalisation

d'une telle structure serait plus faible.

Un autre aspect non négligeable à traiter serait de considérer un environnement de test

série. En effet, les techniques de scan sont largement utilisées par les concepteurs de circuits

intégrés bien qu'elles entraînent des temps de test très longs. Afin de s'adapter à cet

environnement, il serait intéressant de modifier la structure de génération de vecteurs RSIC en

prenant en compte la ou les chaînes de scan implantées dans le circuit.

Finalement, l'étude des séquences de test RSIC pourrait être envisagée en considérant la

consommation de puissance durant la phase de test [Guil00]. Ce problème de consommation

est de plus en plus important de part l'avènement des nouvelles technologies. Il a été montré

dans [Zori93] que la puissance dissipée est deux à trois fois plus élevée lors de l'application

du test que lors du fonctionnement normal. En effet, la consommation de puissance est

fortement liée à l'activité de commutation aux entrées du circuit sous test. L'utilisation de

séquences de test RSIC est une solution intéressante car le changement d'une seule entrée par

vecteur entraîne beaucoup moins d'activité de commutation dans le circuit.

Page 118: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

121

Annexe IAnnexe IAnnexe IAnnexe I

SSIIMMUULLAATTEEUURR DDEE FFAAUUTTEESSDDEE CCOOUURRTT--CCIIRRCCUUIITT

Page 119: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

SIMULATEUR DE FAUTES DE COURT-CIRCUIT

123

Annexe I SIMULATEUR DE FAUTES DE COURT-CIRCUIT

Les différents résultats obtenus sur le test des fautes de court-circuit sont issus d'un

simulateur que nous avons réalisé à partir de l’outil de test Testgen de Synopsys [Test99]. Le

simulateur de fautes de l'outil TESTGEN permet de réaliser une simulation de fautes de court-

circuit avec observation de type IDDQ. En d’autres termes, cet outil permet de savoir si un

court-circuit est sensibilisé, mais pas de savoir si l’effet de ce court-circuit est propagé sur une

sortie primaire du circuit. Par contre, en associant les résultats donnés par ce simulateur à

ceux donnés par un simulateur de fautes de collage, il est tout à fait possible de conclure à la

détection ou à la non-détection d’un court-circuit sur les sorties primaires du circuit. Ces deux

options de TESTGEN permettent d’obtenir une simulation de fautes de court-circuit avec

détection fonctionnelle sur les sorties primaires.

En effet, si on considère une faute de court-circuit entre deux lignes A et B, la faute de

court-circuit est détectée si la faute est sensibilisée et si son effet est propagé sur une sortie du

circuit. Le premier point nécessite deux valeurs logiques opposées sur les lignes A et B. Cette

sensibilisation est équivalente à une détection IDDQ fournie par le simulateur TESTGEN.

L’effet d’une faute de court-circuit peut maintenant être de plusieurs types [Huc95] parmi

lesquels nous n’en retiendrons que deux : comportement ET et comportement OU.

Le principe qui sera utilisé pour réaliser le simulateur de fautes de court-circuit est le

suivant. Pour chaque vecteur, une simulation de fautes de court-circuit (détection IDDQ) et

une simulation de fautes de collage est réalisée.

Pour chaque faute de court-circuit (A, B) sensibilisée (c’est à dire détectée en IDDQ) :

! Si le collage à 0 de A est détecté : Détection de la faute de court-circuit pour un

comportement ET et valeurs de sensibilisations A=1 et B=0.

! Si le collage à 1 de A est détecté : Détection de la faute de court-circuit pour un

comportement OU et valeurs de sensibilisations A=0 et B=1.

! Si le collage à 0 de B est détecté : Détection de la faute de court-circuit pour un

comportement ET et valeurs de sensibilisations A=0 et B=1.

! Si le collage à 1 de B est détecté : Détection de la faute de court-circuit pour un

comportement OU et valeurs de sensibilisations A=1 et B=0.

Page 120: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe I

124

! Sinon, l'effet de la faute de court-circuit n’est pas observé sur une sortie

primaire du circuit sous test.

Il est à noter qu’il n’est pas nécessaire de manipuler les comportements dans le simulateur

car ils sont directement déduits du type de collage détecté.

Remarque AI.1 : Une faute de court-circuit peut être détectée par une

séquence de vecteurs (ou par un seul vecteur : cf. Figure AI.1) à la fois en

comportement ET et en comportement OU. Dans ce cas, la faute de court-

circuit est, en fait, détectée quelle que soit la résistance de court-circuit.

1

0

0

1

A

BSorties

Primaires

Faute decourt-circuit

Collage à 0

Collage à 1

0/1

1/0

0/1

1/0

Figure AI.1 : Test d'une faute de court-circuit pour à la fois le comportement ET et OU

Le schéma de principe du simulateur est présenté sur la Figure AI.2.

Description duCircuit

<ckt>.v

Séquence deVecteurs

<ckt>.vec

Liste de Fautede Court-Circuit

liste_cc

Simulateurde Fautes

de Court-Circuit

Simulation Collage

Simulation IDDQ

Analyse de Fautes

Outil TESTGENSynopsys

Résultats de la simulation en termede couverture de faute pour lescomportements ET et OU.

<ckt>.sim <ckt>.res

Liste des fautes détectées par vecteur. Ilest à noter que la simulation s’effectueen "no-fault dropping".

Figure AI.2 : Schéma de principe du simulateur Sim_Bridge

Page 121: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

SIMULATEUR DE FAUTES DE COURT-CIRCUIT

125

Ce simulateur utilise trois fichiers d’entrée qui sont les suivants :

! un fichier de description du circuit au niveau porte (format Verilog : <ckt>.v),

! un fichier de vecteurs (<ckt>.vec),

! et un fichier contenant la liste des fautes de court-circuit (liste_cc).

ainsi que certaines options de TESTGEN qui sont les suivantes :

! simulateur de fautes de collages,

! simulateur IDDQ de fautes de court-circuit,

! et l'Analyse de faute.

Deux fichiers, contenant les résultats de simulation, sont générés par le simulateur de

fautes de court-circuit. Ces fichiers sont les suivants :

! Fichier <ckt>.sim : Ce fichier reporte les résultats en terme de couverture de

fautes, nombre total de fautes et nombre de fautes détectées par la séquence de

test.

! Fichier <ckt>.res : Ce fichier reporte une analyse de chaque vecteur (fautes

détectées) durant la simulation.

A titre d'information, l'Algorithme AI.1 présente en détail le fonctionnement du simulateur.

Pour chaque vecteur VECi de la séquence Simulation IDDQ de la liste de fautes de court-circuit BF ;BFi = Ensemble de fautes court-circuit sensibilisé par VECi ;/* Création d’une liste de fautes de collages */SAi = Ensemble de fautes de collage équivalentes à BFi ;Pour chaque faute de BFi

SAi = SAi + collage à 0 et 1 des deux lignes de BFi ;Simulation Collage de la liste SAi ;DSAi = Ensemble de fautes de collage détectées par VECi dans SAi ;/* Détection des courts-circuits en fonction des comportement ET et OU */Pour chaque faute de DSAi

Si collage à 0 Comportement ET détecté ;

Si collage à 1

Comportement OU détecté ;

Algorithme AI.1 : Simulateur "Sim_Bridge"

Page 122: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

127

Annexe IIAnnexe IIAnnexe IIAnnexe II

CCOOMMPPAARRAAIISSOONNSS ""AALLÉÉAATTOOIIRREE"" //PPSSEEUUDDOO--AALLÉÉAATTOOIIRREE

Page 123: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

COMPARAISONS "ALÉATOIRE" / PSEUDO-ALÉATOIRE

129

Annexe II COMPARAISONS "ALÉATOIRE" /PSEUDO-ALÉATOIRE

Les résultats et expérimentations, présentés dans cette annexe, viennent en complément des

comparaisons effectuées dans le Chapitre II concernant les séquences SIC et RSIC. Ainsi,

nous compléterons cette comparaison sur les modèles de court-circuit et collage. Nous

présenterons aussi un ensemble de comparaisons entre les séquences MIC (pseudo-aléatoire

de type LFSR standard) et les séquences RMIC (aléatoire).

I COMPARAISONS SIC / RSIC

I.1 Test des Fautes de Court-Circuit

Le Tableau AII.1 résume les expérimentations effectuées sur en ensemble représentatif de

circuits de référence ISCAS'89 [Brgl89]. Après le nom des circuits, les deux colonnes

suivantes indiquent respectivement le nombre de fautes entre paire d'entrées de porte

considéré (#fautes) ainsi que la longueur des séquences de test appliquées (#vecteurs). Les

deux dernières colonnes présentent les résultats, en terme de couverture de fautes (Tc_ET||OU),

obtenus par la séquence SIC et RSIC.

Circuit #fautes #vecteurs SICTc_ET||OU %

RSICTc_ET||OU %

s1238 647 8762 89,95 95,67s1494 969 2168 99,38 100s3330 1297 9158 35 84,58s5378 1924 7323 46,31 88,98

Tableau AII.1 : Comparaisons SIC/RSIC pour le test des fautes de court-circuit

Ces résultats démontrent clairement que le test aléatoire est plus efficace que le test

pseudo-aléatoire, dans le cas de séquences de test SIC, pour le test des fautes de court-circuit.

I.2 Test des Fautes de Collage

Le Tableau AII.2 présente les résultats obtenus par les séquences SIC et RSIC sur le test

des fautes de collage. Après le nom des circuits, la deuxième colonne indique la couverture de

Page 124: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe II

130

fautes obtenue à l'aide d'un ATPG (ATPG Tc % ). Il à noter que cette couverture de fautes a

été obtenue avec une efficacité complète. Si la couverture de fautes n'est pas de 100%, le

circuit possède des redondances combinatoires (par exemple le circuit s1238). La colonne

trois (# vecteurs) indique les longueurs de séquence appliquées aux circuits. Les deux

dernières parties (SIC et RSIC) présentent respectivement les résultats obtenus en terme de

taux de couverture (Tc % ) et d'efficacité (Eff % ). Comme dans le cas du test des fautes de

court-circuit, ces résultats montrent l'intérêt du test aléatoire par rapport au test pseudo-

aléatoire.

SIC RSICCircuit ATPG Tc % #vecteurs Tc % Eff % Tc % Eff %s1238 94,8 8772 85,68 90,38 91,48 96,5s1494 99,19 7903 98,38 99,18 99,19 100s3330 100 9231 38,80 38,8 77,25 77,25s5378 99,13 9990 50,77 51,22 88,27 89,04

Tableau AII.2 : Comparaisons SIC/RSIC pour le test des fautes de collage

II COMPARAISONS MIC / RMIC

Dans le Tableau AII.3, nous avons reporté les résultats, en termes d'efficacité robuste (Eff R

% ) et non-robuste (Eff NR % ), obtenus par les séquences MIC et RMIC.

Dans tous les cas, la séquence RMIC est plus efficace que la séquence MIC pour un test

robuste. De manière similaire, l'efficacité non-robuste, obtenue avec la séquence RMIC, est

meilleure. Ces résultats démontrent bien les avantages d'une génération de vecteurs aléatoires.

Page 125: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

COMPARAISONS "ALÉATOIRE" / PSEUDO-ALÉATOIRE

131

MIC RMICCircuit #vecteurs Eff R % Eff NR% Eff R % Eff NR %

s298 68800 30,69 70,05 36,65 100s382 139800 20,88 79,42 33,52 99,86s386 73600 26,33 70,53 40,82 100s420 132200 21,55 61,29 37,24 84,31s510 136600 23,76 71,14 31,78 100s526 139600 20,62 74,03 30,09 100s641 277800 16,88 81,55 18,12 97,11s713 441800 20,72 84,41 20,76 96,74s1238 499200 18,42 70,32 29,35 99,84s1494 351800 23,24 72,62 30,83 99,78s3330 158620 23,18 92,62 23,47 90,71s5378 297300 17,87 65,09 24,51 97,09

Tableau AII.3 : Comparaisons MIC/RMIC pour un test robuste et non-robuste

Dans le cadre de ces comparaisons MIC et RMIC, nous avons aussi utilisé les modèles de

faute de collage et de court-circuit. Dans ce cas, les résultats en terme de couverture de fautes

ou d'efficacité sont très proches quel que soit les type de séquence de test utilisée. Ceci

provient du type de circuit utilisé pour nos expérimentations. En effet, dans les circuits

combinatoires, le test d'une faute de collage ou de court-circuit nécessite l'application d'un

vecteur pour être détectée. L'aspect succession "aléatoire" de vecteurs n'est donc pas

nécessaire pour augmenter la qualité de détection des séquences de test.

III BILAN DES COMPARAISONS ALÉATOIRE / PSEUDO-ALÉATOIRE

Le Tableau AII.4 résume les différentes comparaisons effectuées. A titre d'exemple, une

séquence aléatoire de vecteurs non-adjacents (RMIC) est plus efficace qu'une séquence

pseudo-aléatoire de vecteurs non-adjacents (MIC) pour le test des fautes de délai.

Faute deDélai

Faute deCourt-Circuit

Faute deCollage

Séquence de vecteursnon-adjacents Aléatoire

Pseudo-Aléatoireou

Aléatoire

Pseudo-Aléatoireou

Aléatoire

Séquence de vecteursadjacents Aléatoire Aléatoire Aléatoire

Tableau AII.4 : Bilan des comparaisons pseudo-aléatoire / aléatoire

Page 126: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe II

132

Le bilan général de ces expérimentations montre que l'aspect aléatoire des séquences de

test est très important afin d'obtenir des couvertures de fautes élevées. Il est à noter que dans

le cas du test des fautes de court-circuit ou des fautes de collage, les taux de couverture de

fautes obtenus par les séquences MIC et RMIC sont équivalents. Vu que nous avons traité

uniquement le cas du test des circuits combinatoires, les problèmes liés aux successions de

vecteurs ne se posent pas dans le cas du test de ces deux modèles de faute. Par contre, cette

conclusion n'est plus valable dans le cadre du test des circuits séquentiels car ce type de

circuit nécessite une séquence de vecteurs de test ordonnés pour sensibiliser la faute et

propager son effet vers une sortie primaire. Dans ce cas, l'utilisation d'une séquence RMIC

pour le test des fautes de collage est préférable [Pete00].

Page 127: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

133

Annexe IIIAnnexe IIIAnnexe IIIAnnexe III

PPRROOBBAABBIILLIITTÉÉSS DDEE TTRRAANNSSIITTIIOONN EENN

FFOONNCCTTIIOONN DDUU PPAARRAAMMÈÈTTRREE σσσσσσσσ

Page 128: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

PROBABILITÉS DE TRANSITION EN FONCTION DU PARAMÈTRE σ

135

Annexe III PROBABILITÉS DE TRANSITION

EN FONCTION DU PARAMÈTRE σ

Dans cette annexe, nous allons présenter les calculs de probabilité de transition. Cette

probabilité correspond au nombre de chances de refaire la même transition à l'instant l+λ que

celle qui a été effectuée à l'instant l. Pour cela, nous avons considéré deux cas qui sont les

suivantes :

! LFSR "aléatoire" σ = m

! et LFSR standard σ = 1.

I CAS D'UN LFSR "ALÉATOIRE"

Dans ce cas, nous allons considérer la structure présentée dans le Chapitre III avec comme

contraintes :

! n = 2m,

! et σ = m.

Afin de calculer la probabilité Pr[t(l+λ)=t(l)], nous avons considéré l'exemple m=2 et n=4.

Nous avons ramené le problème du calcul de cette probabilité sous forme de graphe (Figure

AIII.1). Dans ce graphe, les nœuds représentent les distances de Hamming, notées dh, entre

vecteurs et les arcs représentent les différentes possibilités de passer d'une distance de

Hamming à l'autre. De plus, chaque arc est pondéré en fonction du nombre de possibilités de

passer d'une dh à l'autre.

Page 129: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe III

136

dh = 0

dh = 1

dh = 0 dh = 2

dh = 1 dh = 3

dh = 0 dh = 2 dh = 4

l-1

l

l+1

l+2

l+3

Transition 1

1 3

4 22

1 3 3 1

Figure AIII.1 : Graphe général d’évolution des transitions

A l’aide de ce graphe, nous allons calculer la probabilité de refaire la transition à l’instant

l+2. Dans ce cas, le paramètre λ = 2. Ce calcul entraîne certaines conditions qui sont les

suivantes :

! à l+1 (l+λ-1) dh = 0

! à l+2 (l+λ) dh = 1

Ces deux contraintes confirment que la transition est réalisée entre les instants l+1 et l+2. A

partir de ces deux contraintes, le calcul de la probabilité se ramène à calculer le nombre de

chemins dans le graphe permettant d’obtenir une distance de Hamming de 1 (dh = 1) à

l’instant l+λ-2. Ainsi, pour λ = 2 le graphe de la Figure AIII.1 se ramène à un graphe à deux

nœuds présenté sur la Figure AIII.2.

dh = 0

dh = 1

l-1

l

1

Figure AIII.2 : Calcul de Pr pour λ = 2

Page 130: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

PROBABILITÉS DE TRANSITION EN FONCTION DU PARAMÈTRE σ

137

A partir de ce graphe, il faut calculer le nombre de chemins permettant d’obtenir une dh de

1 à l’instant l. Pour cela, nous notons :

Nb_dhi(l)

comme étant le nombre de chemins dans le graphe permettant d’obtenir une dh de i à l’instant

l. Dans notre cas, Nb_dhi(l) = 1. La probabilité de refaire la transition est donc la suivante :

161

n1 t(l)]2)Pr[t(l 2 ===+

Afin de généraliser ce calcul pour λ > 2, considérons le graphe de la Figure AIII.3.

dh = 1 dh = 3 l+4

4 22

dh = 0

dh = 1

dh = 0 dh = 2

dh = 1 dh = 3

dh = 0 dh = 2 dh = 4

l-1

l

l+1

l+2

l+3

1

1 3

4 22

1 3 3 1

4

Figure AIII.3 : Généralisation du calcul de Pr

A l’aide de ce graphe, le calcul de Pr[t(l+λ)=t(l)] se ramène au calcul de :

Nb_dh1(l+λ-2) = Nb_dh1(l+2i)

En réalisant ce calcul de manière récursive nous obtenons les relations suivantes :

Nb_dh1(l+2i) = 4*Nb_dh0(l+2i-1) + 2*Nb_dh2(l+2i-1)

= 10*Nb_dh1(l+2i-2) + 6*Nb_dh3(l+2i-2) (AIII.1)

A partir de cette équation il faut exprimer Nb_dh3(l+2i-2) en fonction de Nb_dh1(l+2i-2).

Nous obtenons donc la relation suivante :

Nb_dh3(l+2i-2) = n2(i-1) - Nb_dh1(l+2i-2) (AIII.2)

Page 131: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe III

138

Finalement, à l’aide des Équations AIII.1 et AIII.2, la formule permettant de calculer Pr est

la suivante :

Nb_dh1(l+2i) = 4*Nb_dh1(l+2i-2) + 6*n2(i-1) (AIII.3)

En appliquant cette formule nous pouvons calculer, de manière récursive, la probabilité de

refaire la transition pour toute valeur de λ. Nous obtenons ainsi les valeurs suivantes :

! λ = 2 Pr[t(l+2)=t(l)] = 2n1

! λ = 4 Pr[t(l+4)=t(l)] = 4n10

! λ = 6 Pr[t(l+6)=t(l)] = 6n136

Cependant, l’Équation AIII.3 n’est valable que pour m=2 et n=4. En généralisant cette

formule, pour toutes valeurs de n, nous obtenons l’équation suivante :

Nb_dh1(l+2i) = (3n-8)*Nb_dh1(l+2i-2) + 6*[n2(i-1)-∑−

=+ −+

1i

2j12j 2)2i(lNb_dh ] (AIII.4)

II CAS D'UN LFSR STANDARD

Après avoir calculé les probabilités de transition dans le cas d’un LFSR "aléatoire", dans

cette partie, nous allons considérer le cas d'un LFSR standard. Dans ce cas, nous allons

considérer la structure présentée dans le Chapitre III avec comme contraintes :

! n = 2m,

! et σ = 1.

De plus, nous avons considéré l'exemple m = 2 et n = 4. Comme précédemment, nous

avons ramené le problème du calcul de cette probabilité sous forme de graphe. Par contre,

dans ce cas, nous avons utilisé le graphe d'états du LFSR présenté sur la Figure AIII.4. Dans ce

graphe, les nœuds représentent les différents états du LFSR et les arcs les différentes

possibilités de passage d'un état à l'autre. Il est à noter que, pour un état donné, uniquement

deux états suivants sont possibles. En effet, dans une structure de LFSR standard, uniquement

le premier bit est recalculé à chaque cycle d'horloge. Les autres bits, constituant le vecteur,

sont obtenus par décalage des bits du vecteur précédent. Ainsi, à partir du vecteur 01, par

exemple, nous pouvons uniquement obtenir les vecteurs 00 et 10. De plus, dans ce graphe, les

Page 132: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

PROBABILITÉS DE TRANSITION EN FONCTION DU PARAMÈTRE σ

139

variables xi indiquent l'entrée du circuit qui va changer entre deux vecteurs consécutifs. Dans

la suite, nous appellerons ces variables des contraintes de transition.

1 1

0 1

0 0 1 0

x2

x1

x4

x3

Figure AIII.4 : Graphe d'états d'une LFSR standard

A partir de ce graphe, nous pouvons déduire les propriétés suivantes afin de calculer la

probabilité de refaire la même transition :

1. Pour qu'une même transition se reproduise, il faut que la dernière contrainte

soit identique à la première

2. De plus, il faut que toutes les contraintes apparaissent un nombre de fois paires

afin de revenir au même état initial. Ceci permet donc de refaire la même

transition.

Avec ces deux propriétés, calculons Pr pour λ = 2. Considérons le cas où le vecteur de

départ du LFSR est 11. Dans ce cas, la première contrainte est x3. En parcourant le graphe de

la Figure AIII.4, nous obtenons les quatre suites suivantes :

! x3 x1 x4 : valeur finale x4 ≠ x3

! x3 x1 x2 : valeur finale x2 ≠ x3

! x3 x3 x1 : valeur finale x1 ≠ x3

! x3 x3 x3 : valeur finale égale à la valeur initiale et x3 apparaît deux fois

A l'aide des deux propriétés citées ci-dessus, uniquement la suite x3 x3 x3 permet de

refaire la transition à l'instant l+2. Plus généralement, uniquement les valeurs de départs x3 et

x4 permettent d'obtenir une possibilité de refaire la transition. Ainsi, nous considérerons deux

groupes de valeurs pour effectuer le calcul de la probabilité de transition qui sont les

suivants :

Page 133: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

Annexe III

140

! groupe G1 (11,00) ou (x3,x4)

! et le groupe G2 (01,10) ou (x1,x2).

Nous obtenons donc les valeurs suivantes :

! λ = 2 Pr[t(l+2)=t(l)]G1 = 41

et Pr[t(l+2)=t(l)]G2 = 0

! λ = 4 Pr[t(l+4)=t(l)]G1 = 161

et Pr[t(l+2)=t(l)]G2 = 161

! λ = 6 Pr[t(l+6)=t(l)]G1 = 644

et Pr[t(l+2)=t(l)]G2= 646

III BILAN

Afin de mettre en évidence l'influence du paramètre σ sur la qualité de la génération RSIC,

nous avons réuni, dans le Tableau AIII.1, les valeurs de probabilité obtenues en fonction de λ.

L'ensemble des résultats présentés concerne le cas m = 2 et n = 4. De plus, les valeurs du

tableau sont représentées sous forme graphique sur la Figure AIII.5.

σσσσ = 1 σσσσ = mPr[t(l+λλλλ)=t(l)]G1 Pr[t(l+λλλλ)=t(l)]G2 Pr[t(l+λλλλ)=t(l)]

l+1 0 0 0l+2 0,2500 0 0,0625l+3 0 0 0l+4 0,0625 0,0625 0,0391l+5 0 0 0l+6 0,0625 0,0938 0,0332

Tableau AIII.1 : Valeurs des probabilités

Ces calculs de probabilité montrent l'importance du paramètre σ pour la qualité de

génération de la séquence RSIC. En effet, la probabilité de refaire la transition dans le cas ou

σ = 1 est 4 fois plus grande que dans le cas ou σ = m.

Page 134: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

PROBABILITÉS DE TRANSITION EN FONCTION DU PARAMÈTRE σ

141

0

0,05

0,1

0,15

0,2

0,25

0,3

l+1 l+2 l+3 l+4 l+5 l+6

Pr[t(l+)=t(l)]G1 sigma = 1

Pr[t(l+)=t(l)]G2 sigma = 1

Pr[t(l+)=t(l)] sigma = mσ = m

σ = 1

Figure AIII.5 : Représentation graphique des valeurs de probabilité

De plus, ces résultats peuvent être étendus à toutes valeurs de m et n pour λ = 2. En effet,

dans ce cas nous obtenons les probabilités suivantes :

! σ = m Pr[t(l+2)=t(l)] = 2n1

! σ = 1 Pr[t(l+2)=t(l)] = 41

Ainsi, il est donc préférable d'utiliser un LFSR "aléatoire" pour la génération RSIC plutôt

qu'un LFSR standard.

Page 135: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

143

RRÉÉFFÉÉRREENNCCEESS

Page 136: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

RÉFÉRENCES

145

RÉFÉRENCES

[Abra90] M. Abramovici, M. A. Breuer and A. D. Friedman, "Digital Systems Testing andTestable Design", IEEE Press, 1990.

[Aitk99] R.C. Aitken, “Nanometer Technology Effects on Fault Models for IC Testing”,IEEE Computer, Vol. 32, N° 11, pp. 46-51, 1999.

[Al-H85] M.H. Al-Hussein, "Path Delay Computation Algorithms for VLSI Systems",VLSI Design Conf., pp. 86-91, 1985.

[Alin01] M. Aline, "Évaluation et optimisation de performances et Technologie CMOSsubmicronique", Thèse de Doctorat, Laboratoire d’Informatique, de Robotiqueet de Microélectronique de Montpellier, 2001.

[Bard87] P.H. Bardell, W.H. McAnney, and J. Savir, "Built-In Test for VLSI:Pseudorandom Techniques", John Wiley & Sons, 1987.

[Bard90] P.H. Bardell, "Analysis of Cellular Automata Used as Pseudorandom PatternGenerators", Proc. of International Test Conference, pp. 762-767, 1990.

[Barz83] Z. Barzilai and B.K. Rosen, "Comparison of AC Self-Testing Procedures", Proc.of International Test Conference, pp. 89-94, 1983.

[Brgl85] F. Brglez, H. Fujiwara, "A Neutral Netlist of 10 Combinational BenchmarkCircuits and a Target Translator in FORTRAN", Proc. of IEEE InternationalSymposium on Circuits and Systems, pp. 663-698, 1985.

[Brgl89] F. Brglez, D. Bryant and K. Kozminski, "Combinational Profiles of SequentialBenchmark Circuits", IEEE Int. Symp. on Circuits and Systems, pp. 1929-1934,1989.

[Bush00] M.L. Bushnell and V.D. Agrawal, "Essentials of Electronic Testing for Digital,Memory & Mixed-Signal VLSI Circuits", Kluwer Academic Publishers, 2000

[Cava97] P. Cavallera, "Simulation de Pannes Temporelles dans les Circuits Séquentiels",Thèse de Doctorat, Laboratoire d’Informatique, de Robotique et deMicroélectronique de Montpellier, 1997.

[Cart82] W.C. Carter, "Signature Testing with Guaranteed Bounds for Fault Coverage",Proc. of International Test Conference, pp. 75-82, 1982.

[Chak99] K. Chakrabarty, B.T. Murray and V. Iyengar, “Built-In Test Pattern Generationfor High Performance Circuits Using Twisted-Ring Counters”, IEEE VLSI TestSymp., pp. 22-27, 1999.

[Chen96] K.T. Cheng and H.C. Chen, "Classification and Identification of NonrobustUntestable Path Delay Faults", IEEE Transactions on Computer-Aided Designof Integrated Circuits and Systems, Vol. 15, No. 8, pp. 845-853, 1996.

Page 137: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

146

[Cho87] C.K. Cho, "Quality programming – Developing and testing software withstatistical quality control", Wiley, 1987

[Crai85] G.L. Craig and C.R. Kime, “Pseudo-Exhaustive Adjacency Testing: A BISTApproach for Stuck-Open Faults”, IEEE Int. Test Conf., pp. 126-137, 1985.

[Crep96] S. Crepaux-Motte, M. Jacomino and R. David, “An Algebraic Method for DelayFault Testing”, IEEE VLSI Test Symposium, pp. 308-315, 1996.

[Daga97] J.M. Daga, "Modélisation des Performances Temporelles des Circuits CMOSSubmicroniques au Niveau Porte Logique", Thèse de Doctorat, Laboratoired’Informatique, de Robotique et de Microélectronique de Montpellier, 1997.

[Dand84] R. Dandapani, J. Patel and J. Abraham, “Design of Test Pattern Generators forBuilt-In Test”, IEEE Int. Test Conf., pp. 315-319, 1984.

[Davi86] R. David, "Signature Analysis for Multiple Output Circuits", Transactions onComputers, Vol. C-35, N° 9, September, pp. 830-837, 1986.

[Davi98] R. David, "Random Testing of Digital Circuits: Theory and Applications",Marcel Dekker, 1998.

[Derv91] B.I. Dervisoglu, G.E. Stong, "Design for Testability Using Scanpath Techniquesfor Path-Delay Test and Measurement", Proc. of International Test Conference,Nashville, TN, USA, pp. 365-374, 1991.

[Edir92] G. Edirisooriya and J.P. Robinson, “Design of Low Cost ROM Based TestGenerators”, IEEE VLSI Test Symp., pp. 61-66, 1992.

[Fago98] C. Fagot, O. Gascuel, P. Girard and C. Landrault, “A Ring Architecture Strategyfor BIST Test Pattern Generation”, IEEE Asian Test Symposium, pp. 418-423,1998.

[Fago99] C. Fagot, O. Gascuel, P. Girard and C. Landrault, “On Calculating EfficientLFSR Seeds for Built-In Self Test”, IEEE European Test Workshop, pp. 7-14,1999.

[Gira92] P. Girard, "Diagnostic de pannes temporelles dans les circuits digitaux", Thèsede Doctorat, Laboratoire d’Informatique, de Robotique et de Microélectroniquede Montpellier, 1992.

[Gira97] P. Girard, C. Landrault, V. Moreda and S. Pravossoudovitch, “An OptimizedBIST Test Pattern Generator for Delay Testing”, IEEE VLSI Test Symposium,pp. 94-99, 1997.

[Golo82] S.W. Golomb, "Shift Register Sequences", Aegean Park Press, 1982.

[Gonç97] F.M. Gonçalves, I.C. Teixeira and J.P. Teixeira, "Realistic Fault Extraction forHigh Quality Design and Test of VLSI Systems", Proc. of the IEEE Int. Symp.on Defect and Fault Tolerance in VLSI Systems, pp. 29-37, 1997.

Page 138: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

RÉFÉRENCES

147

[Guil00] L. Guiller, "Réduction de la consommation durant le test des circuits VLSI",Thèse de Doctorat, Université Montpellier II, 2000

[Hass84] S.Z. Hassan and E.J. McCluskey, "Increased Fault Coverage Through MultipleSignatures", Proc. of International Fault-Tolerant Computing Symposium, pp.354-359, 1984.

[Haya84] T. Hayashi, K. Hatamyama, K. Sato and T. Natabe, "A Delay Test Generator forLogic LSI", Proc. of the 14th Fault-Tolerant Comp. Symp., pp. 146-149, 1984.

[Hell95] S. Hellebrand, J. Rajski, S. Tarnick, S. Venkataraman and B. Courtois, “Built-InTest for Circuits with Scan Based on Reseeding of Multiple-Polynomial LinearFeedback Shift Registers”, IEEE Trans. on Computers, Vol. 44, N° 2, pp. 223-233, February 1995.

[Hell98] S. Hellebrand, H.J. Wunderlich and A. Hertwig, “Mixed-Mode BIST UsingEmbedded Processors”, Journal of Electronic Testing: Theory and Applications(JETTA), Vol. 12, N°1/2, pp. 127-138, February/April 1998.

[Hitc82a] R.B. Hithcock, G.L. Smith and D.D. Cheng, "Timing Analysis of ComputerHardware", IBM Journal Research and Development, vol. 26, pp. 100-105,January, 1982.

[Hitc82b] R.B. Hithcock, "Timing Verification and Timing Analysis Program", Proc. Ofthe 19th Design Autom. Conf., pp. 594-604, 1982.

[Hort89] P.D. Hortensius, R.D. McLeod, W. Pries, M. Miller, and H.C. Card, "CellularAutomata Based Pseudorandom Number Generators for Built-In Self-Test",Transactions on Computer-Aided Design, Vol. 8, N° 8, August 1989, pp. 842-858.

[Hort90] P.D. Hortensius, R.D. McLeod and B.W. Podaima, "Cellular Automata Circuitsfor Built-In Self-Test", IBM Journal of Research and Development, Vol. 34,N°2/3, March/May 1990, pp. 389-405.

[Howe81] M.J. Howes and V.D. Morgan, "Reliability and Degradation – SemiconductorDevices and Circuits", Wiley-Interscience, 1981.

[Hsie77] E.P. Hsieh, R.A. Rasmussen, L.J. Vidunas and W.T. Davis, "Delay TestGeneration", Proc. of the 14th Design Automation Conference, pp. 486-491,1977.

[Huc95] P. Huc, "Test en tension des courts-circuits en technologie CMOS", Thèse dedoctorat, Université de Montpellier II, 1995.

[Kief00] G. Kiefer; H. Vranken, E.J. Marinissen and H.J. Wunderlich, “Application ofDeterministic Logic BIST on Industrial Circuits”, IEEE Int. Test Conf., pp. 105-114, 2000.

[Kish86] K. Kishida, F. Shirotori Y. Ikemoto, S. Ishiyama and T. Hayashi, "A Delay TestSystem for High Speed Logic LSI’s", Proc. of the 23th Design Autom. Conf.,pp. 786-790, 1986.

Page 139: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

148

[Knut81] D.E. Knuth, "Seminumerical Algorithms", Art of Computer Programming,Tome 2, Reading, 2e Edition, 1981.

[Koep86] S. Koeppe, "Modeling and Simulation of Delay Faults in CMOS LogicCircuits", Proc. of International Test Conference, Washington DC., USA, pp.530-536, 1986.

[Kone80] B. Konemann, J. Mucha, and G. Zwiehoff, "Built-in Test for Complex DigitalIntegrated Circuits", Journal of Solid State Circuits, Vol. SC-15, N° 3, June, pp.315-318 1980.

[Koen91] B. Koenemann, “LFSR-Coded Test Patterns for Scan Designs”, IEEE Euro. TestConf., pp. 237-242, 1991.

[Krst98] A. Krst! and K.-T. Cheng, "Delay Fault Testing for VLSI circuits", KluwerAcademic Publishers, 1998.

[Lavo98] D. Lavo, B. Chess, T. Larrabee and F. Ferguson, "Diagnosing Realistic BridgingFaults with Single Stuck-at Information", IEEE Trans. on CAD, Vol. C-17, N° 3,pp. 255-267, 1998.

[Leve86] Y. Levendel and P.R. Menon, "Transition Faults in Combinational Circuits:Input Transition Test Generation and Fault Simulation", Proc. of 16th Fault-Tolerant Comp. Symp., pp. 278-283, 1986.

[Li89] W.N. Li, S.M. Reddy and S.K. Sahni, "On Path Selection in CombinationalLogic Circuits", IEEE Trans. On Computer-Aided Design, vol. 8, no. 1, pp. 56-63, January1989.

[Lin87] C. Lin, S. M. Reddy, "On Delay Fault Testing in Logic Circuits", IEEE Trans.on Computer-aided Design, vol CAD-6, No.5, pp. 694-703, 1987.

[Ma95] S.C. Ma, P. Franco and E.J. McCluskey, “An Experimental Chip to EvaluateTest Techniques Experiment Results”, IEEE Int. Test Conf., pp. 663-672, 1995.

[Ma99] S. Ma, I. Shaik and R. Fetherston, "A Comparison of Bridging Fault SimulationMethods", IEEE Int. Test Conf., pp. 587-595, 1999.

[Mao89] W. Mao, M.D. Ciletti, "A Simplified Six-Waveform Type Method for DelayFault Testing", Proc. of 26th Design Automation Conference, Las Vegas,Nevada, USA, pp. 730-733, 1989.

[McCl84] E.J. McCluskey, “Verification Testing: A Pseudo-Exhaustive Test Technique”,IEEE Trans. on Computers, Vol. C-33, N° 6, pp. 541-546, 1984.

[Mei74] K. Mei, "Bridging and Stuck-at Faults", IEEE Trans. on Computers, Vol. C-23,N° 7, pp. 720-727, 1974.

[Midk93] S.F. Midkiff, S.W. Bollinger, "Clasification of bridging faults in CMOS circuit :Experimantal results and implications for test", IEEE VLSI on Test Symp., pp.112-115, 1993.

Page 140: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

RÉFÉRENCES

149

[More98] V. Moreda, "Test et Test Intégré de Pannes Temporelles", Thèse de Doctorat,Laboratoire d’Informatique, de Robotique et de Microélectronique deMontpellier, 1998.

[Nigh97a] P. Nigh, W. Needham, K. Butler, P. Maxwell and R. Aitken, “An ExperimentalStudy Comparing the Relative Effectiveness of Functional, Scan, Iddq andDelay Fault Testing”, IEEE VLSI Test Symp., pp. 459-464, 1997.

[Nigh97b] P. Nigh, W. Needham, K. Butler, P. Maxwell, R. Aitken and W. Maly, "So Whatis an Optimal Test Mix? A Discussion of the SEMATECH MethodsExperiment", Proc. of International Test Conference, pp.1037-1038, 1997.

[Nigh99] P. Nigh, D. Vallet, A. Patel, J. Wright, F. Motika, D. Forlenza, R. Kurtulik andW. Chong, "Failure Analysis of Timing and IDDq-only Failures from theSEMATECH Test Methods Experiments", Proc. of International TestConference, pp.1152-1161, 1999.

[Park87] E.S. Park, M.R. Mercer, "Robust and Nonrobust Tests for Path Delay Faults in aCombinational Circuit", Proc. of International Test Conference, WashingtonDC., USA, pp. 1027-1034, 1987.

[Pete00] A. Petitqueux, "Test Intégré des Circuits Séquentiels", Thèse de doctorat,Université de Montpellier II, 2000.

[Pila93] S. Pilarski, A. Pierzynska, “BIST and Delay Fault Detection”, IEEE Int. TestConf., pp. 236-241, 1993.

[Prad94] D.K. Pradhan and M. Chatterjee, "GLFSR – A new Test Pattern Generator forBuilt-In-Self-Test", Proc. of International Test Conference, pp. 481-490, 1994.

[Pram88] A.K. Pramarick, S.M. Reddy, "On Detection of Delay Faults", Proc. ofInternational Test Conference, Washington DC., USA, pp. 845-856, 1988.

[Prép97] V. Prépin, "Test Aléatoire de Circuits Combinatoires. Nouvelle Mesure deTestabilité", Thèse de doctorat, INP Grenoble, 1997.

[Rajs87] J. Rajsky and H. Cox, "A Method of Test Generation and Fault Diagnosis inVery Large Combinational Circuits", Proc. of International Test Conference, pp.932-943, 1987.

[Redd87] S.M. Reddy, C.J. Lin and S. Patil, "An Automatic Test Pattern Generator forDetection of Path Delay Faults", Proc. of IEEE/ACM International Conf. onComputer-Aided Design, pp. 284-287, 1987.

[Rodr92] R. Rodriguez-Montanez, E.M.J.G. Bruls, J. Figueras, "Bridging defectsresistance measurements in a CMOS process", Int. Test Conference, pp. 892-899, 1992.

[Savi84] J. Savir and P.H. Bardell, “On Random Pattern Test Length”, IEEE Trans. onComputers, Vol. C-33, N° 6, pp. 467-474, 1984.

Page 141: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

150

[Savi85] J. Savir and W.H. McAnney, "On the Masking Probability with Ones Countsand Transition Count", Proc. of International Conference on Computer-AidedDesign, pp. 111-113, 1985

[Savi86] J. Savir, W.H. McAnney, "Random Pattern Testability of Delay Faults", Proc. ofInternational Test Conference, pp. 263-273, 1986.

[Schu87] M.H. Schulz, F. Brglez, "Accelerated Transition Fault Simulation", Proc. of 24thDesign Automation Conference, Miami Beach, Florida, USA, pp. 237-243,1987.

[Serv01] G. Servel, "Effets Parasites dus aux Interconnexions", Thèse de Doctorat,Université Montpellier II, 2001

[Sia99] Semiconductor Industry Association (SIA), "International Technology Roadmapfor Semiconductors (ITRS)", 1999 Edition.

[Smit85] G. L. Smith, "Model for delay faults based upon paths", Proc. of InternationalTest Conference, pp. 342-349, 1985.

[Srin97] M.K. Srinivas, M.L. Bushnell and V.D. Agrawal, "Flags and Algebra forSequential Circuit VNR Path Delay Fault Test Generation", Proc. ofInternational Conf. on VLSI Design, pp. 88-94, 1997.

[Star84] C.W. Starke, “Built-In Test for CMOS Circuits”, IEEE Int. Test Conf., pp. 309-314, 1984.

[Test99] TestGen, version Tg4.1, User Guide, Synopsys Inc., 1999.

[Toub96a] N.A. Touba and E.J. McCluskey, “Altering a Pseudo-Random Bit Sequence forScan-Based BIST”, IEEE Int. Test Conf., pp. 167-175, 1996.

[Toub96b] N.A. Touba and E.J. McCluskey, “Applying Two-Pattern Tests Using Scan-Mapping”, IEEE VLSI Test Symp., pp. 393-397, 1996.

[Turg96] S. Turgis, "Conception Faible Puissance : Définition d’un Macro-Modèle dePuissance Interne dans les Structures CMOS Submicroniques", Thèse deDoctorat, Laboratoire d’Informatique, de Robotique et de Microélectronique deMontpellier, 1996.

[Vuks94] A. Vuksic and K. Fuchs, “A New BIST Approach for Delay Fault Testing”,IEEE VLSI Test Symp., pp. 284-288, 1994.

[Waic86] J.A. Waicukauski, E. Lindbloom, B. Rosen, V. Iyengar, "Transition FaultSimulation by Parallel Pattern Single Fault Propagation", Proc. of InternationalTest Conference, pp. 542-549, 1986.

[Waic87] J.A. Waicukauski, E. Lindbloom, B.K. Rosen, V.S. Iyengar, "Transition FaultSimulation", IEEE Design and Test, pp. 32-38, 1987.

[Wagn87] K.D. Wagner, C.K. Chin and E.J. McCluskey, “Pseudo-Random Testing”, IEEETrans. on Computers, Vol. C-36, N° 3, pp. 332-343, 1987.

Page 142: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

RÉFÉRENCES

151

[Wang94] W. Wang and S.K. Gupta, “Weighted Random Robust Path Delay Testing ofSynthesized Multilevel Circuits”, IEEE VLSI Test Symp., pp. 291-297, 1994.

[Will73] M. Williams and J. Angel, "Enhancing Testability of LSI Circuits via TestPoints and Additional Logic", Transactions on Computers, Vol C-22, N° 1, pp.1198-1200, 1973.

[Will85] T. Williams, “Test Length in a Self-Testing Environment”, IEEE Design & Testof Computers, Vol. 2, N° 2, pp. 59-63, 1985.

[Wund87] H.J. Wunderlich, “Self Test Using Unequiprobable Random Patterns”, IEEE Int.Symp. on Fault-Tolerant Computing, pp. 258-263, 1987.

[Yarm88] V.N. Yarmolik and S.N. Demidenko, "Generation and Application ofPseudorandom Sequences for Random Testing", John Wiley and Sons, New-York, 1988.

[Zori93] Y. Zorian, "A Distributed BIST Control Scheme for Complex VLSI Devices",IEEE VLSI Test Symposium, pp. 4-9, 1993.

[Zori99] Y. Zorian, "Testing the Monster Chip", IEEE Spectrum, Vol. 36, N° 7, pp. 54-60, 1999.

Page 143: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

152

RÉFÉRENCES RELATIVES À L’ÉTUDE

- Revues Scientifiques avec Comité de Lecture -

[Davi01a] R. David, P. Girard, C. Landrault and S. Pravossoudovitch, A. Virazel,"Hardware Generation of Random Single Input Change Test Sequences ",Journal of Electronic Testing (JETTA), in press, 2001.

[Gira99] P. Girard, C. Landrault, V. Moréda, S. Pravossoudovitch and A. Virazel, "Ascan-BIST structure to test delay faults in sequential circuits", Journal ofElectronic Testing (JETTA), Vol. 14, n° 1/2, pp. 95-102, February/April 1999.

[Vira01a] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch, "Delayfault testing: Choosing between random SIC and random MIC test sequences",Journal of Electronic Testing (JETTA), Vol. 17, n° 3/4, pp. 233-241, June 2001.

- Conférences avec Actes et Comité de Lecture -

[Davi01b] R. David, P. Girard, C. Landrault, S. Pravossoudovitch and A. Virazel, "OnHardware Generation of Random Single Input Change Test Sequences", IEEEEuropean Test Workshop, in press, 2001.

[Davi01c] R. David, P. Girard, C. Landrault, S. Pravossoudovitch and A. Virazel, "RSICGeneration: A Solution for Logic BIST", 11th IFIP International Conference onVLSI, pp. 111-117, 2001.

[Gira98a] P. Girard, C. Landrault, V. Moréda, S. Pravossoudovitch and A. Virazel, "A newscan-BIST structure to test delay faults in sequential circuits", IEEE EuropeanTest Workshop, pp. 44-48, 1998.

[Gira98b] P. Girard, C. Landrault, V. Moréda, S. Pravossoudovitch and A. Virazel, "ABIST structure to test delay faults in a scan environment", IEEE 7th Asian TestSymposium, pp. 435-439, 1998.

[Gira00] P. Girard, C. Landrault, S. Pravossoudovitch and A. Virazel, "Comparisonbetween random and pseudo-random generation for BIST of delay, stuck-at andbridging faults", 6th IEEE International On-Line Testing Workshop, pp. 121-126, 2000.

[Vira00a] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch, "Delayfault testing: Choosing between random SIC and random MIC test sequences",IEEE European Test Workshop, pp. 21-26, 2000.

Page 144: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

RÉFÉRENCES RELATIVES À L’ÉTUDE

153

- Colloques sans Actes ou avec Actes à Diffusion Restreinte -

[Vira99a] A. Virazel, P. Girard, C. Landrault and S. Pravossoudovitch, "Analyse descapacités de test de générateurs intégrés produisant des vecteurs adjacents",Colloque CAO de Circuits Intégrés et Systèmes, Aix-en-Provence (Fuveau), pp.88-91, 1999.

[Vira00b] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch, "BISTStructures Generating Universal Test Sequences for Delay, Bridging and Stuck-at Faults", Référence LIRMM n°00401, South European Test Seminar, SaintGervais, France, 2000.

[Vira00c] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch, "TestIntégré de Circuits Digitaux : Etude Comparative de l’Efficacité de deux typesde Séquences de Test", Journées Nationales du Réseau Doctoral deMicroélectronique, pp. 86-87, 2000.

[Vira01b] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch,"Universal Test Sequences: A BIST Application", Référence LIRMM n°01050,South European Test Seminar, Neustift, Austria, 2001.

[Vira01c] A. Virazel, R. David, P. Girard, C. Landrault and S. Pravossoudovitch, "TestIntégré de Circuits Digitaux : Comparaison de deux types de Séquences deTest", Journées des Doctorants, pp. 158-160, 2001.

[Vira01d] A. Virazel, "Effectiveness of Random Adjacent Test Sequences for BIST ofVLSI Circuits", SIGDA Ph.D. Forum at the 38th Design AutomationConference, Las Vegas, 2001.

Page 145: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

155

LLIISSTTEESS DDEESS AALLGGOORRIITTHHMMEESS,,CCOOUURRBBEESS,, FFIIGGUURREESS EETT TTAABBLLEEAAUUXX

Page 146: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

LISTES DES ALGORITHMES, COURBES, FIGURES ET TABLEAUX

157

LISTES DES ALGORITHMES,COURBES, FIGURES ET TABLEAUX

Algorithme II.1 : Étapes de la génération RMIC .................................................................................. 41Algorithme II.2 : Étapes de la génération RSIC................................................................................... 42Algorithme AI.1 : Simulateur "Sim_Bridge"........................................................................................ 125

Courbe II.1 : Efficacités des séquences RMIC et RSIC pour le circuit s382 ........................................ 47Courbe II.2 : Illustration de l'efficacité réelle ......................................................................................... 50Courbe II.3 : Comparaison des efficacités réelles des séquences RMIC et RSIC pour différentes

valeurs du taux de succès a) SNR = 10 %, b) SNR = 50 % e c) SNR = 90 %............... 52Courbe II.4 : Exemples d'évolutions des taux de couverture de faute obtenues sur le circuit s1494 .. 61Courbe IV.1 : Illustration des résultats robuste a) RSICS et b) RSICH1.............................................. 88Courbe IV.2 : Illustration des résultats non-robuste a) RSICS et b) RSICH1....................................... 91Courbe IV.3 : Évolutions des générations RSICH1 et RSICH2............................................................ 94Courbe IV.4 : Évolutions des générations RSICH1 et RSICH3............................................................ 95Courbe IV.5 : Évolutions des générations RSICH1 et RSICH4............................................................ 97Courbe IV.6 : Comparaisons RSICH4 et RSICH5 pour un test robuste............................................... 99Courbe IV.7 : Comparaisons RSICH4 et RSICH5 pour un test non-robuste ..................................... 100

Figure I.1 : Estimations sur les délais en fonction de la génération technologique [Sia99] ................. 11Figure I.2 : Bilan des tests "pass" et "fail" (source SEMATECH) ........................................................ 13Figure I.3 : Inverseur en technologie CMOS ........................................................................................ 14Figure I.4 : Modélisation des temps de montée et de descente d’une porte NOR............................... 15Figure I.5 : Classification des différents modèles de faute de délai ..................................................... 15Figure I.6 : Schéma de principe du test de délai .................................................................................. 18Figure I.7 : Cas idéal du test d'une faute de délai de chemin............................................................... 20Figure I.8 : Exemples de signaux contenant des aléas a) aléa statique et b) aléa dynamique ........... 20Figure I.9 : Invalidation du test par masquage...................................................................................... 21Figure I.10 : Chronogramme des signaux avec invalidation du test par masquage............................. 21Figure I.11 : Invalidation d’un test par un aléa...................................................................................... 22Figure I.12 : Chronogramme des signaux avec invalidation du test par un aléa.................................. 22Figure I.13 : Cas d’une porte AND en détection robuste a) chemin lent à monter

et b) chemin lent à descendre ........................................................................................ 23Figure I.14 : Exemple de test de délai robuste ..................................................................................... 24Figure I.15 : Chronogramme des signaux pour un test robuste ........................................................... 24Figure I.16 : Cas d’une porte AND en détection non-robuste a) chemin lent à monter

et b) chemin lent à descendre ........................................................................................ 25Figure I.17 : Exemple de test de délai non-robuste.............................................................................. 25Figure I.18 : Chronogramme des signaux pour un test non-robuste a) détection

et b) non-détection de la panne...................................................................................... 26Figure I.19 : Classification des fautes de délai de chemin ................................................................... 27Figure I.20 : Cas d’une porte AND en détection "Strong non-robuste" a) chemin lent à monter

et b) chemin lent à descendre ........................................................................................ 28Figure I.21 : Classement des nœuds.................................................................................................... 29Figure I.22 : Classification des courts-circuits ...................................................................................... 30Figure I.23 : Modèles de faute de court-circuit a) comportement ET ("wire AND")

et b) comportement OU ("wire OR") ............................................................................... 31Figure I.24 : Détection d’une faute de court-circuit a) comportement ET et b) comportement OU...... 32Figure II.1 : Génération logicielle d'une séquence RMIC a) n 15 et b) n > 15.................................. 40Figure II.2 : Génération logicielle d'une séquence RSIC...................................................................... 41Figure III.1 : Architecture classique du test intégré .............................................................................. 66

Page 147: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

158

Figure III.2 : Le test intégré série ("test-per-scan") ............................................................................... 67Figure III.3 : Le test intégré parallèle ("test-per-clock") ........................................................................ 68Figure III.4 : Architectures de LFSR a) LFSR à portes XOR externes (type 1)

et b) LFSR à portes XOR internes (type 2) .................................................................... 69Figure III.5 : Exemple d'un LFSR à trois étages ................................................................................... 70Figure III.6 : Principe du générateur RSIC............................................................................................ 72Figure III.7 : Structure d'un LFSR "aléatoire" a) LFSR standard, b) Séquence générée

et c) Réalisation matérielle pour = 2 ........................................................................... 75Figure III.8 : Transcodage de R(l) à V(l) ............................................................................................... 77Figure III.9 : Bascule T.......................................................................................................................... 77Figure III.10 : Représentation sous forme de tableau de Karnaugh du choix des valeurs de Ti.......... 78Figure III.11 : Exemple de décodeur pour n = 3 et m = 4 ..................................................................... 79Figure IV.1 : Comparaison RSICS et RSICH1 en robuste pour deux longueurs

de la séquence de test.................................................................................................... 89Figure IV.2 : Comparaison RSICS et RSICH1 en non-robuste pour deux longueurs

de la séquence de test.................................................................................................... 92Figure IV.3 : Exemple de décodeur pour n = 3 et m = 2....................................................................... 98Figure IV.3 : Exemple de circuit .......................................................................................................... 102Figure IV.4 : Représentation du circuit sous forme de graphe a) graphe de dépendance,

b) graphe d'incompatibilité et c) graphe de compatibilité ............................................. 102Figure IV.5 : Exemple de test robuste a) test du chemin P1, b) test du chemin P2

et c) test des deux chemins simultanément ................................................................. 103Figure IV.6 : Schéma de principe du BIST parallèle a) génération standard MIC

et b) génération RSIC ................................................................................................... 105Figure IV.7 : Schéma d'une cellule BILBO a) BILBO standard et b) BILBO modifiée........................ 106Figure IV.8 : Schéma d'une cellule C-BILBO...................................................................................... 109Figure IV.9 : Schéma d'une cellule C-BILBO modifiée....................................................................... 110Figure IV.10 : Exemple de test parallèle utilisant des registres C-BILBO

a) génération classique MIC et b) génération RSIC .................................................. 111Figure AI.1 : Test d'une faute de court-circuit pour à la fois le comportement ET et OU................... 124Figure AI.2 : Schéma de principe du simulateur Sim_Bridge............................................................. 124Figure AIII.1 : Graphe général d’évolution des transitions ................................................................. 136Figure AIII.2 : Calcul de Pr pour λ = 2................................................................................................ 136Figure AIII.3 : Généralisation du calcul de Pr ..................................................................................... 137Figure AIII.4 : Graphe d'états d'une LFSR standard .......................................................................... 139Figure AIII.5 : Représentation graphique des valeurs de probabilité ................................................. 141

Tableau I.1 : Estimations sur la densité d'intégration et sur la surface des puces [Sia99]................... 11Tableau II.1 : Comparaisons SIC/RSIC pour un test robuste ............................................................... 43Tableau II.2 : Comparaisons SIC/RSIC pour un test non-robuste........................................................ 44Tableau II.3 : Résultats ATPG obtenus sur le circuit s382 ................................................................... 45Tableau II.4 : Efficacités Robustes et Non-Robustes pour les séquences RMIC et RSIC................... 46Tableau II.5 : Efficacités réelles pour le circuit s382 avec différentes valeurs du taux de succès ....... 51Tableau II.6 : Résultats ATPG délai obtenus sur les circuits ISCAS'89 ............................................... 53Tableau II.7 : Efficacités robustes et non-robustes des séquences RMIC et RSIC ............................. 54Tableau II.8 : Efficacités réelles pour avec différentes valeurs du taux de succès .............................. 55Tableau II.9 : Taux de couverture de fautes de court-circuit pour la séquence RMIC ......................... 56Tableau II.10 : Taux de couverture de fautes de court-circuit pour la séquence RSIC........................ 57Tableau II.11 : Taux de couverture de fautes de court-circuit avec des séquences de test

de longueurs compatibles à celles utilisées pour le test des fautes de délai .............. 57Tableau II.12 : Résultats ATPG collage obtenus sur les circuits ISCAS'89 ......................................... 58Tableau II.13 : Comparaisons RMIC et RSIC sur le modèle de faute de collage................................. 59Tableau II.14 : Synthèse des résultats démontrant l'efficacité des séquences de test RSIC

(* résultats obtenus avec des séquences de 10000 vecteurs de test) ........................ 60Tableau III.1 : Exemple de polynômes primitifs .................................................................................... 71Tableau III.2 : Explication de l'implantation du LFSR "aléatoire".......................................................... 75Tableau IV.1 : Validation de la structure pour un test robuste a) RSICS et b) RSICH1....................... 87Tableau IV.2 : Validation de la structure pour un test non-robuste a) RSICS et b) RSICH1................ 90

Page 148: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

LISTES DES ALGORITHMES, COURBES, FIGURES ET TABLEAUX

159

Tableau IV.3 : Comparaisons RSICH1 et RSICH2............................................................................... 93Tableau IV.4 : Comparaisons RSICH1 et RSICH3............................................................................... 95Tableau IV.5 : Comparaisons RSICH1 et RSICH4............................................................................... 97Tableau IV.6 : Comparaisons RSICH4 et RSICH5............................................................................... 99Tableau IV.7 : Résultats de l'optimisation structurelle [More98]......................................................... 104Tableau IV.8 : Coût en surface de la génération RSIC par rapport à une génération standard

de type MIC dans un environnement BILBO ............................................................. 108Tableau IV.9 : Coût en surface de la génération RSIC par rapport à une génération standard

de type MIC dans un environnement C-BILBO.......................................................... 112Tableau AII.1 : Comparaisons SIC/RSIC pour le test des fautes de court-circuit .............................. 129Tableau AII.2 : Comparaisons SIC/RSIC pour le test des fautes de collage ..................................... 130Tableau AII.3 : Comparaisons MIC/RMIC pour un test robuste et non-robuste................................. 131Tableau AII.4 : Bilan des comparaisons pseudo-aléatoire / aléatoire ................................................ 131Tableau AIII.1 : Valeurs des probabilités ............................................................................................ 140

Page 149: T INTÉGRÉ DES CIRCUITS DIGITAUX ANALYSE ET GÉNÉRATION …virazel/These/phd_french.pdf · participé grandement à ces travaux. Qu'il trouve dans ces lignes tout mes remerciements

TTEESSTT IINNTTÉÉGGRRÉÉ DDEESS CCIIRRCCUUIITTSS DDIIGGIITTAAUUXXAANNAALLYYSSEE EETT GGÉÉNNÉÉRRAATTIIOONN DDEE SSÉÉQQUUEENNCCEESS AALLÉÉAATTOOIIRREESS AADDJJAACCEENNTTEESS

Thèse de Doctorat – 14 Novembre 2001 – Arnaud VIRAZELUniversité de Montpellier II / LIRMM – Discipline : Microélectronique

RÉSUMÉ : Cette thèse s'inscrit dans le cadre du test intégré des circuits digitaux et plusparticulièrement dans la problématique nouvelle induite par les rendements de fabrication etles phénomènes particuliers apparaissant dans les technologies submicroniques. En effet, dansces technologies, l'importance relative de défaillances, non représentées par le modèleclassique de collage, peut devenir prépondérante. Ainsi, pour obtenir des séquences de testayant une couverture de défauts satisfaisante, la prise en compte d'autres modèles de pannestels que les courts-circuits et les délais devient indispensable. L'utilisation de ces modèlesinduit des propriétés particulières de détection liées à la structure même des séquences de test.L'étude présentée dans la première partie de ce manuscrit porte précisément sur l'analysecomparative des qualités de détections de divers types de séquences de test. Nous montronsainsi que les séquences aléatoires adjacentes (séquences dites RSIC pour "Random SingleInput Change") sont particulièrement efficaces lorsque l'on considère, en complément dumodèle de collage, les modèles de court-circuit et délai. La deuxième partie de ce manuscritest quant à elle consacrée à la réalisation matérielle d'un générateur intégré produisant detelles séquences aléatoires adjacentes.

MOTS CLÉS : Test Intégré, Faute de Collage, Faute de Court-circuit, Faute de Délai, TestAléatoire, Séquences de Vecteurs Adjacents, Séquence de Test Universelle.

BBUUIILLTT--IINN SSEELLFF TTEESSTT OOFF DDIIGGIITTAALL CCIIRRCCUUIITTSSAANNAALLYYSSIISS AANNDD GGEENNEERRAATTIIOONN OOFF AADDJJAACCEENNTTSS RRAANNDDOOMM SSEEQQUUEENNCCEESS

Ph.D. Thesis – November 14, 2001 – Arnaud VIRAZELUniversity of Montpellier II / LIRMM – Discipline: Microelectronics

ABSTRACT: This thesis focuses on built-in self test of digital circuits problems and moreespecially on the new problems induced by manufacturing yield optimization and particularemerging phenomena in submicronics technologies. In fact, in these technologies, the relativeimportance of defects not represented by the common stuck-at fault model may becomesignificant. Thus, in order to obtain efficient defect coverage test sequences, it becomesessential to consider other fault models such as bridging and delay fault models. The use ofthese models induces particular detection properties related to the test sequences structure.The first part of this work proposes a comparison of the detection qualities of various types oftest sequences. We show that random adjacent sequences (RSIC sequences for "RandomSingle Input Change") are especially efficient when the bridging and delay fault models areconsidered in addition to the common stuck-at fault model. The second part of this manuscriptis dedicated to the hardware implementation of an integrated generator producing suchadjacent random sequences.

KEYWORDS: Built-In Self Test, Stuck-at Fault, Bridging Fault, Delay Fault, Random Testing,Single Input Change Sequences, Universal Test Sequence.

Université de Montpellier II : Sciences et Techniques du LanguedocLIRMM : Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier

161 Rue Ada – 34392 Montpellier Cedex 5