DE3903835C2 - - Google Patents

Info

Publication number
DE3903835C2
DE3903835C2 DE3903835A DE3903835A DE3903835C2 DE 3903835 C2 DE3903835 C2 DE 3903835C2 DE 3903835 A DE3903835 A DE 3903835A DE 3903835 A DE3903835 A DE 3903835A DE 3903835 C2 DE3903835 C2 DE 3903835C2
Authority
DE
Germany
Prior art keywords
microprocessor
memory
uut
bus
address
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.)
Expired - Fee Related
Application number
DE3903835A
Other languages
English (en)
Other versions
DE3903835A1 (de
Inventor
Marshall H. Woddinville Wash. Us Scott
Robert E. Bothell Wash. Us Cuckler
John D. Seattle Wash. Us Polstra
Anthony R. Vancelli
W. Douglas Everett Wash. Us 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.)
JOHN FLUKE Manufacturing Co Inc EVERETT WASH US
Original Assignee
JOHN FLUKE Manufacturing Co Inc EVERETT WASH US
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 EVERETT WASH US filed Critical JOHN FLUKE Manufacturing Co Inc EVERETT WASH US
Publication of DE3903835A1 publication Critical patent/DE3903835A1/de
Application granted granted Critical
Publication of DE3903835C2 publication Critical patent/DE3903835C2/de
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Description

Die Erfindung geht aus von einer Vorrichtung zum Prüfen eines elektronischen Bausteins gemäß dem Oberbegriff des Patentanspruchs 1. Eine derartige Vorrichtung ist aus der US 46 91 316 bekannt.
Im Hinblick auf die zunehmend komplexeren Mikroprozessorsysteme, die gegenwärtig im großen Umfang bei einer Vielfalt von Produkten für Verbraucher und die Industrie Anwendung finden, besteht faktisch ein Bedarf an der Automatisierung von Prüf- und Fehlersuchvorgängen. Eine Anzahl von Prüftechniken, wie z. B. die Bit-Kombinationsanalyse, die Logikpegelerfassung, die Häufigkeits- und Ereigniszählung, der Impulsbetrieb und die Emulationsprüfung sind bekannt und seit vielen Jahren in Verwendung. Insbesondere sind Emulatorprüfeinrichtungen, die das Verhalten von kern­ bezogenen Einrichtungen emulieren, für die Funktionsprüfung und die Fehlereingrenzung bei Mikroprozessoren aufweisenden Leiterplatten oder Systemen weit verbreitet, da erstens diese das System von innen nach außen prüfen und zweitens diese ein System überprüfen können, bei dem der Kern ohne Funktion ist.
Eine Mikroprozessor-Emulatorprüfeinrichtung ist z. B. in der US 44 55 654 beschrieben. Ein Prüfsystem, das selbst ein Mikroprozessorsystem darstellt, ist hier anstelle eines Mikroprozessors in einem zu prüfenden elektronischen Baustein (nachfolgend kurz als UUT bezeichnet) angekoppelt und arbeitet in einem Buszugriffsmodus, bei dem einzelne Zyklen von Buszugriffen durchgeführt werden und diese jeweils bearbeitet werden, ehe ein anderer Zugriff vorgenommen wird. Das heißt, für einen Buszyklus wird der Mikroprozessor des Prüfsystems in Signalverbindung mit dem UUT-Bus geschaltet, um einen Lese- oder Schreibvorgang auszuführen. Anschließend wird dieser Mikroprozessor zum internen Schaltkreis des Prüfsystems umgeschaltet, um einen anderen Lese- oder Schreibbefehl mit einer neuen Adresse zu erzeugen oder um die aus dem Speicher der UUT ausgelesenen Informationen zu verarbeiten. Dieses Schalten des Busses, das zur Durchführung einzelner Buszugriffe erforderlich ist, stellt z. B. eine Einschränkung für den vorstehend beschriebenen Mikroprozessorremulator dar, falls das Mikroprozessorsystem einen komplexen Aufbau aufweist und mit hoher Geschwindigkeit arbeitet. Geeignete Busschalteinrichtungen für neuere, mit Mikroprozessoren versehene UUTs z. B. für 80386-Prozessorsysteme sind nicht trivial und bereiten beim Entwurf Schwierigkeiten. Demzufolge wäre es wünschenswert, ein anderes Verfahren vorzusehen, mit dem ein Prüfsystem in den Kern einer UUT eingekoppelt werden kann, um Diagnoseprüfverfahren durchzuführen.
Eine andere Art emulativer Prüfung, die in Betracht gezogen wurde, stellt die Festwertspeicher (ROM)-Emulation dar, da die Festwertspeicher in direkter Verbindung mit dem Systembus der UUT stehen, und da auch der Kontaktstiftaufbau der Festwertspeicher relativ einfach ist, so daß die Schnittstellenverbinder einfach gestaltet werden können. Diese Festwertspeicheremulatoren wurden früher zur Softwareentwicklung oder zur Bestätigung, daß die Hardware arbeitet, jedoch nicht zur Fehlersuche bzw. Fehlererfassung verwendet, da kein Synchronisier- bzw. Gleichlaufsignal verfügbar ist, um die Prüfeinrichtung in bezug auf die Prüfergebnisse zu synchronisieren, und da ferner die Prüfeinrichtung die Prüfinformationen nicht direkt vom Sockel des Festwertspeichers der UUT auslesen konnte. Eine Teillösung dieses Problems ist in der US 46 91 316 beschrieben, wobei ein Festwertspeicher-Emulator mit einem Festwertspeicher- Eingangs/Ausgangstor einer UUT verbunden wird und die Ergebnisse der Diagnoseprüfung über den Adressenbus der UUT in Form einer verschlüsselten Adresse gelesen und nachfolgend entschlüsselt und in dem Festwertspeicher-Emulator zwischengespeichert werden. Es ist jedoch zu bemerken, daß dieses System keine vollständige Fehlerdiagnose eines UUT- Kerns vorsehen kann und darauf beschränkt ist, was über einen Adressenbus übermittelt werden kann. Außerdem besteht bei Mikroprozessorsystemen der Trend zur Vergrößerung des einen direkten Zugriff ermöglichenden Teil des Speichers, während der nur einen Lesevorgang ermöglichende Teil des Speichers verringert wird. Es ist vorstellbar, daß schließlich der Festwertspeicher ganz weggelassen werden könnte, so daß die Verwendung von Festwertspeicher-Emulatoren dann nicht möglich wäre.
Aus der eingangs erwähnten US 46 91 316 ist eine Vorrichtung zum Prüfen eines einen Mikroprozessor so­ wie einen Speicher aufweisenden elektronischen Bausteins be­ kannt, bei der eine Emulatoreinheit zum Emulieren des in dem zu prüfenden Baustein enthaltenen Festwertspeichers vorgesehen ist, der das Startbetriebsprogramm für den Mikroprozessor ent­ hält. Diese Emulatoreinheit enthält einerseits eine ROM-Emulatorschal­ tung, die den in dem zu prüfenden Baustein enthaltenen Mikro­ prozessor so steuert, daß dieser eine Reihe von Diagnosetests ausführt, sowie andererseits eine Logikschaltung zum Lesen der Diagnose-Testergebnisse über den Adreßbus der Emulatoreinheit. Diese Emulatoreinheit (Schnittstellenbausteingruppe) steht mit einer Steuereinrichtung in Verbindung, die Instruktionen in die Emulatoreinheit einliest und den Mikroprozessor des zu prüfenden elektronischen Bausteins diese Instruktionen ausführen läßt. Mit Hilfe dieser Emulatoreinheit läßt sich jedoch keine Fehlererfassung in einem Buszugriffsmodus durchführen.
Es ist somit Aufgabe der Erfindung, eine Vorrichtung zum Prüfen von elektronischen Mikroprozessorsystemen unter Verwendung von Speicheremulationstechniken vorzuschlagen, bei der sich keine Beschränkung durch den Busschaltkreis ergibt.
Diese Aufgabe wird durch die im Patentanspruch 1 angegebenen Merkmale gelöst.
Vorteilhafte Ausgestaltungen des Gegenstands der Erfindung sind in den Unteransprüchen 2 bis 13 angegeben.
Die erfindungsgemäße Prüfvorrichtung weist ein mit einem Mikroprozessor versehenes Grundgerät und eine Schnittstellen- Bausteingruppe auf, die ebenso ein Mikroprozessorsystem einschließt, das sowohl mit dem Mikroprozessor als auch dem Speicherbereich des zu prüfenden elektronischen Bausteins (UUT) verbunden ist. Diese Schnittstellen-Bausteingruppe umfaßt eine spezielle Logikschaltung, die mit dem Mikroprozessor des zu prüfenden elektronischen Bausteins (UUT) verbunden ist, um einen Synchronisierimpuls mit hoher Auflösung während des interessierenden Buszyklus vorzusehen, so daß bei der Fehlersuche eine genauere Fehlerisolierung erzielt werden kann, die genauso wirksam wie diejenige ist, die von der bekannten Mikroprozessoremulation vorgesehen wird. Die Schnittstellen-Bausteingruppe übernimmt die Steuerung des Mikroprozessors des zu prüfenden elektronischen Bausteins und führt dann die Befehle aus, die vom Emulations- Direktzugriffspeicher vorgesehen werden, der mit dem Speicherbereichs des zu prüfenden elektronischen Bausteins in Verbindung steht. Eine Analyse-Direktzugriffsspeicher überwacht die Verbindungen des Speichers des Bausteins von Buszyklus zu Buszyklus und zeigt an, ob und bei welchem Buszyklus Fehler auftreten. Das Gesamtsystem ermöglicht die Ausführung verschiedener Prüffunktionen, und zwar die Verwendung der Adreßleitungen des Speichers des zu prüfenden elektronischen Bausteins (UUT) für das Auslesen der Diagnosedaten, die Verwendung der Chipauswahlleitung des zu prüfenden elektronischen Bausteins zum Codieren der Daten, die ausgelesen und analysiert werden, und die Verwendung des Analyse-Direktzugriffsspeichers zur Erleichterung einer UUT-Busprüftechnik, die eine exakte Isolierung derartiger Fehler ermöglicht und ein System von Kontrollen und Kompensierungen, um sicherzustellen, daß der Buszugriff korrekt vorgenommen wird und der zu prüfende Baustein funktionsfähig gehalten wird, währen die Daten analysiert werden. Der Analyse-Direktzugriffsspeicher erleichtert zudem eine Pipelinekorrekturtechnik, die sicher stellt, daß UUT-Mikroprozessoren mit Pipelineverarbeitungs- oder Vorabrufsfunktionen korrekt arbeiten.
Mit Hilfe der Erfindung wird eine Prüfvorrichtung mit Speicheremulation vorgesehen, bei der der Speicher ein Festwertspeicher oder ein Direktzugriffspeicher oder eine Kombination von beiden sein kann.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen näher erläutert. Es zeigt
Fig. 1 ein verallgemeinerters Blockdiagramm einer Prüfvorrichtung;
Fig. 2 ein detailliertes Blockdiagramm der Verbindung des in der Schnittstellen-Bausteingruppe der Fig. 1 vorgesehenen Emulationsdirektzugriffsspeichers;
Fig. 3 ein detailliertes Blockdiagramm der Logikschaltung der Schnittstellen-Bausteingruppe der Fig. 1 und deren Verbindung mit dem Mikroprozessor des zu­ prüfenden elektronischen Bausteins;
Fig. 4 ein Flußdiagramm eines Befehlsbyte- Ausführungsprogramms, das eine Bereitschaftsschleife einschließt.
Wie aus dem in Fig. 1 gezeigten, verallgemeinerten Blockdiagramm einer Prüfvorrichtung zur Funktionsprüfung von mit Mikroprozessoren arbeitenden elektronischen Bausteinen (UUT) und zur Diagnose von auftretenden Fehlern ersichtlich, bestehen die wesentlichen Hauptkomponenten aus einem Grundgerät 10, einer damit elektrisch in Verbindung stehenden Schnittstellen- Bausteingruppe 12 sowie einem zu prüfenden elektronischen Baustein (kurz als UUT bezeichnet) 14, wobei die Schnittstellen-Bausteingruppe 12 in der nachfolgend beschriebenen Art und Weise mit der UUT 14 elektrisch verbunden ist.
Das Grundgerät 10 weist neben anderen Dingen eine Tastatur 20, eine Anzeigeeinrichtung 22, einen Steuer- und Meßschaltungsblock 24 sowie eine Eingangs-/Ausgangsschaltung 28 auf. Der Steuer- und Meßschaltungsblock 24 weist ein Mikroprozessorsystem auf und steht elektrisch mit der Tastatur 20 und der Anzeigeeinrichtung 22 sowie über einen Bus 26 mit der Eingangs-/Ausgangsschaltung 28 in Verbindung, die eine Kommunikation mit der Schnittstellen-Bausteingruppe 12 ermöglicht. An den Steuer- und Meßschaltungsblock 24 ist ferner über ein Kabel 30 eine Sonde 32 angeschlossen, die in Fig. 1 in der UUT 14 für die Fehlersuche physisch angeordnet ist. Somit steuert das Grundgerät 10 die Funktionsprüfung der UUT 14 sowie die Fehlersuche bei der UUT 14 in Erwiderung auf die Maßnahmen der Bedienungsperson, wobei Instruktionen und Befehle zur Schnittstellen-Bausteingruppe 12 gesandt und die Ergebnisse der Bedienungsperson gemeldet werden. Als Beispiel für im Handel verfügbare Geräte, die stellvertretend für das Grundgerät 10 sind, seien die Mikrosystem-Fehlersuchgeräte der Serie 9000 sowie die Digitalprüfsysteme der Serie 9100 genannt.
Die Schnittstellen-Bausteingruppe 12 enthält ein Mikroprozessorsystem, das in Fig. 1 mit "Bausteingruppenkern" bezeichnet wird. Dieser Bausteingruppenkern besteht aus einem Mikroprozessor 40, einem Festwertspeicher (ROM) 42, einem Direktzugriffsspeicher (RAM) 44 und einem Eingabe-/Ausgabetor 46, die alle durch Daten-, Adreß- und Steuerbusse miteinander verbunden sind. Die Schnittstellen-Bausteingruppe 12 steht über ein mehradriges Kabel 50 mit dem Grundgerät 10 in Verbindung, wobei dieses Kabel an das Eingabe-/Ausgabetor 28 und das Eingabe-/Ausgabetor 46 angeschlossen ist. Der Bausteingruppenkern ist über seine Daten-, Adreß- und Steuerbusse mit einer Logikschaltung 60, einem Analyse- Direktzugriffsspeicher 62 und einem Emulations- Direktzugriffsspeicher 64 verbunden. Der Zweck dieser Blöcke wird kurz erläutert.
Der zu prüfende elektronische Baustein bzw. die UUT 14 steht stellvertretend für irgendeines einer Vielzahl von verschiedenen Mikroprozessorsystemen, das unter Verwendung der Prüfvorrichtung geprüft werden soll, wobei lediglich der zentrale Abschnitt hier erläutert wird. Dieser zentrale Abschnitt schließt einen UUT-Kern ein, der aus einem Mikroprozessor 70 und einem Speicher 72 besteht, die über einen Datenbus 74 und einen Adreßbus 76 in Verbindung stehen. Der Daten- und Adreßbus 74 bzw. 76 der UUT 14 ist mit anderen UUT-Schaltungen 78 verbunden, die nicht Sache dieser Erläuterung sind. Der Adreßbus 76 der UUT 14 ist an einen Adressendecodierer 80 angeschlossen, der Chipauswahlsignale auf einer Chipauswahlleitung 82 erzeugt, die mit dem Speicher 72 der UUT 14 verbunden ist. Zwischen die Logikschaltung 60 der Schnittstellen-Bausteingruppe 12 und den Mikroprozessor 70 der UUT ist ein mehradriges Kabel 90 geschaltet, um eine Kommunikation zwischen Bausteingruppe 12 und Mikroprozessor 70 vorsehen zu können. Ferner ist zwischen den Emulations- Direktzugriffsspeicher 64 und den Speicher 72 der UUT 14 ein anderes mehradriges Kabel 92 geschaltet. Es ist zu bemerken, daß der UUT-Speicher 72 mit gestrichelten Linien dargestellt ist, um darauf hinzuweisen, daß dieser UUT-Speicher 72 entweder unwirksam oder aus seinem Sockel herausgenommen ist. Das Kabel 92 kann demzufolge entweder direkt in den Sockel des UUT-Speichers 72 eingesteckt oder auf die Anschlußstifte eines unwirksamen UUT-Speichers aufgesteckt werden. Der UUT- Mikroprozessor 70 verbleibt jedoch in der Schaltung und wird zur Ausführung der Instruktionen vom Emulations- Direktzugriffsspeicher 64 verwendet. in diesem Zusammenhang ist zu erwähnen, daß der UUT-Mikroprozessor 70 ein völlig anderer Typ als der Bausteingruppen-Mikroprozessor 40 sein kann. Zum Beispiel kann der Mikroprozessor 40 der Bausteingruppe 12 ein 68008-Typ sein, während der Mikroprozessor 70 der UUT 14 ein 80386-Typ sein kann. Ebenso kann der UUT-Speicher 72 ein Direktzugriffsspeicher oder ein Festwertspeicher oder aber eine Kombination aus beiden sein. Bei einigen neueren Mikroprozessorsystemen ist z. B. ein einziger Speicher mit einem Festwertspeicherbereich von wenigen Bytes am höheren Ende des Adressenbereichs zum Laden des Urladeprogramms vorgesehen, während der überwiegende Teil des Speicherbereichs als Direktzugriffsspeicher ausgebildet ist.
Nachfolgend wird ein kurzer Überblick über den Betrieb des in Fig. 1 gezeigten Systems gegeben. Eine Bedienungsperson leitet eine speziell interessierende Prüfung unter Verwendung der Tastatur 20 und der Anzeige 22 ein, woraufhin die Steuer- und Meßschaltungen 24 Instruktionen und Befehle erzeugen, die über das Eingabe-/Ausgabetor 28, das Kabel 50 und das Eingabe- /Ausgabetor 46 zum Bausteingruppenkern gesandt werden. Der Mikroprozessor 40 der Bausteingruppe 12 bereitet die Schaltung in der Bausteingruppe 12 zur Ausführung der gewünschten Prüfung vor. Diagnoseinstruktionen werden in den Emulations- Direktzugriffsspeicher 64 eingegeben, während eine Rücksetzsteuerung über das Eingabe-/Ausgabetor und über das Kabel 90 vorgenommen wird, so daß die Prüfung des Mikroprozessors 70 Einfluß gewinnt. Der Mikroprozessor 70 wird dadurch in Grundstellung gebracht und beginnt dann mit der Ausführung der im Emulations-Direktzugriffsspeicher 64 vorliegenden Instruktionen. Der Analyse-Direktzugriffsspeicher 62 überwacht die über das Kabel 92 zurückkommenden Prüfergebnisse und leitet diese an den Bausteingruppenkern weiter, der dann die Informationen über das Kabel 50 zum Grundgerät 10 zurückleitet. Das Kabel 90 nimmt Taktsignale vom Mikroprozessor 70 auf und gibt diese an die Logikschaltung 60 ab, die wiederum einen Synchronisierimpuls erzeugt, der über das Kabel 50 an das Grundgerät 10 abgegeben wird. Werden Fehler erfaßt, so wird die Bedienungsperson veranlaßt, die Sonde 32 auf einen bestimmten Knoten in der UUT 14 zu setzen, wobei der Synchronisierimpuls, der vom UUT-Mikroprozessor 70 abgeleitet wurde, sicherstellt, da die mittels der Sonde 32 gelesenen Informationen zur geeigneten Zeit auftreten, d. h. während des interessierenden Buszyklus.
Die Chipauswahlleitung 82 wird zur Gewinnung nutzvoller Informationen aus einem Lesevorgang verwendet, der bei einem UUT- Festwertspeicher des Speicherbereichs 72 durchgeführt wird. Bei diesem Prüfverfahren wird der UUT-Mikroprozessor 70 zurückgesetzt, woraufhin dieser mit der Ausführung der durch den Emulations-Direktzugrifsspeicher 64 dem Speicherbereich 72 präsentierten Instruktionen beginnt. Während der UUT- Mikroprozessor 70 eine Anzahl von Buszyklen ausführt, decodiert der UUT-Adressendecodierer 80 die Chipauswahl als eine Reihe von Einsen und Nullen. Der Analyse- Direktzugriffsspeicher 62 überwacht den Chipsauswahl- Anschlußstift am Sockel des Speichers 72 der UUT und zeigt Fehler an, falls ein Chipauswahlsignal während eines bestimmten Buszyklus nicht den erwähnten logischen Pegel aufweist. Auf diese Weise können die Prüfergebnisse von einem Festwertspeichersockel zur Schnittstellenbausteingruppe 12 zurückgeleitet werden.
Fig. 2 zeigt die Verbindung zwischen dem Emulations- Direktzugriffsspeicher 64 und dem UUT-Speicher 72 im Detail. Falls das Kabel 92 relativ lang ist, kann ein Speichermodul 100 vorgesehen werden, das die Signale in einen Zustand bringt, der einen korrekten Betrieb sicherstellt. Ist das Kabel 92 sehr kurz, so wird das Speichermodul 100 nicht benötigt. Das Speichermodul 100 weist in die Signalwege eingesetzte Puffer 102 und 104 auf. Das Ende des Kabels 92 kann einen Verbinder 110 zum direkten Einsetzen in den Sockel des UUT-Speichers 72 aufweisen. Ferner kann das ROM-Modul 100 einen Sockel 112 einschließen, in den der UUT-Speicher 72 eingesteckt werden kann. Bei einem solchen Aufbau kann die Bedienungsperson zwischen Instruktionen von der Schnittstellen-Bausteingruppe, d. h. vom Emulations- Direktzugriffsspeicher 64 oder vom UUT-Speicher im Sockel 112 wählen. Demzufolge wird ein Schalter 114 vorgesehen, um entweder den Datenpuffer 102 oder den Speichersockel 112 freizugeben, während der andere gesperrt wird. In Situationen, bei denen der emulierte UUT-Speicher 72 den Urlader- Festwertspeicher darstellt, können abhängig von der Breite des UUT-Busses mehrere UUT-Urlader-Festwertspeicher vorgesehen sein, was mehrere Verbinder 110 und mehrere Speichermodule 100 erfordert. In der Praxis wird eine ausreichende Flexibilität vorgesehen, so daß eine Anpassung an fast jeden UUT- Speicheraufbau erfolgen kann.
Es ist wesentlich, daß zwei Emulations-Direktzugriffsspeicherbereiche vorgesehen sind, die durch die Emulations-Direktzugriffsspeicherbereiche 64A und 64B repräsentiert sind. Um sicherzustellen, daß die UUT 14 während der Funktionsprüfung in Betrieb bleibt, ist während der Prüfung stets ein Speicherbereich des Emulations- Direktzugriffsspeichers 64 für den UUT-Mikroprozessor 70 präsent. Durch diese Betriebsfunktion kann die Schnittstellen-Bausteingruppe 12 Instruktionen in eine der Speicherbereiche laden, während der andere zum UUT- Speicherbereich umgeschaltet ist und der UUT-Mikroprozessor 70 Instruktionen vom anderen Speicherbereich ausführt. Zum geeigneten Zeitpunkt können die Speicherbereiche derart geschaltet werden, daß der UUT-Mikroprozessor 70 nicht bemerkt, daß die Instruktionen, die ausgeführt werden, von einem anderen Emulations-Direktzugriffsspeicher kommen. Die Emulationsspeicherbereich-Auswahlsignale werden von der Logikschaltung 60 erzeugt und in Verbindung mit Fig. 3 beschrieben. Die Daten von dem Emulations- Direktzugriffsspeicherbereichen 64A und 64B werden über einen Datenbus 120 und den Puffer 102 zum Speichersockel 112 übertragen. Informationen vom UUT-Speichersockel 112 werden als UUT-Speichereingangssignale über einen Bus 122 und dem Puffer 104 im Speichermodul 100 zur Schnittstellen- Bausteingruppe 12 zurückgeführt und, wie später ersichtlich wird, werden diese UUT-Speichereingangssignale vom Analyse- Direktzugriffsspeicher 62 und der Logikschaltung 60 verwendet. Wie ferner aus Fig. 2 ersichtlich, steht mit dem UUT- Speichereingangssignalbus 122 eine Festwertspeichertyp- Auswahllogikschaltung 126 in Verbindung, die, falls der UUT- Speicher 72 als Festwertspeicher ausgebildet ist, ein Signal erzeugt, um sicherzustellen, daß eine richtige Anschlußstiftinformation der Schnittstellen-Bausteingruppe 12 gegenübergestellt wird. Das heißt obwohl die physischen IEDEC- Anschlußstiftkonfigurationen von Festwertspeicher zu Festwertspeicher gleich sein können, so können die elektrischen Verbindungen von Festwertspeicher zu Festwertspeicher dennoch unterschiedlich (d. h. an anderen Stellen) sein. Der Bausteingruppenkern teilt der Logikschaltung 126 mit, welcher Art von Festwertspeicher zu emulieren ist.
Fig. 3 zeigt die Logikschaltung 60, den Analyse- Direktzugriffsspeicher 62 und die Verbindung zwischen Logikschaltung 60 und UUT-Mikroprozessor 70. Die Erzeugung von Synchronisierimpulsen mit feiner Auflösung zum geeigneten Zeitpunkt wird durch Abnahme von Synchronisiereingangssignalen vom UUT- Mikroprozessor 70 erleichtert. Beim 80386-Prozessor stellen HOLD, HLDA (Hold Acknowledge), , , CLK2 und Reset (Rücksetzen) geeignete Synchronisiereingangssignale dar. Verbindungen können durch "fliegende Leitungen" 140 von einem Synchronisiermodul 150 hergestellt werden, das mit dem Kabel 90 in Verbindung steht. Das Synchronisiermodul 150 enthält einen geeigneten Synchronisiereingangspuffer 152, um die Signale in einen solchen Zustand zu bringen, daß ein korrekter Betrieb sichergestellt werden kann. Das Kabel 90 enthält auch eine Rücksetztreibersteuerleitung, die an den Eingang eines im Synchronisiermodul 150 vorgesehenen Rücksetzsteuerverstärkers 154 angeschlossen ist. Das Ausgangssignal des Rücksetzsteuerverstärkers 154 stellt ein Rücksetzsteuersignal dar, das als ein Übersteuersignal dem Systemrücksetzausgang eines in der UUT 14 vorgesehenen Systemrücksetzgenerator 158 zugeführt wird, so daß die Steuerung des UUT-Mikroprozessors 70 Einfluß gewinnt. Mikroprozessorsignale, die auf die Erzeugung von Synchronisiersignalen störend einwirken könnten, wie z. B. die HOLD-Leitung im 80386-Prozessor, können mit geeigneten Steuersignalen übersteuert werden. Ähnlich wie beim Speichermodul 100 in Fig. 2 ist das Synchronisiermodul 150 in die Schaltung eingefügt, da das Kabel 90 eine große Länge aufweist; ist jedoch die Verbindung zwischen Logikschaltung 60 und UUT-Mikroprozessor 70 ausreichend kurz, so kann das Synchronisiermodul 150 weggelassen werden.
Die Logikschaltung 60 in der Schnittstellen-Bausteingruppe 12 weist eine Buszykluszustandsmaschine 200, eine Synchronisierimpulserzeugungs-Zustandsmaschine 202, eine Adressenzwischenspeichertakt-Zustandsmaschine 204, eine Analysedirektzugriffsspeicher-Adressenerzeugungs- Zustandsmaschine 206, eine Emulationsdirektzugriffsspeicherbereichsauswahl- Zustandsmaschine 208, einen Adressenvergleicher 210 sowie einen Adressenzwischenspeicher 212 auf. Alle diese Einrichtungen stehen mit dem Bausteingruppenkern-Steuerbus in Verbindung und empfangen von diesem Eingangsinformationen. Das heißt, sie empfangen ihre Betriebsinstruktionen vom Mikroprozessor 40 des Bausteingruppenkerns und dessen zugehörigen Komponenten. Die Buszyklus-Zustandsmaschine 200 empfängt als eine seiner Eingangsinformationen die vom UUT-Mikroproezssor 70 abgenommenen Synchronisiereingangssignale und als weitere Eingangsinformationen, wie vorstehend erwähnt, ein Steuersignal von dem Mikroprozessor 40 des Bausteingruppenkerns. Die Buszyklus-Zustandsmaschine 200 überwacht die Ausführungen des UUT-Mikroprozessors 70 und gibt, wenn der interessierende Buszyklus auftritt, was durch die Steuereingangsinformation vom Mikroprozessor 40 der Bausteingruppe 12 bestimmt wird, Steuersignale an die Takteingänge der anderen, in der Logikschaltung 60 vorgesehenen Zustandsmaschinen 202 bis 208 ab.
Der Adressenvergleicher 210 empfängt an einem Eingang die UUT- Speichereingangsinformationen vom Bus 122 der Fig. 2 und am anderen Eingang eine vom Mikroprozessor 40 der Bausteingruppe 12 zugeführte Adresse oder zugeführten Adressenbereich. Während der UUT-Mikroprozessor 70 die vom Emulations- Direktzugriffsspeicher 64 zugeführten Instruktionen ausführt, überwacht der Adressenvergleicher 210 die vom Bus 122 zugeführten UUT-Speicheradreßleitungen, und stimmen die beiden Eingangsinformationen dann überein, so "feuert" der Adressenvergleicher 210 und gibt ein Signal an die Zustandsmaschinen 204, 206 und 208 ab.
Da die Synchronisierimpulserzeugung für die Fehlersuche wichtig ist, ist für das Verständnis des grundlegenden Betriebs der Logikschaltung 60 ein Beispiel für die Erzeugung der Synchronisierimpulse hilfreich. Der Synchronisierimpuls wird während des interessierenden Buszyklus erzeugt. Die Schnittstellen-Bausteingruppe 12 gibt an die UUT 14 einen Befehl zur Durchführung eines Lese- oder Schreibvorganges aus, wobei dieser Lese- oder Schreibvorgang aus einem Buszyklus besteht. Für die Fehlersuche ist es erwünscht, einen Synchronisierimpuls zu irgendeinem wählbaren Zeitpunkt während des Lese- oder Schreibvorganges erzeugen zu können, d. h. einen Adressensynchronisierimpuls, einen Datensynchronisierimpuls. Die Bedienungsperson tastet den interessierenden Buszyklus in das Grundgerät 10 ein, das wiederum dem Mikroprozessor 40 der Schnittstellen- Bausteingruppe 12 die Erzeugung eines Synchronisierimpulses zum geeigneten Zeitpunkt befiehlt. Die Steuereingänge der Buszyklus-Zustandsmaschine 200, der Adressenzwischenspeichertakt-Zustandsmaschine 204 und des Adressenvergleichers 212 werden mit geeigneten Steuersignalen belegt. Ist es z. B. erwünscht, einen Adressensynchronisierimpuls zu erhalten, so wird die Zeitgabe für Ausgangsinformationen der Synchronisierimpulserzeugungs- Zustandsmaschine 202 so getroffen, daß ein geeigneter Synchronisierimpuls für das Grundgerät 10 zu einem Zeitpunkt vorgesehen wird, bei dem die Adresseninformation auf dem Adressenbus des UUT-Mikroprozessors 70 erlaubt ist. In gleicher Weise wird für einen Datensynchronisierimpuls der geeignete Synchronisierimpuls an das Grundgerät 10 gegeben, wenn die Daten auf dem Datenbus des UUT-Mikroprozessors 70 zulässig sind.
Die Buszyklus-Zustandsmaschine 200 erzeugt in Erwiderung auf den gewünschten Synchronisiermodus einen Impulszug, und zwar in Erwiderung auf die Ausführungen des Mikroprozessors 70 und die Steuereingangsinformationen vom Mikroprozessor 40. Während der Mikroprozessor 70 der UUT 14 aktiviert ist, ruft dieser kontinuierlich Instruktionen vom Emulations- Direktzugriffsspeicher 64 ab, wobei die Adressen dieser Instruktionen vom Adressenvergleicher 210 überwacht werden. Tritt der letzte Instruktionsabruf vor dem interessierenden Buszyklus ein, so "feuert" der Adressenvergleicher 210 und gibt eine Ausgangsinformation an die Adressenzwischenspeichertakt-Zustandsmaschine 204 ab, die einfach einen Synchronisiermechanismus zum Synchronisieren des Ausgangssignals des Adressenvergleichers 210 mit den Synchronisiersignalen des UUT-Mikroprozessors 70 darstellt. Das synchronisierte Ausgangssignal der Zustandsmaschine 204 wird der Synchronisierimpulserzeugungs-Zustandsmaschine 202 zugeführt, die dann eine vorbestimmte Anzahl an Buszyklen nach unten zählt, wie dies vom Steuereingangssignal vom Bausteingruppenkern bestimmt ist, bis diese einen Synchronisierimpuls an das Grundgerät 10 abgibt.
Das Ausgangssignal der Adressenzwischenspeichertakt- Zustandsmaschine 204 wird gleichfalls dem Adressenzwischenspeicher 212 zugeführt, der den UUT- Speichereingangsinformationsbus 122 überwacht und von diesem empfangene Daten bei der geeigneten Adresse zwischenspeichert. Zum Extrahieren von Daten über Festwertspeicher- Adressenleitungen, z. B. wenn die UUT 14 den Befehl zur Durchführung eines Lese-Buszyklus erhält, sollten die Eingangsinformationen für den Adressenzwischenspeicher 212 in geeigneter Weise aus den niedrigeren Adressenbits eines Adressenworts bestehen, während die höcherwertigen Bits an den Adressenvergleicher 210 geliefert werden. Die Emulations-RAM- Bereichsauswahl-Zustandsmaschine 208 stellt einfach ein Flipflop dar, das durch ein Steuersignal vom Bausteingruppen- Mikroprozessor 40 aktiviert wird, um entweder den Emulations- RAM-Bereich 64A oder den Emulations-RAM-Bereich 64B zum geeigneten Zeitpunkt zu wählen, der vom Adressenvergleicher 210 und der Buszyklus-Zustandsmaschine 200 festgesetzt wird.
Die Analyse-RAM-Adressenerzeugungs-Zustandsmaschine 206 empfängt Eingangssignale von der Buszyklus-Zustandsmaschine 200 und vom Adressenvergleicher 210 sowie Steuereingangssignale vom Bausteingruppen-Mikroprozessor 40, um zu den geeigneten Zeitpunkten Adressen für den Analyse- Direktzugriffsspeicher (RAM) 62 zu erzeugen. Der Analyse- Direktzugriffsspeicher 62 wird zur Überprüfung der Unversehrtheit der UUT-Busstruktur benutzt.
Die Busprüfung stellt eine wichtige Maßnahme zur Lokalisierung von Fehlern im UUT-Kern dar, die bewirken, daß der UUT- Mikroprozessor 70 falsch funktioniert oder daß die Schnittstellen-Bausteingruppe 12 falsch funktioniert. Liegt z. B. ein Kurzschluß oder eine Unterbrechung bei einer Adreßleitung im UUT-Kern vor, so ist der UUT-Mikroprozessor 70 nicht in der Lage, Instruktionen vom Emulations- Direktzugriffsspeicher 64 (oder schließlich von seinem eigenen Speicher) richtig abzurufen. Die Busprüfung stellt möglicherweise den ersten Schritt beim Überprüfen einer unbekannten UUT dar, da sie sicherstellt, daß die UUT zumindest bereit ist und läuft, ehe andere Prüfungen vorgenommen werden. Falls fundamentale Fehler vorliegen, werden diese dann aufgezeichnet.
Das Grundgerät 10 setzt die Busprüfung in Gang, indem die Schnittstellen- Bausteingruppe 12 den Befehl erhält, das Busprüfungsprogramm in den Emulations-Direktzugriffsspeicher 64 zu laden. Der Bausteingruppen-Mikroprozessor 40 stellt dann den Analyse- Direktzugriffsspeicher 62 ein, um eine Folge von Buszyklen in den Analyse-Direktzugriffsspeicher 62 einzulesen, wie auch zur Einstellung der Synchronimpulserzeugungs-Zustandsmaschine 202 für die Erzeugung von Synchronisierimpulsen zu geeigneten Zeitpunkten, um eine Fehlersuche bei einem defekten Kern durchzuführen, falls dies erforderlich ist. Der Bausteingruppen-Mikroprozessor 40 führt das Rücksetzen des UUT-Mikroprozessors 70 durch, der dann mit der Ausführung der vom Emulations-Direktzugriffsspeicher 64 vorgesehenen Instruktionen beginnt. Die Folge von UUT-Buszyklen wird in den Analyse-Direktzugriffsspeicher 62 eingelesen. Sobald diese Folge beendet ist, wertet der Bausteingruppen-Mikroprozessor 40 die im Direktzugriffsspeicher 62 gespeicherten Informationen aus, um zu ermitteln, ob irgendwelche Busfehler vorliegen, und falls dies der Fall ist, zu ermitteln, welche Leitungen fehlerhaft sind und bei welchem Schritt oder Buszyklus diese Fehler aufgetreten sind. Die Bedienungsperson kann dann den bestimmten Fehler unter Verwendung der Sonde 32 lokalisieren, und zwar in Verbindung mit dem von der Synchronisierimpulserzeugungs-Zustandsmaschine 202 erzeugten Synchronisierimpulsen.
Als zusätzliches Hilfsmittel für die Fehlersuche kann die Bedienungsperson die Daten spezifizieren, die dem Datenbus während des ersten Buszyklus nach dem Rücksetzen der UUT zugeführt werden sollen. Durch Messen einer bestimmten Datenleitung während des ersten Buszyklus nach Rücksetzung kann die Bedienungsperson direkt feststellen, ob der Datenweg gültig ist und zwischen dem Speichersockel 72 und dem UUT- Mikroprozessor 70 richtig funktioniert oder nicht. Diese Messung ist erforderlich, um zwischen direkten Problemen des Datenbusses und Datenbussysmptomen unterscheiden zu können, die indirekt durch andere UUT-Fehler hervorgerufen werden.
Der Analyse-Direktzugriffsspeicher 62 stellt eine Einrichtung mit zweifachem Anschluß dar, die es dem Bausteingruppen- Mikroprozessor 40 erlaubt, sowohl Daten aus dem Direktzugriffsspeicher 62 auszulesen als auch Daten in diesen einzuschreiben. Somit wird ein äußerst flexibler Fehlersuchmechanismus vorgesehen. Ein solches System ermöglicht in der Tat eine Fehlersuche bei Mikroprozessoren, die Pipelineverarbeitungs- und Vorabruf-Funktionen beinhalten. Diese neueren Mikroprozessoren, die eine Pipeline- Verarbeitungsfunktion einschließen, rufen eine Anzahl von Instruktionen ab und speichern diese in einer Pipeline im Mikroprozessor und beginnen dann mit deren Ausführung, die nicht notgedrungen sequentiell erfolgen muß.
Die Prüfvorrichtung kann ermitteln, wenn eine Pipelineverarbeitung auftritt und verschiedene andere Faktoren feststellen, die bei der UUT auftreten können, wie z. B. verschiedene Zahlen für die Waitstates (Wartestatus) in einem Buszyklus, die die Folge ändern, mit der die Instruktionen aus dem Emulations-Direktzugriffsspeicher 64 abgerufen werden. Das heißt, es ist erwünscht, daß die Prüfvorrichtung versteht, ob auftretende Eigenarten das Ergebnis von Fehlern oder ob diese lediglich eine Funktion der Pipelineverarbeitungs- Charakteristik des bestimmten Mikroprozessors sind. Tritt eine Pipeline- bzw. Fließbandverarbeitung auf, so ist es wünschenswert, daß diese Pipeline-Verarbeitung nicht störend auf die Fähigkeit der Prüfvorrichtung einwirkt, Fehler im UTT- Kern zu diagnostizieren.
Demzufolge speichert der Analyse-Direktzugriffsspeicher 62 Adressen- und Prüfergebnisse. Ein Programm im Bausteingruppenkern analysiert diese Informationen im Vergleich zu den erwarteten Möglichkeiten, und falls ein Problem auftritt, wird die Bedienungsperson über das Grundgerät 10 davon in Kenntnis gesetzt, so daß geeignete Fehlersuchverfahren unter Verwendung der Sonde 32 eingesetzt werden können. Somit wird die Pipeline-Verarbeitung mit Hilfe der Prüfvorrichtung erkannt und bestätigt, und Durchlauffehler-Informationen werden zum Grundgerät 10 gesandt.
Um die Wirkungsweise der Prüfvorrichtung besser verständlich machen zu können, wird nachfolgend ein hypothetischer Fehlersuchvorgang beispielsweise beschrieben. Hierbei wird an angenommen, daß der UUT-Mikroprozessor 70 einen "Lese"-Zyklus bei einer Adresse ausführen soll, die von der Bedienungsperson des Prüfgeräts ausgewählt wird, und anschließend die Ergebnisse zurückführen und am Fehlersuch- Grundgerät 10 anzeigen soll. Die Prüfvorrichtung ist geeignet aufgebaut, wobei die Schnittstellen-Bausteingruppe 12 mit dem Grundgerät 10 und die Schnittstellen-Bausteingruppe 12 mit der UUT 14 verbunden ist.
Die Bedienungsperson drückt eine Lese-Taste auf dem Grundgerät 10, tastet die gewünschte Adresse, z. B. 0000 ein und drückt eine Eingabetaste (ENTER). Das Grundgerät 10 schickt daraufhin einen Befehl an die Schnittstellen-Bausteingruppe 12, um einen Lese-Vorgang bei der Adresse 0000 auszuführen. Der Bausteingruppen-Mikroprozessor 40 nimmt den Befehl an und löst eine Folge von Ereignissen aus. Zuerst überprüft der Bausteingruppen-Mikroprozessor 40 ein Statuskennzeichen im Bausteingruppen-Direktzugriffsspeicher 44, um festzustellen, ob er die UUT steuert und stellt schnell fest, daß er keine Steuerung ausführt, da der Emulations-Direktzugriffsspeicher 64 kein Programm enthält. Demzufolge wird ein "Lese/Schreib"- Code, der für den Ziel-UUT-Mikroprozessor 70 in Maschinensprache geschrieben ist, vom Bausteingruppenkern- Direktzugriffsspeicher 44 oder Bausteingruppenkern- Festwertspeicher 42 in beide Emulations- Direkzugriffsspeicherbereiche 64A und 64B geladen.
Als nächstes steuert der Bausteingruppen-Mikroprozessor 40 die Rücksetzleitung des UUT-Mikroprozessors 70 an, indem ein Rücksetztreiber-Steuersignal über das Bausteingruppen-E/A-Tor 46, das Kabel 90 und den Puffer 154 im Synchronisiermodul 150 angelegt wird, um den Ausgang des UUT-Rücksetzgenerators 158 zu übersteuern. Zur gleichen Zeit wird der Adressenvergleicher 210 eingestellt, um einen vorbestimmten "Kommunikationsbereich" des Adressenbereichs im Emulations- Direktzugriffsspeicher 64 zu überwachen. Anschließend wird die Rücksetzleitung des UUT-Mikroprozessors 70 freigegeben. Es sollte bemerkt werden, daß dieser "Kommunikationsbereich" bei einem kommerziellen Ausführungsbeispiel ein 128-Byte-Bereich ist und somit sieben Adreßleitungen für den Zugriff auf diesen Bereich benutzt werden.
Sobald die Rücksetzleitung freigegeben ist, beginnt der UUT- Mikroprozessor 70 damit, Instruktionen scheinbar von seinem eigenen Urlade(Boot)-Festwertspeicher abzurufen; tatsächlich werden diese jedoch vom Emulations-Direktzugriffsspeicher 64 abgerufen, der ersichtlich im Sockel des UUT-Speichers 72 sitzt. Diese ersten Instruktionen sollen den UUT-Kern für die Prüfung initialisieren und dann Zugriff auf eine vorbezeichnete Rücksetzbezugsadresse im Kommunikationsbereich des Emulations-Direktzugriffsspeichers 64 ausüben. Sobald dies eintritt, wird die Adresse vom Adressenvergleicher 210 erkannt, so daß der Adressenvergleicher 210 ausgelöst wird, wodurch der Adressenzwischenspeicher 211 das speichert, was sich in diesem Fall in den sieben wertniedrigsten Bits der Adresse befindet, um zu bestimmen, was übertragen wird. Diese Information geht auf den Bausteingruppenkern-Datenbus, um den Bausteingruppen-Mikroprozessor 40 davon in Kenntnis zu setzen, ob der UUT-Mikroprozessor 70 tatsächlich zurückgesetzt wurde oder nicht. Somit kann die Schnittstellen-Bausteingruppen-Software Adressenbits zur Bestimmung des Status des UUT-Mikroprozessors 70 verwenden, wie auch die Daten, die von einem Lesevorgang zurückkehren.
Nachdem der UUT-Mikroprozessor 70 initialisiert wurde, ruft dieser zuerst eine Instruktion von einer Adresse im Emulations-Direktzugriffsspeicher 64 ab, in die ein Befehls- Byte geladen wurde und liest das Befehls-Byte, um die auszuführende Funktion, z. B. Lesen, Schreiben, oder den Status zu bestimmten. Geht man z. B. davon aus, daß gilt:
Befehls-Byte = 0, so wird eine Warteschleife erzeugt, wodurch der UUT-Mikroprozessor 70 das Befehls-Byte liest, und falls dieses Null ist, einfach bis zum nächsten Abruf wartet und dann das Befehls-Byte wieder liest. Diese Warteschleife wird so lange durchlaufen, bis sich das Befehls-Byte ändert, wobei zu diesem Zeitpunkt der UUT-Mikroprozessor 70 einen Befehl ausführt, der auf dem Wert der niedrigwertigsten Bits des Befehls-Bytes beruht (vergleiche hierzu Fig. 4).
Die Steuerung des UUT- Mikroprozessors 70 wird durch Verwendung der beiden Speicherbereiche des Emulations-Direkzugriffsspeichers 64 erleichtert. Zum Beispiel kann die Instruktion Befehls-Byte = 0 im Speicherbereich A bei der Befehls-Byte-Adresse geladen werden, während Befehls-Byte = 1 in die gleiche Adresse im Speicherbereich B geladen wird, wobei alle anderen Adressen identisch in die beiden Speicherbereiche geladen werden. Zu einem geeigneten Zeitpunkt werden, wie nachfolgend beschrieben, die Direktzugriffsspeicherbereiche geschaltet, so daß beim nächsten Abruf des Befehls-Bytes der UUT- Mikroprozessor 70 Befehls-Byte = 1 liest und dann mit der Ausführung des gewünschten Befehls beginnen kann.
Ehe der UUT-Mikroprozessor 70 tatsächlich mit der Ausführung des vorbestimmten Befehls beginnt, ist es jedoch wünschenswert, sicherzustellen, daß die Schnittstellen- Bausteingruppe 12 die vollständige Steuerung der UUT 14 inne hat und der UUT-Kern bereit ist, auf die Befehle vom Bausteingruppen-Mikroprozessor 40 anzusprechen. Sobald der UUT-Mikroprozessor 70 zurückgesetzt wurde und der Bausteingruppen-Mikroprozessor 40 diese Information vom Adressenzwischenspeicher 212 gelesen hat, wird demzufolge der Adressenvergleicher 210 geladen, um die Befehls-Byte-Adresse zu überwachen. Sobald der UUT-Mikroprozessor 70 die Befehls- Byte-Adresse des Emulations-Direktzugriffsspeichers 64 liest, wird der Adressenvergleicher 210 ausgelöst, wodurch dieser die niedrigwertigen Bits der Befehls-Byte-Adresse in dem Adressenzwischenspeicher 212 speichert. Nun weiß die Schnittstellen-Bausteingruppe 12, das der UUT-Mikroprozessor 70 initialisiert wurde und wartet auf den Empfang eines Befehls über das Befehls-Byte. Als nächstes kann der Adressenvergleicher 210 geladen werden, um den 128-Byte- Kommunikationsbereich des Emulations-Direktzugriffsspeichers 64 zu überwachen, so daß sichergestellt wird, daß der UUT- Mikroprozessor 70 nicht auf irgendeine dieser Adressen Zugriff ausübt. Das in den Emulations-Direktzugriffsspeicher 64 geladene Programm schließt eine Instruktion ein, die bewirkt, daß der UUT-Mikroprozessor 70 auf vorbezeichnete Adressen innerhalb des 128-Byte-Kommunikationsbereichs des Emulations- Direktzugriffsspeichers 64 Zugriff ausübt, fall eine Unterbrechung oder ein anderer Fehler auftritt. Falls der Adressenvergleicher 210 während der Prüfung ausgelöst wird, ist somit ein Fehler aufgetreten. An diesem Punkt wird die Steuerung der UUT 14 durch Setzen eines Kennzeichens im Bausteingruppenkern-Direktzugriffsspeicher 44 angedeutet.
Die vorgenannte Prozedur kann in einem Unterprogramm ausgeführt werden, das entweder bei der Inbetriebnahme bzw. beim Anlauf oder zu irgendeinem Zeitpunkt aufgerufen werden kann, zu dem die Schnittstellen-Bausteingruppe 12 die Steuerung über die UUT 14 verliert.
Sobald die Steuerung der UUT 14 durch die Schnittstellen- Bausteingruppe 12 hergestellt ist, wird ein neues Befehls-Byte in den Emulations-Direktzugriffsspeicher 64 geladen. Diese Information wird in den Speicherbereich des Direktzugriffsspeichers 64 geladen, auf den momentan seitens des UUT-Mikroprozessors 70 kein Zugriff ausgeübt wird, da es erwünscht ist, den UUT-Mikroprozessor 70 in der Warteschleife zu halten, bis alle Schnittstellen-Bausteingruppenschaltungen eingestellt sind.
Ebenso werden die Buszyklus-Zustandsmaschine 200, die Synchronisierimpulserzeugungs-Zustandsmaschine 202, die Adressenzwischenspeichertakt-Zustandsmaschine 204 und der Adressenvergleicher 210 eingestellt, um einen Synchronisierimpuls während des interessierenden Buszyklus zu erzeugen, wie dies vorstehend beschrieben wurde, so daß ein Synchronisierimpulssignal zum Grundgerät 10 gesendet werden kann.
Wenn alles bereit ist, werden die Emulations- Direktzugriffsspeicherbereiche mit Hilfe der Emulations- Direktzugriffsspeicherbereichsauswahl-Zustandsmaschine 208 geschaltet, so daß beim nächsten Abruf des Befehls-Bytes der UUT-Mikroprozessor 70 erkennt, daß sich das Befehls-Byte geändert hat, und demzufolge mit der Ausführung des Lesebefehls beginnen kann, indem zu einem vorher in dem geeigneten Bereich des Emulations-Direktzugriffsspeichers 64 geladenen Programm gesprungen wird. Wird die letzte Adresse gelesen, so wird der Adressenvergleicher 210 ausgelöst, woraufhin dieser die Synchronisierimpulserzeugungsschaltung aktiviert. Währenddessen speichert der UUT-Mikropzessor 70 die Daten, die in den Registern im Inneren der UUT 14 gelesen wurden, und springt dann in die Warteschleife zurück, während die Synchronisierimpulserzeugungsschaltung einen Synchronisierimpuls erzeugt und ihren Zyklus beendet.
Während sich der UUT-Mikroprozessor 70 in der Warteschleife befindet, wird an der Befehls-Byte-Adresse des freien Emulations-Direktzugriffsspeicherbereichs ein "Sende"-Befehls- Byte geladen. Der Adressenvergleicher 210 wird geladen, um den Kommunikationsbereich des Emulations-Direktzugriffsspeichers bei Adressen zu überwachen, die den erwarteten "Lese"-Daten entsprechen.
Die Emulations-Direktzugriffsspeicherbereiche werden wieder geschaltet und der UUT-Mikroprozessor 70 sieht das "Sende"- Befehls-Byte und springt zum "Sende"-Programm. Wenn auf die vom Adressenvergleicher 210 überwachte Adresse vom UUT- Mikroprozessor 70 Zugriff ausgeübt wird, wird der Vergleicher ausgelöst, wodurch der Adressenzwischenspeicher 212 die niedrigwertigen Bits der Emulations-Direktzugriffsspeicher- Adresse speichert. Der Bausteingruppen-Mikroprozessor 40 liest die im Adressenzwischenspeicher 212 gespeicherten Informationen. Daraufhin kehrt der UUT-Mikroprozessor 70 in seine Warteschleife zurück. Diese Prozedur kann sooft wie erforderlich wiederholt werden, um alle Daten auszulesen. Wenn alle Daten von einem bestimmten Lesebefehl assembliert sind, wird zum Grundgerät 10 zurückgekehrt.

Claims (13)

1. Vorrichtung zum Prüfen eines elektronischen Bausteins (14), der einen Mikroprozessor (70) und einen Speicher (72) aufweist, die über einen Datenbus (74) und einen Adreßbus (76) miteinander verbunden sind, mit
  • - einer Einrichtung (92, 110) zum Ersetzen des Speichers (72) des elektronischen Bausteins (14) durch einen Emulationsspeicher (64),
  • - einer Steuereinrichtung (40), die Instruktionen in den Emulationsspeicher (64) eingibt und den Mikroprozessor (70) des elektronischen Bausteins die Instruktionen ausführen läßt, und
  • - einer Auswerteeinrichtung (60, 62), die mit der Steuereinrichtung (40) und dem Emulationsspeicher (64) verbunden ist und die auf die Instruktionen hin erfolgenden Rückmeldungen des Mikroprozessors (70) mit einem Satz vorbestimmter Rückmeldungen vergleicht, dadurch gekennzeichnet,
  • - daß eine Signalerzeugungseinrichtung (200) vorgesehen ist, die mit der Steuereinrichtung (40) und dem Mikroprozessor (70) verbunden ist und während eines über die Steuereinrichtung (40) ausgewählten Buszyklus einen der Fehlerisolierung dienenden Synchronisierimpuls erzeugt, der zu den Buszyklen des Mikroprozessors (70) synchron ist.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Signalerzeugungseinrichtung eine programmierbare Buszyklus-Zustandsmaschine (200) aufweist, die auf Zeitsteuersignale anspricht, die seitens des Mikroprozessors (70) angelegt werden.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß eine Zustandsmaschine (202) zum Erzeugen von Synchronisierimpulsen in Erwiderung auf ein Ausgangssignal von der Buszyklus-Zustandsmaschine (200) vorgesehen ist, wobei die Synchronisierimpulse zu einem vorgewählten Zeitpunkt während des Buszyklus erzeugt werden.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß eine Sonde (32) für die Fehlersuche in dem elektronischen Baustein (14) angeordnet wird, wobei Auslöse- und Antwortsignale der Sonde (32) mit den Synchronisierimpulsen synchronisiert sind.
5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswerteeinrichtung (60, 62) Mittel zum Synchronisieren von Prüfergebnissen mit vorbestimmten Buszyklen aufweist.
6. Vorrichtung nach den Ansprüchen 1 und 3, dadurch gekennzeichnet, daß die Auswerteeinrichtung ferner einen Vergleicher (210) aufweist, der auf einen Vergleich von zumindest einem Teil von Prüfergebnissen mit vorbestimmten, von der Steuereinrichtung (40) gelieferten Werten anspricht, um ein Ausgangssignal zu erzeugen, und daß die Zustandsmaschine (202) auf die Buszyklussynchronisationssignale und das Ausgangssignal des Vergleichers (210) anspricht, um Synchronisationssignale für die Prüfergebnisse zu erzeugen.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß eine Einrichtung (212) vorgesehen ist, die die Prüfergebnisse zu einem Zeitpunkt speichert, der durch die Prüfergebnis-Synchronisiersignale bestimmt wird.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Einrichtung zum Speichern der Prüfergebnisse ein Zwischenspeicher (212) ist.
9. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Einrichtung (212) zum Speichern der Prüfergebnisse ein Direktzugriffsspeicher (RAM) ist.
10. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinrichtung (40) ein Mikroprozessor ist.
11. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Emulationsspeicher (64) aus einem Paar von Direktzugriffspeichern (64A, 64B) besteht und eine Einrichtung (208) die Direktzugriffsspeicher (64A, 64B) während des Prüfvorganges so umschaltet, daß der Mikroprozessor (70) so weiter arbeitet, als ob während der bestimmten Prüfung nur ein Direktzugriffsspeicher vorhanden wäre.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß die Schalteinrichtung (208) eine schaltbare Logikschaltung aufweist, die auf Steuersignale von der Steuereinrichtung (40) und die Buszyklussynchronisationssignale anspricht.
13. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der elektronische Baustein (14) einen mit dem Adreßbus (76) gekoppelten Adressendecodierer (80) sowie eine Chipauswahlleitung (82) aufweist, die vom Adressendecodierer zum Speicher (72) geführt ist, wobei Adressen decodiert werden, auf die der Mikroprozessor (70) Zugriff ausübt, um auf der Chipauswahlleitung (82) die Prüfergebnisse zu erzeugen.
DE3903835A 1988-02-19 1989-02-09 Verfahren und vorrichtung zum pruefen von mikroprozessorsystemen unter verwendung von speicheremulationstechniken Granted DE3903835A1 (de)

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
DE3903835A1 DE3903835A1 (de) 1989-08-31
DE3903835C2 true DE3903835C2 (de) 1992-11-26

Family

ID=22567169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3903835A Granted DE3903835A1 (de) 1988-02-19 1989-02-09 Verfahren und vorrichtung zum pruefen von mikroprozessorsystemen unter verwendung von speicheremulationstechniken

Country Status (6)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4418892A1 (de) * 1993-05-31 1994-12-01 Mitsubishi Electric Corp Mikrocomputer

Families Citing this family (48)

* 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エミュレータ
CN1043020A (zh) * 1988-11-23 1990-06-13 约翰弗兰克制造公司 提高存储器仿真法性能的增强型硬件
US4989207A (en) * 1988-11-23 1991-01-29 John Fluke Mfg. Co., Inc. Automatic verification of kernel circuitry based on analysis of memory accesses
CN1045655A (zh) * 1988-11-23 1990-09-26 约翰弗兰克制造公司 ***自动诊断的内核测试接口和方法
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 (de) * 1990-06-18 1991-12-27 ALCATEL BELL Naamloze Vennootschap Testanordnung für einen elektronischen Chip
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
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
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
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
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
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
TWI254855B (en) * 2004-10-08 2006-05-11 Via Tech Inc Memory simulation device and method thereof
TWI270803B (en) * 2004-10-08 2007-01-11 Via Tech Inc Adapter for memory simulator
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

Family Cites Families (9)

* 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
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
US4691316A (en) * 1985-02-14 1987-09-01 Support Technologies, Inc. ROM emulator for diagnostic tester
JPS61229133A (ja) * 1985-04-03 1986-10-13 Nec Corp シングルチツプマイクロコンピユ−タ用エミユレ−タ
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4418892A1 (de) * 1993-05-31 1994-12-01 Mitsubishi Electric Corp Mikrocomputer
DE4418892C2 (de) * 1993-05-31 1998-04-16 Mitsubishi Electric Corp Mikrocomputer

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3903835C2 (de)
DE69019402T2 (de) Prüfverfahren und -gerät für integrierte Schaltungen.
DE69107463T2 (de) Integrierte Schaltung, System und Verfahren zur Fehlererzeugung.
EP0186724B1 (de) Prüf- und Diagnoseeinrichtung für Digitalrechner
DE4313594C2 (de) Mikroprozessor
DE3787431T2 (de) Verfahren zur Generierung einer Kandidatenliste von fehlerhaften Schaltungselementen und Verfahren zur Isolierung von Fehlern in einer logischen Schaltung unter Verwendung dieser Kandidatenliste.
DE60023882T2 (de) System auf einem Chip mit reprogrammierbarem Testgerät, Fehlerbeseitiger und Busüberwachung
DE3882266T2 (de) Abfrageprüfgerät für digitale Systeme mit dynamischem Direktzugriffspeicher.
DE60113780T2 (de) Verfahren und Vorrichtung zum Verfolgen von Hardwarezustanden mit dynamischen rekonfigurierbaren Testschaltungen
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE60100754T2 (de) System und verfahren zum testen von signalverbindungen unter verwendung einer eingebauten selbsttestfunktion
DE69915377T2 (de) Auf-chip fehlersuchsystem
DE3702408C2 (de)
DE69115776T2 (de) Prüfvorrichtung für integrierte schaltungen
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE2728676A1 (de) Stufenempfindliches, als monolithisch hochintegrierte schaltung ausgefuehrtes system aus logischen schaltungen mit darin eingebetteter matrixanordnung
DE2639323A1 (de) System zur fehleranalysierung bei gedruckten schaltungsplatinen
EP1720100A1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE69017169T2 (de) Testen integrierter Schaltungen unter Verwendung von Taktgeberstössen.
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE102012224276B4 (de) Verzögerte Ausführung auf mehreren Prozessoren
DE19604251C2 (de) Emulationsvorrichtung für Microcomputer, Verfahren zur Erfassung einer Vielzahl von Statusdaten und Fehlerbeseitigungssystem
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee