MESURES 813 - MARS 2009 - www.mesures.com
40
S
olutions
MESURES 813 - MARS 2009 - www.mesures.com 41
S
olutions
TEST BOUNDARY SCAN
Dix conseils pour optimiser
la couverture des tests
La technique de test dite “boundary scan” a été normalisée en 1990. Elle était pro-
mise à un bel avenir du fait qu’elle donnait accès à des points sur la carte inacces-
sible au testeur in situ. Cependant, pour tirer pleinement parti du test boundary
scan, il est impératif d’intégrer celui-ci dès le stade de la conception plutôt que de
l’ajouter a posteriori. Pour améliorer la couverture des défauts et la testabilité des
circuits, il faut respecter certaines procédures. Voici dix conseils proposés par Jtag
Technologies, qui conduisent à des gains de temps et facilitent le travail aussi bien
lors des tests de prototypage et de conception que des tests de production.
Dans les années 90, la technolo-
gie de test “boundary scan” en
était à ses balbutiements. On
constate aujourd’hui son utili-
sation sur le terrain. Cette technologie nor-
malisée (IEEE 1149.1), et également connue
sous le nom de JTAG, est intégrée à la plupart
des composants complexes qui sont alors
dotés de cellules “boundary scan” pour leur
test. Alors qu’il y a dix ans de tels compo-
sants faisaient figure d’exception. La pre-
mière raison de cette adoption s’explique
par le fait que les fabricants exploitent eux-
mêmes cette technologie pour tester les
composants qu’ils produisent. La seconde
vient du fait que des industriels utilisent ce
bus standard pour effectuer d’autres opéra-
tions que du test ou de la programmation
telle que de l’émulation ou du débogage. Il
est même employé comme bus fonctionnel
pour l’échange d’in-
formations entre com-
posants.
La technologie boun-
dary scan est désor-
mais mélangée à
d’autres techniques de
test notamment quand
l’accessibilité aux
points de test sur la
carte est limitée. Les
broches d’un compo-
sant JTAG peuvent être
transformées en clous
virtuels. Ainsi, un
composant JTAG de 500 broches implanté
au milieu d’une carte électronique peut offrir
500 points d’accès complémentaires à un
testeur in situ ou à sondes mobiles. La tech-
nologie boundary scan est devenue un pas-
sage obligé pour la plupart des composants
BGA. Si bien, qu’il est aujourd’hui courant
d’intégrer des fonctionnalités de test boun-
dary scan lors d’une mise à jour de testeur
in situ. Et de nos jours, pratiquement tous les
testeurs proposent des ressources boundary
scan.
Mais pour pouvoir profiter pleinement du
potentiel de cette technologie et d’optimiser
la couverture de test des cartes électroniques
intégrant des composants boundary scan, il
faut respecter quelques règles. Voici dix as-
tuces proposées par Anthony Sparks qui
compte plus de quatorze années d’expé-
rience dans le domaine de l’ingénierie de
test de cartes électroniques. Il travaille actuel-
lement au marketing technique chez JTAG
Technologies, spécialiste des outils de test
boundary scan.
1 - Partitionnez les chaînes
boundary scan
Les ingénieurs pensent souvent – à tort – que
tous les composants boundary scan doivent
se trouver dans une seule et même chaîne
pour faire l’objet d’un test d’interconnexion.
En séparant les composants en familles logi-
ques compatibles, les concepteurs peuvent
éviter le recours à des convertisseurs de ni-
veau. Aujourd’hui, le matériel boundary scan
permet de programmer individuellement le
niveau de sortie et le seuil d’entrée de chaque
port TAP (Test Access Port). Dans certains cas,
les ingénieurs peuvent avoir besoin d’accéder
à un composant isolément pour prendre en
charge des émulateurs et débogueurs tiers et
d’optimiser la programmation des mémoires
flash. La présence de plusieurs chaînes boun-
dary scan ne réduit pas la couverture des tests
lorsque l’on utilise un générateur automa-
tique de vecteurs de test (ATPG) pouvant
opérer sur un nombre quelconque de chaî-
nes, séparément ou en parallèle durant un
même test.
2 - Sélectionnez des composants
testables par boundary scan
Le succès du test boundary scan dépend
directement de l’implantation de structures
de test dans les circuits intégrés (CI). Par
conséquent, autant que possible, choisissez
des composants intégrant déjà des capacités
boundary scan, en tenant compte de plu-
sieurs facteurs.
• Le fabricant a-t-il testé électriquement le
fichier de description BSDL du CI en termes
d’exactitude et de conformité ?
Un composant non conforme à la norme
IEEE 1149.1 risque d’engendrer des difficul-
tés et de ne pas être accessible aux tests
La technique de boundary
scan ou Jtag est conçue
pour faciliter et automatiser
le test des cartes
électroniques numériques.
Elle consiste à donner un
accès auxiliaire aux broches
d’Entrée/Sortie des circuits
intégrés.
Voici dix conseils pour
exploiter cette technologie
de manière optimale.
L’essentiel
boundary scan, ce qui peut considérable-
ment réduire la couverture attendue. Les
informations d’en-tête d’un fichier BSDL
autorisent la vérification de la syntaxe, de la
sémantique ou des caractéristiques électri-
ques. Vous pouvez également demander à
votre fournisseur d’outils boundary scan si
d’autres ont déjà utilisé avec succès un CI
particulier dans le cadre d’un test boundary
scan.
• Le composant reconnaît-il des instructions
boundary scan optionnelles telles que
HIGHZ et CLAMP ?
Ces instructions peuvent se révéler extrême-
ment utiles pour les applications de pro-
grammation flash et certains autres tests.
• Le composant nécessite-t-il des vecteurs de
conformité ou bien des connexions logiques
externes pour fonctionner en mode test
boundary scan ?
Certains composants boundary scan com-
portent une ou plusieurs broches qu’un
circuit doit maintenir dans un état logique
donné pour que le composant fonctionne
en mode IEEE 1149.1. En pareil cas, les con-
cepteurs doivent mettre en œuvre une logi-
que externe de sorte que les conditions adé-
quates soient réunies sur leur circuit pendant
le test. Ils doivent donc rechercher dans les
fichiers BSDL des lignes Compliance_Patterns
qui décrivent ces cas.
3 - S’assurez de la conformité
1149.1 des composants
Certains composants, tels que les DSP et les
microcontrôleurs, offrent un port TAP JTAG
pour le débogage ou la programmation de
mémoire flash, toutefois celui-ci n’autorise
pas le test boundary scan. De tels composants
peuvent être qualifiés de compatibles avec la
norme IEEE 1149.1 plutôt que conformes
(compliant). Par exemple, la fiche signalétique
du DSP TMS320C203 de Texas Instruments in-
dique, bien que le composant possède un
port TAP, qu’il est dépourvu de registre
boundary scan et ne permet donc pas ce type
de test.
D’autres complications peuvent survenir
avec des composants présentant des ports
TAP multifonction. Le processeur Freescale
MPC860, par exemple, partage ses broches
TAP JTAG avec son port de débogage en
tâche de fond (BDM, Background Debug Mode).
En mode BDM, ces broches ne fonctionnent
pas comme broches TAP JTAG et ont donc
pour effet d’interrompre la chaîne boundary
scan pour les composants situés en amont
ou en aval.
En d’autres termes, le port BDM n’offre ni
conformité ni même compatibilité avec la
norme IEEE 1149.1. Un composant peut
fonctionner en mode BDM sans affecter les
broches TAP. Les ingénieurs peuvent activer
la configuration “Hard Reset” du MPC860 en
appliquant des valeurs spécifiques au bus de
données pendant une réinitialisation maté-
rielle afin de forcer les broches TAP en mode
JTAG. Plus précisément, les bits 11 et 12 doi-
vent avoir la valeur logique 01 ou 11 (00
étant leur état par défaut pendant une réini-
tialisation matérielle).
Pour assurer le bon positionnement de ces
bits via le bus de données du MPC860, uti-
lisez des cavaliers ou bien un CPLD (circuit
logique programmable complexe) pro-
grammé aux fins de test uniquement,
comme le montre la Figure 1. Si vous utili-
sez un CPLD, placez-le sur une chaîne boun-
dary scan qui ne contient pas le MPC860. En
effet, si les deux composants se trouvent
dans la même chaîne, il n’est pas possible de
programmer le CPLD lorsque le MPC860 est
en mode BDM.
4 - Contournez les composants
non conformes à la norme
boundary scan
Parfois, vous ne pouvez avoir la certitude que
de nouveaux composants ou Asic sont tota-
lement conformes à la norme IEEE 1149.1,
à moins d’avoir été vérifiés électriquement.
Dans ce cas, envisagez de placer des résistances
0 Ω (cavaliers) autour du composant,
comme le montre la Figure 2a. Pendant le
test, retirez les cavaliers situés avant la broche
d’entrée de données de test (TDI) et après
celle de sortie de données de test (TDO), et
ajoutez un cavalier en position Bypass, de
sorte que la chaîne boundary scan contourne
le composant (Figure 2b).
➜
JTAG Technologies développe, fabrique et commercialise des outils matériels et logiciels pour le test et la programmation des circuits
intégrés et des cartes électroniques selon la norme boundary scan (IEEE 1149.1).
La technique boundary scan autorise le test de circuits intégrés
depuis le connecteur de la carte électronique sur laquelle
ils sont implantés. Figure 2. Cavaliers de contournement des composants non conformes.
Figure 1. Configuration des conditions de test boundary scan au moyen d’un CPLD.
MESURES 813 - MARS 2009 - www.mesures.com
42
S
olutions
MESURES 813 - MARS 2009 - www.mesures.com 43
S
olutions
5 - Tirez parti des broches
d’Entrées/Sorties libres
Dans de nombreux cas, les FPGA et CPLD
comportent des broches d’Entrées/Sorties
inutilisées dont vous pouvez vous servir
pour produire des signaux destinés à confi-
gurer des circuits logiques ou à activer des
fonctions de test. Prenons l’exemple d’un
circuit dans lequel un FPGA et un micropro-
cesseur partagent un bus de données avec un
émetteur-récepteur non conforme (Figure 3).
Si, pendant le test, le signal d’activation de
sortie (OE) de l’émetteur-récepteur est flot-
tant (flèche rouge), les signaux de bus de ce
dernier peuvent entrer en conflit avec ceux
➜
qui sont produits par la chaîne boundary
scan afin de tester les connexions entre le
FPGA et le processeur. Ce type de situation
peut dégrader la couverture des tests. Une
sortie FPGA libre ou une sortie provenant
d’un module DIOS (Digital I/O Scan) permet
de commander le signal OE de l’émetteur-
récepteur et de forcer ses sorties à un état de
haute impédance qui n’affecte pas les tests
de bus. En outre, le tracé de cette piste sup-
plémentaire n’aura pas d’incidence sur la
conception des circuits. Au moment de la
configuration finale du FPGA, définissez la
sortie comme étant non connectée de sorte
qu’elle n’interfère pas avec les circuits logi-
ques du système (voir le point 7).
6 - Pilotez les signaux d’horloge
des composants synchrones
Les mémoires synchrones nécessitent un
signal d’horloge pour les opérations de lec-
ture-écriture. Si les ingénieurs ne prennent
pas en compte la testabilité au stade de la
conception, il est très probable qu’ils utilisent
un oscillateur simple, ce qui signifie que les
tests boundary scan ne pourront pas piloter
l’horloge. Pour pallier cette limitation, utilisez
une sortie de FPGA libre afin de désactiver
l’oscillateur et de mettre la sortie de ce dernier
en “ou” logique avec un autre signal boun-
dary scan de façon qu’il se substitue au signal
d’horloge du système (Figure 4). Dès lors,
les tests boundary scan pourront piloter le
signal d’horloge et accéder à la mémoire de
façon synchrone. Si cette horloge pilote un
CI de distribution d’horloge avec un PLL
interne (boucle à verrouillage de phase), il
est peu probable qu’une horloge lente géné-
rée par boundary scan se synchronise avec
ce PLL. Par conséquent, le circuit de test doit
le contourner. Le générateur d’horloge à PLL
MPC9331, par exemple, offre une voie sta-
tique pour le contournement de son PLL, de
façon qu’une horloge externe puisse com-
mander les composants synchrones. D’autres
CI de distribution d’horloge proposent des
fonctions similaires.
7 - Utilisez la fonction AutoWrite
pour la programmation flash
Les applications traditionnelles exigent
qu’un flux binaire série parcoure une fois
l’ensemble de la chaîne boundary scan afin
de configurer les lignes d’adresses, de don-
nées et de commande de la mémoire flash.
Ensuite, le système a besoin d’un deuxième
flux à travers toute la chaîne pour faire bas-
culer le signal d’activation d’écriture (WE)
de la mémoire au niveau logique 0, puis
d’un troisième pour remettre le signal WE
au niveau logique 1. De ce fait, une seule
opération d’écriture nécessite trois flux bi-
naires dans la totalité de la chaîne.
Si vous pouvez fournir un accès externe au
signal WE de la mémoire flash, le contrôleur
boundary scan peut le faire basculer s’il per-
met de générer des impulsions AutoWrite.
Dans ce cas, il suffit d’un seul flux binaire
traversant la chaîne boundary scan pour con-
figurer les lignes d’adresses, de données et
de commande. Le contrôleur boundary scan
déclenche directement le signal WE, ce qui
fait gagner un temps considérable. La pro-
grammation de mémoire flash étant souvent
l’opération boundary scan la plus longue, il
importe de prendre des mesures pour ré-
duire les temps de programmations au mi-
nimum. Deux facteurs majeurs déterminent
l’efficacité de la programmation de mémoire
flash au moyen des techniques boundary
scan : la longueur de la chaîne et la fréquence
de l’horloge de test (TCK). Plus une chaîne
boundary scan compte de composants, plus
le flux binaire met de temps pour la parcou-
rir. Pour programmer des mémoires flash,
placez les composants boundary scan non
nécessaires à l’opération en position Bypass
ou, lorsque c’est possible, en mode HIGHZ,
ce qui réduit la longueur du trajet à un re-
gistre Bypass de 1 bit. Ces registres faisant
toujours partie de la chaîne boundary scan,
vous devez tenir compte de leur fréquence
TCK maximale.
8 - Testez des composants FPGA
après leur configuration
Avant sa configuration, un FPGA présente
par défaut des lignes d’Entrées/Sorties bidi-
rectionnelles et des niveaux de tension pré-
définis. Cette situation peut poser des pro-
blèmes lorsque les circuits environnants
nécessitent des signaux différentiels ou des
niveaux logiques spécifiques. Dans certains
cas, des dommages peuvent en résulter. Une
fois le FPGA configuré, vous pouvez modi-
fier vos capacités boundary scan. Sachant que
le fichier BSDL générique d’un FPGA reflète
son comportement avant configuration,
vous devez générer un fichier BSDL spécifi-
que au FPGA configuré. En général, les fa-
bricants de FPGA fournissent des outils lo-
giciels pour réaliser cette tâche.
9 - Utilisez des modules externes
pour tester les connecteurs
Pendant le test de la carte électronique, des
connecteurs de celle-ci peuvent ne pas être
testés car vous ne disposez pas d’un moyen
externe pour injecter ou lire des signaux sur
leurs broches. Afin d’améliorer la couverture
des tests, ajoutez des composants externes
qui autorisent les opérations boundary scan.
Les modules d’Entrées/Sorties numériques
(DIOS) se présentent sous de nombreuses
formes et offrent un émetteur-récepteur
boundary scan pour chaque broche de con-
necteur à tester. Ces émetteurs-récepteurs
excitent les broches des connecteurs et cap-
turent les stimuli générés par les composants
boundary scan sur la carte. Si vous prévoyez
d’utiliser une interface de test, les modules
DIOS permettent d’établir la connexion à la
La technique “boundary scan” (balayage de la
périphérie) a été conçue pour accéder indivi-
duellement aux circuits intégrés numériques
présents sur une carte électronique. Pour
cela, chaque broche d’Entrée/Sortie n’est pas
connectée directement à l’intérieur du
composant numérique, mais à travers une
“cellule JTAG” permettant de la piloter indépen-
damment de sa fonction initiale. Les cellules
sont connectées entre elles par un bus série
faisant le tour de la puce (d’où la notion de
périphérie ou boundary), équivalent à un grand
registre à décalage de taille égale au nombre
de broches d’Entrée-Sortie du composant.
Le TAP Controller, qui reçoit les signaux JTAG de
l’extérieur, permet d’activer et de piloter
les cellules selon une séquence normalisée.
Les différentes broches des composants et
les différents composants sont raccordés sur un
bus spécialisé (boundary scan) accessible
depuis le connecteur de la carte. Cette technique
permet de réaliser de la programmation in situ
de composants (mémoires et microcontrôleurs)
et de tester ces composants. Le gros intérêt
du boundary scan est d’éviter de recourir au
traditionnel lit à clous, encombrant, peu flexible
(il faut en développer un pour chaque type de
carte à tester) et coûteux. Revers de la médaille,
cette technique impose d’utiliser des versions
boundary scan des composants classiques qui
nécessitent plus de surface sur le silicium et sont
donc plus onéreuses. Le terme boundary scan
est également connu sous le nom de JTAG
et il fait l’objet d’une norme (IEEE 1149.1). Le
boundary scan n’est pas limité aux tests de
continuité. Il est en effet également possible de
tester (au moins partiellement) des fonctions
logiques combinatoires, même si elles sont
composées de puces non-compatibles JTAG,
en élaborant des vecteurs de test appropriés
et à condition que les Entrées et Sorties de ces
fonctions soient connectées à des composants
JTAG. De même, il est possible de tester des
mémoires en écrivant puis relisant des valeurs
de test. Le bus JTAG est aussi utilisé pour
programmer les composants logiques (FPGA et
CPLD) ainsi que de nombreux microcontrôleurs
(grâce à la capacité du JTAG de programmer
la mémoire Flash des microcontrôleurs), voire
pour déboguer un microprocesseur.
La technologie boundary scan en quelques mots
carte sous test via des points de test et des
sondes à ressort.
10 - Visualisez la couverture
des tests
Avant de valider la disposition d’une carte,
effectuez une analyse DFT (Design For
Testability). Des outils logiciels assurent aux
ingénieurs l’examen rapide de la couverture
potentielle actuelle des tests boundary scan.
Ces outils mettent également en évidence les
zones de la carte qui échappent aux tests et
les endroits où des modifications peuvent
être apportées. Fault Coverage Examiner, par
exemple, peut évaluer des circuits en fonc-
tion des fichiers BSDL, des listes de nœuds
sur une carte et des modèles des composants
non conformes à la norme boundary scan.
Après avoir identifié les lacunes des tests, les
ingénieurs peuvent déterminer comment
exploiter des signaux d’Entrées/Sorties inu-
tilisés, des modules DIOS externes ou diffé-
rents composants présentant des capacités
boundary scan.
Anthony Sparks
JTAG Technologies
Adlink
Figure 4. Pilotage de la source de l’horloge par des signaux
supplémentaires.
Figure 3. Contrôle des composants non boundary scan par une broche d’E/S inutilisée.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!