DE10004198A1 - System und Verfahren für eine intelligente Analysesonde - Google Patents

System und Verfahren für eine intelligente Analysesonde

Info

Publication number
DE10004198A1
DE10004198A1 DE10004198A DE10004198A DE10004198A1 DE 10004198 A1 DE10004198 A1 DE 10004198A1 DE 10004198 A DE10004198 A DE 10004198A DE 10004198 A DE10004198 A DE 10004198A DE 10004198 A1 DE10004198 A1 DE 10004198A1
Authority
DE
Germany
Prior art keywords
data
signal
logic
internal
analysis
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
DE10004198A
Other languages
English (en)
Other versions
DE10004198C2 (de
Inventor
Brian Clay Schipke
Bryan O Jun Call
Steven Wayne Adams
Michael Jon Dotseth
Gordon A Greenley
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE10004198A1 publication Critical patent/DE10004198A1/de
Application granted granted Critical
Publication of DE10004198C2 publication Critical patent/DE10004198C2/de
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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers

Abstract

Es werden ein System und ein Verfahren zum Bereitstellen von Intelligenz für eine Analysesonde beschrieben, die von Logikanalysatoren verwendet wird. Das System liefert das Neuerzeugen von internen Prozessordatensignalen eines Zielsystems für eine Analyse durch einen Logikanalysator von Datenleitungen, die von dem Prozessor eines Zielsystems für andere Zwecke verwendet werden. Insbesondere weist die Analysesonde eine programmierbare Logik zum Bereitstellen einer Schnittstelle zwischen einem Emulationsmodul und dem Zielsystem, einen Speicher zum Empfangen von Signalneuaufbaudaten von dem Emulationsmodul, einen Prozessor zum Erzeugen einer Datenabbildung aus den Signalneuaufbaudaten und eine programmierbare Logik zum Erzeugen eines internen Prozessordatensignals des Zielsystems aus zumindest einem einer Mehrzahl von externen Datensignalen von dem Zielsystem und den Signalneuaufbaudaten auf.

Description

Die vorliegende Erfindung bezieht sich allgemein auf ein System und ein Verfahren zum Bereitstellen von Intelligenz für eine Analysesonde, die von Logikanalysatoren verwendet wird. Insbesondere liefern das System und das Verfahren der vorliegenden Erfindung das Neuerzeugen von Datensignalen für eine Analyse von Datenleitungen, die von einem Zielsystem­ prozessor für andere Zwecke verwendet werden, durch einen Logikanalysator.
Wie es in der Computertechnik und Softwaretechnik bekannt ist, wird, wenn ein neues Computerhardware- und -software­ system entwickelt wird, das System Fehler aufweisen. Folg­ lich verwenden Entwickler von Hardware- und Software-Syste­ men viele Techniken, die vorgesehen sind, um die Korrektheit der Hardware und Software zu überprüfen und diese Fehler zu diagnostizieren.
Eines der Geräte, die Entwickler häufig verwenden werden, um eine Elektronik von Fehlern zu befreien (debug), ist ein Lo­ gikanalysator. Die Verwendung von Logikanalysatoren ist nie­ mals einfach gewesen. Eine der schwierigsten Aufgaben bei der Verwendung eines Logikanalysators ist das Abtasten des zu testenden Gerätes. Viele Logikanalysatorenhändler sind diesem Problem begegnet, indem dieselben ein Zubehör bereit­ stellen, das die Aufgabe des Verbindens des Logikanalysators mit dem zu testenden Gerät (häufig einem Mikroprozessor) vereinfacht. Diese Vorrichtung wird üblicherweise als "Ana­ lysesonde" bezeichnet.
Analysesonden sind üblicherweise mit der zu testenden Vor­ richtung oder dem zu testenden System mit einer Verbindung verbunden, die alle gewünschten Signale auf einmal abtastet. Der Benutzer verbindet dann mehrere Logikanalysatoradapter­ kabel mit dem Logikanalysator und nicht zahlreiche einzelne Sonden. Die Verwendung einer Analysesonde versieht den Be­ nutzer ferner mit einer inversen Assemblierungsfunktionali­ tät. Die inverse Assemblierungsfunktionalität besteht aus dem Überwachen der Signale an dem Prozessor, um den Prozes­ sorbefehlsfluß zu bestimmen. Dieser Prozessorbefehlsfluß gibt exakt an, welche Befehle an dem Prozessor zu einem ge­ gebenen Zeitpunkt verarbeitet werden. Die Prozessorbefehle umfassen ferner Informationen darüber, auf welche Register und Speicheradressen zugegriffen wird. Um die inverse Assem­ blierungsfunktionalität zu erlangen, erfordern bestimmte Da­ tensignale das Abtasten durch den Logikanalysator.
Da Mikroprozessorchipentwickler damit fortfahren, Periphe­ rien in die Mikroprozessoren selbst zu integrieren, werden Signale, die für eine inverse Assemblierungsfunktionalität notwendig sind, weder zu Stiften des Gehäuses geführt, noch mit anderen Signalen gemultiplext. Das Nichtherausführen der Signale macht es für den Logikanalysator schwierig, die Sig­ nale, die für eine inverse Assemblierung notwendig sind, in eine Zerlegungsmnemotechnik umzuwandeln. Die Zerlegungsme­ motechnik besteht aus dem Aufbauen des Befehlssymbols, das die Prozessorbefehle und -operationen, wie z. B. das "Addie­ ren" (für eine Addition) und das "Subtrahieren" (für eine Subtraktion), darstellen kann.
Ein üblicher Beispielfall, bei dem dies auftritt, ist das Ersetzen einer oberen Adreßleitung durch eine Schreibfrei­ gabe (d. h. Chipauswahl), wenn die Chipauswahl verwendet wird. Der Logikanalysator benötigt alle Adreßleitungen, um zu bestimmen, wo der Prozessor einen Code ausführt oder Speicher liest oder schreibt. Falls der Mikroprozessor ein Schreibfreigabe- (d. h. Chipauswahl-) Signal anstelle einer oberen Adreßleitung aufweist, ist die inverse Assemblerfunk­ tionalität nicht in der Lage, die Adressen zu bearbeiten, die der Logikanalysator benötigt, um die inverse Assemblie­ rung zu erzeugen. Zusätzlich ist der Benutzer nicht in der Lage, bei dem Inversassembler die korrekte Adresse nachzu­ schauen. Falls ein Benutzer wünscht, die korrekte Adresse nachzuschauen, kann derselbe nicht die Schreibfreigabe- (d. h. Chipauswahl-) Signale verwenden. Die Benutzer emp­ finden dies als extrem unangenehm, da die Schreibfreigabe- (d. h. Chipauswahl-) Signale direkt an das Hardwaresystem gebunden sind.
Bisher mangelte es Softwareentwicklern an einem System und einem Verfahren zum Neuerzeugen von Datensignalen für eine Analyse durch einen Logikanalysator von Datenleitungen, die von einem Zielsystemprozessor für andere Zwecke verwendet werden.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Neuaufbauen von internen Datensignalen an einem Computersystem 14 für eine Analyse durch einen Logik­ analysator und eine Neuaufbauvorrichtung bzw. Datenneuauf­ bauvorrichtung zum Erzeugen von internen Datensignalen für ein Computersystem für eine Analyse durch einen Logikana­ lysator zu schaffen, so daß die Untersuchung einer zu testenden Vorrichtung für einen Entwickler unaufwendiger wird.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 6 oder 11 gelöst.
Die vorliegende Erfindung bezieht sich allgemein auf ein Sy­ stem und ein Verfahren zum Neuerzeugen von internen Daten­ signalen von externen Datenleitungen, die von einem Ziel­ systemprozessor für andere Funktionen verwendet werden. Dies ermöglicht, daß ein Logikanalysator Datensignale anzeigt, die durch einen Zielprozessor eigentlich intern verwendet werden. Der Datensignalneuaufbau verwendet die Chipauswahl-, Adreß- und Datenleitungen des Zielprozessors, um die ge­ wünschten internen Datensignale neu zu erzeugen. Dieser Neuaufbau wird durchgeführt, so daß die gewünschten Daten­ signale durch einen Logikanalysator berücksichtigt werden können, falls der Zielprozessor die gewünschten Datensig­ nalzeilen für andere Aufgaben als die gewünschte Datensig­ nalübertragung verwendet.
Die vorliegende Erfindung verwendet ferner ein System und ein Verfahren, bei dem ein Emulationsmodul ermöglicht, daß ein Benutzer die Analysesonde konfiguriert, um einen Daten­ neuaufbau für eine Vielzahl von unterschiedlichen Ziel­ systemprozessorkonfigurationen zu ermöglichen.
Andere Merkmale und Vorteile der vorliegenden Erfindung wer­ den sich für einen Fachmann auf dem Gebiet aus der Unter­ suchung der folgenden Zeichnungen und detaillierten Be­ schreibung ergeben. Es ist beabsichtigt, daß alle solchen zusätzlichen Merkmale und Vorteile hierin innerhalb des Schutzbereiches der vorliegenden Erfindung umfaßt sind.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm des Logikanalysesystems, das den Logikanalysator zeigt, der mit der Analysesonde verbunden ist, die wiederum mit dem Zielsystem und dem Emulationsmodul der vorliegenden Erfindung ver­ bunden ist;
Fig. 2 ein Blockdiagramm des Logikanalysesystems ist, das den Datenfluß zwischen dem Logikanalysator, der Analysesonde, dem Zielsystem und dem Emulations­ modul gemäß der vorliegenden Erfindung zeigt;
Fig. 3 ein Blockdiagramm des Logikanalysesystems der vor­ liegenden Erfindung, das die Elemente der Analyse­ sonde zusammen mit Datenleitungsverbindungen dar­ stellt;
Fig. 4 ein Flußdiagramm des Verfahrens zum Durchführen des Analyseprozesses für das Logikanalysesystem, wie es in Fig. 1, 2 und 3 gezeigt ist;
Fig. 5 ein Flußdiagramm des Prozesses, der die Analyseson­ de mit dem Zielsystem verbindet, wie es in Fig. 4 gezeigt ist;
Fig. 6 ein Flußdiagramm des Prozesses, der den Prozessor­ typ des Zielsystems bestimmt, wie es in Fig. 5 ge­ zeigt ist;
Fig. 7 ein Flußdiagramm des Prozesses, der das Emulations­ modulkonfigurationsregister lädt, wie es in Fig. 4 gezeigt ist;
Fig. 8 ein Flußdiagramm des Prozesses, der die Zielprozes­ sorkonfigurationsdaten zu der Analysesonde herun­ terlädt, wie es in Fig. 4 und 7 gezeigt ist;
Fig. 9 ein Flußdiagramm des Prozesses, der die Datenneu­ aufbaudatenabbildung in der Analysesonde erzeugt, um einen Datenneuaufbau zu ermöglichen, wie es in Fig. 4 gezeigt ist;
Fig. 10 ein Flußdiagramm des Prozesses, der den Teilsatz der Emulationsmodulregister in die Analysesonde lädt, wie es in Fig. 9 gezeigt ist.
Die Erfindung wird nun bezugnehmend auf die Zeichnungen be­ schrieben, bei denen bei allen mehreren Ansichten gleiche Bezugszeichen entsprechende Bauteile anzeigen. Obwohl die Erfindung in Verbindung mit diesen Zeichnungen beschrieben wird, ist es nicht beabsichtigt, die Erfindung auf das Aus­ führungsbeispiel oder die Ausführungsbeispiele, die in den­ selben offenbart sind, zu begrenzen. Im Gegenteil ist es be­ absichtigt, alle Alternativen, Modifikationen und Äquivalen­ te zu umfassen, die in dem Schutzbereich der Erfindung um­ faßt sind, der durch die anhängigen Patentansprüche defi­ niert ist.
In Fig. 1 ist das Logikanalysesystem 10 der vorliegenden Erfindung dargestellt. Ein herkömmlicher Logikanalysator 11 und ein herkömmliches Zielsystem 14 weisen allgemein einen Prozessor (nicht gezeigt) und einen Speicher (nicht gezeigt) auf, der entweder ein üblicher Typ oder eine Kombination der üblichen Typen von Speichern, wie beispielsweise ein lösch­ barer programmierbarer Nurlesespeicher (EPROM), ein elektro­ nisch löschbarer programmierbarer Nurlesespeicher (EEPROM), ein Flash-Speicher, ein programmierbarer Nurlesespeicher (PROM), ein Direktzugriffspeicher (RAM), ein Nurlesespeicher (ROM), ein Flash-Speicher, ein dynamischer Direktzugriff­ speicher (DRAM), ein statischer Direktzugriffspeicher (SRAM), ein Systemspeicher oder ein nicht-flüchtiger Speicher, wie z. B. Festplatten, Bandlaufwerke, CD-Nurlese­ speicher- (CD-ROM-) Laufwerke, Magnetbänder oder Kassetten, usw., mit einem Betriebssystem (nicht gezeigt) sein kann, ist aber nicht auf dieselben begrenzt. Der Prozessor emp­ fängt einen Programmcode (nicht gezeigt) und Daten (nicht gezeigt) von dem Speicher über eine lokale Schnittstelle, d. h. einen oder mehrere Busse (nicht gezeigt). Die Richtung von dem Benutzer kann unter Verwendung einer oder mehrerer Eingabevorrichtungen, wie z. B. einer Maus (nicht gezeigt) und einer Tastatur (nicht gezeigt), signalisiert werden. Die eingegebenen Aktionen und ausgegebenen Ergebnisse werden auf dem Anzeigegerät (nicht gezeigt) angezeigt.
Ein herkömmliches Emulationsmodul 12 weist einen Prozessor (nicht gezeigt) und einen Speicher (nicht gezeigt) auf, der entweder einer der üblichen Typen von Speicher oder eine Kombination derselben sein kann, wie z. B. ein löschbarer programmierbarer Nurlesespeicher (EPROM), ein elektronisch löschbarer programmierbarer Nurlesespeicher (EEPROM), ein Flash-Speicher, ein programmierbarer Nurlesespeicher (PROM), ein Direktzugriffspeicher (RAM), ein Nurlesespeicher (ROM), ein Flash-Speicher, ein dynamischer Direktzugriffspeicher (DRAM), ein statischer Direktzugriffspeicher (SRAM), ein Systemspeicher oder ein nicht-flüchtiger Speicher, usw., mit einem Betriebssystem (nicht gezeigt), ist aber nicht auf dieselben begrenzt. Der Prozessor empfängt einen Programm­ code (nicht gezeigt) und Daten von dem Speicher über eine lokale Schnittstelle, d. h. einen Bus (nicht gezeigt).
Das Emulationsmodul 12 ist mit der Analysesonde 13 verbun­ den. Das Emulationsmodul 12 läßt einen Benutzer die einge­ bauten Hintergrundfehlerbeseitigungsmerkmale des Prozessors des Zielsystems 14 einschließlich der Ablaufsteuerung und des Zugriffs auf die Register und den Speicher verwenden. Ein Quellendebugger auf hoher Ebene bzw. eine Quellenfeh­ lerbeseitigungseinrichtung auf hoher Ebene kann das Emula­ tionsmodul 12 verwenden, um Fehler des Codes, der in dem Zielsystem 14 läuft, zu beseitigen. Das Emulationsmodul 12 kann mit der Analysesonde 13 direkt verbunden sein, oder kann mit einem Fehlerbeseitigungstor (nicht gezeigt) an dem Zielsystem 14 verbunden sein.
Die Analysesonde 13 verbindet den Logikanalysator 11 und das Zielsystem 14, um Daten für eine Status- und Zeiteintei­ lungs-Analyse zu liefern, wie es im Stand der Technik be­ kannt ist. Die Analysesonde 13 kann in Verbindung mit dem Emulationsmodul 12 oder als eine Stand-Alone-Komponente (losgelöste Komponente), die den Logikanalysator 11 und das Zielsystem 14 verbindet, verwendet werden. Das Zielsystem 14 kann jeglicher Typ von Computersystem sein, das eine Verar­ beitungs-, Steuerungs- oder Logik-Vorrichtung enthält. Bei­ spiele sind ein Mikroprozessor, eine Zentralverarbeitungs­ einheit (CPU), ein programmierbares Gate-Array, eine pro­ grammierbare Logik, usw.
In Fig. 1 ist ferner gezeigt, daß die Verbindungen zwischen dem Logikanalysator 11, dem Emulationsmodul 12, der Analyse­ sonde 13 und dem Zielsystem 14 bidirektionale Leitungsver­ bindungen sind. Diese Verbindungen können von jeglichem Ver­ bindungstyp sein, beispielsweise serielle, parallele, op­ tische oder andere geeignete Verbindungen, sind aber nicht auf dieselben begrenzt.
Die Kombination der Analysesonde 13, des Emulationsmoduls 12 und des Logikanalysators 11 ermöglicht es, daß der Benutzer die Prozessoraktivität auf einem Zielsystem 14 sowohl steu­ ern als auch nachverfolgen kann. Die Analysesonde 13 führt dem Logikanalysator 11 Signale von dem Zielprozessor (nicht gezeigt) zu. Es sind Konfigurationsdateien vorhanden, die in dem Logikanalysator 11 aufgebaut werden, um diese Ziel­ systemprozessorsignale korrekt zu interpretieren.
Das Emulationsmodul 12 ermöglicht es, daß der Benutzer einen Debugger oder eine Emulationssteuerungsfunktionalität ver­ wendet, um das Zielsystem 14 für ein Herunterladen des Pro­ grammcodes zu konfigurieren und zu steuern. Das Emulations­ modul 12 liefert ferner eine Datenneukonfigurierung der Ana­ lysesonde 13 unter Verwendung der Konfigurierungsmerkmale des Emulationsmodules 12. Die Konfigurierung kann in einer Vielzahl von unterschiedlichen Verfahren durchgeführt wer­ den. Bei einem Ausführungsbeispiel ermöglicht das Neukon­ figurieren der Analysesonde das Verwenden eines Systemde­ buggers. Ein weiteres Ausführungsbeispiel, um die Analyse­ sonde 13 zu konfigurieren, um mit der Konfiguration des Zielsystems 14 übereinzustimmen, verwendet eine manuelle Eingabe der Konfigurationsdaten des Zielsystems 14 in das Emulationsmodul 12.
In Fig. 2 ist das Logikanalysesystem 10 der vorliegenden Er­ findung und insbesondere die neukonfigurierbare Programm­ logik 30 des bevorzugten Ausführungsbeispiels dargestellt. Die neukonfigurierbare Programmlogik 30 innerhalb der Prüf­ sonde 13 liefert die Fähigkeit für die Analysesonde 13, die Datensignale, die von dem Zielsystem 14 erhalten werden, für eine Übertragung zu dem Logikanalysator 11 neuaufzubauen oder neu zu konfigurieren. Die neukonfigurierbare Programm­ logik 30 der vorliegenden Erfindung wird hierin detailliert bezugnehmend auf Fig. 3 bis 9 erklärt.
In Fig. 2 sind ferner die Konfigurationsdateien 21 gezeigt, die in dem Logikanalysator 11 untergebracht sind. Diese Kon­ figurationsdateien ermöglichen es dem Logikanalysator 11, jeglichen Typ von Signalen, die über die Analysesonde 13 von dem Prozessor an dem Zielsystem 14 empfangen werden, zu ent­ schlüsseln.
In Fig. 3 sind ein Blockdiagramm des Logikanalysatorsystems 10 und insbesondere die Komponenten der Logikanalysesonde 13 der vorliegenden Erfindung dargestellt. Das Zielsystem 14 ist mit der Analysesonde 13 verbunden. Diese Verbindung er­ möglicht es, daß die Analysesonde 13 eine Vielzahl von un­ terschiedlichen Datensignalen von dem Zielsystem 14 erhält. Diese Datensignale sind im allgemeinen in parallelen Daten­ leitungen mit 1- bis X-Bit-Leitungen ausgeführt. Mit dem Zielsystem 14 sind ferner die Adreßleitungen 42 verbunden. Das Zielsystem ist außerdem mit einer Taktleitung 43, Sta­ tusleitungen 44 und Chipauswahlleitungen 45 verbunden. Die Datenleitungen 41 bis 45 sind ferner durch die Analysesonde 13 direkt mit dem Logikanalysator 11 verbunden. Die Lei­ tungen 41 bis 45 können von jedem beliebigen Typ von Verbin­ dungen mit beispielsweise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jeder anderen Anzahl von Datenleitungen sein, sind aber nicht auf dieselben begrenzt. Diese Datenleitungen 41 bis 45 können außerdem von jedem beliebigen Verbindungstyp sein, beispielsweise serielle, parallele, optische oder andere geeignete Verbindungen, sein, sind aber nicht auf dieselben begrenzt.
Die Analysesonde 13, die die programmierbare Logik 32 ver­ wendet, ist ferner mit dem Zielsystem 14 über die Ablauf­ steuerungsleitungen 46 verbunden. Diese Ablaufsteuerungslei­ tungen können von jedem beliebigen Verbindungstyp mit bei­ spielsweise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jeder anderen Anzahl von Ablaufsteuerungsleitungen sein, sind aber nicht auf dieselben begrenzt. Diese Steuerungsleitungen 46 können ferner von jedem beliebigen Verbindungstyp, bei­ spielsweise seriell, parallel, optisch, usw., sein, sind aber nicht auf dieselben begrenzt. Diese Ablaufsteuerungs­ leitungen 46 senden Befehle an den Prozessor des Zielsystems 14, um den Betrieb des Zielsystems 14 zu steuern. Diese Ab­ laufsteuerungsleitungen 46 senden ferner Daten zu dem Ziel­ system 14 und empfangen Daten von demselben.
Die programmierbare Logik 32 ist über Datenleitungen 48 fer­ ner mit dem Emulationsmodul 12 verbunden. Die Datenleitungen 48 können von jedem beliebigen Verbindungstyp mit beispiels­ weise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jeder ande­ ren Anzahl von Datenleitungen sein, sind aber nicht auf die­ selben begrenzt. Diese Datenleitungen 48 können von jedem beliebigen Verbindungstyp, beispielsweise serielle, paralle­ le, optische oder andere geeignete Verbindungen, sein, sind aber nicht auf dieselben begrenzt. Diese Ablaufdatenleitun­ gen 48 ermöglichen es, daß die programmierbare Logik 32 Da­ ten zu dem Emulationsmodul 12 und Befehle und Daten von dem­ selben empfangen kann.
Das Emulationsmodul 12 sendet Steuerungsbefehlsanforderungen über die Datenleitung 48 zu der programmierbaren Logik 32 aus. Die programmierbare Logik 32 wirkt als eine Schnitt­ stelle zwischen dem Emulationsmodul 12 und dem Zielsystem 14. Von dem Erfinder ist ferner vorgesehen, anstatt der pro­ grammierbaren Logik 32 eine nicht-programmierbare Logik­ schaltungsanordnung zu verwenden.
Die programmierbare Logik 32 überträgt die Steuerungsbefehl­ anforderungen über eine Leitungssteuerungsleitung 46 zu den Zielsystemprozessorkonfigurationsregistern 24 neu. Die Ziel­ systemprozessorkonfigurationsregister 24 können beispiels­ weise die Systemintegrationsmodul- (SIM; SIM = System Inte­ gration Modul) Register in der CPU 32 und den Power-PC-Sy­ stemen sein, die von Motorola Corp., USA, hergestellt werden und verfügbar sind. Zielsystemprozessoren eines anderen Typs, die mit dem Logikanalysesystem betreibbar sind, sind beispielsweise Prozessoren, die von IBM Corp., USA, und Intel Corp., USA, hergestellt werden und handelsüblich ver­ fügbar sind, sind aber nicht auf dieselben begrenzt.
Die programmierbare Logik 32 liest die Zielsystemprozessor­ konfigurationsregister 24 in die programmierbare Logik 32 der Analysesonde 13. Die Werte der Konfigurationsregister 24 werden zu dem Emulationsmodul 12 gesendet, um zu bestimmen, welcher Satz von Teilsatzkonfigurationsregistern zu einer Speicherspeicherungsvorrichtung 31 gesendet wird. Die Funk­ tionalität des Emulationsmoduls 12 wird hierin bezugnehmend auf Fig. 4 definiert. Die programmierbare Logik 32 erzeugt dementsprechend Taktsignale und andere Datensignale 49 und überträgt diese Signale zu dem Logikanalysator 11.
Das Emulationsmodul 12 ist ferner über Datenleitungen 47 mit einer Speicherspeicherungsvorrichtung 31 der Analysesonde 13 verbunden. Die Datenleitungen 47 ermöglichen es, daß Daten zu der Analysesonde 13 und dem Zielsystem 14 und von densel­ ben gesendet werden können. Die Datenleitungen 47 können je­ de beliebige Anzahl von Datenleitungen aufweisen, beispiels­ weise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jede andere geeignete Anzahl von Datenleitungen, sind aber nicht auf diese Anzahlen begrenzt. Diese Datenleitungen 47 können von jedem beliebigen Typ, beispielsweise serielle, parallele, optische oder ein anderer Typ von Verbindungen, sein, sind aber nicht auf dieselben begrenzt.
Bei einem Ausführungsbeispiel ist die Speicherspeicherungs­ vorrichtung 31 eine Speichervorrichtung des EEPROM-Typs. Es wird jedoch darauf hingewiesen, daß andere nicht-flüchtige Speichervorrichtungstypen, wie z. B. ein nicht-flüchtiger ROM, RAM, EPROM, Blasenspeicher, Flash-Speicher oder der­ gleichen, verwendet werden könnten.
Falls das Emulationsmodul 12 mit der Analysesonde 13 ver­ bunden ist, bestimmt das Emulationsmodul 12 auf das Ein­ schalten hin die geeigneten Zielsystemprozessorkonfigura­ tionsregister 24, wie es hierin detaillierter bezugnehmend auf Fig. 6 definiert werden wird. Das Emulationsmodul 12 kopiert einen Teilsatz der Konfigurationsregister 24 in dem Prozessor des Zielsystems von einer Konfigurationsregister­ tabelle 23 des Emulationsmoduls 12 in die Speicherspeiche­ rungsvorrichtung 31. Diese Konfigurationsregister sollen von der Analysesonde 13 verwendet werden, um die programmierbare Logik 30 für einen Datenneuaufbau zu konfigurieren.
Die Speicherspeicherungsvorrichtung 31 ist ferner über eine Verbindungsleitung 57 mit einem Mikroprozessor 33 verbunden. Der Mikroprozessor 33 ist über Leitungen 58 ferner mit der programmierbaren Logik 30 verbunden. Der Mikroprozessor 32 empfängt über die Datenleitungen 57 einen Teilsatz der Kon­ figurationsregisterdaten von der Speicherspeicherungsvor­ richtung 31. Die Datenleitungen 57 können von jedem beliebi­ gen Verbindungstyp mit beispielsweise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jeder anderen Anzahl von Datenlei­ tungen sein, sind aber nicht auf dieselben begrenzt. Diese Datenleitungen 57 können von jedem beliebigen Verbindungs­ typ, beispielsweise serielle, parallele, optische oder andere geeignete Datenleitungsverbindungen, sein, sind aber nicht auf dieselbe begrenzt.
Der Mikroprozessor 33 erfaßt Kopien der Prozessorkonfigu­ rationsregister 24 des Zielsystems 14 von der Speicher­ speicherungsvorrichtung 31 und leitet eine Bitmusterab­ bildung her, die verwendet wird, um die programmierbare Logik 30 zu konfigurieren. Der Mikroprozessor 33 führt den Algorithmus aus, der in einem Mikroprogramm implementiert ist, um das Bitmuster zu bestimmen, das verwendet worden ist. Die Datenmuster sind eine Datenabbildung, die dar­ stellt, daß eine spezielle Dateneingabe eine vorbestimmte Datenausgabe ergeben wird, für einen Datenneuaufbau durch die Analysesonde 13.
Diese Datenabbildung, die durch den Mikroprozessor 33 er­ zeugt wird, wird daraufhin über die Datenleitung 58 in die programmierbare Logik 30 geladen. Die Datenleitungen 58 können von jedem beliebigen Verbindungstyp mit beispiels­ weise 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jeder an­ deren Anzahl von Datenleitungen sein, sind aber nicht auf dieselben begrenzt. Diese Datenleitungen 58 können von jedem beliebigen Verbindungstyp, beispielsweise serielle, paralle­ le, optische oder ähnliche Verbindungen, sein, sind aber nicht auf dieselben begrenzt.
Bei dem Beispiel des Falls einer Datenneuerzeugung einer oberen Adreßleitung empfängt die programmierbare Logik 30 ein Eingangssignal eines Bitmusters auf den Chipauswahl­ leitungen 54 und den Adreßleitungen 53. Die programmierbare Logik 30 liefert das Datenmustereingangssignal, das bei dem Abbildungsprozeß verwendet wird, um das resultierende Daten­ ausgangssignal auf den Erzeugte-Adresse-Leitungen 51 zu er­ zeugen. In dem Fall, daß der Prozessor des Zielsystems 14 nicht erfordert, daß die oberen Adreßleitungen neuerzeugt werden, gibt die programmierbare Logik 30 das gleiche Daten­ eingangssignal von der Adreßleitung 42 auf den Adreßleitun­ gen 51 aus. Die Adreßleitungen 51 können von jedem beliebi­ gen Verbindungstyp mit 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 oder jede beliebigen anderen Anzahl von Datenleitungen sein. Diese Adreßleitungen 51 können von jedem beliebigen Verbin­ dungstyp, beispielsweise serielle, parallele, optische oder ähnliche Verbindungen, sein, sind aber nicht auf dieselben begrenzt.
Die programmierbare Logik 30 enthält eine Logik, um den Adreßneuaufbau der vorliegenden Erfindung zu liefern. Die programmierbare Logik 30 kann entweder ein feldprogram­ mierbares Gate-Array (FPGA), eine komplexe programmierbare Logikvorrichtung (CPLD), ein EEPROM, ein RAM oder ein der­ artiger schneller Speicher, sein. Die programmierbare Logik ist vorgesehen, um den Adreßneuaufbau der vorliegenden Er­ findung durchzuführen. Bei dem Beispiel des Neuaufbaus der oberen Adressen verwendet die programmierbare Logik 30 die Chipauswahl- und die Adreß-Leitungen, um die oberen Adreß­ leitungsbits neu zu erzeugen, um von dem Logikanalysator 11 berücksichtigt zu werden.
Die programmierbare Logik 30 enthält eine Vorgabekonfigura­ tion, bei der alle Datenleitungen 41-45 (Fig. 3) freigege­ ben sind. In dieser Konfiguration kann der Logikanalysator 11 anzeigen, was immer auf den Datenleitungen 41-45 (Fig. 3) abgetastet wird. Bei dem Beispiel des Neuaufbaus von obe­ ren Adressen lädt ein Benutzer eine neue Konfiguration he­ runter, die die oberen Adreßleitungen für andere Signale als für obere Adressen verwendet, wobei die Neukonfigurierungs­ daten in der programmierbaren Logik 30 enthalten sind, und durch dieselben verarbeitet werden.
In Fig. 4 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung des Adreßneuaufbauverfahrens der vorliegenden Erfindung dargestellt. Zuerst wird das Logik­ analysesystem 10 bei Schritt 61 initialisiert. Das Logik­ analysesystem 10 führt die Installierung der Analysesonde 13 bei Schritt 62 durch. Die Installierung der Analysesonde 13 wird hierin detaillierter bezugnehmend auf Fig. 5 definiert. Das Logikanalysesystem 10 überprüft bei Schritt 63, ob ein Datenneuaufbau erforderlich ist. Falls kein Datenneuaufbau erforderlich ist, fährt das Logikanalysesystem 10 mit Schritt 69 fort und führt den normalen Analysebetrieb unter Verwendung der Analysesonde 13 aus.
Falls ein Datenneuaufbau erforderlich ist, fordert das Emu­ lationsmodul 12 bei Schritt 64 die Verbindung des Emula­ tionsmoduls 12 mit der Analysesonde 13 an. Das Logikana­ lysesystem 10 führt bei Schritt 65 den Prozeß 90 des Ein­ stellens der Emulationsmodulkonfigurationsregister aus. Der Prozeß 90 des Einstellens der Emulationsmodulkonfigurations­ register wird hierin detaillierter bezugnehmend auf Fig. 7 definiert. Das Logikanalysesystem 10 führt bei Schritt 66 als nächstes den Prozeß 110 des Ladens der Datenabbildung in die Analysesonde durch. Der Prozeß 110 des Ladens der Daten­ abbildung in die Analysesonde wird hierin detaillierter be­ zugnehmend auf Fig. 9 definiert. Das Logikanalysesystem 10 fährt mit Schritt 69 fort und führt den Analysebetrieb aus, wobei das Datenneuaufbaumerkmal die Analysesonde 13 verwen­ det.
In Fig. 5 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung eines Sondeninstallierungsprozesses 70 zum Installieren der Analysesondenparameter (Schritt 62 von Fig. 4) dargestellt. Zuerst fordert der Analysesonden­ prozeß 70 bei Schritt 71 eine Verbindung der Analysesonde 13 mit dem Zielsystem 14 an. Das Logikanalysesystem 10 fordert daraufhin bei Schritt 72 eine Verbindung der Analysesonde 13 mit dem Logikanalysator 11 an. Sobald die Analysesonde 13 mit dem Zielsystem 14 und dem Logikanalysator 11 verbunden ist, fordert das Analysesystem 10 bei Schritt 73 das Laden der Analysesonde-Analysatorsoftware an. Die Analysesonde 13 bestimmt daraufhin bei Schritt 92 den Prozessortyp des Ziel­ systems 14. Der Prozeß der Bestimmung des Prozessortyps des Zielsystems 80 wird hierin detaillierter bezugnehmend auf Fig. 6 definiert. Der Verbindungsprozeß der Analysesonde 13 wird dann bei Schritt 79 verlassen.
In Fig. 6 ist ein Flußdiagramm einer möglichen Implementie­ rung eines Bestimmungsprozesses, der durch das Bezugszeichen 80 angezeigt ist, zum Bestimmen des Zielsystemprozessortyps dargestellt. Der Prozeß 80 zur Bestimmung des Zielsystempro­ zessortyps wird bei Schritt 81 zuerst initialisiert.
Als nächstes bestimmt das Emulationsmodul 12, ob die Ein­ stellungen der Analysesonde 13 verwendet werden sollen, um zu bestimmen, welchen Prozessortyp das Zielsystem 14 auf­ weist, wobei dieser Schritt bei Schritt 82 durchgeführt wird. Falls die Einstellungen der Analysesonde 13 nicht verwendet werden sollen, fordert das Emulationsmodul 12 den Benutzer bei Schritt 87 dazu auf, den Prozessortyp des Zielsystems 14 in dem Speicher des Emulationsmoduls 12 ma­ nuell einzustellen. Die Einstellung des Prozessortyps des Zielsystems 14 durch das Emulationsmodul 12 wird unter Ver­ wendung einer Eingabe von einer Eingabe/Ausgabe-Vorrichtung, wie z. B. einer Tastatur, einem Berührbildschirm, einer Maus, einem Netzwerk oder einer derartigen Verbindung mit dem Emu­ lationsmodul 12, bestimmt.
Falls die Einstellungen der Analysesonde 13 verwendet werden sollen, um den Prozessortyp des Zielsystems 14 zu bestimmen, weist das Emulationsmodul 12 die Analysesonde 13 bei Schritt 83 an, die Zielprozessorverbinderproduktidentifikation der Analysesonde 13 auszulesen. Das Emulationsmodul 12 weist die Analysesonde 13 bei Schritt 84 ferner an, die ausgelesene Zielprozessorverbinderproduktidentifikation der Analysesonde 13 zu dem Emulationsmodul 12 zu senden. Das Emulationsmodul 12 korreliert daraufhin bei Schritt 85 die Zielprozessorver­ binderproduktidentifikation der Analysesonde 13 mit dem Pro­ zessortyp des Zielsystems 14 unter Verwendung einer Prozes­ sortypidentifikationstabelle 21.
Das Emulationsmodul 12 validiert daraufhin bei Schritt 86 die Zielprozessorverbinderproduktidentifikation der Analyse­ sonde 13. Das Emulationsmodul 12 bestimmt, ob die Zielpro­ zessorverbinderproduktidentifikation der Analysesonde 13 in der Prozessortypidentifikationstabelle 21 auffindbar ist. Falls die Zielprozessorverbinderproduktidentifikation der Analysesonde 13 aufgefunden wird, behält das Emulationsmodul 12 die Prozessortypidentifikation des Zielsystems 14 bei. Falls die Produktidentifikation der Analysesonde 13 bei Schritt 86 nicht aufgefunden wird, erzeugt das Emulationsmo­ dul 12 einen Prozessortypidentifikation-nicht-gefundenen- Fehler und kehrt zu der Vorgabeprozessortypidentifikation zurück. Nach dem Validierungsschritt endet der Bestimmungs­ prozeß 80, und derselbe kehrt zu dem Schritt 74 von Fig. 5 zurück.
In Fig. 7 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung des Prozesses 90 zum Einstellen der Konfigurationsregister für das Emulationsmodul 12 darge­ stellt. Zuerst wird der Prozeß 90 zum Einstellen der Kon­ figurationsregister für das Emulationsmodul 12 bei Schritt 91 initialisiert. Der Prozeß 90 zum Einstellen der Konfi­ gurationsregister für das Emulationsmodul 12 bestimmt als nächstes, ob der Prozeß 90 des Herunterladens der Konfi­ gurationsregister automatisch läuft, d. h. daß die Daten von den Konfigurationsregistern 24 des Zielsystems 14 herunter­ geladen werden sollen. Falls der Herunterladungsprozeß auto­ matisch ist, sendet das Emulationsmodul 12 eine Anforderung an das Zielsystem 14, die Konfigurationsregister 24 des Zielsystems 14 zu den Konfigurationsregistern 22 des Emula­ tionsmoduls 12 herunterzuladen, d. h. zu kopieren. Dieses Herunterladen der Konfigurationsregister 24 des Zielsystems 14 zu den Konfigurationsregistern 22 des Emulationsmoduls 12 wird hierin detaillierter bezugnehmend auf Fig. 8 definiert.
Falls der Prozeß 90 des Einstellens der Konfigurationsre­ gister nicht automatisch läuft, fordert das Emulationsmodul 12 den Benutzer auf, die Konfigurationsregister 22 des Emu­ lationsmoduls 12 bei Schritt 94 manuell einzustellen. Die Konfigurationsregister 22 des Emulationsmoduls 12 werden durch Kommunizieren einer Eingabe von einer Eingabe/Ausgabe- (I/O-) Vorrichtung, wie z. B. einer Tastatur, einem Berühr­ bildschirm, einer Maus, einem Netzwerk oder dergleichen, zu dem Emulationsmodul 12 eingestellt.
Nachdem der Konfigurationsregisterherunterladungsprozeß 90 abgeschlossen ist, endet der Prozeß zum Einstellen der Kon­ figurationsregister 90 für das Emulationsmodul 12 bei Schritt 99 und kehrt zu Schritt 65 von Fig. 4 zurück.
In Fig. 8 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung des Prozesses 100 des Herunterladens von Konfigurationsregistern des Zielprozessors dargestellt. Zuerst wird der Prozeß 100 zum Herunterladen von Konfigura­ tionsregistern des Zielprozessors bei Schritt 101 initiali­ siert. Das Emulationsmodul 12 gibt als nächstes die Ziel­ prozessorregistertabelle 23 des Emulationsmoduls 12 bei Schritt 102 frei.
Das Emulationsmodul 12 überträgt bei Schritt 103 als näch­ stes Befehle zu dem Prozessor des Zielsystems 14 über Ver­ bindungen der Analysesonde 13, um die Konfigurationsregister 24 des Zielsystems 14 herunterzuladen. Dies wird durchge­ führt, indem das Emulationsmodul 12 die Steuerungsbefehlan­ forderungen über die Datenleitung 48 zu der programmierbaren Logik 32 überträgt. Die programmierbare Logik 32 wirkt bei Schritt 103 als Schnittstelle zwischen dem Emulationsmodul 12 und dem Zielsystem 14. Die programmierbare Logik 32 neu­ überträgt bei Schritt 103 die Steuerungsbefehlanforderungen über die Leitungssteuerungsleitung 46 zu den Konfigurations­ registern 24 des Zielsystems 14.
Das Emulationsmodul 12 befragt das Zielsystem 14 bei Schritt 104, um zu bestimmen, ob in dem Zielsystem 14 Konfigura­ tionsregister 24 zum Herunterladen verfügbar sind. Falls die Konfigurationsregister 24 des Zielsystems 14 nicht verfügbar sind, erzeugt das Emulationsmodul 12 einen Nicht-Gefunden- Fehler, der anzeigt, daß keine Prozessorkonfigurationsre­ gisterdaten für das Zielsystem 14 gefunden wurden. Diese Fehlernachricht wird bei Schritt 106 auf einer beliebigen Anzeigevorrichtung angezeigt werden, die mit dem Emulations­ modul 12 verbunden ist.
Falls bei Schritt 104 die Konfigurationsdatenregister 24 für das Zielsystem 14 zum Herunterladen verfügbar sind, über­ trägt das Zielsystem 14 die Daten des Konfigurationsre­ gisters 24 des Zielsystems 14 bei Schritt 105 zu den Konfi­ gurationsregistern 22 des Emulationsmoduls 12. Dies wird durchgeführt, indem die programmierbare Logik 32 die Konfi­ gurationsregister 24 des Zielsystems 14 in die programmier­ bare Logik der Analysesonde 13 liest. Die Werte der Konfigu­ rationsregister 24 des Zielsystems 14 werden als nächstes über die Datenleitungen 48 zu den Konfigurationsregistern 22 des Emulationsmoduls 12 gesendet. Der Zielprozessorkonfi­ gurationherunterladungsprozeß endet daraufhin bei Schritt 109.
In Fig. 9 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung des Prozesses 110 zur Erzeugung einer Datenabbildung für den Datenneuaufbau dargestellt, um den Datenneuaufbau zu ermöglichen. Zuerst wird der Datenabbil­ dungserzeugungsprozeß 110 bei Schritt 111 initialisiert.
Das Emulationsmodul 12 bestimmt bei Schritt 112, ob die Konfigurationsregister 22 des Emulationsmoduls 12 gültig sind. Falls die Konfigurationsregister 22 des Emulations­ moduls 12 nicht gültig sind, erzeugt das Emulationsmodul 12 einen Nicht-Gefunden-Fehler, der anzeigt, daß keine Daten des Konfigurationsregisters 22 des Emulationsmoduls 12 ge­ funden wurden. Diese Fehlernachricht wird bei Schritt 117 auf einer beliebigen Anzeigevorrichtung angezeigt werden, die mit dem Emulationsmodul 12 verbunden ist.
Falls die Konfigurationsregister 22 des Emulationsmoduls 12 gültig sind, korreliert das Emulationsmodul 12 die Werte der Konfigurationsregister 24 des Zielsystems 14 in den Konfi­ gurationsregistern 22 des Emulationsmoduls 12 bei Schritt 113 unter Verwendung einer Zielprozessorregistertabelle 23 des Emulationsmoduls 12 mit einem Teilsatz der Datenneuauf­ baukonfigurationsregister. Das Emulationsmodul 12 lädt bei Schritt 113 basierend auf dem Prozessortyp des Zielsystems 14 den geeigneten Teilsatz der Register des Emulationsmoduls 12 in die Analysesonde 13. Dieses Laden eines Teilsatzes von Konfigurationsregistern basierend auf dem Prozessortyp des Zielsystems 14 wird hierin detaillierter bezugnehmend auf Fig. 10 definiert werden.
Sobald der Teilsatz von Registern des Emulationsmoduls 12 in die Analysesonde 13 geladen ist, erzeugt die Analysesonde 13 bei Schritt 114 eine Datenneuaufbaudatenabbildung. Dies ist abgeschlossen, wenn das Emulationsmodul 12 dem Mikroprozes­ sor 33 der Analysesonde 13 signalisiert, daß ein neuer Kon­ figurationsregisterteilsatz des Prozessors des Zielsystems 14 heruntergeladen worden ist. Das Emulationsmodul 12 leitet daraufhin die Ausführung des Algorithmus des Mikroprozessors 33 ein, um die Datenabbildung zu erzeugen.
Sobald die Konfigurationsregisterteilsatzdaten durch den Al­ gorithmus auf dem Mikroprozessor 33 verarbeitet worden sind, wird die erzeugte Bit-Abbildung bei Schritt 115 in die pro­ grammierbare Logik 30 geladen. Dies versetzt die Analyse­ sonde 13 in die Lage, während der Analyse der Daten von dem Zielsystem 14 Datenneuaufbauoperationen zu liefern. Bei ei­ nem Ausführungsbeispiel teilen die Konfigurationsregister­ teilsatzdaten dem Mikroprozessor 33 der Analysesonde 13 mit, ob die oberen Adreßleitungen 53 als Adreßleitungen verwendet werden sollen, oder ob dieselben für etwas anderes verwendet werden sollen. Die Konfigurationsregisterteilsatzdaten tei­ len dem Mikroprozessor 33 der Analysesonde 13 ferner mit, ob die Chipauswahlleitungen 45 verwendet werden sollen, welche verwendet werden und wann die Chipauswahlleitungen 45 ver­ wendet werden. Die Konfigurationsregister teilen ferner mit, welche die wirksamen Bits sind, die erforderlich sind, um die Daten neu zu erzeugen, und welcher Bereich von Adressen durch diese Chipauswahlsignale erzeugt wird. Durch das ver­ wenden der Konfigurationsregister ist die programmierbare Logik 30 in der Lage, aus den Chipauswahlsignalen die obere Adreßleitungen 53 neu zu erzeugen. Es wird ferner darauf hingewiesen, daß die Konfigurationsregister einen Benutzer in die Lage versetzen können, jegliche Daten auf dem Chip neu aufzubauen und dieselben für eine Analyse auszulesen.
Der Prozeß 110 zur Erzeugung einer Datenabbildung für einen Datenneuaufbau wird daraufhin bei Schritt 119 beendet und kehrt zu Schritt 68 in Fig. 4 zurück.
In Fig. 10 ist ein Flußdiagramm eines Beispiels einer mög­ lichen Implementierung des Konfigurationsteilsatzherunter­ ladungsprozesses 120 für die Analysesonde 13 dargestellt. Der Konfigurationsteilsatzherunterladungsprozeß 120 für die Analysesonde 13 ist vorgesehen, um in die Speicherspeiche­ rungsvorrichtung 31 der Analysesonde 13 den Teilsatz von Konfigurationsregistern zu laden. Zuerst wird der Konfigu­ rationsteilsatzherunterladungsprozeß 120 für die Analyse­ sonde 13 bei Schritt 121 initialisiert. Daraufhin greift die Zielprozessorregistertabelle 23 des Emulationsmoduls 12 bei Schritt 122 auf die Speicherspeicherungsvorrichtung 31 der Analysesonde 13 zu. Das Emulationsmodul 12 lädt bei Schritt 123 den Konfigurationsregisterteilsatz für den Zielprozes­ sortyp zu der Speicherspeicherungsvorrichtung 31 der Ana­ lysesonde 13 herunter. Der korrekte Konfigurationsregister­ teilsatz wird bei Schritt 113 bestimmt. Der Konfigurations­ teilsatzherunterladungsprozeß für die Analysesonde 13 wird daraufhin bei Schritt 129 beendet.
Der Neuaufbau von Daten für das Analysesondeprogramm umfaßt ein geordnetes Auflisten von ausführbaren Befehlen zum Imp­ lementieren von Logikfunktionen und kann in einem beliebigen computerlesbaren Medium für eine Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, einer Be­ fehlsausführungsvorrichtung oder einem Befehlsausführungsge­ rät, wie z. B. einem computerbasierten System, einem prozes­ sorenthaltenden System oder einem anderen System, das die Befehle von dem Befehlsausführungssystem, der Befehlsaus­ führungsvorrichtung oder dem Befehlsausführungsgerät holen und die Befehle ausführen kann, aufgeführt sein. In dem Zusammenhang dieses Dokuments kann ein "computerlesbares Medium" jegliche Einrichtung sein, die das Programm für eine Verwendung durch oder in Verbindung mit dem Befehlsausfüh­ rungssystem, der Befehlsausführungsvorrichtung oder dem Be­ fehlsausführungsgerät enthalten, speichern, kommunizieren, ausbreiten oder übertragen kann.
Das computerlesbare Medium kann beispielsweise ein elektro­ nisches System, ein magnetisches System, ein optisches System, ein elektromagnetisches System, ein Infrarotsystem oder ein Halbleiter-System, -vorrichtung, -gerät oder ein Ausbreitungsmedium sein, ist aber nicht auf dieselben be­ grenzt. Spezifischere Beispiele (eine nicht vollständige Liste) des computerlesbaren Mediums würden die folgenden Merkmale umfassen: eine elektrische Verbindung (Elektronik) mit einem oder mehreren Drähten, eine tragbare Computerdis­ kette (magnetisch), einen Direktzugriffspeicher (RAM) (ma­ gnetisch), ein Nurlesespeicher (ROM) (magnetisch), einen löschbaren programmierbaren Nurlesespeicher (EPROM oder Flash-Speicher) (magnetisch), eine optische Faser (optisch) und einen tragbaren CD-Nurlesespeicher (CD-ROM) (optisch).
Es wird darauf hingewiesen, daß das computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein könnte, auf dem das Programm gedruckt ist, da das Programm bei­ spielsweise über ein optisches Abtasten des Papieres oder des anderen Mediums elektronisch erfaßt werden kann, darauf­ hin falls notwendig auf eine geeignete Weise kompiliert, in­ terpretiert oder auf eine andere Weise verarbeitet und da­ raufhin in einem Computerspeicher gespeichert werden kann.
Die vorhergehende Beschreibung wurde aus Veranschaulichungs- und Beschreibungs-Zwecken präsentiert. Es ist nicht beab­ sichtigt, die Erfindung auf die offenbarten präzisen Formen einzuschränken oder zu begrenzen. Offensichtliche Modifika­ tionen oder Variationen sind im Licht der vorhergehenden Lehren möglich.

Claims (16)

1. Verfahren zum Neuaufbauen von internen Datensignalen an einem Computersystem (14) für eine Analyse durch einen Logikanalysator (11), wobei das Computersystem (14) mit einer Signalsonde (13) verbunden ist, und wobei die Sig­ nalsonde (13) mit dem Logikanalysator (11) verbunden ist, wobei das Verfahren folgende Schritte aufweist:
Laden (110) von Signalneuaufbaudaten von einer Emula­ tionslogik (12) zu der Signalsonde (13);
Empfangen (69) einer Mehrzahl von Datensignalen (41-45) von dem Computersystem (14) mit der Signalsonde (13);
Herleiten (69) eines Computersystem-internen Signals aus zumindest einem der Mehrzahl von Datensignalen (41-45) und den Signalneuaufbaudaten;
Übertragen (69) des hergeleiteten internen Signals (51) zu dem Logikanalysator (11) für eine Analyse.
2. Verfahren gemäß Anspruch 1, bei dem der Schritt des La­ dens (110) von Signalneuaufbaudaten ferner folgenden Schritt aufweist:
Laden (96) von Computersystemregisterdaten.
3. Verfahren gemäß einem der Ansprüche 1 oder 2, bei dem der Schritt des Ladens (110) von Signalneuaufbaudaten ferner folgenden Schritt aufweist:
Erzeugen (114) einer Datenabbildung aus den Signalneu­ aufbaudaten, um die Übersetzung von zumindest einem der Mehrzahl von Datensignalen (41-45) zu ermöglichen.
4. Verfahren gemäß Anspruch 3, bei dem der Schritt des Er­ zeugens (114) einer Datenabbildung ferner folgenden Schritt aufweist:
Laden (115) der Datenabbildung in eine Signalneuaufbau­ logik (30), wobei die Signalneuaufbaulogik (30) mit der Mehrzahl von Datensignalen (41-45) verbunden ist.
5. Verfahren gemäß einem der vorhergehenden Ansprüche, das ferner folgende Schritte aufweist:
Erfassen (80) von Computersystemprozessortypdaten;
Bestimmen (113) der Signalneuaufbaudaten aus den Com­ putersystemprozessortypdaten;
Berechnen (114) einer Datenabbildung aus den Signalneu­ aufbaudaten, wobei die Datenabbildung vorgesehen ist, um aus dem zumindest einen der Mehrzahl von Datensignalen (41-45) das Computersystem-interne Signal zu erzeugen.
6. Neuaufbauvorrichtung zum Erzeugen von internen Datensig­ nalen für ein Computersystem (14) für eine Analyse durch einen Logikanalysator (11), wobei die Neuaufbauvorrich­ tung folgende Merkmale aufweist:
eine erste programmierbare Logik (32) zum Bereitstellen einer Schnittstelle zwischen einem Emulationsmodul (12) und dem Zielsystem (14);
einen Speicher (31) zum Empfangen von Signalneuaufbauda­ ten von dem Emulationsmodul (12);
einen Prozessor (33) zum Erzeugen einer Datenabbildung aus den Signalneuaufbaudaten; und
eine zweite programmierbare Logik (30) zum Erzeugen ei­ nes internen Signals des Zielsystems (14) aus zumindest einem einer Mehrzahl von Datensignalen (41-45) und den Signalneuaufbaudaten.
7. Vorrichtung gemäß Anspruch 6, bei der die zweite pro­ grammierbare Logik (30) ferner folgende Merkmale auf­ weist:
eine Empfangsschnittstelle, um die Mehrzahl von Ziel­ systemdatensignalen (41-45) zu empfangen; und
eine Übertragungsschnittstelle, um die internen Ziel­ systemsignale zu einem Logikanalysator (11) zu übertra­ gen.
8. Vorrichtung gemäß Anspruch 6 oder 7, bei dem die Signal­ neuaufbaudaten ferner folgendes Merkmal aufweisen:
einen Teilsatz von Zielsystemdaten, der mit einem vorbe­ stimmten, zu erzeugenden internen Zielsystemsignal kor­ reliert ist.
9. Vorrichtung gemäß einem der Ansprüche 6 bis 8, bei der die erste programmierbare Logik (32) ferner einen Pro­ zessortyp des Zielsystems (14) bestimmt.
10. Vorrichtung gemäß einem der Ansprüche 6 bis 9, bei dem die erste programmierbare. Logik (32) ferner Steuerungs­ daten (46) zu dem Zielsystem (14) überträgt.
11. Datenneuaufbauvorrichtung zum Erzeugen von internen Da­ tensignalen für ein Computersystem (14) für eine Analyse durch einen Logikanalysator (11), wobei die Neuaufbau­ vorrichtung folgende Merkmale aufweist:
eine Einrichtung (31) zum Empfangen von Signalneuaufbau­ daten von einer Emulationslogik (12);
eine Einrichtung (30) zum Empfangen einer Mehrzahl von Datensignalen von dem Computersystem (14);
eine Einrichtung zum Herleiten eines internen Computer­ systemsignals aus zumindest einem der Mehrzahl von Da­ tensignalen (41-45); und
eine Einrichtung (51) zum Übertragen des hergeleiteten internen Signals zu dem Logikanalysator (11) für eine Analyse.
12. Vorrichtung gemäß Anspruch 11, die ferner folgendes Merkmal aufweist:
eine Einrichtung (32) zum Bestimmen eines Prozessortyps des Zielsystems (14).
13. Vorrichtung gemäß Anspruch 11 oder 12, die ferner fol­ gendes Merkmal aufweist:
eine Einrichtung zum Übertragen von Steuerungsdaten zu dem Zielsystem.
14. Vorrichtung gemäß einem der Ansprüche 11 bis 13, die ferner folgendes Merkmal aufweist:
eine Einrichtung zum Empfangen von Steuerungsdaten von der Emulationslogik (12).
15. Vorrichtung gemäß einem der Ansprüche 11 bis 14, bei der die Einrichtung (32) zum Bestimmen des Prozessortyps ferner folgendes Merkmal aufweist:
eine Einrichtung zum Bestimmen einer Sondenproduktiden­ tifikation von der Datensignalempfangseinrichtung (30).
16. Computerlesbares Medium zum Neuaufbau von internen Da­ tensignalen für ein Computersystem für eine Analyse durch einen Logikanalysator, das eine Mehrzahl von Co­ deblöcken aufweist, wobei das computerlesbare Medium folgende Merkmale aufweist:
ein computerlesbares Aufzeichnungsmedium;
eine Einrichtung, die auf dem Medium aufgezeichnet ist, zum Steuern der Ausführung der Mehrzahl von Codeblöcken; und
eine Einrichtung, die auf dem Medium aufgezeichnet ist, zum Erzeugen der internen Datensignale, wobei die Erzeu­ gungseinrichtung umprogrammierbar ist.
DE10004198A 1999-02-18 2000-02-01 System und Verfahren für eine intelligente Analysesonde Expired - Fee Related DE10004198C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/252,393 US6442725B1 (en) 1999-02-18 1999-02-18 System and method for intelligent analysis probe

Publications (2)

Publication Number Publication Date
DE10004198A1 true DE10004198A1 (de) 2000-08-31
DE10004198C2 DE10004198C2 (de) 2002-06-20

Family

ID=22955828

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10004198A Expired - Fee Related DE10004198C2 (de) 1999-02-18 2000-02-01 System und Verfahren für eine intelligente Analysesonde

Country Status (3)

Country Link
US (1) US6442725B1 (de)
JP (1) JP2000241460A (de)
DE (1) DE10004198C2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775793B2 (en) * 1999-12-21 2004-08-10 Texas Instruments Incorporated Data exchange system and method for processors
EP1128602B1 (de) * 2000-02-23 2006-10-04 Tektronix Berlin GmbH & Co. KG Vorrichtung zum Aufbau eines Protokoll-Stacks und zugehöriges Verfahren
US6804077B1 (en) * 2000-07-25 2004-10-12 Certance Llc Method and apparatus for reinitializing a tape drive after a power loss
US6823224B2 (en) * 2001-02-21 2004-11-23 Freescale Semiconductor, Inc. Data processing system having an on-chip background debug system and method therefor
US6760898B1 (en) * 2002-02-22 2004-07-06 Xilinx, Inc. Method and system for inserting probe points in FPGA-based system-on-chip (SoC)
US7321359B2 (en) * 2003-07-30 2008-01-22 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Method and device for optical navigation
US7116427B2 (en) 2003-10-30 2006-10-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Low power consumption, broad navigability optical mouse
US20040227954A1 (en) * 2003-05-16 2004-11-18 Tong Xie Interferometer based navigation device
US6934037B2 (en) * 2003-10-06 2005-08-23 Agilent Technologies, Inc. System and method for optical navigation using a projected fringe technique
US7383547B1 (en) * 2004-12-03 2008-06-03 Lecroy Corporation Apparatus and technique for device emulation
US7399954B2 (en) * 2005-08-16 2008-07-15 Avago Technologies Ecbu Ip Pte Ltd System and method for an optical navigation device configured to generate navigation information through an optically transparent layer and to have skating functionality
US20080231600A1 (en) 2007-03-23 2008-09-25 Smith George E Near-Normal Incidence Optical Mouse Illumination System with Prism
US7933166B2 (en) * 2007-04-09 2011-04-26 Schlumberger Technology Corporation Autonomous depth control for wellbore equipment
US10496461B2 (en) * 2011-06-15 2019-12-03 Arm Finance Overseas Limited Apparatus and method for hardware initiation of emulated instructions
US10305755B2 (en) * 2016-06-09 2019-05-28 Zeroplus Technology Co., Ltd. Reliability and performance analysis system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3754098A (en) * 1971-10-08 1973-08-21 Adaptive Tech Asynchronous sampling and reconstruction for asynchronous sample data communication system
US5375228A (en) * 1991-02-04 1994-12-20 Analog Devices, Inc. Real-time signal analysis apparatus and method for digital signal processor emulation
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5896552A (en) * 1995-06-07 1999-04-20 National Instruments Corporation Bus analyzer for capturing bus signals at a predetermined rate and upon assertion of a data valid signal
US5754827A (en) * 1995-10-13 1998-05-19 Mentor Graphics Corporation Method and apparatus for performing fully visible tracing of an emulation
US6052748A (en) * 1997-03-18 2000-04-18 Edwin A. Suominen Analog reconstruction of asynchronously sampled signals from a digital signal processor
US6141636A (en) * 1997-03-31 2000-10-31 Quickturn Design Systems, Inc. Logic analysis subsystem in a time-sliced emulator
US6119254A (en) * 1997-12-23 2000-09-12 Stmicroelectronics, N.V. Hardware tracing/logging for highly integrated embedded controller device
US6061511A (en) * 1998-06-12 2000-05-09 Ikos Systems, Inc. Reconstruction engine for a hardware circuit emulator

Also Published As

Publication number Publication date
JP2000241460A (ja) 2000-09-08
US6442725B1 (en) 2002-08-27
DE10004198C2 (de) 2002-06-20

Similar Documents

Publication Publication Date Title
DE10004198C2 (de) System und Verfahren für eine intelligente Analysesonde
DE112020000469T5 (de) Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet
DE60113780T2 (de) Verfahren und Vorrichtung zum Verfolgen von Hardwarezustanden mit dynamischen rekonfigurierbaren Testschaltungen
DE3903835C2 (de)
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE602004011320T2 (de) Verfahren und struktur zur entwicklung eines testprogramms für integrierte halbleiterschaltungen
DE10196310B4 (de) Vorrichtung und Verfahren zum Verifizieren eines Chip-Designs und zum Testen eines Chips
DE4418892C2 (de) Mikrocomputer
DE60009185T2 (de) "Universal serial bus" Interpreter
DE60108851T2 (de) Mehrkanal, mehrdienstfehlerbeseitigung in pipeline-cpu-architektur
DE602004007498T2 (de) Testemulationseinrichtung
DE3901579C2 (de)
DE602005003225T2 (de) Verfahren und system zum simulieren eines modularen testsystems
DE4313594C2 (de) Mikroprozessor
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE112012005320T5 (de) Multicore-Prozessor mit intern integriertem entscheidungsbasierten Selbsttest
DE112011101469T5 (de) Kompilieren von Software für ein hierarchisches verteiltes Verarbeitungssystem
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE112013000904T5 (de) Durchführen von Aktualisierungen von Quellcode, der auf einer Vielzahl von Rechenknoten ausgeführt wird
DE10238563A1 (de) System und Verfahren zum Testen von Schaltungen und Programmieren integrierter Schaltungsvorrichtungen
DE19604251C2 (de) Emulationsvorrichtung für Microcomputer, Verfahren zur Erfassung einer Vielzahl von Statusdaten und Fehlerbeseitigungssystem
DE69634227T2 (de) Emulationssystem mit emulierten Mehrtaktzyklen pro Emulation-Taktzyklus und Signalweglenkung
DE60118089T2 (de) Abtastschnittstelle mit Zeitmultiplexmerkmal zur Signalüberlagerung
CN103324568A (zh) 用于测试程序的方法和装置
CN111262753B (zh) 一种numa节点个数自动配置方法方法、系统、终端及存储介质

Legal Events

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