• Aucun résultat trouvé

3.3 Conception, synth` ese, optimisation et impl´ ementation

3.3.5 Conception et synth` ese du module WCM

Les op´erations des cellules dans le wrapper sont d´efinies par un vecteur de confi- guration de test, appel´ee TCF (Test Configuration Frame). On note que la TCF peut ˆetre comprise comme une instruction de test. Le module de contrˆole princi- pal de test int´egr´e dans le GAC g´en`ere des configurations de test selon la strat´egie de test. Ensuite, ces configurations de test sont envoy´ees aux modules de contrˆole WCM des wrappers. Afin de r´eduire le nombre des interconnexions entre le GAC et les WCM, la TCF est coup´ee en plusieurs ´el´ements. Dans notre cas, chaque ´el´ement se compose de deux bits et est donc cod´e par une donn´ee MR[4] envoy´es aux WCM en s´erie en utilisant la chaˆıne de configuration.

Dans notre impl´ementation, une TCF se compose de 25 digits MR[4] (cf. fi- gure 3.23). Le premier MR[4] (M) de la TCF sp´ecifie le mode de fonctionnement du

Fig. 3.23 : Vecteur de configuration de test (TCF).

wrapper affect´e. Le dernier MR[4] (EoF) sp´ecifie la fin de la TCF. Les trois MR[4] avant le dernier MR[4] de la TCF codent l’identifiant (ID) du wrapper concern´e.

Le rˆole du module WCM est de recueillir les MR[4] successifs envoy´es sur la chaˆıne de configuration jusqu’`a ce qu’il forme une TCF compl`ete pour son wrapper. Quand il a re¸cu une TCF compl`ete (en d´etectant une indication « EoF » comme dernier MR[4] de la TCF), le module WCM doit d´eterminer si la TCF est destin´ee `a son wrapper ou pas. Ceci est fait au moyen du champ d’identification (ID) adressant les wrappers de test successifs sur la chaˆıne de configuration. Si le champ d’iden- tification correspond `a celui de son wrapper de test, le module WCM du wrapper concern´e va g´en´erer les signaux de contrˆole pour les cellules de son wrapper en consultant les valeurs de la TCF.

Pour impl´ementer ce fonctionnement, nous avons propos´e une architecture pour le module WCM dans la figure 3.24. Le module WCM se compose donc d’un bloc

Fig. 3.24 : Module de contrˆole du wrapper (WCM).

de d´ecalage appel´e « Frame Shifter », d’un d´etecteur de fin de la TCF appel´e « EoF Detector », d’un bloc de v´erification d’identifiant appel´e « ID Verifier », et d’un bloc de g´en´eration des signaux de contrˆole appel´e « Control Generator ».

Le bloc « Frame Shifter » nous permet de recevoir un nouveau digit MR[4] de la chaˆıne de configuration via l’entr´ee cfg-in, de d´ecaler `a droite d’une position les digits MR[4], et de faire sortir le MR[4] de poids faible de la chaˆıne de configuration

via la sortie cfg-out. Le d´etecteur « EoF Detector » d´etecte la fin de la TCF. Une fois que la TCF est compl`ete, il active le bloc « ID Verifier ». Le bloc « ID Veri- fier » v´erifie l’identifiant de la TCF. Si l’identifiant correspond `a celui du wrapper, le bloc « Control Generator » est activ´e et il envoie les commandes aux cellules du wrapper. L’explication d’une trame de configuration de test est pr´esent´ee dans le tableau 3.5.

Tab. 3.5 : D´etails d’une trame de configuration

EoF Valeur sp´eciale indiquant la fin d’une configuration ID[2 :0] Identifiant du wrapper de test

EMS[i] Activer le signal ctrl-mode pour la cellule OTC-i

M CS[i] D´efinir la valeur du signal ctrl-mux pour la cellule OTC-i

EME[i] Activer le signal ctrl-mode pour la cellule ITC-i

M CE[i] D´efinir la valeur du signal ctrl-mux pour la cellule ITC-i

M Mode du wrapper de test affect´e par la configuration

La valeur de chaque MR[4] peut ˆetre “0”, “1”, “2”, ou “3” (respectivement {00}, {01}, {10}, {11} en codage binaire). La valeur “3” est r´eserv´ee pour l’indication EoF. Les autres MR[4] de configuration peuvent donc seulement ˆetre “0”, “1” ou “2”. Dans la trame de configuration de test, pr´esent´ee dans la figure3.23, il y a trois MR[4] de configuration utilis´es pour encoder les IDs des wrappers de test. Cette trame de configuration de test peut donc ˆetre utilis´ee pour un r´eseau sur puce de 27 routeurs maximum (33). Pour les r´eseaux plus larges, il est n´ecessaire d’ajouter

d’autres MR[4] de configuration pour ce champ d’identification.

La valeur de M peut ˆetre “0” (mode normal), “1” (mode test), ou “2” (mode bypass). La valeur des signaux de contrˆole ctrl-mode pour toutes les cellules est la valeur indiqu´ee par le digit M. Cependant, ces valeurs ne seront transf´er´ees qu’aux cellules de test activ´ees par les digits EM (Enable ctrl-Mode). L’´ecriture sur le canal ctrl-mode[i] de la cellule ITC-i est activ´ee quand EME[i] = “1”. De fa¸con similaire,

l’´ecriture sur le canal ctrl-mode[i] de la cellule OTC-i est activ´ee quand EMS[i] =

“1”. La valeur ´ecrite sur la canal ctrl-mux [i] de la cellule ITC-i est `a ‘1’ quand M CE[i] est ´egal `a “2”, et la valeur ´ecrite sur la canal ctrl-mux [i] de la cellule ITC-i

est `a ‘0’ quand M CE[i] est ´egal `a “1”. De fa¸con similaire, la valeur ´ecrite sur le canal

ctrl-mux [i] de la cellule OTC-i est `a ‘1’ quand M CE[i] est ´egal `a “2”, et la valeur

´

ecrite sur le canal ctrl-mux [i] de la cellule OTC-i est `a ‘0’ quand M CE[i] est ´egal `a

“1”.

Ce qui peut se r´esumer par les ´equations suivantes :

– M CE[i] = “2” ⇒ ctrl-mux de la cellule ITC-i est ´ecrit par la valeur ‘1’

– M CS[i] = “1” ⇒ ctrl-mux de la cellule OTC-i est ´ecrit par la valeur ‘0’

– M CS[i] = “2” ⇒ ctrl-mux de la cellule OTC-i est ´ecrit par la valeur ‘1’

– EME[i] = “1” ⇒ ctrl-mode de la cellule ITC-i peut ˆetre ´ecrit par la valeur M

– EMS[i] = “1” ⇒ ctrl-mode de la cellule OTC-i peut ˆetre ´ecrit par la valeur M

Les tableaux 3.6 et 3.7 suivants r´esument les commandes pour une cellule ITC et pour une cellule OTC.

Tab. 3.6 : Commandes pour une cellule ITC

M EME[i],M CE[i] ctrl-mode ctrl-mux Description

0 XX 0 - Mode normal

1 00 - - Pas de commande 1 01 - 0 Insertion dans la chaˆıne 1 02 - 1 D´ecalage de la chaˆıne

1 12 1 1 Extraction de la chaˆıne et injection dans le routeur

1 11 1 0 Identique au mode normal mais en passant par la chaˆıne de d´ecalage

2 XX 2 - Mode bypass

Note : (-) signifie que ce signal de contrˆole n’est pas concern´e.

Tab. 3.7 : Commandes pour une cellule OTC

M EMS[i],M CS[i] ctrl-mode ctrl-mux Description

0 XX 0 - Mode normal

1 00 - - Pas de commande 1 01 - 0 Insertion dans la chaˆıne 1 02 - 1 D´ecalage de la chaˆıne

1 12 1 1 Extraction de la chaˆıne et transfert au r´eseau

1 11 1 0 Identique au mode normal mais en passant par la chaˆıne de d´ecalage

2 XX 2 - Mode bypass

Note : (-) signifie que ce signal de contrˆole n’est pas concern´e.

Par exemple, consid´erons le test d’un routeur pour le chemin de routage du Nord vers le Sud, cf. figure 3.25. Pour configurer le wrapper de test afin d’appliquer les vecteurs de test `a ce routeur par l’entr´ee Nord et r´ecup´erer les r´eponses par la sortie Sud, nous utilisons la configuration d´ecrite dans le tableau3.8.

Fig. 3.25 : Test du chemin de routage Nord ⇒ Sud.

Tab. 3.8 : Exemple d’une configuration de test pour le chemin de routage Nord ⇒ Sud.

EoF ID RS− RE OS− OE SS− SE ES− EE NS− NE M

3 002 00-00 00-00 01-02 12-01 02-12 1

Cette configuration peut ˆetre expliqu´ee comme suit : la valeur de EoF ´egale `a “3” implique la fin de cette configuration. Le champ ID ´egale `a “002” implique que le wrapper num´ero 2 est affect´e par cette configuration de test. La valeur de M ´

egale `a “1” place le wrapper en mode test. La valeur EE = “01” implique que la

cellule ITC-1 (Est) re¸coit les donn´ees de test `a partir du TAM et les envoie `a la cellule OTC-0 (Nord). La valeur NS = “02” implique que la cellule OTC-0 est en

mode d´ecalage, les donn´ees de test re¸cues sont donc d´ecal´ees jusqu’`a la cellule ITC-0 (Nord). Puis, ces donn´ees de test sont appliqu´ees au routeur par cette cellule ITC-0 car NE est ´egale `a “12”.

Apr`es l’application de ce test au routeur, la valeur SS = “01” commande `a la

cellule OTC-2 (Sud) de recevoir les r´eponses et de les transporter vers la cellule ITC-2 (Sud). Cette cellule est en mode d´ecalage car SE = “02”. Les r´eponses re¸cues

sont donc d´ecal´ees `a la cellule OTC-1 (Est). Puis, grˆace `a la valeur ES ´egale `a “12”

la cellule OTC-1 re¸coit ces r´eponses et les envoie `a l’analyseur (int´egr´e dans le GAC) via le TAM.

On rappelle que le TAM est construit en utilisant les liens du r´eseau entre les routeurs et les autres wrappers de test. On note aussi que les autres cellules dans le wrapper telles que OTC-4 et ITC-4 (Ressource), OTC-3 et ITC-3 (Ouest) ne sont pas concern´ees dans ce test et donc ne sont pas contrˆol´ees par la configuration de test. Ainsi, les valeurs de RS, RE, OS, et OE sont mises `a “00”.