Les techniques de test en-ligne sont inevitables pour les applications qui necessitent de
mon-trer l'etat du systeme lors du fonctionnement normal. Les futurs systemes doivent inclure des
moyens d'autotest qui implementent les techniques de test en-ligne telles que les techniques
de redondance du materiel, de redondance du temps, et de redondance de l'information
(techniques de codage).
Les techniques de redondance du materiel comptent parmi les techniques primitives
utilisees pour la detection en ligne des fautes des systemes numeriques. Pour ces
tech-niques, des copies du systeme a tester sont utilisees 82], 93], et 99] et les sorties des copies
sont connectees a un element de vote de majorite. Avec n copies identiques du systeme,
le schema de la redondance du materiel peut tolerer n=2 copies fautives. Dans le cas de la
redondance dynamique, les copies fautives, lorsqu'elles tombent en panne, sont remplacees
automatiquement par de nouvelles copies.
Les techniques de redondance du temps sont basees sur la repetition des operations
nom-inales dans les periodes de repos des unites fonctionnelles du circuit sous test. Les avantages
de ces techniques, par rapport aux autres techniques, sont : le materiel supplementaire
necessaire pour l'implementation est negligeable et la degradation de performances du
cir-cuit sera banalisee. Pour ces techniques, chaque operation est repetee plusieurs fois avant que
le circuit ne delivre le resultat nal. Les sorties a chaque fois sont stockees pour la
compara-ison 21], 61], et 93]. Par exemple, un additionneur peut ^etre teste en repetant l'operation
de l'addition trois fois 61]. D'abord, l'operation d'addition est eectuee sur les donnees
A, B selon la relation de sortie S = A+B et la valeur de sortie obtenue est stockee. La
deuxieme operation sera eectuee selon la relationS =B+A et la nouvelle valeur de sortie
est comparee avec la valeur stockee. Chaque dierence est marquee et stockee. La troisieme
operation d'addition sera eectuee selon la premiere relation S = A+B et l'operation de
comparaison se repete en remarquant s'il y a un desaccord entre la valeur calculee et la valeur
stockee. S'il n'y a pas de desaccord, alors le resultat obtenu a la premiere etape peut ^etre
utilise, il n'y a pas de faute. S'il y a des desaccords, alors il est possible de determiner les
bits errones et de les corriger.
Les techniques de redondance de l'information, ou techniques de codage, eectuent la
m^eme idee de base : celle de transformer le mot de donnees par des operations logiques sur
les bits de donnees en un autre mot code et augmente en taille. Parmi les codes les plus
connus, on compte les codes de parite 38], 90], et 93] et les codes de residu 2], 101], 76], et
93]. Chaque mot code comporte les bits originaux de mot de donnees (bits d'information) et
les bits de verication (check bits) resultant de l'operation de codage. Les bits de verication
sont construits pour examiner les bits d'information.
Les techniques de redondance du materiel sont tres co^uteuses en surface. Les techniques
de redondance de l'information restent parmi les moyens les plus importants utilises
au-jourd'hui pour le test en-ligne des systemes numeriques. Le probleme avec ces techniques
reside dans la dependance, de la qualite du test, des informations recues sur les entrees
du systeme. Cela rend ces techniques pauvres en couverture de faute. Les techniques de
redondance du temps peuvent pallier ce probleme par deux aspects : l'application du test
deterministe dans les temps oisifs des operateurs et la verication du calcul qui vient d'^etre
eectue sur le systeme. La presente etude est basee sur l'exploitation de la redondance du
35
temps pour realiser le test en-ligne. Cela nous conduit a etudier, plus en detail, des
tech-niques de redondance du temps. Plusieurs methodes sont exposees, comparees, et adoptees
par cette etude. Ces methodes concernent deux categories de test en-ligne : le test en-ligne
non-concurrent et le test en-ligne semi-concurrent. Elles conviennent aux environnements ou
l'occurrence de faute permet la verication periodique du resultat toutes lesNeme iterations
du processus a la place de la verication a la n de chaque iteration.
2.4.1 Test en-ligne concurrent
La methode concernee de test en-ligne concurrent 2] et 101] exploite essentiellement la
redondance analytique decrivant les relations entre les histoires des signaux d'entrees et de
sorties du systeme sous test. Cette methode est applicable aux systemes numeriques lineaires.
L'objet de ce travail est d'etudier une nouvelle approche de conception et d'integration des
detecteurs de defauts en-ligne. La methode garanti aussi une detection robuste de fautes,
c'est a dire une sensibilite maximale pour les fautes et minimale pour le bruit genere a
l'interieur des systemes.
Le fait que cette methode adresse seulement les systemes numeriques lineaires limite un
peu son champ d'application. L'exploitation de la redondance analytique dans le systeme
fait intervenir la complexite du systeme sur la methode de test en-ligne. Les methodes de
test en-ligne non-concurrent et semi-concurrent permettent de contourner cette diculte par
l'exploitation de la redondance temporelle dans le systeme sous test.
2.4.2 Test en-ligne non-concurrent
Le test en-ligne non-concurrent, au niveau unite fonctionnelle, vise a appliquer des vecteurs
de test sur les unites fonctionnelles pendant leurs temps oisifs. Le systeme doit ^etre equipe
d'une unite de generation, d'application et d'analyse de resultat de test.
Dans 103] (Singh et Knight) on propose une methode de test pseudo-aleatoire integre.
A partir d'un graphe de ot de donnees ordonnance, un schema de test en-ligne est insere
pour assurer l'application des vecteurs de test sur les operateurs. Le schema de test doit
comprendre tous les chemins de l'ordonnancement nominal du systeme.
Le test en-ligne non-concurrent convient plut^ot aux fautes permanentes. Il n'a pas ete
susamment adresse pour le test deterministe. L'un des objectifs de nos travaux consiste a
evaluer ce type de test en-ligne pour le test deterministe.
Dans ce contexte, nous proposons une methode de test non-concurrent integre. Une
unite de generation, d'application et d'analyse de resultat de test est presentee. Les co^uts en
surface et en delai de l'implementation de la methode sont evalues. Un algorithme d'insertion
des operations de test dans les temps oisifs est presente.
Les avantages de notre methode par rapport a celle presentee par Singh et Knight 103]
resident dans deux points. Le premier est que nous proposons un test deterministe integre, ce
qui signie qu'une couverture elevee de faute est garantie. Le deuxieme et que la testabilite
en-ligne est prise en compte au niveau de la compilation, i.e., au niveau du choix du graphe
de ot de donnees. Ce qui ameliore la qualite du test.
2.4.3 Test en-ligne semi-concurrent
Les methodes de test en-ligne semi-concurrent utilisent les entrees/sorties fonctionnelles du
systeme pour appliquer des excitations sur les dierents operateurs. Ces excitations sont
36
appliquees pendant les temps oisifs des operateurs. Un des points communs entre ce type
de methodes et les methodes de test en-ligne concurrent est l'utilisation des entrees/sorties
fonctionnelles du systeme (ou de l'operateur). Une dierence reside dans le fait que les
methodes de test en-ligne semi-concurrent ne considerent pas analytiquement l'information
continue dans ces entrees/sorties. En eet, les bits recoltes des entrees/sorties des operateurs
sont consideres comme une longue sequence de vecteurs de test aleatoire. Cependant, ce type
de test en-ligne peut viser la validation d'une des proprietes fonctionnelles de l'operateur
teste. Le test semi-concurrent est considere ecace pour les systemes qui fonctionnent
avec un ot continu et varie de donnees. Ce ot de donnees peut ^etre considere comme
une sequence tres longue de vecteur de test aleatoire qui mene a une couverture de faute
acceptable.
Dans cette section, deux types de methodes de test en-ligne semi-concurrent sont
ex-posees. La premiere consiste a appliquer un test fonctionnel par l'exploitation de la
dis-tributivite de la multiplication par rapport a l'addition. La deuxieme methode 6] consiste
a refaire le calcul qui a ete eectue sur le systeme mais dans les temps oisifs des operateurs
et en permutant les unites fonctionnelles. Les resultats des deux calculs sont compares pour
la detection des erreurs.
Pour appliquer un test fonctionnel base sur l'exploitation de la distributivite de la
multi-plication par rapport a l'addition, il faut disposer des entrees et des sorties fonctionnelles de
l'operateur considere. Ces entrees et sorties sont decalees a droite ou a gauche. Le nombre
de bits et la direction du decalage peut dependre de la nature et de la position de l'octet
vise par le test. En fait, vu la consideration des entrees fonctionnelles comme une longue
sequence de vecteurs de test aleatoire, on peut xer le decalage a un octet a gauche et
la diversite des entrees fonctionnelles garantira une bonne couverture de faute. Apres le
decalage, l'operation est realisee sur le m^eme operateur par les entrees decalees. Le resultat
est compare a la sortie fonctionnelle decalee. En cas de dierence entre les deux reponses,
une erreur est signalee.
La methode de la verication globale du calcul consiste a refaire le calcul qui vient d'^etre
eectue sur le systeme nominal et a comparer le resultat avec le resultat nominal. Pour cela,
les unites fonctionnelles sont reutilisees, quand c'est possible, dans leurs temps oisifs. Une
allocation d'unites fonctionnelles, dierente de celle nominale, est eectuee pour augmenter
l'ecacite du test (la probabilite de faire manifester la faute). Le test eectue par cette
methode est un test fonctionnel qui est independant de la technologie.
Cette methode adresse les systemes a un faible taux d'occurrence de fautes. Cela rend
raisonnable le fait que le test ne soit pas realise de facon concurrente avec chaque iteration
du systeme mais periodiquement toute la neme iteration (n depend de l'application et du
taux de l'occurrence de fautes).
A partir de ces deux methodes, nous proposons une nouvelle methode de test en-ligne
semi-concurrent. Elle consiste a combiner les principes des deux methodes pour ameliorer
la qualite du test. Les avantages apportes par notre methode resident, essentiellement, dans
trois points :
La generalisation de la premiere methode pour considerer globalement le systeme.
La possibilite de tester des architectures contenant une seule unite fonctionnelle pour
chaque type d'operations ou la permutation des operateurs n'est pas possible
37
L'exploitation des variante-duales du graphe de ot de donnees pour le test en-ligne.
Le tableau (2.2) resume la dierence entre les methodes de test en-ligne qui ont ete exposees
dans cette section.
Test en-ligne Excitation Application
Concurrent Entrees/sorties fonctionnelles Detecteur integre
Semi-concurrent Entrees/sorties fonctionnelles Temps oisifs
Non-concurrent Vecteurs de test (BIST) Temps oisifs
Table 2.2: Methodes de test en-ligne.
La gure (2.1) represente une synthese des techniques de test en-ligne et montre les
methodes adressees par la presente etude.
Test intégré
Ad-Hoc
Test fonctionnel Test structurel
Redondance du matériel Redondance du temps Non-concurrent Semi-concurrent
Test en-ligne BIST Scan
Exploitation des temps oisifs des unités fonctionnelles Test hors-ligne
Concurrent
Redondance de l’information
Code de résidu
Figure 2.1: Les techniques de test integre / Test en-ligne.
Dans le document
Synthèse de haut niveau pour la testabilité en-ligne
(Page 36-39)