• Aucun résultat trouvé

Techniques de test en-ligne

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.