Rapport - Polytechnique Montréal

Transcription

Rapport - Polytechnique Montréal
Mécanisme d’Accès aux Tests des Systèmes On Chip
« SOC »
Fatma Tiza , Youssef Bennis
École Polytechnique de Montréal
RÉSUMÉ : Dans ce projet, on va exposer les causes de la création de la norme P1500 (fournisseurs et concepteurs
systèmes) En deuxième lieu, on va décrire brièvement les études entamées par le groupe P1500. Ensuite on parlera des
techniques de calcul d'une architecture optimale de Mécanisme d’accès aux Tests (TAM), après de brèves définitions de
mots clés. Une étude physique et mathématique sera exposée afin de donner certains éclaircissements, et espérer aboutir à
cette architecture optimale et on va terminer par une conclusion.
1-INTRODUCTION
Micro-ordinateur, minichaîne, compact disque, industrie
spatiale, téléphones cellulaires etc…, l'espace est decidément bien précieux, et l'on cherche sans arrêt à réduire les
e
dimensions des objets quotidiens. Le XX siècle est incontestablement celui de la miniaturisation, rendue possible
grâce aux progrès effectués sur les composants, à la
découverte des semi-conducteurs ainsi qu'à l'avènement de
la microélectronique. Des premiers postes de TSF aux
micro-ordinateurs portables, du premier tube électronique
(Geissler, 1857) aux puces d'aujourd'hui, en passant par le
transistor (1947), la course au plus petit est impressionnante.
Très vite l'informatique s'intéresse à ces nouveaux
matériaux et devient le secteur qui sait le mieux profiter de la
miniaturisation des composants électroniques.
Désormais grâce à cette évolution il est possible d'intégrer
un système complet sur une seule puce, système qui jusque
là tenait sur une carte ou sur un MCM (Multi Chip Module.
Ces systèmes intégrés sur une puce, appelés SOC (System
on a Chip), se développent inévitablement et se retrouvent
dans des domaines comme les télécommunications, l'avionique, la construction automobile...
2 – SYSTEME ON CHIP
La mutation des systèmes électroniques a rapidement
muté des systèmes sur cartes aux Systèmes sur puce,
appelé Systèmes On Chip « SOC », impliquant un grand
niveau de Complexité. La fabrication des systèmes sur puce
compte énormément sur la réutilisation des blocs préconçus
appelés « design reuse ».
figure 1 : Architecture d’un system on chip
L’utilisation de ces blocs dits Cœurs provient de plusieurs
fournisseurs, ce qui a provoqué des difficultés :
•
Accessibilité aux cœurs
•
Temps de test du système
•
Puissance dissipée au cours du test
•
Partage des ressources de test
Avant d’étudier l’architecture de P1500, on va s’intéresser
comme pour le JTAG de la standardisation des années 80
du test sur carte (isolation par les cellules BOUNDARY
SCAN des cœurs ) et faire les différences de test entre les
cartes et les puces.
On constate par ces différences, que les stratégies de test
des systèmes sur cartes ne peuvent pas être appliquées aux
tests des SOCS
Pour les cartes qui intègrent des composants physiques
testés individuellement (donc considérés comme bon), et qui
sont ensuite testées au niveau système.
1
Pour les SOCs, les composants étant virtuels, les différents
cœurs ne pourront être testés que lorsque le circuit aura été
fondu sur silicium, en même temps que le système.
Cela implique que la testabilité du SOC doit être prise en
compte très tôt, des la phase de conception [13]
Le schéma ci-dessous illustre les processus de fabrication
des cartes et des puces.
2-3-a : Les «softs cores» sont décrits dans un langage de
description matériel (HDL Hardware Description Language),
synthétisables. Ils sont indépendants de toute technologie et
sont très souples d’utilisation
2-3-b- Les «hard cores» sont optimisés, placés et routés.
Donc le concepteur le voit comme une boite noire, moins
portable que les softs et les firms.
2-3-c- Les «Firm cores» sont des blocs ayant subis une
optimisation en surface et vitesse par des techniques de
placement relatif. Décrit en HDL, structurel, ils font appel à
des composants élémentaires d’une librairie générique. Un
tableau récapitule les différences entre ces IP :
Caractéristiques
IPS
Figure 2 : Représentation du Flot d’intégration
2-1 Niveau des IP core
Du coté des fournisseurs, les techniques de test sont
celles classiquement utilisés
•
•
•
Insertion des points de test
Scan
Bist
Les cœurs étant testables, le fournisseur doit fournir
•
•
•
Les vecteurs de test
Les réponses
Le plan de test complet
2-2 Niveau des SOCS
L’intégrateur système doit prendre en compte les éléments
suivants afin d’assurer la testabilité du SOC :
¾
Intégration et coordination des éléments de test dans
le circuit
¾
Comment transférer les vecteurs de test aux cœurs ?
¾
Traduction des vecteurs fournis avec les cœurs, pour
pouvoir les intégrer dans la session de test au niveau
SOC.
2-3 Différents cœurs
Il existe trois grandes catégories de cœurs IP (Intellectuel
Property) :
\
Soft cores
Hard cores
Firm cores
Représentation
Comportemental
Masque
Structurelle
Technologie
Indépendant
Fixe
Générique
Flexibilité
très grande
très faible
Grande
Portabilité
Illimitée
Process
Librairie
Optimisation
Performance
Haut Niveau
Optimum
Limité
Protection
Très faible
Grande
Faible
Tableau 1 : Représentation des différences entre les IPs
En se basant sur ces différences, on peut expliquer
aisément la création du groupe P1500.
3-Norme P1500 :
3-1- Histoire
Comme pour le JTAG (Joint Test Action Group) dans les
années 80, le groupe IEEEE P1500 s’est formé pour
essayer de proposer des solutions aux problèmes de test
rencontrés dans l’industrie.
En septembre 1995, un comité de recherche sur les
techniques de test des systèmes a base des cœurs a vu le
jour sous le nom de TAC (Comité d’Activités Techniques) Ce
comité, issu du IEEE TTTC (Test Technology Technical
Council), s’est transformé en groupe de travail en juin 1997
sous le nom de P1500.
Ce groupe avait pour but de créer des standards pour
faciliter l’utilisation et la réutilisation des techniques et
méthodes de test des systèmes a base de cœurs.
Trois projets sont en cours de standardisation
- Test des cœurs fusionnables (mergeables cores)
-Développement d’un langage de description des informati ons de test d’un core
2
-Définition d’une interface de test autour des cœurs non fusionables appelés «Wrapper»
3- ARCHITECTURE P1500 :
3-1 Description
3-2 Objectifs :
L’objectif principal du groupe est de faciliter la
communication des fournisseurs et des concepteurs
Systèmes.
Lors des conférences, ils se fixent des thèmes de
recherches du Standard P1500, on le dénombre à huit
taches importantes
a)
Langage de test des cœurs (CTL - CTDL)
Définition d’un langage décrivant les caractéristiques de test
des cœurs
¾
Méthodes de test utilisées
¾
Les modes de test et les protocoles correspondants
¾
Les données de test à appliquer
¾
Les informations sur les modèles de fautes et les
taux de couverture
¾
Le nombre, l’ordre et la longueur des chaînes de
scan i internes
¾
b)
Les informations sur le diagnostic et le debug de
l’IP
Architecture
Définition d’un anneau d’isolation et d’une interface pour
les connexions des cœurs au mécanisme d’accès (TAM)
entre les entrées sorties du système et les entrées sorties
des cœurs.
c)
Définition des compatibilités
Définition des niveaux de normalisations P1500, avec anneau ou sans anneau d’isolation.
d)
Terminologie
Définition d’une terminologie pour la norme P1500
e)
Test des coeurs
Étude de ce que peut être fait par les fournisseurs de cœurs, pour aider les utilisateurs systèmes et leurs donner des
conseils.
f)
Benchmarks
Collecter et distribuer des bans d’essai (circuits
d’étude)Cette activité est en étroite coopération avec
l’initiative ITC99 Benchmarks
g)
Industries et Relations avec les médias
h)
Documentation
Figure 3 : Conception Architecturale pour le test des
SOCS
La conception
phases :
de
cette
architecture
comprend
trois
Phase 1 : Construction d’un anneau d’isolation autour de
chaque cœur. Cet anneau comme on l’a déjà vu s’appelle
«Wrapper »
Phase 2 : Consiste à la conception d’un Mécanisme
d’Accès aux Tests «TAM»
Phase 3 : ‘ Source et Sink ‘
Mot Source désigne le matériel fournissant les vecteurs de
test. Il peur être :
9
Un testeur industriel dans le cas où il serait externe au
circuit
9
Un générateur de type Bist quand celui–ci est interne
Mot Sink correspond à l’analyseur de réponses aux stimuli
appliqués, de la même façon que la Source, il peut être
interne ou externe au SOC, sous la forme d’un analyseur de
signature ou d’un testeur.
3-2 Définition de Wrapper et du TAM
Qu’est ce qu’un Wrapper ?
C’est une interface entre le cœur (Entrées / Sorties) et le
TAM.
La norme P1500 exige deux niveaux de conformité, le
Wrapper peut faire partie du pack livré avec le cœur (IEEE
1500 compliant core) ou être conçu par le concepteur
système (IEEE1500 Ready core)
L’acheminement des données de test aux entrées /sorties
du cœur par l’intermédiaire des données du Wrapper se fait
soit :
- En série par l’interface série SIL (Serial Interface Layer)
Préparation de la documentation de la norme P1500
3
- En parallèle par l’interface parallèle PIL (Parallel Interface
Layer)
4- MECANISMES D’ACCES AUX TESTS – LIMITATION :
Les TAM peuvent se classer en deux catégories
Remarque :
•
TAM correspondants à la réutilisation des
ressources fonctionnelles, pour transporter les
vecteurs de test.
•
TAM correspondant
à un rajout du matériel
supplémentaire dédié au test
L'interface série est bien définie en comparaison à la PIL
Lorsque les TAM utilisent les ressources fonctionnelles, ils
sont peu flexibles.
Figure 4 : Architecture du Wrapper P1500
Qu’est ce qu’un TAM ?
Permet de transférer les données de Test au niveau
système.
Le TAM est choisi selon le Sink/Source des types de cœurs
intégrés et des contraintes physiques imposées
a
l’intégrateur système, c’est à dire le systèmier a la charge de
concevoir lui-même le TAM, Sink, et Source, car ces
éléments ne sont pas standardisés. Pour cette raison, on a
décidé de s’intéresser spécialement au TAM.
En général ces ressources sont le bus système, sa largeur
est fixe, l’intégrateur système (concepteur Système) ne peut
pas faire de compromis entre la surface rajoutée et le test.
Avec ce type de TAM, la méthodologie de test est dominée
par le test fonctionnel et l’ajout de structure de scan est
difficile à intégrer.
Remarque
Actuellement d’après la littérature de TAM, le bus utilisé
comme TAM est le bus ARM, de ce fait il devient standard.
5-ETAT DE L’ART DES ARCHITECTURES DES
TAMs
Comme la norme P1500 n’est pas restrictive, quant au
choix et a la conception du TAM.
Plusieurs méthodes ont été proposées dans la littérature
qui traite de l’optimisation dans les articles de reference,
visant à être un accord avec les concepts que définit la
norme P1500 et qui respectent les facteurs suivants :
Figure 5 : Architecture P1500 pour le TAM
On retrouve le TAM qui permet d’accéder aux différents
Wrapper de chaque cœur par les signaux TAM-in, TAM-out,
TAM-source et TAM-sink, permettant le transfert d’inform ations entre les entrées /sorties des cœurs et les éléments
chargées de fournir les vecteurs de test ou d’analyser les
réponses (testeurs, modules de BIST).
Le module WIP (Wrapper Interface Port) permet de
configurer les Wrappers des différents cœurs dans le monde
voulu et imposé par l’ordonnancement du test.
•
Surface additionnelle
•
Temps de test
•
Contrôle complexe du TAM
•
coût du bus additionnel
Certaines architectures réutilisent
ressources implantées sur le système.
au
maximum
les
D’autres utilisent directement les propriétés des cœurs.
Dans [7] [9] [10] , des algorithmes sont présentés pour
optimiser les largeurs des TAMs en fonction du temps de
test. , et aussi prendre en compte les contraintes de
placement –routage et de puissance dissipée. Mais les
approches les plus standardisées (et les plus utilisées)
reposent sur l’utilisation de bus spécifiques de test sur un
système.
Il contrôle les modes prévus par la norme P1500 lors des
différentes phases ou de fonctionnement normal du circuit.
4
6-APPROCHE UTILISANT DES BUS DE TEST
L’accès au cœur peut se faire de plusieurs manières par
les concepteurs système, en utilisant les différentes
architectures existantes, elles se présentent en trois ca tégories :
•
Architecture multiplexée
•
Architecture daisy-chained
•
Architecture distribuée
6-1 Architecture multiplexée
-Un seul cœur peut être testé à la fois
-Temps de test =∑ temps de test de chaque cœur
-Très difficile de tester la connectique externe au cœur, car
ceci nécessite l’accès au moins deux cœurs en même
temps.
Architecture distribuée
Figure 6 : types d’architectures
6-2 Architecture daisy-chained
6-4 Test Bus
Tous les coeurs sont accédés en même temps ⇒ facilite
des tests des cœurs.
Le test bus [14] est une architecture mixte basée sur les
approches«distribuée et Multiplixée»
Ces deux architectures ont des cœurs, qui ont accès à tous
les bits du TAM.
Le bus de test est partagé en plusieurs « Sous Bus », qui
peuvent être de largeur différente, plusieurs cœurs sont
ensuite connectés à chaque bus comme dans l’architecture
multiplexée
Le schéma ci-dessous représente
architectures et leurs chaînages au bus
les
différentes
6-3 Architecture distribuée
•
Largeur totale du bus est partagée entre les
différents cœurs
•
Le Test est fait en parallèle
•
Test = max (Tps de test des coeurs)
Figure 7: Architecture Test Bus
6-5 Test Rail
Le test Rail est une architecture mixte basée sur les deux
approches « distribuée et daisy-chained»
Plusieurs cœurs sont chaînés comme sur la figure cidessous
Architecture multiplexée
Architecture daisy-chained
5
Remarque
Largeur du Test Rail n’est pas forcement égal au nombre
d’entrées-sorties des cœurs.
L’architecture Test Shell est compatible a la norme P1500,
car elle respecte les modes de fonctionnement
-
Mode Test
-
Test des interconnexions
Pour avoir une architecture optimale [14] propose
d’optimiser les bits qui ne sont pas utilisés pendant le test,
ainsi le temps de test sera minimiser.
Figure 8: Architecture Test Rail
comporte deux bus de largeur m et n connectant deux
coeurs et trois cœurs
6-6 Test Shell (pour les wrappers)
Le wrapper est un Test Shell est, qui comporte des cellules
le constituant (bascules sur les entrées /sorties fonctionne lles du cœur), les multiplexeurs, le registre de bypass et les
connections permettant de connecter le test Rail a cet ense mble, qui relie les entrées /sorties du TAM.
Un exemple illustre le Test Rail et le Test Shell pour trois
cœurs avec respectivement 3,2 et 2 chaînes de scan.
Des solutions sont trouvées avec des algorithmes
d’optimisations, qui permettent une co-optimisation de
l’architecture et du temps de test
1-
ILP et énumération
2-
Heuristiques pour l’optimisation de largeur des TAM
7- OPTIMISATION-MODELES MATHEMATIQUES
DES TAMs – EXEMPLES –INTERPRETATIONS
Comme on l’a signalé ,l’accès aux cœurs ne se fait pas
directement, car ils sont enfouis. Le temps de test est
important et se trouve le majeur problème quand il y a
plusieurs cœurs sur la puce ou SOC, notre étude se portera
aux points suivants :
•
Assignement des cœurs aux bus de test
•
Minimisation de la largeur du bus.
•
La subdivision du bus
Les solutions qui résolvent le problème majeur «temps du
système » sont des NP-Complet qui sont non déterministes
on utilise l’approche ILP(Programmation linéaire entière) On
va passer en brefs les différentes solutions proposées par la
littérature
Figure 9 : Architecture Test Rail et Test shell
D’après l’exemple le test Rail a :
-
Une largeur de trois bits.
-
Permet l’acheminement des données de test pour
les entrées sorties fonctionnelles, ainsi que pour les
entrées sorties des chaînes de scan internes aux
cœurs.
-
Adaptation de la connexion Test Rail, Test Shell
par rapport aux nombres d’entrées sorties.
•
Cœurs transparents
•
Architecture de bus basé sur le concept Test Rail
•
Architecture à accès multiple.
•
Macro tests
Remarque
Seul Philips propose pour ses propres produits, une
méthodologie et des outils pour pallier ce problème avec son
approche Macro Test [13] [14]
Avant de décrire les différentes optimisations,on donne
une définition d’un ILP :est une résolution mathématique , et
a pour but de minimiser une fonction linéaire de variables
entières , en considérant un jeu de contraintes elles aussi
6
linéaires .Il est généralement représenté par AX (fonction a
minimiser ),sujet aux contraintes BX<= C
Soit :
A est un vecteur , B est une matrice ,C est un vecteur
colonne , X vecteur de variable entière.
7-1 Optimisation Assignement des cœurs aux tests Bus
Et le temps de test du système est égal a :
On définit le problème suivant sous forme de NP-Complet
Le problème P1 : soit NC le nombre de cœurs
Soit NB le nombre de bus (test bus), de largeur w1, w2, w3,
……wNB
L’objectif principal de chaque ILP est la minimisation de la
fonction coût objective, qui correspond à :
On définit l’assignement des cœurs aux tests bus tel que
∑ temps de test est minimal ?
On définit
Avec Фi = max (Ne , No)
Ne et No sont respectivement les entrées et les sorties
du cœur i
On assume que le test se fait en parallèle dans le cas ou
Dans le cas contraire, la largeur du test bus est insuffisan te, on s’oriente au test série, pour les entrées / sorties du
cœur i,
avec
Par la suite, on verra avec l’utilisation des ILP, comment
le temps a été optimisé, avec un SOC ayant des circuits
combinatoires et séquentiels.
7-2 Optimisation de la largeur du Bus Test
Soit le problème P2 : Détermination de la largeur optimale
de test bus et l’assignement des cœurs a ces tests bus?
Le problème de l’optimisation de la largeur du bus test est
plus complexe que le problème vu précédemment.
Objectif :Minimisation de W
sujets aux contraintes suivantes
Avec T fixé par calcul [10]
7-3 Optimisation par Subdivision du Bus Test
Dans cette approche, les auteurs proposent de trouver un
meilleur partitionnement du bus en sous bus, un assignem ent optimal des cœurs aux bus tests pour avoir un temps de
test minimal, la largeur totale du bus étant fixe.
Figure 10 Représentation du modèle série
On définit :
Objective : minimiser le temps de test total sujet aux
contraintes [7]
8-EXEMPLES DES CAS ETUDIÈS
Soit le Système On Chip suivant
7
Figure 11 : Représentation d’un Système On Chip
Ce Système On Chip est constitue de sept circuits
combinatoires et trois circuits séquentiels avec scan interne
et deux bus.
Les résultats par ILP sont représentés ci-dessous
Tableau3: Optimisation du temps de Test
Test Total
T
optimale
largeur
W
Distribution
optimal
Assignement
aux bus tests
(w1,w2)
Tableau4: Optimisation de la largeur du Bus
Remarque
Tableau 2 : Temps de test, nombre d’entrées –sorties
pour chaque circuit et vecteurs de test
Qui correspond à une description du SOC(ISCAS89 benchmark circuits)
8-1-Exemple d’assignement optimal des cœurs au Bus
test et la largeur du bus de test
Test Total
W
Distribution optimisation
optimal
Temps de
w1,w2
Test
Assignement
Si on prend les 3 cas d’assignements suivants pour un bus
de largeur total égal a 48 bits, on aura :
•
W1=32 w2=16 assignement (1,1,1,1,1,1,1,2,2,1)
temps de test=410000 cycles
•
W1=27 w2=21 assignement (2,2,2,2,2,2,2,2,2,1)
temps de test=411884 cycles
•
W1=28 w2=20 assignement (1,1,2,1,2,1,2,2,2,1)
temps de test=408077 cycles
aux bus tests
8
Figure 12 : Représentation de l’assignement par le
vecteur (1,1,1,1,1,1,1,2,2,1) du SOC
On constate que les différentes combinaisons d’assignements ainsi que la distribution de la largeur des bus
optimaux permet d’avoir un temps de test minimal ou
maximal.
(b)
Figure 13: optimisation du temps de test(a) et de
la largeur du bus (b)
Ces deux schémas illustrent la comparaison entre
l’optimisation du temps de test du système et l’optimisation
de la largeur du bus pour notre SOC, ayant deux bus et trois
bus.
8-2-Exemple de la subdivision du bus Test
On va dans cet exemple comment le temps de test a été
diminué.
Test
Distribution
total
de W
w1,w2
/ W1
Temps
Test
Assignement
aux sous bus tests
(a ,b )
(a)
Tableau 5: Optimisation par subdivision du bus
9
Test total
Temps de test
avec subdivision
Temps de test
sans subdivision
20
441404
470380
24
426564
461277
28
412427
452781
32
441404
443620
36
394012
435042
44
394012
417057
52
397748
399290
Le temps de test a diminue, en rajoutant la meilleure
subdivision qui doit être optimal
Si on arrive à trouver des solutions standards, compatibles
a la norme P1500, on pourrait éventuellement espérer
trouver une manière de rendre le test des SOCS comme une
option logicielle dans les outils de conception, comme c’est
le cas pour la génération de test, scan complet, scan partiel..
Références
[1] Erik jan Marinissen & al, ″Towards a Standard for Embeded Core
Test : A examples″, 616-623, International Test Conference 1999
[2] Erik jan Marinissen & al, ″A Structurel and Scallable Mechanism
for Test access to Embeded Reusable Cores″, International Test
Conference 284-293,1998
[3] Yervant Aorin & al , ″Testing Embeded Core based System
Chips ″, 130-143 , International Test Conference 1998
[4] Rajesh K,Gup & al, ″Introducing Core-Based System ″,IEEE
design & test of computers,14(4),15-25,Dec 1997
[5] Robit Kapur & al , ″CTL Language for describing Core-based
Test ″, 131-139 , International Test Conference 2001
[6] Erik jan Marinissen & al ,″On IEEEP1500 Standard ″Journal of
electronic Testing :Theory and Application 18,365-383,2002
[7] Krishnendu Chakrabraty, ″ Optimal Test Access Architecture for
System On Chip ″,ACM Transactions on Design Automation of
Electronic Systems,26-49,Vol.6 No 1,Jan 2001
[8] Vikram Iyengar & al, ″Test Bus Sizing for System On
Chip″,Transactions On Computers,vol.51,No.5,May 2002
[9] Vikram Iyengar, Krishnendu Chakrabraty, ″Test Wrapper and
Test Access Mechanism Co-Optimisation for System On Chip″,
Transactions On Computers,vol.51,No.5,May 2002
[10] Krishnendu Chakrabraty, ″Design of System On Chip Test
Access Architecture Using Integer Linear Programming ,Proc.VLSI
Test symp,pp.127-134,2000
CONCLUSION
On a passé en aperçu les différents problèmes que
rencontrent les systèmiers ou concepteurs systèmes pour
faire des tests sur les SOCs.
[11] Vikram Iyengar & al, ″Design ad Optimisation of Multi-level
TAM Archtectures for Hierarchical SOCs
[12] Subbayu Basu & al, ″An Integrated Approach To testing
Embeded Cores and Interconnects Using Test Access Mechanism
(TAM) Switch ,Journal of Electronic Testing: Theory and Application
18,475-485,2002
Sachant que chaque solution apportée, fait un compromis
entre le temps de test, surface additionnelle sans oublie
qu’un test d’un cœur (ou des cœurs ) causent des
dissipations de puissance qu’on ne ne doit pas omettre
dans les solutions a apporter.
[13] Erik jan Marinissen & al, ″ Wrapper Design for Embeded Core
Test ″, 911-920, International Test Conference 2000
On cherche toujours des solutions qui doivent être
flexibles(portabilité, rajout d’extensions)
[13] Mounir Benbdenbi, ″Conception en vue du test pour les
Systèmes intégrés sur silicium SOC″, thèse de doctorat
septembre 2002
La solution matérielle ou logicielle doit être compatible a la
norme P1500.
Documentation Supplémentaire :
[14] Julien Pouget, ″ Test Intégré des Systèmes sur puces
SOCs″, thèse de doctorat 2002
Pour diminuer le temps de test, on peut solutionner les
problèmes par une implantation de plusieurs types de bus et
de plusieurs types d’accès aux cœurs.
10