FR2627594A1 - Procede et systeme pour tester et depanner des systemes electroniques a base de microprocesseurs - Google Patents

Procede et systeme pour tester et depanner des systemes electroniques a base de microprocesseurs Download PDF

Info

Publication number
FR2627594A1
FR2627594A1 FR8902016A FR8902016A FR2627594A1 FR 2627594 A1 FR2627594 A1 FR 2627594A1 FR 8902016 A FR8902016 A FR 8902016A FR 8902016 A FR8902016 A FR 8902016A FR 2627594 A1 FR2627594 A1 FR 2627594A1
Authority
FR
France
Prior art keywords
microprocessor
memory
uut
address
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8902016A
Other languages
English (en)
Other versions
FR2627594B1 (fr
Inventor
Marshall H Scott
Robert E Cuckler
John D Polstra
Anthony R Vannelli
W Douglas Hazelton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fluke Corp
Original Assignee
John Fluke Manufacturing Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by John Fluke Manufacturing Co Inc filed Critical John Fluke Manufacturing Co Inc
Publication of FR2627594A1 publication Critical patent/FR2627594A1/fr
Application granted granted Critical
Publication of FR2627594B1 publication Critical patent/FR2627594B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Abstract

L'invention concerne un procédé et un système pour tester et dépanner des systèmes électroniques à base de microprocesseurs. A cet effet, l'invention a pour objet un appareil pour tester un dispositif du type comportant un microprocesseur 70 et une mémoire 72 qui sont interconnectés par des bus de données 74 et d'adresses 76, caractérisé en ce qu'il comprend : - un moyen pour substituer une mémoire d'émulation 64 à la place de ladite mémoire 72 de dispositif; - des moyens de commande pour placer des instructions dans ladite mémoire d'émulation et pour faire en sorte que ledit microprocesseur 70 exécute lesdites instructions; - des moyens d'évaluation couplés avec lesdits moyens de commande et ladite mémoire d'émulation pour comparer des réponses auxdites instructions en provenance du microprocesseur avec une série de réponses prédéterminées; et - des moyens couplés avec lesdits moyens de commande et ledit microprocesseur pour produire des signaux en synchronisme avec des cycles de bus de microprocesseur.

Description

La présente invention concerne d'une façon
générale le contrôle et le dépannage de systèmes élec-
troniques à base de microprocesseurs et en particulier
le contrôle et le dépannage de systèmes à base de micro-
processeurs utilisant des techniques d'émulation de mémoire. Du fait de l'augmentation de la complexité
des systèmes à base de microprocesseurs qui sont présen-
tement incorporés dans une grande diversité de produits pour consommateurs et industriels, une automatisation des processus de contrôle et de dépannage est devenue
virtuellement une nécessité. Un certain nombre de techni-
ques de contrôle ou tests comme une analyse de signature, une détection de niveau logique, un comptage de fréquence et d'événement, un contrôl61e à effet d'émulation, sont bien connues et ont été utilisées depuis de nombreuses années. En particulier, des appareils de contrôle à effet d'émulation, qui sont ainsi appelés du fait qu'ils améliorent par émulation le comportement de dispositifs en relation avec le noyau, sont avantageux pour effectuer un contrôle fonctionnel et une isolation de défauts
dans des plaquettes ou systèmes à base de microproces-
seurs du fait qu'en premier lieu ils contrôlent le sys-
tème de l'intérieur et qu'en second lieu ils permettent
de tester un système dans lequel le noyau est mort.
Un tel appareil de test par émulation est un émulateur de microprocesseur décrit dans le brevet U.S. No. 4 455 654 délivré à K.S. Bhaskar et al. et affecté à John Fluke Mfg. Co., Inc. Ici, un système
de test, qui est lui-même un système à base de micropro-
cesseur, est connecté à la place d'un microprocesseur dans une unité soumise au test (UUT). Le système de test de Bhaskar et al. opère dans un mode d'accès par bus selon lequel des cycles individuels d'accès par
bus sont produits et réalisés avant de passer à un autre.
Ainsi, pour un cycle d'autobus, le microprocesseur du système de test est mis en communication de signaux avec le bus de UUT afin d'effectuer une opération de lecture ou d'écriture. Ensuite, le microprocesseur du système de test est commuté sur le circuit interne du système de test de façon à produire un autre ordre de lecture ou d'écriture avec une nouvelle adresse ou bien de traiter une information lue dans la mémoire de l'unité UUT. La commutation de bus nécessaire pour produire des cycles individuels d'accès par bus est devenue une limitation des dispositifs d'émulation de microprocesseurs tels que celui décrit par Bhashar et al., car les systèmes à base de microprocesseurs deviennent plus complexes et opèrent à des vitesses plus grandes. Des commutateurs de
bus appropriés pour des unités UUT à base de microproces-
seurs, par exemple pour des systèmes 80386, ne sont
pas simples et sont d'une conception difficile. En consé-
quence, il serait souhaitable de disposer d'un procédé différent par lequel un système de test puisse être relié au noyau d'une unité UUT der manière à effectuer
des processus de tests de diagnostics.
Un autre type de contrôle par émulation qui a été pris en considération est l'émulation d'une mémoire ROM (Mémoire Morte) du fait que des mémoires ROM sont en communication directe avec le bus du système UUT et également du fait que les configurations de fiches des mémoires ROM sont relativement simples, de sorte
que des connecteurs d'interfaces sont faciles à concevoir.
Historiquement, des dispositifs d'émulation de mémoire ROM ont été utilisés pour la réalisation de logiciels ou bien pour vérifier qu'une partie matérielle fonctionne correctement. Des dispositifs d'émulation de mémoire
ROM n'ont historiquement pas été utilisés pour un dépan-
nage ou une détection de défauts du fait qu'aucun signal de synchronisation n'est disponible pour synchroniser l'équipement de contrôle avec les résultats de contrôle et du fait qu'en outre un équipement de contrôle ne pourrait pas extraire directement une information de
contrôle de la prise de la mémoire ROM de l'unité UUT.
Une solution partielle à ce problème est décrite dans
le brevet U.S. No. 4 691 316, o un dispositif d'émula-
tion de mémoire ROM est relié à une borne d'entrée/sortie de ROM d'une unité UUT et o les résultats du test de diagnostic sont lus dans le bus d'adressage de UUT sous la forme d'informations d'adresses codées, qui sont
ensuite décodées et mémorisées dans le dispositif d'ému-
lation de ROM. Cependant il est à noter que ce système ne permet pas un diagnostic complet des défauts existant dans un noyau d'unité UUT et qu'il est minuté à ce qui peut être communiqué par un bus d'adressage. En outre, la tendance se manifestant dans des systèmes à microprocesseurs consiste dans une augmentation de la proportion de mémoires vives et en une réduction de la proportion de mémoires mortes. On peut concevoir que finalement les mémoires mortes ROM soient éliminées de sorte que l'utilisation de dispositifs d'émulation
de mémoires ROM serait supprimée.
Conformément à la présente invention, un
procédé et un système pour tester et dépanner des systè-
mes électroniques à base de microprocesseurs utilisent des techniques d'émulation de mémoire en addition à d'autres techniques de dépannage pour réaliser des tests
complets de fonctionnalité et une localisation des dé-
fauts.
Le système de test comprend un poste principal
à base de microprocesseur et un bloc d'interface compre-
nant également un système à base de microprocesseur qui est relié à la fois au microprocesseur et à l'espace de mémoire d'une unité soumise au test (UUT). Le bloc d'interface comprend un circuit logique spécial qui est relié au microprocesseur de UUT afin de produire une impulsion de synchronisation et résolution précise pendant un cycle de bus intéressant de façon à assurer une isolation des défauts et un dépannage complet, qui soient aussi efficaces que ceux obtenus par le procédé connu d'émulation de microprocesseur. Le bloc d'interface assure la commande du microprocesseur de UUT, qui exécute alors des instructions fournies par une mémoire RAM O10 d'émulation qui est reliée à l'espace de mémoire de l'unité UUT. Un analyseur à mémoire RAM contrôle les
connexions de la mémoire de UUT sur une base-cycle-de-
bus-par-cycle-de-bus et il indique s'il se produit des défauts et dans quel cycle de bus. Le système global
permet d'effectuer plusieurs opérations de test, notam-
ment en utilisant les lignes d'adresse de la mémoire
de UUT pour extraire des données de diagnostic, l'utili-
sation de la ligne de sélection de bus de UUT pour coder une donnée qui est extraite et analysée, une utilisation de l'analyseur à RAM pour faciliter une technique de test de bus de UUT qui permet une isolation complète des défauts, ainsi qu'un système de vérifications et d'adaptations pour faire en sorte que l'accès à un bus
se produise correctement et que l'unité UUT soit mainte-
nue en action pendant qu'une donnée est en train d'être
analysée. Egalement, l'analyseirà RAM facilite une tech-
nique de correction en pipeline pour faire en sorte que des microprocesseurs de UUT ayant des propriétés d'opératiorr en pipeline ou de pré-extraction fonctionnent
correctement.
En conséquence, un objet de la présente inven-
tion est de créer un procédé et un système pour tester
et dépanner des systèmes électroniques à base de micro-
processeurs par utilisation de techniques d'émulation
de mémoire.
Un autre objet de la présente invention est de créer un système de test pour des systèmes à base de microprocesseurs, qui ne soit pas entravé par
la limitation des circuits de commutation de bus.
Un autre objet de la présente invention est de produire une impulsion de synchronisation pour
une isolation complète d'un défaut, qui soit aussi effi-
cace que celle obtenue par émulation de microprocesseur.
Encore un autre objet de la présente invention est de créer un système de test pour des systèmes à base de microprocesseurs opérant par émulation de mémoire et dans lequel ladite mémoire peut être une mémoire
ROM ou une mémoire RAM ou bien une combinaison des deux.
D'autres caractéristiques et avantages de la présente invention seront mis en évidence, dans la
suite de la description, donnée à titre d'exemple non
limitatif, en référence aux dessins annexés dans les-
quels: la Figure 1 est un schéma à blocs généralisé d'un système de test conforme à la présente invention;
la Figure 2 est un schéma à blocs plus détail-
lé de la connexion d'émulation de RAM intervenant dans le bloc d'interface de la Figure 1;
la Figure 3 est un schéma à blocs plus détail-
lé du circuit logique du bloc d'interface de la Figure 1 et de sa connexion avec le microprocesseur de UUT;et la Figure 4 est un organigramme d'un programme d'exécution d'octet de commande comprenant une boucle
de réserve.
En référence à la Figure 1, qui représente un schéma à blocs généralisé d'un système de test servant au test fonctionnel et au diagnostic de défauts existant dans des systèmes à base de microprocesseurs, ou dans des unités soumises au test (UUT), le système conforme à la présente invention comprend un poste principal 10
2627594.
relié électriquement à un bloc d'interface 12, qui est à son tour relié électriquement à une unité UUT 14 d'une
manière qui sera décrite en détail dans la suite.
Le poste principal 10 comprend, entre autres, un clavier à touches 20 et un dispositif d'affichage 22 relié électriquement à un ensemble 24 comportant
des circuits de commande et de mesure. L'ensemble compor-
tant les circuits de commande et de mesure comporte un système à base de microprocesseur et est couplé par l'intermédiaire d'un bus 26 avec un circuit d'entrée/
sortie (I/O) 28 pour communiquer avec le bloc d'inter-
face 12. L'ensemble 24 de circuits de commande et de mesure est également relié par l'intermédiaire d'un câble 30 à une sonde 32, qui est représentée physiquement placée, à des fins de dépannage, à l'intérieur de l'unité UUT 14. En conséquence, le poste principal commande le test fonctionnel et le dépannage de l'unité UUT en réponse à des actions d'un opérateur, en envoyant des instructions et des ordres au bloc d'interface et en renvoyant les résultats à l'opérateur. Des exemples
d'un équipement disponible dans le commerce et représen-
tant un poste principal 10 constitué par les dépanneurs de système de la série 9000 et les systèmes de test
numérique 9100 qui sont fabriqués par John Fluke Mfg.
Co., Inc. Le bloc d'interface 12 comprend un système
à base de microprocesseur qui est désigné par l'expres-
sion "noyau de blocs" sur le dessin. Le noyau de blocs est formé d'un microprocesseur 40, d'une mémoire ROM 42, d'une mémoire RAM 44 et de bornesd'entrée/sortie 46, qui sont tous interconnectés par des bus de données, d'adresses et de commande. Le bloc d'interface 12 est relié au poste principal 10 par un câble à conducteurs multiples 50, qui est branché entre la borne entrée/ sortie 28 et les bornes entrée/sortie 46. Le noyau de blocs est relié par l'intermédiaire de ses bus de données, d'adresseset de commande à un circuit logique 60 ainsi
qu'à une RAM d'analyse 62 et à une RAM d'émulation 64.
La fonction de ces blocs sera décrite dans la suite.
L'unité UUT 14 constitue un exemple de l'un quelconque d'une grande diversité de systèmes à base de microprocesseurs qui peuvent être testés en utilisant le système et les techniques de la présente invention
et on ne décrira ici que la section centrale ou de coeur.
Cette section centrale comprend un noyau de UUT qui est formé d'un microprocesseur 70 et d'une mémoire 72 interconnectés par un bus de données 74 et un bus d'adresses 76. Les bus de données et d'adresses de UUT
74 et 76 sont respectivement connectés à d'autres cir-
cuits de UUT 78 qui n'interviendront pas dans cette
description. Le bus d'adresses de UUT est connecté à
un décodeur d'adresses 80 qui produit des signaux de sélection de bus dans une ligne de sélection de bus
82 reliée à la mémoire de UUT 72. Un câble à conduc-
teurs multiples est connecté entre le circuit logique
intervenant dans le bloc d'interface 12 et le micro-
processeur de UUT 70 afin d'établir une communication entre eux. Un autre câble à conducteurs multiples- 92 est connecté entre la RAM d'émulation 64 et la mémoire de UUT 72. Il est à noter que la mémoire de UUT 72 est
représentée par une ligne en trait interrompu pour mon-
trer que la mémoire de UUT est soit invalidée, soit enlevée de sa prise. Le câble 92 peut par conséquent être soit enfiché directement dans la prise de la mémoire de UUT, soit retiré des fiches d'une mémoire de UUT invalidée. Cependant, le microprocesseur de UUT 70 reste
dans le circuit et est utilisé pour l'excécution d'ins-
tructions provenant de la RAM d'émulation 64. A cet égard, le microprocesseur de UUT 70 peut être d'un type
complètement différent du microprocesseur du bloc d'in-
terface. Par exemple, le microprocesseur du bloc d'inter-
face 40 peut être de façon appropriée un microprocesseur 68008 tandis que le microprocesseur de UUT 70 peut être de façon appropriée un microprocesseur 80386. Egalement, la mémoire de UUT 72 peut être une mémoire RAM ou une mémoire ROM ou bien elle peut être une combinaison des
deux. Par exemple, dans certains des systèmes à micropro-
cesseurs récents, une seule mémoire est pourvue d'un espace de mémorisation de quelques octets du type ROM à l'extrémité supérieure de l'espace d'adressage et à des fins d'assistance tandis que la partie prédominante
de l'espace de mémorisation est du type RAM.
On va décrire dans la suite rapidement le
fonctionnement du système représenté sur la Figure 1.
Un opérateur amorce un test particulier en utilisant le clavier à touches 20 et le dispositif d'affichage 22, et l'ensemble 24 de circuits de commande et de mesure produit des instructions et des ordres qui sont transmis par l'intermédiaire de la borne d'entrée/sortie 28, du câble 50 et de la borne d'entrée/sortie 46 du bloc
d'interface au noyau de blocs d'interface. Le micropro-
cesseur de bloc 40 excite le circuit par l'intermédiaire
du bloc d'interface 12 pour l'exécution du test désiré.
Des instructions de diagnostic sont placées dans la RAM d'émulation 64 et une commande de retour à l'état initial est transmise par l'intermédiaire de la borne d'entrée/sortie 46 et du câble 90 à la commande de gain du microprocesseur 70, ce qui produit un retour à l'état initial de ce dernier, qui commence alors à exécuter
les instructions contenues dans la RAM d'émulsion 64.
La RAM d'analyse 62 contrôle les résultats de testsarri-
vant par l'intermédiaire du câble 92 et elle transmet ces résultats au noyau de bloc d'interface qui transmet à son tour les informations au poste principal 10 par l'intermédiaire du câble 50. Le câble 90 capte les signaux de synchronisation provenant du microprocesseur 70 et les renvoie au circuit logique 60, qui produit à son tour une impulsion de synchronisation qui est renvoyée
au poste principal 10 par l'intermédiaire du câble 50.
Lorsque de défauts sont détectés, l'opérateur peut rapi- dement placer la sonde 32 sur un noeud particulier à
l'intérieur de l'unité UUT 14 et l'impulsion de synchro-
nisation extraite du microprocesseur de UUT 70 fait en sorte qu'une information lue par la sonde apparaisse à l'instant approprié, c'est-àdire à l'intérieur du
cycle de bus intéressant.
Un aspect important de la présente invention consiste dans l'utilisation de la ligne de sélection de puce 82 pour extraire une information utile à partir d'une opération de lecture effectuée sur une mémoire
ROM de UUT dans l'espace de mémorisation 72. Dans ce pro-
cessus de test, le microprocesseur de UUT 70 est ramené
à l'état initial et il commence l'exécution d'instruc-
tions présentées à l'espace de mémorisation 72 par la RAM d'émulation 64. Lorsque le microprocesseur de UUT a exécuté un certain nombre de sigles de bus, le décodeur d'adresses de UUT 80 décode la sélection de puce sous la forme d'une série de uns et de zéros. La RAM d'analyse 62 contrôle la fiche de sélection de puce qui se trouve dans la prise de la mémoire 72 et elle indique des défauts si un signal de sélection de puce se produisant pendant un cycle de bus particulier n'a pas le niveau logique attendu. De cette manière, des
résultats de test peuvent être retransmis au bloc d'in-
terface à partir d'une prise de ROM.
La Figure 2 montre de façon plus détaillée l'interconnexion existant entre la RAM d'émulation 64 et la mémoire de UUT 72. En particulier, du fait que le câble 92 peut être assez long, on peut prévoir un module de mémorisation 100 pour conditionner les signaux en vue d'obtenir un fonctionnement correct. Evidemment,
si le câble 92 est très court, alors le module de mémo-
risation 100 n'est pas nécessaire. Il est prévu dans le module de mémorisation 100 des tampons 102 et 104 qui sont interposés dans les voies de transmission de signaux. L'extrémité du câble 92 peut comprendre un connecteur 110 destiné à être relié directement à une prise de mémoire de UUT et le module de mémorisation peut comprendre une prise 112 destinée à recevoir
par enfichage la mémoire de UUT. Avec une telle configu-
ration, un opérateur peut effectuer un choix entre des
instructions provenant du bloc d'interface 12, c'est-
à-dire provenant de la RAM d'émulation 64, ou bien prove-
nant de la mémoire de UUT placée dans la prise 112.
En correspondance, on peut prévoir un commutateur 114 pour enclencher le tampon de données 102 ou bien la prise de mémoire 112 tout en empêchant l'activation de l'autre. Dans des situations o la mémoire de UUT
en train de subir une émulation est la mémoire ROM d'as-
sistance, il peut exister, en fonction de la largeur du bus de UUT, plusieurs mémoires ROM d'assistance de
UUT, qui nécessitent plusieurs connecteurs 110 et plu-
sieurs modules de mémorisation 100. En pratique, la présente invention établit une souplesse suffisante
pour s'adapter pratiquement à n'importe quelle configura-
tion de mémoire de UUT.
Une particularité importante de la présente
invention consiste à prévoir deux groupes de RAM d'éffiula-
tion qui sont représentés par les groupes de RAM d'émula-
tion 64A et 64B. Pour faire en sorte que l'unité UUT reste active pendant un test fonctionnel, un groupe
de RAM d'émulation est toujours présenté au microproces-
seur de UUT 70 pendant le test. Avec cette particularité de fonctionnement de la présente invention, le noyau du bloc d'interface 12 peut charger des instructions dans l'un quelconque des groupes pendant que l'autre il est relié & l'espace de mémorisation de la mémoire de UUT et pendant que le microprocesseur de UUT 70 est en train d'exécuter des instructions provenant de l'autre groupe. A l'instant approprié, les groupes peuvent être commandés de manière que le microprocesseur de UUT 70 ne soit pas averti que les instructions en train d'être exécutées proviennent- de l'autre RAM d'émulation. Des signaux de sélection de groupe d'émulation sont produits par le circuit logique 60 et seront décrits en relation avec la Figure 3. Une donnée provenant des groupes de
RAM d'émulation 64A et 64B est transmise par l'intermé-
diaire d'un bus de données 120 et elle parvient par
l'intermédiaire du tampon 102 à la prise de mémoire.
Une information provenant de la prise de mémoire de UUT sous la forme de signaux d'entrée dans la mémoire de UUT est renvoyée par l'intermédiaire d'un bus 122
et par l'intermédiaire du tampon 104 au module de mémori-
sation 100 pour parvenir dans le bloc d'interface 112 et, comme cela sera précisé dans la suite, ces signaux d'entrée de mémoire de UUT seront utilisés par la RAM d'analyse 62 et par le circuit logique 60. On a également
représenté sur la Figure 2 un circuit logique de sélec-
tion de type de ROM 126 qui est relié au bus d'entrée de mémoire de UUT 122 et qui, si la mémoire de UUT 72 est une mémoire ROM, produit un signal pour faire en sorte qu'une information de fiche correcte soit transmise
au bloc d'interface 12. Ainsi, bien que les configura-
tions de fiches JEDEC physiques puissent être les mêmes d'une mémoire ROM à une mémoire ROM, les connexions
électriques peuvent être différentes (en d'autres emplace-
ments) d'une mémoire ROM à une mémoire ROM. Le noyau de bloc signale au circuit logique 126 quel type de
mémoire ROM doit faire l'objet d'une émulation.
La Figure 3 représente de façon plus détaillée
le circuit logique 60, la RAM d'analyse 62 et l'intercon-
nexion du circuit logique 60 avec le microprocesseur de UUT 70. Un aspect important de la présente invention
consiste dans la génération d'impulsions de synchronisa-
tion et de résolution précise aux instants appropriés, comme mentionné cidessus. Cela est facilité par -le captage d'un de signaux d'entrée de synchronisation
au microprocesseur de UUT 70. Par exemple, pour le micro-
processeur 80386, HOLD, HLDA (Maintien de Connaissance),
=S, RE=A-Y, CLK et RESET constituent des signaux d'en-
trée de synchronisation appropriés. Des connexions peu-
vent être établies par des "conducteurs volants" 140 à partir d'un module de synchronisation 150, qui est relié au câble 90. Le module de synchronisation 150 contient un tampon approprié d'entrée de synchronisation 152 pour conditionner les signaux afin d'obtenir un fonctionnement correct. Le câble 90 comporte également une ligne de commande de retour à l'état initial, qui est couplée avec l'entrée d'un amplificateur de commande de retour à l'état initial 154 intervenant dans le module
de synchronisation 150. Le signal de sortie de l'ampli-
ficateur de commande de retour à l'état initial 154 est un signal de commande de retour à l'état initial, qui est appliqué comme un signal prioritaire à la sortie de retour à l'état initial de système d'un générateur de retour à l'état initial de système 158 intervenant
- dans.l'unité UUT 14 afin de commander le gain du micro-
processeur de UUT 70. Des signaux du microprocesseur
qui pourraient nuire à l'aptitude de production de si-
gnaux de synchronisation, comme la ligne HOLD dans le microprocesseur 80386, peuvent être contrebalancés par des signaux de commande appropriés. A nouveau, d'une façon semblable dans la situation existant dans le module
de mémorisation 100 de la Figure 2, le module de synchro-
nisation 150 intervient dans le circuit à cause de la grande longueur du câble 92 et il peut être omis si
l'interconnexion entre le circuit logique 60 et le micro-
processeur de UUT est suffisamment courte.
Le circuit logique 60 intervenant dans le bloc d'interface 12 comprend un contrôleur d'état de cycle de bus 200, un contrôl61eur d'état de génération d'impulsionsde synchronisation 202, un contrôleur d'état
de synchronisation de bascule d'adressage 204,un contrô-
leur d'état de génération d'adresse de RAM d'analyse 206 et un contrôleur d'état de sélection de groupe de RAM d'émulation 208, un comparateur d'adresses 210 et une bascule d'adressage 212. Tous ces dispositifs sont connectés de manière à émettre et recevoir des signaux d'entrée provenant du bus de commande de noyau de bloc d'interface. Ainsi, ils reçoivent leurs instructions de fonctionnement en provenance du microprocesseur 40
du noyau de bloc d'interface et de ses composants asso-
ciés. Le contrôleur d'état decycle de bus 200 reçoit,comme un de ses signaux d'entrée, les signaux d'entrée de
synchronisation qui sont captés en provenance du micro-
processeur de UUT 70, et l'autre signal d'entrée, comme mentionné cidessus, est un signal de commande provenant
du microprocesseur 40 du noyau de bloc d'interface.
Le contrôleur d'état de cycle de bus 200 contrôle l'exé-
cution d'opérations par le microprocesseur de UUT 70 et, quand le cycle de bus intéressé apparaît, ce qui
est déterminé par le signal d'entrée de commande prove-
nant du microprocesseur de bloc d'interface 40, il envoie des signaux de commande aux entrées de synchronisation des autres contrôleurs d'état 202208 intervenant dans
le circuit logique 60.
Le comparateur d'adresses 210 reçoit comme un de ses signaux d'entrée les signaux d'entrée provenant de la mémoire de UUT par l'intermédiaire du bus 122 de la Figure 2 ainsi qu'une adresse ou un groupe d'adresses
qui est fourni par le microprocesseur de bloc d'inter-
face 40. Lorsque le microprocesseur de UUT exécute les instructions fournies par la RAM d'émulation 64, le comparateur d'adresses contrôle les lignes d'adresses de mémoire de UUT qui sont alimentées par le bus 122 et, lorsque deux signaux d'entrée sont en correspondance, le comparateur d'adresses 210 est "activé" et envoie
un signal aux contrôleurs d'état 204, 206 et 208.
Puisqu'une génération d'impulsions de synchro-
nisation pour un dépannage constitue un aspect important de la présente invention, un exemple montrant comment les impulsions de synchronisation sont engendrées sera utile pour la compréhension du principe de fonctionnement du circuit logique 60. Un critère important consiste en ce que l'impulsion de synchronisation soit engendrée pendant un cycle de bus intéressant. Le bloc d'interface
12 est en train de commander l'unité UUT 14 pour l'exécu-
tion d'une opération de lecture ou d'écriture, cette opération de lecture ou d'écriture se composant d'un cycle de bus. Il est souhaitable, pour un dépannage, de produire une impulsion de synchronisation à l'instant pouvant être sélectionné pendant cette opération de lecture ou d'écriture, c'est-à-dire une impulsion de
synchronisation d'adresse, une impulsion de synchronisa-
tion de donnée ou toute autre impulsion de synchronisa-
tion. L'opérateur enclenche le cycle de bus intéressant dans le poste principal 10, qui commande à son tour le microprocesseur 40 du bloc d'interface 12 de façon à produire une impulsion de synchronisation à l'instant approprié. Les signaux de commande du contrôleur d'état
de cycle de bus. 200, du contrôleur d'état de synchroni-
sation de bascule d'adressage 204 et du comparateur d'adresses 212 sont chargés avec les signaux de commande appropriés. Par exemple, s'il est souhaitable d'avoir une impulsion de synchronisation d'adresse, le minutage du signal de sortie du contrôleur d'état de génération d'impulsionsde synchronisation 202 est agencé de façon qu'une impulsion de synchronisation appropriée soit
fournie au poste principal 10 à un moment o l'informa-
tion d'adresse est valable dans le bus d'adresses de microprocesseur deUUT. De façon analogue, pour une impulsion de synchronisation de donnée, l'impulsion
de synchronisation appropriée est fournie au poste prin-
cipal quand une donnée est valable dans le bus de données
de microprocesseur de UUT.
Le contrôleur d'état de cycle de bus 200 produit un train d'impulsions en réponse au mode de
synchronisation désiré, en réponse à une exécution d'opé-
ration par le microprocesseur 70 et à une entrée de
commande provenant du microprocesseur 40. Quand le micro-
processeur 70 exécute une opération, il extrait d'une manière continue des instructions à partir de la RAM d'émulation 64 et les adresses desdites instructions sont vérifiées par le comparateur 212. Quand la dernière instruction extraite avant le cycle de bus intéressant se produit, le comparateur d'adresses 212 est "activé", en envoyant un signal de sortie au contrôleur d'état
de synchronisation de bascule d'adressage 204, qui cor-
respond simplement à un processus de synchronisation servant à synchroniser la sortie du comparateur avec les signaux de synchronisation du microprocesseur de UUT 70. Le signal de sortie synchronisé du contrôleur
d'état 204 est appliqué au contrôleur d'état de généra-
tion d'impulsions de synchronisation 202, qui commence à effectuer un comptage régressif d'un nombre préréglé de cycles de bus, déterminé par l'entrée de commande provenant du noyau de bloc d'interface, jusqu'à ce qu'il
envoie une impulsion de synchronisation au poste princi-
pal 10.
Le signal de sortie du contrôleur d'état
de synchronisation de bascule d'adressage 204 est égale-
ment appliqué à la bascule d'adressage 212, qui contrôle le bus 122 d'entrées de mémoire de UUT et qui transmet les données reçues en provenance de celui-ci aux adresses appropriées. Pour extraire une donnée par l'intermédiaire des lignes d'adressages de ROM, par exemple quand l'unité UUT est commandée de façon à effectuer un cycle de lecture de bus, l'entrée à la bascule 212 peut être constituée de façon appropriée par les bits de poids inférieur d'un mot d'adresse tandis que les bits de poids supérieur
sont appliqués au comparateur d'adresses 210.
Le contrôleur d'état de sélection de groupe de RAM d'émulation 208 est simplement une bascule qui
est validée par un signal de commande provenant du micro-
processeur de bloc d'interface 40 afin de sélectionner le groupe de RAM d'émulation 64A ou le groupe de RAM d'émulation 64B à l'instant approprié, qui est établi par le comparateur d'adresses 210 et le contrôleur d'état
de cycle de bus 200.
Le contrôleur d'état de génération d'adresse de RAM d'analyse 206 reçoit des signaux d'entrée en provenance du contrôleur d'état de cycle de bus 200, du comparateur d'adresses 210 ainsi que des signaux d'entrée de commande provenant du microprocesseur de bloc d'interface 40 afin de produire des adresses pour la RAM d'analyse 62 aux instants appropriés. La RAM d'analyse 62 est utilisée pour tester l'intégrité de
la structure de bus de UUT.
Un test de bus constitue un processus impor-
tant pour localiser des défauts dans le noyau de UUT, ces défauts pouvant produire un comportement incorrect du microprocesseur de UUT 70 ou bien un fonctionnement incorrect du bloc d'interface 12. Par exemple, il existe une coupure ou une ouverture dans une ligne d'adresse dans le noyau de UUT, le microprocesseur de UUT 70 n'est
2627594-
plus capable d'extraire des instructions correctement
de la RAM d'émulation (ou bien de sa propre mémoire).
* Le test de bus constitue peut-être la première étape de contrôle d'une unité UUT inconnue, parce qu'il fait en sorte que l'unité UUT soit au moins dépannée et mise
en fonctionnement avant le passage aux autres tests.
S'il existe des erreurs fondamentales, elles sont alors notées. Dans le système de la présente invention, le poste principal 10 initialise le test de bus, en commandant le bloc d'interface 12 de manière à charger le programme de test de bus dans la RAM d'émulation 64. Le microprocesseur de bloc d'interface 40 enclenche alors la RAM d'analyse 62 pour la synchronisation d'une séquence de cycles de bus dans la mémoire RAM 62, et il enclenche également le contrôleur d'état de génération
d'impulsions de synchronisation 202 afin que des impul-
sions de synchronisation soient produites à des instants appropriés pour dépanner un noyau défectueux si cela est nécessaire. Le microprocesseur de bloc d'interface confirme le retour à l'état initial du microprocesseur de UUT 70, qui commence alors à exécuter des instructionqs fournies par la RAM d'émulation 64. La séquence de cycles de bus de UUT est synchronisée dans la mémoire RAM 62 et, quand la séquence se termine le microprocesseur évalue l'information mémorisée dans RAM 62 afin de
déterminer s'il existe des défauts de bus et, dans l'af-
firmative, quelles lignes sont défectueuses et dans
quel état ou cycle de bus ils se sont produits. L'opéra-
teur peut alors localiser le défaut particulier en utili-
sant la sonde 32 en coopération avec des impulsions de synchronisation produites par le contrôleur d'état
de génération d'impulsions de synchronisation 202.
Comme moyen additionnel de dépannage, l'opé-
rateur peut spécifier la donnée à appliquer au bus de données pendant le premier cycle de bus après le retour à l'état initial de l'unité UUT. Par mesure d'une ligne de donnée définie pendant le premier cycle de bus après un retour à l'état initial, l'opérateur peut directement confirmer ou préciser que le trajet de donnée est valable et opère correctement entre la prise de mémoire 72 et le microprocesseur de UUT 70. Cette technique de mesure est nécessaire pour séparer des problèmes concernant directement un bus de données par rapport à des symptômes concernant un bus de données et qui sont indirectement
causés par d'autres défauts de UUT.
La RAM d'analyse 62 est un dispositif à double borne qui permet au microprocesseur de bloc d'interface de lire des données provenant de RAM 62 et également d'écrire des données dans celle-ci. On obtient par conséquent un dispositif de dépannage très souple. En
fait, un tel système permet un dépannage de microproces-
seurs ayant des propriétés de fonctionnement en "pipeline" ou de préextraction. Les microprocesseurs récents
ayant la propriété de fonctionner en pipeline ex-
traient un certain nombre d'instructions et les mémorisent par l'intermédiaire d'un pipeline dans le processeur,
puis ils commencent à les exécuter, mais non-obligatoi-
rement séquentiellement.
Le système de test de la présente invention peut déterminer lorsqu'une opération en pipeline se
produit et lorsqu'interviennent différents autres fac-
teurs qui se produisent dans l'unité UUT, comme des nombres différents d'états d'attente" dans un cycle
de bus, qui modifient la séquence d'extraction d'instruc-
tions à partir de la RAM d'émulation 64. Ainsi, il est
souhaité que le système de test comprenne quelles diffi-
cultés se produisent en résultat de défauts ou bien si elles sont simplement fonction des caractéristiques
d'opération en pipeline du microprocesseur particulier.
Et s'il se produit une opération en pipeline, il est souhaitable que cette opération en pipeline n'interfère pas l'aptitude du système de test à diagnostiquer des
défauts dans le noyau de UUT.
En conséquence, la RAM d'analyse 62 mémorise des adresses et des résultats de tests. Un programme incorporé dans le noyau du bloc d'interface analyse cette information en comparaison avec des possibilités attendues et, s'il existe un problème, l'opérateur est averti par l'intermédiaire du poste principal 10 et des processus appropriés de dépannage utilisant la sonde 32 sont établis. Ainsi, un processus en pipeline est reconnu et analysé par le système de test de la présente invention et le passage/l'absence d'une information
est transmis au poste principal 10.
A titre d'exemple et pour comprendre complè-
tement le fonctionnement du système de test de la présen-
te invention, on va décrire une opération de dépannage hypothétique. On va supposer dans cet exemple qu'il est souhaite de commander le microprocesseur de UUT
pour exécuter un cycle de "lecture" à une adresse sélec-
tionnée par un opérateur utilisant l'équipement de test et de faire en sorte que les résultats soient renvoyés
au poste principal de dépannage et affichés par celui-
ci. Le système de test est agencé de façon approprié de telle sorte que le bloc d'interface 12 soit relié au poste principal 10 et qu'il soit également relié
à l'unité UUT 14.
L'opérateur appuie sur une touche READ sur
le poste principal 10, les touches correspondant à l'a-
dresse désirée, par exemple 0000, et il appuie sur une touche ENTER (Entrée). Le poste principal 10 commande alors le bloc d'interface 12 pour l'exécution d'une opération de lecture à l'adresse 0000. Le microprocesseur de bloc d'interface 40 accepte l'ordre et enclenche
une séquence d'opérations. En premier lieu, le micro-
processeur 40 examine un indicateur d'état dans la RAM de bloc d'interface 44 afin de déterminer s'il a la commande de l'unité UUT, et il détermine rapidement qu'il n'a pas la commande du fait que la RAM d'émulation 64 ne contient pas un programme. En correspondance,
un code "lecture/écriture" enregistré dans le langage-
machine pour le microprocesseur de UUT cible 70 est chargé de la RAM 44 ou de la ROM 42 du noyau de bloc d'interface dans les deux groupes de RAM d'émulation
64A et 64B.
Ensuite, le microprocesseur de bloc d'interface
assure l'activation de la ligne de retour à l'état ini-
tial du microprocesseur de UUT 70 par application d'un
signal de commande de retour à l'état initial par l'inter-
médiaire de la borne entrée/sortie 46 du bloc d'interface, du câble 90 et du tampon 154 du module de synchronisation
afin de contrebalancer le signal de sortie du généra-
teur de sortie du générateur de retour & l'état initial de UUT 158. En même temps, le comparateur d'adresses
210 est enclenché pour contrôler une "région de communica-
tion" prédéterminée de l'espace d'adressage dans la RAM d'émulation 64. Ensuite, la ligne de retour à l'état
initial du microprocesseur de UUT 70 est désactivée.
Il est à noter que la région de communication est cons-
tituée, dans une réalisation commerciale proposée, par
un espace de 128 octets et qu'ainsi sept lignes d'adres-
sage sont utilisées pour accéder à cet espace.
Aussitôt que la ligne de retour à l'état initial est désactivée, le microprocesseur de UUT 70 commence à extraire des instructions ostensiblement à partir de sa propre mémoire ROM d'assistance, mais en réalité à partir de la RAM d'émulation 64 apparemment
engagée dans la prise de la mémoire de UUT 72. Ces pre-
mières instructions servent à initialiser le noyau de
UUT pour un test, puis à accéder à une adresse de réfé-
rence de retour à l'état initial prédésignée à l'inté-
rieur de la région de communication de la RAM d'émulation 64. Aussitôt que cela se produit, l'adresse est reconnue par le comparateur d'adresses 210, le comparateur d'a- dresses 210 est activé et il fait en sorte que la bascule d'adressage 212 transmette dans ce cas les sept bits de poids inférieur de l'adresse afin de déterminer ce qui est en train d'être communiqué. Cette information est transmise par le bus de données du noyau de bloc
d'interface afin de modifier au microprocesseur corres-
pondant 40 si le microprocesseur de UUT 70 a ou non été ramené à l'état initial. En conséquence, le logiciel du bloc d'interface peut utiliser des bits d'adresse pour déterminer l'état du microprocesseur de UUT 70 ainsi que la donnée qui est en train d'être renvoyée
à partir d'une opération de lecture.
Après que le microprocesseur 70 a été initia-
lisé, il assure d'abord l'extraction d'une instruction à partir d'une adresse de la RAM d'émulation 64 dans laquelle un octet d'ordre a été chargé et il lit l'octet d'ordre de manière à déterminer la fonction qu'il doit effectuer, par exemple une lecture, une écriture ou un état. Lorsque l'Octet d'Ordre = 0, une boucle de réserve est établie de telle sorte que le microprocesseur de UUT 70 lise l'octet d'ordre et, s'il est égal à zéro, il attend simplement jusqu'à la nouvelle extraction
et il effectue à nouveau la lecture de l'octet d'ordre.
Cette boucle de réserve est maintenue jusqu'à ce que l'octet d'ordre change et à ce moment le microprocesseur de UUT 70 exécute un ordre basé sur la valeur des bits
de poids inférieur de l'octet d'ordre. Cf. Fig. 4.
Dans la présente invention, la commande du microprocesseur de UUT 70 est facilitée par l'utilisation de deux groupes de RAM d'émulation 64. Par exemple, l'instruction "Octet d'Ordre = 0" peut être chargée dans le groupe A à l'adresse "Octet d'Ordre" tandis que l'instruction "Octet d'Ordre = 1" peut être chargée à la même adresse dans le groupe B, toutes les autres adresses étant chargées de façon identique dans les deux groupes. Ensuite, à l'instant approprié, comme décrit dans la suite, les groupes de RAM sont commandés de telle sorte que, lors de l'extraction suivante de l'octet d'ordre, le microprocesseur 70 lise "Octet d'Ordre
= 1" et puisse alors commencer à exécuter l'ordre désiré.
Avant que le microprocesseur de UUT 70 commen-
ce réellement à exécuter l'ordre prédéterminé, il est
cependant souhaitable de s'assurer que le bloc d'interfa-
ce 12 a la commande complète de l'unité UUT et que le noyau de UUT est prêt à répondre à des ordres provenant du microprocesseur de bloc d'interface 40. En conséquence, aussitôt que le microprocesseur de UUT 70 a été ramené à l'état initial et aussitôt que le microprocesseur
de bloc d'interface 40 a lu cette information en prove-
nance de la bascule d'adressage 212, le comaprateur d'adresses 210 est chargé pour contrôler l'adresse de l'octet d'ordre. Aussitôt que le microprocesseur de
UUT 70 lit l'adresse d'octet d'ordre dans la RAM d'émula-
tion 64, le comparateur d'adresses 210 est activé, en transférant les bits de poids faible de l'adresse d'octet d'ordre dans la bascule d'adressage 212. Maintenant le bloc d'interface 12 sait que le microprocesseur de UUT 70 a été initialisé et il attend la réception d'un ordre par l'intermédiaire de l'octet d'ordre. Ensuite, le comparateur d'adresse 210 peut être chargé de manière à contrôler la région de communication de 128 octets
de la RAM d'émulation 64 pour s'assurer que le micropro-
cesseur de UUT 70 n'est pas en train d'accéder à l'une quelconque desdites adresses. Le programme chargé dans la RAM d'émulation 64 comprend une instruction qui fait en sorte que le microprocesseur de UUT 70 accède à des adresses prédésignées à l'intérieur de la région de communication de 128 octets de la RAM d'émulation 64
s'il se produit une interruption ou une autre erreur.
En conséquence, si le comparateur d'adresses 210 est activé pendant ce test, cela signifie qu'une erreur s'est produite. A ce moment, la commande de l'unité UUT est signifiée par enclenchement d'un indicateur
dans la RAM 44 du noyau de bloc d'interface.
Le processus décrit ci-dessus peut être mis en oeuvre dans une sousroutine qui peut être appelée soit au démarrage soit à un moment o le bloc d'interface
12 perd la commande de l'unité UUT 14.
Une fois que la commande de l'unité UUT 14 par le bloc d'interface 12 a été établie, un nouvel
octet d'ordre est chargé dans la RAM d'émulation 64.
Cette information est chargée dans le groupe de RAM qui ne fait pas présentement l'objet d'un accès par le microprocesseur de UUT 70 du fait que, jusqu'à ce que tous les circuits du bloc d'interface 12 soient activés, il est souhaité de maintenir le microprocesseur
de UUT 70 dans la boucle de réserve.
Egalement, le contrôleur d'état de cycle
de bus 200, le contrôleur d'état de génération d'impul-
sions de synchronisation 202, le contrôleur d'état de
synchronisation de bascule d'adressage 204 et le compara-
teur d'adresses 210 sont activés de façon à produire une impulsion de synchronisation pendant le cycle de bus correspondant, comme décrit cidessus, de telle sorte qu'un signal d'impulsions de synchronisation
soit envoyé au poste principal 10.
Lorsque tout est prêt, les groupes de RAM d'émulation sont commandés par le contrôleur d'état de sélection de groupe RAM 208 de telle sorte que, lors
de l'extraction suivante de l'octet d'ordre, le micropro-
cesseur de UUT 70 soit averti que l'octet d'ordre a changé et puisse en correspondance commencer à exécuter l'ordre de lecture en passant à une routine qui a été précédemment chargée dans le groupe de RAM d'émulation 64 approprié. Quand la dernière adresse de la routine est lue, le comparateur d'adresses 210 est activé et
excite les circuits de génération d'impulsions de synchr-
nisation. Entre temps, le microprocesseur de UUT 70 a mémorisé la donnée qui a été lue dans des registres situés à l'intérieur de l'unité UUT 14 puis il revient
à la boucle de réserve pendant que les circuits de géné-
ration d'impulsions de synchronisation produisent une
impulsion de synchronisation et terminent leur cycle.
Pendant que le microprocesseur de UUT 70 est en train d'opérer dans la boucle de réserve, le groupe de RAM d'émulation qui est libre est chargé avec un Octet d'Ordre d'"Emission" à l'adresse de l'Octet d'Ordre. Le comparateur d'adresses 210 est chargé de façon à contrôleur la région de communication de la RAM d'émulation à des adresses correspondant aux données
lues attendues.
Les groupes de RAM d'émulation sont à nouveau commandés et le microprocesseur de UUT 70 reçoit l'Octet
d'Ordre d'"Emission" et il passe à la routine d'émission.
Lorsque l'adresse en train d'être contrôlée par le compa-
rateur d'adresses 210 fait l'objet d'un accès par le microprocesseur de UUT 70, le comparateur est activé
et il fait en sorte que la bascule d'adressage 212 trans-
mette les bits de poids faible de l'adresse de RAM d'ému-
lation. Le microprocesseur de bloc d'interface 40 lit l'information mémorisée dans la bascule d'adresse page 12 et ensuite le microprocesseur de UUT 70 revient à sa boucle de réserve. Ce processus peut être répété autant de fois que ce qui est nécessaire pour extraire toutes les données. Quand toutes les données ont été assemblées à partir d'un ordre de lecture particulier,
elles sont renvoyées au poste principal 10.
Bien entendu, la présente invention n'est nul-
lement limitée aux modes de réalisation décrit et repré-
sentés; elle est susceptible de nombreuses variantes
accessibles à l'homme de l'art, suivant les applica-
tions envisagées et sans que l'on ne s'écarte de l'esprit
de l'invention.

Claims (18)

REVENDICATIONS
1. Procédé pour tester un dispositif du type
comportant un microprocesseur et une mémoire intercon-
nectés par des bus de données et d'adresses, comprenant les étapes consistant à: - substituer une mémoire d'émulation à la place de ladite mémoire de dispositif; - placer des instructions dans ledit moyen
d'émulation de mémoire et faire en sorte que ledit micro-
processeur exécute lesdites instructions; - évaluer les réponses auxdites instructions en provenance dudit microprocesseur et détecter des défauts; et - produire des impulsions de synchronisation à des instants sélectionnés pendant des cycles de bus prédéterminés à mesure que ledit microprocesseur exécute
lesdites instructions.
2. Procédé selon la revendication 1, caractérisé en ce que ledit dispositif comprend en outre un décodeur d'adresses relié audit bus d'adresses et une ligne de
sélection de puce connectée entre ledit décodeur d'adres-
ses et ladite mémoire, procédé comprenant en outre l'éta-
pe de décodage d'adresses faisant l'objet d'un accès par ledit microprocesseur pour produire des résultats
de test dans ladite ligne de sélection de puce.
3. Procédé selon la revendication 1, caractérisé en ce que ladite étape d'évaluation de réponses consiste à mémoriser une séquence de cycles de bus provenant dudit dispositif et à évaluer chaque cycle de bus pour
déterminer des défauts.
4. Procédé selon la revendication 3, caractérisé en ce que ladite étape d'évaluation de réponses consiste en outre à comparer des adresses faisant l'objet d'un
accès par ledit microprocesseur avec des adresses prédé-
terminées, et à comparer les résultats de test avec une série de réponses prédéterminées de telle sorte que, s'il s'est produit un pipeline d'extractions, une
déficience des deux comparaisons indique un défaut.
5. Procédé pour tester un dispositif du type comportant un microprocesseur et une mémoire ROM qui
sont interconnectés par des buses de données et d'adres-
ses, ledit dispositif comprenant en outre un décodeur d'adresses relié audit bus d'adresses et une ligne de
sélection de puce connectée entre ledit décodeur d'adres-
ses et ladite mémoire ROM, procédé comprenant les étapes consistant à: substituer une mémoire d'émulation à la place de ladite mémoire ROM; placer des instructions dans ledit moye
d'émulation de mémoire et faire en sorte que ledit micro-
processeur exécute lesdites instructions de manière
que des résutats de test soient fournis par ledit déco-
deur d'adresses dans ladite ligne de sélection de puce; et - extraire lesdits résultats de test de
ladite ligne de sélection de puce.
6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend en outre l'étape consistant à:
- produire des impulsions de synchronisa-
tion à des instants sélectionnés pendant des cycles
de bus prédéterminés à mesure que ledit microproces-
seur exécute lesdites instructions.
7. Appareil pour tester un dispositif du type comportant un microprocesseur (70) et une mémoire (72) qui sont
interconnectés par des bus de données (74) et d'adresses (76), carac-
térisé en ce qu'il comprend:
- un moyen pour substituer une mémoire d'émula-
tion (64) la place de ladite mémoire (72) de dispositif; - des moyens de commande pour placer des instructions dans ladite mémoire d'émulation et pour faire en sorte que ledit microprocesseur (70) exécute lesdites instructions; - des moyens d'évaluation couplés avec lesdits moyens de commande et ladite mémoire d'émulation pour comparer des réponses auxdites instructions en provenance
du microprocesseur avec une série de réponses prédétermi-
nées; et - des moyens couplés avec lesdits moyens de commande et ledit microprocesseur pour produire des
signaux en synchronisme avec des cycles de bus de micro-
processeur.
8. Appareil selon la revendication 7, caractérisé
en ce que lesdits moyens de génération de signaux com-
prennent un contrôleur d'état de cycle de bus programma-
ble réagissant à des signaux de commande de minutage
qui sont appliqués en provenance dudit microprocesseur.
9. Appareil selon la revendication 8, caractérisé en ce qu'il comprend en outre des moyens de génération d'impulsions de synchronisation en réponse à un signal de sortie provenant dudit contrôleur d'état de cycle
de bus, et en ce que lesdites impulsions de synchronisa-
tion sont engendrées à un instant présélectionné pendant
ledit cycle de bus.
10. Appareil selon la revendication 9, caractérisé en ce qu'il comprend en outre une sonde pour dépanner ledit dispositif, et en ce que des signaux de simulation et de réponse de ladite sonde sont synchronisés avec
lesdites impulsions de synchronisation.
11. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens d'évaluation comprennent des moyens pour la synchronisation de résultats de test
avec des cycles de bus prédéterminés.
12. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens d'évaluation comprennent en outre un comparateur répondant à une comparaison de résultats de test au moins partiels avec des valeurs prédéterminées fournies par lesdits moyens de commande de manière à produire ainsi un signal à la sortie du comparateur et un contrôleur d'état réagissant auxdits signaux de synchronisation de cycle de bus et audit signal de sortie de comparateur pour produire des signaux de synchronisation de résultats de test.
13. Appareil selon la revendication 12, caractérisé en ce qu'il comprend en outre un moyen pour mémoriser des résultats de test à un instant déterminé par les
signaux de synchronisation de résultats de test.
14. Appareil selon la revendication 13, caractérisé en ce que ledit moyen de mémorisation de résultats de
test est une bascule.
15. Appareil selon la revendication 13, caractérisé en ce que ledit moyen de mémorisation de résultats de
test est une mémoire RAM.
16. Appareil selon la revendication 7, caractérisé en ce que lesdits moyens de commande comprennent un
système à base de processeur.
17. Appareil selon la revendication 7, caractérisé
en ce que ladite mémoire d'émulation comprend deux mémoi-
res RAM et des moyens pour la commutation desdites mémoi-
res RAM pendant un test d'une manière telle que ledit
microprocesseur continue à effectuer une opération d'exé-
cution bien que seulement une mémoire RAM intervienne
pendant un test donné.
18. Appareil selon la revendication 17, caractérisé en ce que ledit moyen de commutation comprend un circuit logique commutable qui répond à des signaux de commande provenant desdits moyens de commande et auxdits signaux
de synchronisation de cycle de bus.
FR898902016A 1988-02-19 1989-02-16 Procede et systeme pour tester et depanner des systemes electroniques a base de microprocesseurs Expired - Fee Related FR2627594B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/158,223 US4868822A (en) 1988-02-19 1988-02-19 Memory emulation method and system for testing and troubleshooting microprocessor-based electronic systems

Publications (2)

Publication Number Publication Date
FR2627594A1 true FR2627594A1 (fr) 1989-08-25
FR2627594B1 FR2627594B1 (fr) 1993-01-15

Family

ID=22567169

Family Applications (1)

Application Number Title Priority Date Filing Date
FR898902016A Expired - Fee Related FR2627594B1 (fr) 1988-02-19 1989-02-16 Procede et systeme pour tester et depanner des systemes electroniques a base de microprocesseurs

Country Status (6)

Country Link
US (1) US4868822A (fr)
JP (1) JPH01251141A (fr)
CN (1) CN1018097B (fr)
DE (1) DE3903835A1 (fr)
FR (1) FR2627594B1 (fr)
GB (1) GB2216300B (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0370929A2 (fr) * 1988-11-23 1990-05-30 John Fluke Mfg. Co., Inc. Interface de test du noyau et procédé d'automatisation des diagnostics de systèmes à base de microprocesseurs
EP0370927A2 (fr) * 1988-11-23 1990-05-30 John Fluke Mfg. Co., Inc. Matériel pour la modification de performance de procédé d'émulation de mémoire

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956766A (en) * 1985-07-25 1990-09-11 International Business Machines Corp. Systems for inhibiting errors caused by memory cartridge insertion/removal using an idle loop
NL8602849A (nl) * 1986-11-11 1988-06-01 Philips Nv Inrichting voor het emuleren van een microcontroller, middels gebruik maken van een moedermicrocontroller en een dochtermicrocontroller, moedermicrocontroller, respektievelijk dochtermicrocontroller voor gebruik in zo een inrichting, geintegreerde schakeling voor gebruik in zo een dochtermicrocontroller en microcontroller bevattende zo een geintegreerde schakeling.
US5093784A (en) * 1987-02-27 1992-03-03 Nec Corporation Data processor with efficient transfer between subroutines and main program
US5226122A (en) * 1987-08-21 1993-07-06 Compaq Computer Corp. Programmable logic system for filtering commands to a microprocessor
DE3820728A1 (de) * 1988-06-18 1989-12-21 Philips Patentverwaltung Verfahren zum pruefen eines festwertspeichers und anordnung zur durchfuehrung des verfahrens
JPH0278330A (ja) * 1988-09-14 1990-03-19 Marantz Japan Inc Mca無線機用id・romエミュレータ
US4989207A (en) * 1988-11-23 1991-01-29 John Fluke Mfg. Co., Inc. Automatic verification of kernel circuitry based on analysis of memory accesses
IE80813B1 (en) * 1989-05-16 1999-03-10 Formia Limited Electronic test systems
US5210864A (en) * 1989-06-01 1993-05-11 Mitsubishi Denki Kabushiki Kaisha Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline
US5185882A (en) * 1990-04-27 1993-02-09 Westinghouse Electric Corp. Bit-slice microprocessor test system
US5581695A (en) * 1990-05-09 1996-12-03 Applied Microsystems Corporation Source-level run-time software code debugging instrument
EP0462328A1 (fr) * 1990-06-18 1991-12-27 ALCATEL BELL Naamloze Vennootschap Dispositif de test pour une puce électronique
US5594903A (en) * 1991-02-26 1997-01-14 Lynx Real-Time Systems, Inc. Operating System architecture with reserved memory space resident program code identified in file system name space
EP0504515A3 (en) * 1991-03-22 1993-05-26 John Fluke Mfg. Co., Inc. Memory emulation test system in which undesirable microprocessor reset is precluded
US5325365A (en) * 1991-10-04 1994-06-28 John Fluke Mfg. Co., Inc. In a memory emulation test apparatus, a method of and system for fast functional testing of memories in microprocessor-based units
DE4142161C2 (de) * 1991-12-20 1994-05-11 Nikolaus Dr Techn Tichawa Busemulationsvorrichtung
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
JPH0798692A (ja) * 1993-05-31 1995-04-11 Mitsubishi Electric Corp マイクロコンピュータ
US5572665A (en) * 1994-04-21 1996-11-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit for developing a system using a microprocessor
US5551013A (en) * 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
GB2293254B (en) * 1994-07-12 1999-05-19 David Brian Doo A new, fast method of debugging embedded software for almost any microprocessor
US5819065A (en) * 1995-06-28 1998-10-06 Quickturn Design Systems, Inc. System and method for emulating memory
US5787270A (en) * 1995-11-15 1998-07-28 Advanced Micro Devices Method and apparatus for intrusive testing of the performance-enhancing features of an advanced microprocessor
US7421066B1 (en) * 1996-06-12 2008-09-02 Estech Systems, Inc. Telephone call/voice processing system
US5867644A (en) * 1996-09-10 1999-02-02 Hewlett Packard Company System and method for on-chip debug support and performance monitoring in a microprocessor
US5887003A (en) * 1996-09-10 1999-03-23 Hewlett-Packard Company Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results
US5881224A (en) * 1996-09-10 1999-03-09 Hewlett-Packard Company Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle
US6003107A (en) * 1996-09-10 1999-12-14 Hewlett-Packard Company Circuitry for providing external access to signals that are internal to an integrated circuit chip package
US5956476A (en) * 1996-10-31 1999-09-21 Hewlett Packard Company Circuitry and method for detecting signal patterns on a bus using dynamically changing expected patterns
US5956477A (en) * 1996-11-25 1999-09-21 Hewlett-Packard Company Method for processing information in a microprocessor to facilitate debug and performance monitoring
US5881217A (en) * 1996-11-27 1999-03-09 Hewlett-Packard Company Input comparison circuitry and method for a programmable state machine
US6009539A (en) * 1996-11-27 1999-12-28 Hewlett-Packard Company Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system
US5937154A (en) * 1997-03-05 1999-08-10 Hewlett-Packard Company Manufacturing functional testing of computing devices using microprogram based functional tests applied via the devices own emulation debug port
US5968188A (en) * 1998-03-10 1999-10-19 Grammar Engine System for providing real-time code coverage
US6374370B1 (en) 1998-10-30 2002-04-16 Hewlett-Packard Company Method and system for flexible control of BIST registers based upon on-chip events
JP3943277B2 (ja) * 1999-03-23 2007-07-11 セイコーエプソン株式会社 マイクロコンピュータ及び電子機器
JP2001184225A (ja) * 1999-12-27 2001-07-06 Toshiba Microelectronics Corp エミュレータ及びエミュレート方法
US20020038433A1 (en) * 2000-06-28 2002-03-28 Z-World, Inc. System and method for utilizing programmed multi-speed operation with a microprocessor to reduce power consumption
US6629048B1 (en) * 2000-11-20 2003-09-30 Tektronix, Inc. Measurement test instrument and associated voltage management system for accessory device
TW490637B (en) * 2001-01-16 2002-06-11 Ind Tech Res Inst Memory emulator for simulating memory components of different interface specification and not restrained to memory space
TWI220192B (en) * 2001-11-06 2004-08-11 Mediatek Inc Memory access method and apparatus in ICE system
US7076711B1 (en) 2002-06-10 2006-07-11 Cisco Technology, Inc. Automatic testing of microprocessor bus integrity
US7096322B1 (en) * 2003-10-10 2006-08-22 Unisys Corporation Instruction processor write buffer emulation using embedded emulation control instructions
TWI270803B (en) * 2004-10-08 2007-01-11 Via Tech Inc Adapter for memory simulator
TWI254855B (en) * 2004-10-08 2006-05-11 Via Tech Inc Memory simulation device and method thereof
CN100384159C (zh) * 2005-04-02 2008-04-23 华为技术有限公司 评估系统处理能力的仿真方法
US7532492B2 (en) * 2005-12-20 2009-05-12 Tektronix, Inc. Host controlled voltage input system for an accessory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4192451A (en) * 1978-05-30 1980-03-11 Tektronix, Inc. Digital diagnostic system employing signature analysis
US4277827A (en) * 1979-01-02 1981-07-07 Texas Instruments Incorporated Microprocessor based system for the development and emulation of programmable calculator control read only memory software
EP0191632A2 (fr) * 1985-02-14 1986-08-20 Support Technologies, Inc. Emulateur de ROM pour instrument de test de diagnostic

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4455654B1 (en) * 1981-06-05 1991-04-30 Test apparatus for electronic assemblies employing a microprocessor
US4740895A (en) * 1981-08-24 1988-04-26 Genrad, Inc. Method of and apparatus for external control of computer program flow
US4554630A (en) * 1981-08-24 1985-11-19 Genrad, Inc. Control apparatus for back-driving computer memory and forcing execution of idle loop program in external memory
GB8413933D0 (en) * 1984-05-31 1984-07-04 Columbia Automation Ltd Emulating timing characteristics of microprocessor
JPS61229133A (ja) * 1985-04-03 1986-10-13 Nec Corp シングルチツプマイクロコンピユ−タ用エミユレ−タ
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4192451A (en) * 1978-05-30 1980-03-11 Tektronix, Inc. Digital diagnostic system employing signature analysis
US4277827A (en) * 1979-01-02 1981-07-07 Texas Instruments Incorporated Microprocessor based system for the development and emulation of programmable calculator control read only memory software
EP0191632A2 (fr) * 1985-02-14 1986-08-20 Support Technologies, Inc. Emulateur de ROM pour instrument de test de diagnostic

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0370929A2 (fr) * 1988-11-23 1990-05-30 John Fluke Mfg. Co., Inc. Interface de test du noyau et procédé d'automatisation des diagnostics de systèmes à base de microprocesseurs
EP0370927A2 (fr) * 1988-11-23 1990-05-30 John Fluke Mfg. Co., Inc. Matériel pour la modification de performance de procédé d'émulation de mémoire
EP0370929A3 (fr) * 1988-11-23 1991-08-28 John Fluke Mfg. Co., Inc. Interface de test du noyau et procédé d'automatisation des diagnostics de systèmes à base de microprocesseurs
EP0370927A3 (fr) * 1988-11-23 1992-01-08 John Fluke Mfg. Co., Inc. Matériel pour la modification de performance de procédé d'émulation de mémoire

Also Published As

Publication number Publication date
GB2216300A (en) 1989-10-04
CN1035191A (zh) 1989-08-30
GB8902789D0 (en) 1989-03-30
GB2216300B (en) 1992-07-08
DE3903835C2 (fr) 1992-11-26
FR2627594B1 (fr) 1993-01-15
CN1018097B (zh) 1992-09-02
JPH01251141A (ja) 1989-10-06
DE3903835A1 (de) 1989-08-31
US4868822A (en) 1989-09-19

Similar Documents

Publication Publication Date Title
FR2627594A1 (fr) Procede et systeme pour tester et depanner des systemes electroniques a base de microprocesseurs
FR2587124A1 (fr) Procede pour tester des supports portant plusieurs circuits integres a fonctionnement numerique, support pourvu de tels circuits, circuit integre propre a etre monte sur un tel support et dispositif de test pour tester de tels supports
CN101911491B (zh) 用于分析扫描链和确定扫描链中的保持时间故障的数目或位置的方法
EP0370929A2 (fr) Interface de test du noyau et procédé d'automatisation des diagnostics de systèmes à base de microprocesseurs
TWI470242B (zh) 協定認知之序列型樣產生器
FR2760534A1 (fr) Test fonctionnel de dispositifs de calcul en cours de fabrication utilisant des tests fonctionnels a base de microprogrammes appliques au moyen du port de mise au point par emulation propre au dispositif
EP1762856A1 (fr) Appareil et procédé de diagnostic d'erreur pour système sur puce (SOC)
FR2815722A1 (fr) Commande sequentielle de suites de balayages pour tester des circuits integres
EP0104293A1 (fr) Dispositif pour le chargement et la lecture de différentes chaînes de bascules dans un système de traitement de données
EP0020999B1 (fr) Procédé de mesure du temps d'accès d'adresse de mémoires, mettant en oeuvre la technique de recirculation des données, et testeur en résultant
EP0578540B1 (fr) Procédé pour tester le fonctionnement d'un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant
CN102279357A (zh) 一种基于边界扫描技术的分解式电路互连测试方法
FR2494868A1 (fr) Circuit logique permettant une operation d'essai
EP0074904B1 (fr) Automate de sécurité
EP0053561A2 (fr) Testeur spécifique modulaire, automatisé et portable
EP0823089B1 (fr) Procede et equipement de test automatique en parallele de composants electroniques
CN116449178A (zh) 一种汽车电子主控芯片测试方法、装置、设备及存储介质
US6883127B2 (en) Comparison circuit and method for verification of scan data
JPH0610791B2 (ja) データバスの保証のための方法および装置
US7401272B1 (en) Apparatus and method for high speed sampling or testing of data signals using automated testing equipment
CN113032255B (zh) 响应噪音的识别方法、模型、电子设备及计算机存储介质
CN115391189A (zh) 诊断故障代码的测试方法及车辆
CH659721A5 (fr) Appareil pour l'examen d'un circuit d'interconnexion interne entre n bornes d'un reseau electrique et utilisation de cet appareil.
FR2611052A1 (fr) Dispositif de test de circuit electrique et circuit comportant ledit dispositif
EP1688753A1 (fr) Sécurisation du mode de test d'un circuit intégré

Legal Events

Date Code Title Description
ST Notification of lapse