DE69415600T2 - Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren - Google Patents
Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-ScanverfahrenInfo
- Publication number
- DE69415600T2 DE69415600T2 DE69415600T DE69415600T DE69415600T2 DE 69415600 T2 DE69415600 T2 DE 69415600T2 DE 69415600 T DE69415600 T DE 69415600T DE 69415600 T DE69415600 T DE 69415600T DE 69415600 T2 DE69415600 T2 DE 69415600T2
- Authority
- DE
- Germany
- Prior art keywords
- dma
- jtag
- microprocessor
- external
- event
- 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 - Lifetime
Links
- 238000013024 troubleshooting Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 title description 4
- 230000015654 memory Effects 0.000 claims abstract description 32
- 238000012360 testing method Methods 0.000 claims description 28
- 239000000872 buffer Substances 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 6
- 239000000523 sample Substances 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 230000011664 signaling Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003915 cell function Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 240000007643 Phytolacca americana Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- AGGKEGLBGGJEBZ-UHFFFAOYSA-N tetramethylenedisulfotetramine Chemical compound C1N(S2(=O)=O)CN3S(=O)(=O)N1CN2C3 AGGKEGLBGGJEBZ-UHFFFAOYSA-N 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
- G06F11/3656—Debugging of software using additional hardware using a specific debug interface
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318572—Input/Output interfaces
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
- Die Erfindung betrifft einen Mikroprozessor mit einem Prozessorelement, einem Speicher-Interface-Element, einem EA-Interface-Element, einem Fehlerbeseitigungsunterstützungselement und einem alle obengenannten Elemente miteinander verbindenden internen Bus. Derartige Mikroprozessoren werden allgemein zum Ausführen von Computerprogrammen in einer Umgebung des Rechnens, Steuerus, bei Signalverarbeitung u. a. verwendet. Ein Programm muß in einer Fehlerbeseitigungsoperation auf Fehler oder anderweitige Fehlfunktionen überprüft werden. Dies geschieht häufig; indem hintereinander alle über den Mikroprozessorbus übertragenen Adressen aufgezeichnet werden. Dieses Aufzeichnen kann entweder durch direktes Überwachen des internen Busses erfolgen oder durch vorübergehendes Auflisten derartiger Adressen zum anschließenden Ausgeben und Überprüfen. Häufig erfordern solche Prozeduren entweder viel Zeit bei einer schrittweisen Operation oder sie erfordern alternativ ausgedehnte externe Zugänglichkeit über eine große Zahl zusätzlicher Mikroprozessoranschlußstifte. Beide Arten des Vorgehens sind kostspielig. Außerdem ist es angesichts der enormen Menge erzeugter Daten organisatorisch schwierig, die Überwachung in Echtzeit auszuführen.
- Daher liegt der vorliegenden Erfindung unter anderem die Aufgabe zugrunde, die oben genannten teuren Anforderungen zu vermindern und die Funktionalität durch Verwendung der sogenannten Boundary-Scan-Standard-Möglichkeiten, die derzeit bei einem großen Anteil komplexer integrierter Schaltungen eingeführt werden, zu verbessern. Die Erfindung ist gemäß einem ihrer Aspekte jetzt gekennzeichnet durch das Umfassen, befestigt an dem genannten internen Bus, eines registrierten JTAG-Interface-Elementes vom Boundary-Scan-Standard, das auf eine oder mehrere Scan-Ketten innerhalb des genannten Mikroprozessors zugreift, und weiterhin dadurch, daß das genannte JTAG-Interface-Element zum Steuern von DMA-Austausch mit anderen mit dem genannten internen Bus verbundenen Elementen über den genannten internen Bus ausgebildet ist. Der Boundary-Scan-Standard oder JTAG-Standard ist ausführlich in IEEE Standard 1149.1, und insbesondere in der britischen Patentanmeldung 2.195.185 und der entsprechenden US-Anmeldung mit der Nummer 07/90489 auf Namen der vorliegenden Anmelderin beschrieben worden. Ursprünglich war der Standard dazu gedacht, Testen auf Printplattenebene zu erleichtern, aber er bietet gleichermaßen viele Vorteile auf der Ebene einer einzelnen integrierten Schaltung und wird der Kürze halber daher im weiteren als JTAG-Standard bezeichnet werden. Gemäß dem Standard hat das minimale Testinterface einen einzigen seriellen Dateneingabeanschlußstift, einen einzigen seriellen Datenausgabeanschlußstift, einen Testtaktanschlußstift und einen Teststeuerungsanschlußstift. Ein zusätzlicher Rücksetzanschlußstift ist wahlfrei. Gemäß dem Standard wird bei externer Synchronisation zuerst ein Steuermuster in eine Schaltung geladen, das ebenso zum Adressieren der betreffenden Schaltung verwendet werden kann und so Testinitialisierung verschafft. Gemäß dem Standard wird als nächstes das Testmuster in ein Eingaberegister geladen. Nach einem kurzen Intervall normalen Betriebs der Schaltung wird das Testergebnis von einem Ausgaberegister ausgegeben, was mit der Eingabe des nächsten Testmusters überlagert werden kann. Verschiedene zusätzliche Merkmale sind vorgeschlagen worden. Ein besonderes Merkmal des Standards ist die Ein-Bit-Bypassverbindung zwischen serieller Eingabe und serieller Ausgabe. Zum Ausführen der Fehlerbeseitigung werden ein oder mehrere Datenregister zwischen dem Bus auf dem Chip und dem seriellen JTAG-Test-Interface miteinander verbunden. Auf diese Weise müssen nur die vier oder fünf dem JTAG-Interface eigenen zusätzlichen Anschlußstifte zu der normalen Schaltungsfunktionalität hinzugefügt werden. An sich ist das Merkmal des Direktspeicherzugriffs (Direct Memory Access oder DMA) eine Standardfunktionalität in einer Mikroprozessorumgebung.
- Computer Design, Bd. 32, Jan. 1993, S. 65-74, Marrin K., "DSP development tools engage mainstream designers" beschreibt Fehlerbeseitigungsverbesserungen, indem JTAG-Debugports, die nicht nur für den Boundary-Scan-Test, sondern auch zum Überwachen und Steuern von Ressourcen auf dem Chip verwendet werden, zu DSPs hinzugefügt werden.
- Gemäß der Erfindung kann das JTAG-Interface jetzt auf verschiedene Scan-Ketten zugreifen, die aus in Reihe geschalteten Flipflops bestehen. Außerdem kann das JTAG-Interface über eine Anzahl von diesen Scan-Ketten, wenn sie geeignet angeordnet sind, Direktspeicherzugriff DMA auf alle Funktionseinheiten auf dem Chip ausführen, die als Slaves mit dem Bus auf dem Chip verbunden werden können. JTAG kann beispielsweise auf RAM-Speicher zugreifen, um LOAD, CHANGE, INSPECT, BOOT und andere Operationen auszuführen. Ebenso kann es auf ROM-Speicher zugreifen. Ebenso kann es auf Haltepunktregister zum Bewirken von SET- und INSPECT- Operationen zugreifen. Ebenso kann es auf einen externen Ereignisablauffolgepufferspeicher zum Aufzeichnen von Befehlen zugreifen. Ebenso kann es auf verschiedene andere Elemente, wie Zähler, Timer, FIFO-Speicher, Steuerregister und andere Elemente zugreifen, je nach dem Bedarf eines Designers. Es sei bemerkt, daß alle diese Elemente auch über die Software erreicht werden können, so daß Zugreifen auf diese Elemente durch das JTAG-Interface ein ausgezeichneter Mechanismus ist, um Fehlerbeseitigung, Ablaufverfolgung und andere Testunterstützungsmechanismen zu ermöglichen. Infolge des Obengenannten braucht das Prozessorelement seinen Betrieb während der Kommunikation zwischen dem Fehlerbeseitigungsunterstützungselement und den verschiedenen Scan-Ketten nicht anzuhalten. Vorteilhafterweise läßt das genannte JTAG- Interface-Element bidirektionales Herunterladen von Informationen bezüglich einer externen Station zu. Dieser Vorgang des Herunterladens beruht auf den Grundelementen des Direktlesens und Direktspeicherns (peek and poke primitives), die aus ihrem weitverbreiteten Gebrauch in verschiedenen Computersprachen bekannt sind, um so auf den Speicher zuzugreifen und ihn schnell mit neuer Information zu füllen.
- Vorteilhafterweise ist das genannte Fehlerbeseitigungsunterstützungselement, extern zu dem genannten internen Bus, direkt mit dem genannten Prozessorelement verbunden. Diese enge Verbindung ermöglicht einfaches Überprüfen, ohne dabei Buszykluszeit zu benötigen: Auf diese Weise kann ein in dem Fehlerbeseitigungsunterstützungselement liegender Ablauffolgepuffer direkt vom Prozessorelement aus gefüllt werden.
- Vorteilhafterweise greift das JTAG-Interface direkt auf ein oder mehrere Haltepunktregister zu. Dies ermöglicht es, diese Register zur nachfolgenden Auswertung während der Laufzeit zu laden, wobei Standardlaufgeschwindigkeit beibehalten wird.
- Vorteilhafterweise enthält das Fehlerbeseitigungsunterstützungselement einen internen Ereignisablauffolgepufferspeicher zum Aufnehmen einer begrenzten Menge von Inhalten von nicht-sequentiellen Adressen, wie sie von dem Verarbeitungselement erzeugt werden, und läßt zumindest eine der folgenden Speicherbetriebsarten für eine begrenzte Zeitoperation des genannten Mikroprozessors zu: Speichern aller nicht-sequentiellen Adressen und/oder Speichern aller Ruf-, Sprung- und Trapadressen oder eine geeignete Auswahl oder ein Teil davon. Dies stellt ein breites Spektrum von Fehlerbeseitigungsoperationen dar, die nur wenig Hardware benötigen, weil nur ein geeigneter Anteil der Adressen, und insbesondere diejenigen, die am kritischsten sind, behalten werden.
- Weitere vorteilhafte Aspekte der Erfindung werden in den Unteransprüchen genannt. Die Erfindung ist insbesondere als vorteilhafte Funktionalitätserweiterung für SPARC-Mikroprozessoren betrachtet worden, obwohl ihre Anwendung sich nicht auf diesen speziellen Typ beschränkt.
- Ausführungsbeispiele der Erfindung und ihre Vorteile sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
- Fig. 1 einen Mikrocontroller mit Hardware zur Ereignisverfolgung;
- Fig. 2 ein Ablaufverfolgungsbeispiel;
- Fig. 3 einen JTAG-Boundary-Scan-Block in der Architektur;
- Fig. 4 eine Ausführungsform serieller Ereignisausgabemöglichkeiten;
- Fig. 5 eine Ausführungsform eines grundsätzlichen seriellen Ausgabe- Protokolls.
- Fig. 1 zeigt eine Fehlerbeseitigungsumgebung mit einem mit der Basishardware zur Ereignisverfolgung versehenen Mikrocontroller oder Mikroprozessor. Der Mikrocontroller 20 befindet sich zusammen mit seinem System-RAM-Speicher 26 auf der Zielplatine 24. Der Mikrocontroller 20 ist mit einem Boundary-Scan- oder JTAG-Fehlerbeseitigungsinterface 46 versehen, das über den JTAG-Platinensteckverbinder 28 und die Verbindung 34 mit der Host-Workstation 32 verbunden ist, die selbst eine JTAG-Interface-Karte 30 hat. Letztere kann mit einer Vielzahl von JTAG-Verbindungen koppeln, wie 36. Der Mikrocontroller 20 hat auf dem Chip einen Systembus 48, der verschiedene Teilsysteme miteinander verbindet, wie das JTAG-Fehlerbeseitigungsinterface 46, eine Fehlerbeseitigungsunterstützungseinheit 56 mit einem Ablauffolgespeicher 58 auf dem Chip, Verarbeitungselement mit Caches 60, Speicher-Interface 62 und verschiedene weitere unbenannte Teilsysteme 50-54, wie ein EA-Interface-Element. Über die Verbindung 64 ist die Fehlerbeseitigungsunterstützungseinheit 56 mit einem Testfühler oder Logikanalysator verbunden, der einen Serien-Parallel-Wandler 42 und einen Ereignisablauffolgespeicher 40 hat und von einer nicht abgebildeten Quelle einen Zeitstempel erhält. Der Ereignisablauffolgespeicher 40 ist über die Verbindung 36, die JTAG-basiert sein kann, mit der Host-Workstation 32 verbunden. Der System-RAM 26 enthält einen Fehlerbeseitigungsabschnitt 44, der von einem symbolisch angegebenen Fehlerbeseitigungstrapvektor adressiert wird. Schließlich gibt es eine direkte Verbindung 57 zwischen der Fehlerbeseitigungsunterstützungseinheit 56 und dem JTAG-Interface 46.
- Die serielle Ausgabe 64 hat einen ein Bit breiten Datenpfad plus CLKOUT und liefert Echtzeitinformation beim Auftreten von software- oder hardwaregetriggerten Ereignissen, so zeigt sie z. B. den allgemeinen Ablauf von Software, identifiziert die Aufgabenlatenz in einem Mehrprogrammverarbeitungssystem, identifiziert Softwareabschnitte, die für die Fehlerbeseitigung von besonderem Interesse sind und triggert eine externe Logikanalysatorhardware unter Softwaresteuerung. Gemäß der Erfindung braucht die Ereignisablauffolge-Einrichtung keine Ablauffolgerekonstruktion mit Befehlsadressengranularität zu liefern, sondern sie liefert eine gute Übersicht über das Zeitverhalten der eingebetteten Echtzeitsoftware. Sie ist brauchbar für die Zeitanalyse und Messung der Leistungsfähigkeit.
- Die serielle Ereignisinformation ist ein Datenpaket von 0..16 Bit plus Start- und Stoppbedingungssignalen. Zusammen mit einem Zeitstempel wird das parallelisierte Datenpaket im Ereignisablauffolgespeicher 40 gespeichert, der einen zyklischen Adreßzähler hat. Das nicht gesondert dargestellte CLKOUT-Signal liefert Synchronisation und kann eine Subharmonische des Mikrocontrollertaktes sein. Ereignisse können infolge von drei Ursachen unbegrenzt getriggert werden: Ausführen eines speziellen, nicht priviligierten Befehls, Eingabe von Traps und/oder Unterbrechungen und mittels eines Angleichpunktes, der beim Angleichen durch ein Fehlerbeseitigungszustandsvergleichsregister auftritt. Bei der Realisierung mit dem SPARC-Mikrocontroller wird der noch nicht genutzte und nicht privilierte Befehl WR ASR31 als Ereignistrigger verwendet; sein Betriebscodefeld enthält einen unmittelbaren Operanden von 13 Bit. Sein Wert wird entweder während der Softwareentwicklung manuell festgelegt, oder automatisch bei der Kompilierzeit über einen Prolog/Epilogmechanismus für jede individuelle Subroutine. Ausführung des WR ASR31-Befehls belegt die IU-Pipeline nur einen Taktzyklus lang. In vielen Fällen ist dies so wenig, daß die Fehlerbeseitigungsbefehle nicht aus dem Endcode beseitigt zu werden brauchen. Eine andere Hardware-Plattform würde eine gleichartige Eigenschaft benötigen.
- Obiges erläutert den Doppelnutzen des JTAG-Interface für die Fehlerbeseitigung. Zwei wahlfreie Anschlußstifte können zur verbesserten Funktionalität hinzugefügt werden. Der Doppelnutzen des Interface benötigt nur wenig zusätzliche Hardwarefläche auf dem Chip, um Grundmerkmale zu implementieren, aber kann in unkomplizierter Weise erweitert werden. Grundmerkmale sind die folgenden:
- - JTAG verschafft unkomplizierte Host-Ziel-Kommunikation
- - Verschaffen von Software-Haltepunkten
- - Hardware-Einzelschritt
- - Externe Anhalteanforderung und Rücksetzsteuerung vom Host aus.
- Einige nützliche Erweiterungen sind:
- - Hardware-Haltepunkte auf Befehlsadresse, Datenadresse, Datenspeicherwert und -bereich
- - Speicher auf dem Chip für Befehlsadressenablauffolge bei unterschiedlichen verschiedenen Ebenen der Ablauffolgegranularität
- - Serielle Echtzeit Ereignisablauffolge-Ausgabemöglichkeit einschließlich Ereignisidentifikation.
- Der JTAG-Fehlerbeseitigungsinterfaceblock an der Zielprozessorseite liefert die folgenden internen Datenregister zur Fehlerbeseitigungskommunikation, die vom Hostsystem bitsequentiell ausgelesen und beschrieben werden können:
- DMA_ADDR, DMA_DATA, DMA_CONTROL_STATUS. Mit Hilfe dieser Register schafft der Interface-Block eine Brückenfunktion zwischen dem externen JTAG-Bus und einem Systembus auf dem Chip. Auf jede beliebige mit letzterem Bussystem verbundene speicherkonforme Einrichtung vom Slave-Typ kann über die Brücke vom Hostsystem aus zugegriffen werden. Somit kann der Host Direktspeicherzugriffe (DMA) auf eine beliebige speicherkonforme Ressource des Zielsystems ausführen. Das DMA_ADDR- Register muß vor einem DMA-Zugriff mit der Zieladresse initialisiert werden. Das DMA_DATA-Register muß mit Schreibdaten initialisiert werden, bevor ein Schreibzugriff initialisiert werden kann. Nach einem DMA-Lesezugriff enthält das DMA_DA- TA-Register die Auslesedaten. Das DMA_CONTROL_STATUS-Register liefert die folgenden Steuerfunktionen:
- - DMA-Zugriffstyp selektieren (Lesen/Schreiben, ASI-Steuerungsraum, Byte-Halbwort- Wort-Selektion)
- - DMA-Zugriff starten
- - System für ausschließlichen JTAG-Gebrauch des DMA-Merkmals verriegeln
- - automatische Erhöhung des DMA_ADDR-Register-Inhalts
- - System-RESET erzwingen
- - externe Fehlerbeseitigungshalte- oder Trapanforderung ausgeben
- - Handshake-Markierungen für Host-Zielmonitorkommunikationsprotokoll.
- Auf diese Weise ist ein Zusammenwirken zwischen dem Kommunikationsprotokoll und der Direktspeicherzugriffsmöglichkeit realisiert worden. Die Register sind wohldefiniert und geographisch gruppiert worden. Der DMA wird von einem anderen Takt TCK synchronisiert als der Systemtakt und sein Zugreifen auf ein Register kann selbst dann erfolgen, wenn der Systemtakt nicht verfügbar ist, wie im Standby-Zustand. Auch der Testtakt TCK kann viel langsamer sein als der Systemtakt; vergl. Fig. 3, Nr. 96, 98. Diese organisatorischen Aspekte erleichtern das Entwerfen der Steuersoftware, weil alle relevante Information jetzt innerhalb der DMA-Scan-Kette vorhanden ist.
- Die folgende Statusinformation ist für das Hostsystem beim Auslesen des DMA_CONTROL_STATUS-Registers sichtbar:
- - DMA-Belegt- und Handshake-Markierungen für bidirektionales Host Zielmonitorkommunikationsprotokoll
- - Haltestatus und Status-Markierungen, die Zustände wie Prozessorfehler oder Stromausfall andeuten.
- Wenn das JTAG-Interface tatsächlich mit einer unabhängigen TRSTN- Rücksetzleitung versehen ist, ist es möglich, die DMA-Register rückzusetzen, während das Zielsystem am Laufen gehalten wird. Eine noch interessantere Betriebsart ist, den Prozessor im Rücksetzzustand zu halten und die JTAG-Möglichkeiten durch Laden geeigneter Register zu initialisieren. Jetzt kann auf die folgenden Beispielsteilsysteme über den JTAG-DMA-Zugriff zugegriffen werden:
- - Interface mit einem externen Speicher, der JTAG-zugänglich wird
- - EA-Interface, das EA-Einrichtungen JTAG-zugänglich macht
- - interner Speicher, wie RAM, ROM, Cache und MMU Translation Lookaside Buffer TLB
- - interne Register, wie Timer, Zähler, Unterbrechungs- und Anwendungszellenfunktionen
- - Fehlerbeseitigungsunterstützungsregister, wie zur Haltepunktangleichung und für Anwendungszellenfunktionen.
- Alle diese Teilsysteme sind speicherkonform und auf sie kann direkt vom Zielsystem ohne Prozessorintervention zugegriffen werden. Der vom JTAG-Interface gesteuerte DMA ist ein äußerst unkompliziertes Mittel. Das Prozessorelement kann selbst bei laufender Programmausführung das Ausführen fortsetzen. Da JTAG nur kurze Zugriffe benötigt, bleibt außerdem der Systembus in weitem Maße für andere Stationen, die Busmaster sein sollen, verfügbar. Schließlich ist das Herauf und Herunterladen zwischen internem Zielsystem und externem Zielsystem schnell: beispielsweise < 5 s für 1-MByte-Daten bei einem Testtakt von 10 MHz. Auf interne Prozessorregister, wie z. B. die Registerdatei(en) oder das Ancillary State Register ASR, die im SPARC-Mikrocontroller definiert sind, kann nicht direkt über JTAG, sondern nur mit Monitorsoftware zugegriffen werden. Hierzu kann das Hostsystem einen Fehlerbeseitigungshalt über das JTAG DMA CONTROL STATUS REGISTER anfordern und so den Prozessor zwingen, das Monitorprogramm einzugeben. Der Datenaustausch zwischen dem Monitorprogramm, das auf dem Zielsystem läuft, und dem Hostcomputer erfolgt über Speicherstellen, die über den JTAG-DMA zugänglich sind, und zugehörige Eingabe- und Ausgabepuffer. Das Kommunikationsprotokoll arbeitet mit Handshake.
- Wie in dem Fehlerbeseitigungskonfigurationssystem von Fig. 1 gezeigt wird, hat der System-RAM einen kleinen, für die Fehlerbeseitigungsunterstützung reservierten Abschnitt. Dieser Abschnitt enthält
- - ein Fehlerbeseitigungstraptreiberprogramm, das eine Verbindung zum Monitorpro gramm legt
- - entweder ein vollständiges Monitorprogramm oder nur die Monitorkommandoroutinen, die ein Kommando zur Zeit ausführen können
- - Puffer zum Durchgeben von Kommando+Parameter und Reaktion zwischen Host und Zielmonitor
- - direkte Zugänglichkeit vom Host aus über JTAG-DMA.
- Diese Merkmale haben Kostenvorteile, indem keine zusätzlichen Anschlußstifte benötigt werden, kein Zweifachport notwendig ist, das sowohl vom Host als auch vom Zielprozessor zugänglich sein muß, und vom Zielprozessor zu einem entfernten Fehlerbeseitigungs-RAM keine zeitkritische Mehrdrahtverbindung erforderlich ist. Während des Fehlerbeseitigungsprozesses wird keine spezielle Firmware benötigt, wie z. B. ein Boot-PROM auf der Zielplatine. Fehlerbeseitigungstraptreiber und Monitorprogramm werden über JTAG in den System-RAM heruntergeladen, bevor der Zielprozessor die Programmausführung beginnt.
- Ein zusätzliches Problem für die Echtzeit-Befehlsverfolgung in RISC- Prozessoren ist, daß in jedem Taktzyklus ein oder mehrere Befehle aus einem internen Cache-Speicher geholt werden, deren Adressen an der Chipgrenze nicht sichtbar sind. Zur Lösung des Problems ist ein größenbegrenzter Ablauffolgespeicher für 32 Einträge auf dem Chip vorgesehen, der interne Adressen lädt und von dem Host mit Hilfe der JTAG-Möglichkeiten gelesen werden kann. Die geringe Größe des Ablauffolgespeichers erfordert äußerst genaues Zuordnen seiner Kapazität. Verschiedene Ablauffolgebetriebsarten sind: alle Adressen laden, alle nichtlinearen Adressen laden, d. h. diejenigen, die nicht einfach um Eins erhöhte Adressen sind und nur Adressen laden, die auf Ruf, Trap- oder Sprungbefehle folgen. Ein weiteres Handeln ist, das Laden beim Erreichen eines voreingestellten Haltepunktes zu beginnen und anschließend alle Adressen zu laden, bis der Ablauffolgespeicher voll ist. Verschiedene Kombinationen des Obengenannten sind auch brauchbar.
- Die serielle Ereignisausgabemöglichkeit 64 wird verwendet, um die Einträge in dem externen Ablauffolgespeicher 40 mit einem Zeitstempel zu versehen. Die Ereignisausgabe liefert Information in Echtzeit über das Auftreten von software- oder hardwaregetriggerten Ereignissen. Ihre Hauptanwendungen sind:
- - das Darstellen des allgemeinen Ablaufs von Software
- - Unterbrechungslatenzen in einem System identifizieren
- - Aktionsaktivität in einem Mehrprogrammverarbeitungssystem identifizieren
- - Softwareabschnitte identifizieren, die spezielle Fehlerbeseitigung benötigen könnten einen externen Analysator unter Softwaresteuerung triggern.
- Ein relativ kleiner Ablauffolgepuffer, obwohl er keine Ablauffolgerekonstruktion mit Befehlsadressengranularität liefert, wird im allgemeinen eine ausgezeichnete Übersicht über das Zeitverhalten eingebetteter Echtzeitsoftware geben, was für die Messung der Leistungsfähigkeit und Zeitanalyse brauchbar ist. Die benötigten Einrichtungen sind ein Serien-Parallel-Wandler 42, ein Ablauffolgespeicher 40 geeigneter Kapazität und ein Zeitstempelgeneratormechanismus wie angegeben.
- Wie in dem Beispiel von Fig. 2 gezeigt, werden Triggerbefehle vorzugsweise an strategischen Stellen plaziert, wie Trapausgängen, Subroutine-Eingängen und -ausgängen und Sprungtabellenzielen. In Fig. 2 verläuft die Zeit horizontal. Die fett gezeichneten Schritte zeigen Maschinenaktivität, die zwischen Hauptprogrammebene 78, Subroutinenebenen 72, 74, 76, und Traproutinenebene 70 wechselt. Ablauffolge 80 symbolisiert die seriellen Ereignisausgabedaten mit Blöcken. Hier treten diese am Anfang, am Eingang und Ausgang aller Subroutinen auf, beim Beobachtungspunkttreffer (Raute auf Ebene 76) und schließlich beim Haltepunkttreffer (Ebene 78). Ein WR ASR31-Befehl wird mit einem kleinen Kreis dargestellt und ein Trap wird mit einem Kästchen symbolisiert. Die Spanne der Abdeckung durch den internen Ablauffolgepuffer wird auf Ebene 82 angegeben. Bei Verwendung eines Beobachtungspunkttreffers bewirkt die aufgetretene Angleichung einen Fehlerbeseitigungstrap zum Prozessor, der dann einen Traptreiber ausführen muß. Anschließend wird er auf Kommandos vom Host warten. Dies wird an den Host über ein in dem JTAG-Interface enthaltenes Statusregister durchgegeben.
- Fig. 3 veranschaulicht den JTAG-Boundary-Scan-Block einschließlich seiner verschiedenen Betriebsarten in der Prozessorarchitektur. Der Kürze halber werden die JTAG-Einrichtungen nur ohne weitere Einzelheiten genannt. Die fünf Anschlußstifte unten sind Testtakt TCK, Testrücksetzen TRST, Testbetriebswahl TMS, die die verschiedenen Betriebsartübergänge im TAP-Controller 90 steuert, Testdateneingabe TDI und Testdatenausgabe TDO. Der Port wirkt als DMA-Master auf dem oben als fett gezeichnete Linie dargestellten internen Bus; der Port kann auf jeden mit dem Bus verbundenen Slave zugreifen, selbst wenn das Verarbeitungselement am Ausführen ist. Während der Entscheidung hat der Port höchste Priorität. Die DMA-Operation wird über das externe Boundary-Scan-Interface initiiert, wie z. B. von einer externen Workstation. Die Boundary-Scan-Einrichtungen numerieren ein Geräte-ID-Register 106. Das getaktete Befehlsregister 104 lädt von TDI aus und beherbergt Fünf-Bit-Befehle. Die folgenden Befehle werden verwendet:
- Befehl · mnemonisch · Registerlänge · Funktion
- Im Obigen gibt die dritte Spalte die anzuwendende Registerlänge an. Der Einfachheit halber ist der Bypass selbst nicht dargestellt worden. Zusätzlich zu Obigem enthält die Figur DMA-Steuerelemente und weiterhin den Ausgabemultiplexer 108, der die Ergebnisdatenausgabeleitung TDO speist.
- Das Befehlsregister wird in zwei Teilen implementiert: ein paralleles Laderegister 102 und ein Schieberegister 104. Wenn ein neuer Befehl über die Eingabe TDI erhalten wird, behält das parallele Register den Wert des vorhergehenden Befehls. Wenn der TAP-Controller 90 anschließend in den Update_IR-Zustand gelangt, wird der Inhalt des Schieberegisters parallel zum parallelen Laderegister übertragen und wird zum neuen Befehl. Beispielsweise wird der Befehl DMA_ADDR 32 Bits von TDI in das JTAG-Datenregister 'DMA_ADDR' laden. Beim DR-Update stehen diese Daten als Geräteadresse auf dem internen Bus aus dem Register 94 zur Verfügung. Register 94 hat einen Zähleingang mit einem Inkrement von +4, wie gezeigt, und einen wirksamen Zählbereich von sechs Bits; die beiden Bits mit dem kleinsten Stellenwert werden nicht verwendet. Es wird von dem aus dem DMA-Steuerregister 100 kommenden Signal DMA_ADDR_INC gesteuert: Dies ermöglicht einen DMA-Zugriff auf bis zu vierundsechzig aufeinanderfolgende Adressen, ohne daß DMA_ADDR erneut geladen zu werden braucht. Das DMA-Datenregister 96 wird verwendet, um Daten zu speichern, die zu dem oder von dem so adressierten Slave durchgegeben werden. Schreibdaten müssen geladen werden, bevor DMA_Start-Aforderung erfolgt ist. Auslesedaten werden unter Synchronisation vom Systemtakt im Register 98 eingefangen. Bei Capture_DR werden diese Daten vom Register 98 zum Register 96 übertragen und über den Multiplexer 108 und TDO seriell ausgegeben.
- Das DMA_CNTL_STAT-Register 100 hat 14 definierte Bits, und zwar folgende:
- [0]: SYS_CLK_ON gibt den Status des Systemtaktes an. Wenn der Systemtakt aktiv ist, ist dieses Bit = 1.
- [1]: TOF_CONTL_STAT liefert die Steuerung und den Status der TOF-Markierung (TOF: Test Output Full) in dem DSU DSTAT-Steuerregister. Die TOF-Markierung wird nicht gelöscht, wenn dieses Bit gesetzt ist, aber der DMA-Zugriff wird von einem Busfehler beendet.
- [2]: TIF_CNTL_STAT liefert die Steuerung und den Status der TIF-Markierung (TIF: Test Input Full) in dem DSU DSTAT-Steuerregister. Die TIF-Markierung wird nicht gesetzt, wenn dieses Bit gesetzt ist, aber der DMA-Zugriff wird von einem Buszugriff beendet. Lesen: Der Status der TIF-Markierung in DSU DSTA-Steuerung; Schreiben: 1 = TIF-Bit in DSU STAT-Steuerregister setzen, nachdem DMA beendet ist, 0 = keine Änderung. Die beiden Bits TIF_CONTL_STAT und TOF_CONTL_STAT stellen zusammen einen Handshake für das Kommunikationsprotokoll dar.
- [3]: BRK_STAT nur lesen: 1 = IU ist im Haltezustand, 0 = IU ist nicht im Haltezustand.
- [4]: DMA_ADDR_INC nur schreiben: 1 = vor dem Starten des DMA zu dem DMA_ADDR-Datenregister 4 addieren, 0 = keine Änderung. Die Addition ist modulo 256. Die DMA_ADDR wird jedesmal erhöht, wenn ein Aktualisieren des DMA_CNTL_STAT erfolgt ist, wobei das DMA_ADDR_INC Bit auf 1 gesetzt ist. Die beiden niedrigstwertigen Bits (1-0) ändern sich nicht.
- [5]: DSU_CNTL_STAT: DMA_LOCK. Den PI(prozessorinternen)-Kernbus verriegeln, wenn ein DMA begonnen wird. Dies kann genutzt werden, um den PI-Kernbus zu verriegeln, wenn mehr als ein sehr kleiner DMA-Zugriff gefordert wird. Der letzte DMA-Zugriff muß DMA_LOCK = 0 haben, um den PI-Kernbus zu entriegeln. Nur schreiben: 1 = PI-Kernbus verriegeln; 0 = keine Verriegelung.
- [6]: DSU_CNTL_STAT: DMA_CSP. Steuerungsraum-DMA-Zugriff ausführen. Dieses Bit ermöglicht es, daß das JTAG/Testmodul ASI-konforme Ressourcen auf dem PI- Kernbus liest/schreibt. Adreßbits DMA_ADDR [31 : 24] geben das Steuerungsraumkennzeichen (= ASI) an. Die niedrigen 24 Bits (DMA_ADDR [24 : 0]) bilden die Adresse innerhalb des Steuerungsraumes. Nur schreiben: 1 = Steuerungsraum DMA, 0 = kein Steuerungsraum DMA.
- [8 : 7]: DMA_CNTL_STAT: DMA_SZ [1 : 0]. Die beiden Bits geben die Datengröße des DMA an: nur schreiben: 00 = Byte, 01 = Halbwort, 10 = Wort, 11 = illegal.
- [9]: DMA_CNTL_STAT: DMA_RWN. Die Richtung des DMA-Zugriffs. Sehr kleine Lese-/Schreibvorgänge können durch Einstellen des DMA_CNTL_STAT [5] Bit erfolgen (PI-Kernbus nach dem Lesen verriegeln). Nur schreiben: 1 = Lesezugriff, 0 = Schreibzugriff.
- [10]: DMA_CNTL_STAT: DMA_ERR. Dieses Bit gibt an, daß während des DMA ein Busfehler aufgetreten ist. Dieses Bit ist nur gültig, wenn der DMA beendet ist (DMA_START_BUSY = 0). Nur lesen: 1 = Fehler, 0 = kein Fehler.
- [11]: DMA_CNTL_STAT: DMA_START_BUSY. Dieses Bit steuert den Beginn des DMA und signalisiert, wenn der DMA beendet ist. Das DMA_START_BUSY muß als 0 geschrieben werden, um den Auslesewert 0 werden zu lassen (= DMA beendet). Das Setzen von DMA_START_BUSY löscht dieses Bit. Lesen: 1 = DMA belegt, 0 = DMA beendet oder nicht begonnen. Schreiben: 1 = DMA starten, 0 = keine Änderung. Die Basisschleife zum Starten von DMA ist:
- schreiben DMA_CNTL_BUSY = 1
- warten bis DMA_CNTL_BUSY = 1 (DMA-Zugriff ist begonnen)
- schreiben DMA_CNTL_BUSY = 0
- warten bis DMA_CNTL_BUSY = 0 (DMA-Zugriff ist beendet)
- Der gelesene DMA_CNTL_BUSY-Wert ändert sich nicht von 1 auf 0, bevor ein Schreiben von 0 nach DMA_CNTL_BUSY ausgeführt worden ist, wenn das gelesene DMA_CNTL_BUSY = 1. Dies soll dafür sorgen, daß die Software eine '1' (DMA begonnen) detektiert hat, bevor anschließend das 'DMA beendet" signalisiert wird.
- [12]: DMA_CNTL_START: JTAG_BREAK. Nur schreiben: 1 = Haltetrap erzeugen, 0 = kein Haltetrap. Mit diesem Bit kann ein Haltetrap in der IU erzeugt werden.
- [13]: DMA_CNTL_STAT: JTAG_RESET. Nur schreiben: 1 = Rücksetzen, 0 = kein Rücksetzen. Mit diesem Bit kann die Schaltung über das JTAG-Interface rückgesetzt werden.
- Einige Beispielswerte für den DMA_CNTL_STAT-Registerinhalt:
- 00 1001 0001 0100: DMA schreiben beginnen, Größe ist Wort, kein Steuerungsraum, keine Busverriegelung, DMA_ADDR erhöhen, bevor DMA begonnen ist und TIF-Markierung in DSU_ STAT-Steuerregister setzen, wenn DMA bereit ist.
- 00 1010 0110 0010: DMA lesen im Steuerungsraum beginnen, Größe = Byte, Bus für weitere DMA-Transfers verriegeln, TOF-Markierung löschen, wenn DMA beendet ist.
- 10 0000 0000 0000: Schaltung RÜCKSETZEN
- 01 0000 0000 0000: Haltetrap in der Ganzzahleinheit erzeugen.
- DMA_CNTL_STAT[3] kann zum Überprüfen verwendet werden, ob der Haltetrap tatsächlich erfolgt ist.
- Der PI-Kernbus ist bei der fett gezeichneten Linie oben in der Figur dargestellt worden. Weitere Teilsysteme der Anordnung sind das JTAG-Controllermodul 90, TAP-Controller genannt, mit Testtakt-, Testrücksetz- und Testbetriebsarteingängen, DMA-Steuermodul 92, Register DMA_ADDR 94 und DMA_DATA 96, Taktregister SS_Takt 98, Register DMA_CNTL_STAT 100, Informationshalteregister und Decodierer 102, JTAG-Informationsregister 104, Geräte-ID-Register 106 und Ausgangsmultiplexer 108. Einer der Eingänge zu letzterem ist der JTAG-Ketteneingang 110. Verschiedene abgebildete Teilsysteme können aus den seriellen Daten in der Kette TDI geladen werden. Der Kürze halber ist die Hardware insbesondere zum JTAG-Standard-Interface nur summarisch skizziert worden.
- Fig. 4 zeigt ein Beispiel für Hardware-Einrichtungen zur seriellen Ereignisausgabe. In dem Aufbau ist der zentrale PI-Bus mit verschiedenen Teilsystemen verbunden und von einigen nicht angeschlossenen Teilsystemen umgeben. Dies sind die folgenden:
- - der Prozessortakt 120
- - die zentrale Rücksetzeinrichtung 122
- - die Bussteuereinheit 124
- - Unterbrechungscontroller 126
- - Befehlsanforderer (Cache), mit 128 bezeichnet
- - Speichermanagementeinrichtung 130
- - Datenanforderer (Cache), mit 132 bezeichnet
- - Fehlerbeseitigungsunterstützungseinheit 134
- - serielle Ereignisausgabeeinrichtung 136
- - verschiedene unbenannte weitere Teilsysteme 138
- - Speicher-Interface-Element 140
- - JTAG-Boundary-Scan-Einrichtungen 142 einschließlich TAP-Controller
- - Ganzzahlverarbeitungseinheit 144
- - wahlfreie Gleitkommaeinheit 146.
- Die meisten der obigen Teilsysteme können Standardfunktionalität haben.
- Der Einfachheit halber ist die direkte Verbindung zwischen der Fehlerbeseitigungsunterstützungseinheit und dem JTAG-Interface (Element 57 in Fig. 1) hier nicht dargestellt. Sie wird zur direkten und schnellen Weitergabe von Haltepunkttrefferinformation in das DMA_CNTL_STAT-Register verwendet. Über Abfrage über den PI-Bus würde dies viel länger gedauert haben, aber jetzt kann es mit Hilfe der anhand von Fig. 3 besprochenen BRK_STAT-Funktionalität erfolgen.
- Fig. 5 zeigt ein Beispiel für ein Basisprotokoll für serielle Ausgabe, das auf der Leitung 64 in Fig. 1 auftreten kann. Das Protokoll stützt sich in gewisser Weise auf das wohlbekannte, in der europäischen Patentanmeldung 51332 beschriebene I2C-Protokoll. Beim Standard-Datentransfer können Übergänge auf der einzelnen Datenleitung (untere Ablauffolge) auftreten, wenn der Takt (obere Ablauffolge) niedrig ist. Wenn der Takt hoch ist, sind derartige Übergänge nicht erlaubt. Startbedingung 152 und Stoppbedingung 154 verletzen diese Vorschriften durch Datenübergang bei hohen Daten und realisieren so ihre angestrebten Operationen. Außerhalb des Datentransferintervalls kann die Taktablauffolge sich fortsetzen. Im vorliegenden Beispiel ist das serielle Ereignisausgeben durch die Ausführung des kurzen Befehls WR ASR31 verursacht worden. Ebenso wie in I2C sind die Ereignisidentifikationen in einem Bereich von 0 bis 213 mit einer Zahl von 13 Bits codiert. Um die Transfergeschwindigkeit zu erhöhen, werden führende Nullen unterdrückt. Auf diese Weise wird auch eine flexible Paketlänge realisiert. Wenn keine serielle Ereignisinformation ausgegeben wird, wird die EVENT_OUT-Leitung konstant auf dem '1'-Pegel gehalten. Während der Übertragung gibt das erste Bit die Paketart an und ihm folgen Daten.
- Die beim Testfühler 38 in Fig. 1 empfangene Information wird parallelisiert und zusammen mit einem bei der Startbedingung angebrachten Zeitstempel in dem externen Ereignisablauffolgespeicher gespeichert. Das CLKOUT-Signal aus dem Zielprozessor wird zur Synchronisation benötigt. Bits am seriellen Signalausgang sind mit CLKOUT, das normalerweise bei Systemtaktgeschwindigkeit läuft, synchron. Bei einer sehr hohen Systemtaktfrequenz kann es erforderlich sein, die serielle Ausgabe bei einer Subharmonischen des Systemtaktes vorzunehmen. Einrichtungen auf der Zielplatine ermöglichen einfachen Anschluß an einen Testfühler oder einen Logikanalysator.
- Zusammenfassend werden die JTAG-Einrichtungen durch Hinzufügen von DMA-Registern zum Kommunizieren zwischen JTAG und dem Systembus auf dem Chip verbessert. Insbesondere kann DMA als Busmaster wirken. Von der Fehlerbeseitigungsunterstützungseinheit DSU aus gesehen, ist auf dem Chip ein Befehlsablauffolgespeicher hinzugefügt und mit einer seriellen Ereignisausgabe versehen worden. Schließlich ist ein externer Ereignisablauffolgepuffer hinzugefügt worden, der von einer seriellen Ereignisausgabe angesteuert wird.
Claims (10)
1. Mikroprozessor (20) mit einem Prozessorelement (60), einem Speicher-
Interface-Element (62), einem EA-Interface-Element, einem
Fehlerbeseitigungsunterstützungselement (56) und einem alle obengenannten Elemente miteinander verbindenden
internen Bus (48), gekennzeichnet durch das Umfassen, befestigt an dem genannten
internen Bus, eines registrierten JTAG-Interface-Elementes (46) vom Boundary-Scan-
Standard, das auf eine oder mehrere Scan-Ketten innerhalb des genannten
Mikroprozessors zugreift, und weiterhin dadurch, daß das genannte JTAG-Interface-Element zum
Steuern von DMA-Austausch mit anderen mit dem genannten internen Bus verbundenen
Elementen über den genannten internen Bus ausgebildet ist.
2. Mikroprozessor nach Anspruch 1, wobei das genannte JTAG-Interface-
Element (46) bidirektionales Herunterladen von Informationen bezüglich einer externen
Station (32) zuläßt.
3. Mikroprozessor nach Anspruchs 1 oder 2, wobei das genannte
Fehlerbeseitigungsunterstützungselement (56), extern zu dem genannten internen Bus (48),
direkt mit dem genannten Prozessorelement (60) verbunden ist.
4. Mikroprozessor nach den Ansprüchen 1, 2 oder 3, wobei das
JTAG-Interface-Element (46) direkt auf ein oder mehrere Haltepunktregister zugreift.
5. Mikroprozessor nach einem der Ansprüche 1 bis 4, wobei das
Fehlerbeseitigungsunterstützungselement (56) direkt auf einen Ablauffolgepuffer (40) extern zu
dem Mikroprozessor (20) zugreift.
6. Mikroprozessor nach einem der Ansprüche 1 bis 5, wobei das genannte
Fehlerbeseitigungsunterstützungselement (56) einen internen Pufferspeicher (58) zum
Aufnehmen einer begrenzten Menge von Inhalten von nicht-sequentiellen Adressen
enthält, wie sie von dem Verarbeitungselement erzeugt werden, und zumindest eine der
folgenden Speicherbetriebsarten für eine begrenzte Zeitoperation des genannten
Mikroprozessors zuläßt: Speichern aller nicht-sequentiellen Adressen und/oder Speichern aller
Ruf-, Sprung- und Trapadressen oder einer geeigneten Auswahl oder eines Teils davon.
7. Mikroprozessor nach Anspruch 6, wobei das genannte
Fehlerbeseitigungsunterstützungselement (56) extern zum Mikroprozessor über einen seriell getakteten
Datenpfad (64) mit einem externen Ereignisablauffolgepufferspeicher (40) gekoppelt ist,
um dorthin eine Ereignissignalisierung zum Speichern auszugeben.
8. Mikroprozessor nach Anspruch 7, wobei ein spezieller Befehl (WR
ASR31) angeordnet ist, um ein Laden des genannten externen
Ereignisablauffolgepufferspeichers zu steuern.
9. Mikroprozessor nach den Ansprüchen 7 oder 8, in dem der externe
Ablauffolgepufferspeicher (40) ausgebildet ist, um zusammen mit dem Aufzeichnen eines
beliebigen Wortes darin auch eine tatsächliche Zeitstempelangabe aufzuzeichnen.
10. Mikroprozessor nach den Ansprüchen 7, 8 oder 9, in dem der externe
Ablauffolgepufferspeicher (40) ausgebildet ist, um über ein standardmäßiges weiteres
Interface Daten (36) an eine Standardworkstation oder einen Personalcomputer (32)
auszugeben.
ZEICHNUNGSLEGENDE
Fig. 1:
32: HOST
30, 46: JTAG-Interface
34: JTAG-Bus
28: JTAG-Steckverbinder
38: Testfühler
40: Zeit
60: CPU-Caches
26: Trapvektor
44: Fehlerbeseitigung
Fig. 2:
70 Traproutine
72-76 Subr(outine)
78 Haupt(programm)
Ereignis-ID Haltepunkt
80 Traptyp Trapausgang Beobachtungspunkttreffer Ausgang (3x) Haltepunkttreffer
82 Ablauffolgepuffer
Fig. 3:
92: DMA-Steuerung
90: TAP-Steuerung
102: IR-Halteregister/Decodierer
110: BST-Kette
106: Geräte-ID
108: Multiplexer
Fig. 4:
136: Ereignis
144: Ganzzahleinheit
Fig. 5:
152: Start
Typ Bit 0 Bit 1 Bit n
= 0: Ereigniscode
= 1: Trapcode
154: Stopp
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP93202228 | 1993-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69415600D1 DE69415600D1 (de) | 1999-02-11 |
DE69415600T2 true DE69415600T2 (de) | 1999-07-15 |
Family
ID=8214010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69415600T Expired - Lifetime DE69415600T2 (de) | 1993-07-28 | 1994-07-21 | Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren |
Country Status (5)
Country | Link |
---|---|
US (1) | US5590354A (de) |
EP (1) | EP0636976B1 (de) |
JP (1) | JP3862291B2 (de) |
KR (1) | KR100314693B1 (de) |
DE (1) | DE69415600T2 (de) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020109305A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte SPI-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109310A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte UART-Schnittstelle mit Passwort geschütztem Speicherzugriff |
DE102020109307A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte JTAG-Schnittstelle mit Passwort geschütztem Speicherzugriff |
DE102021106440A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstelle mit Passwort geschütztem Speicherzugriff mit Speicherlöschung bei Speicherzugriff |
DE102020109303A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte JTAG-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109313A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstellen mit Passwort geschütztem Speicherzugriff |
DE102020109306A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstellen mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109304A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte UART-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109312A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte SPI-Schnittstelle mit Passwort geschütztem Speicherzugriff |
Families Citing this family (216)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69626282T2 (de) * | 1995-06-01 | 2004-04-08 | Fujitsu Ltd., Kawasaki | Programmierbare vorrichtung und verfahren zum befehlsauffang |
JP3846939B2 (ja) * | 1995-08-30 | 2006-11-15 | フリースケール セミコンダクター インコーポレイテッド | データプロセッサ |
US5964893A (en) * | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
DE19536622A1 (de) * | 1995-09-30 | 1997-04-03 | Kontron Elektronik | Emulationsvorrichtung |
US6205560B1 (en) * | 1996-02-27 | 2001-03-20 | Via-Cyrix, Inc. | Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG |
JPH09258998A (ja) * | 1996-03-22 | 1997-10-03 | Sharp Corp | テストおよび診断メカニズム |
US5887003A (en) * | 1996-09-10 | 1999-03-23 | Hewlett-Packard Company | Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results |
US5881224A (en) * | 1996-09-10 | 1999-03-09 | Hewlett-Packard Company | Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle |
US6003107A (en) * | 1996-09-10 | 1999-12-14 | Hewlett-Packard Company | Circuitry for providing external access to signals that are internal to an integrated circuit chip package |
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 |
US5903718A (en) * | 1996-09-16 | 1999-05-11 | International Business Machines Corporation | Remote program monitor method and system using a system-under-test microcontroller for self-debug |
US6000040A (en) * | 1996-10-29 | 1999-12-07 | Compaq Computer Corporation | Method and apparatus for diagnosing fault states in a computer system |
EP0840224B1 (de) * | 1996-10-31 | 2002-09-18 | STMicroelectronics Limited | Mikrorechner mit Urladungsystem |
US5880671A (en) * | 1996-10-31 | 1999-03-09 | Hewlett-Packard Company | Flexible circuitry and method for detecting signal patterns on a bus |
GB9622687D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit with tap controller |
GB9622686D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | A test port controller and a method of effecting communication using the same |
GB9622685D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therewith |
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 |
GB9622684D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therwith |
GB9622682D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therewith |
US5983017A (en) * | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
US5771240A (en) * | 1996-11-14 | 1998-06-23 | Hewlett-Packard Company | Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin |
US5751735A (en) * | 1996-11-14 | 1998-05-12 | Hewlett-Packard Company | Integrated debug trigger method and apparatus for an integrated circuit |
US5838692A (en) * | 1996-11-14 | 1998-11-17 | Hewlett-Packard Company | System and method for extracting realtime debug signals from an integrated circuit |
US5951696A (en) * | 1996-11-14 | 1999-09-14 | Hewlett-Packard Company | Debug system with hardware breakpoint trap |
US5935266A (en) * | 1996-11-15 | 1999-08-10 | Lucent Technologies Inc. | Method for powering-up a microprocessor under debugger control |
US5956477A (en) * | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
US6009539A (en) * | 1996-11-27 | 1999-12-28 | Hewlett-Packard Company | Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system |
US5881217A (en) * | 1996-11-27 | 1999-03-09 | Hewlett-Packard Company | Input comparison circuitry and method for a programmable state machine |
GB9626367D0 (en) | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Providing an instruction trace |
GB9626412D0 (en) | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
GB9626401D0 (en) * | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
US5991898A (en) | 1997-03-10 | 1999-11-23 | Mentor Graphics Corporation | Arithmetic built-in self test of multiple scan-based integrated circuits |
US6189140B1 (en) | 1997-04-08 | 2001-02-13 | Advanced Micro Devices, Inc. | Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic |
US6314530B1 (en) | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
US6041406A (en) * | 1997-04-08 | 2000-03-21 | Advanced Micro Devices, Inc. | Parallel and serial debug port on a processor |
US6154857A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Microprocessor-based device incorporating a cache for capturing software performance profiling data |
US6167536A (en) * | 1997-04-08 | 2000-12-26 | Advanced Micro Devices, Inc. | Trace cache for a microprocessor-based device |
US6142683A (en) * | 1997-04-08 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including data steering between a processor, an input/output port, and a trace logic |
US6009270A (en) * | 1997-04-08 | 1999-12-28 | Advanced Micro Devices, Inc. | Trace synchronization in a processor |
US5978902A (en) * | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
US6185732B1 (en) | 1997-04-08 | 2001-02-06 | Advanced Micro Devices, Inc. | Software debug port for a microprocessor |
US6148381A (en) * | 1997-04-08 | 2000-11-14 | Advanced Micro Devices, Inc. | Single-port trace buffer architecture with overflow reduction |
US6154856A (en) * | 1997-04-08 | 2000-11-28 | Advanced Micro Devices, Inc. | Debug interface including state machines for timing synchronization and communication |
FR2762683B1 (fr) * | 1997-04-29 | 1999-07-16 | Sgs Thomson Microelectronics | Circuit testable a faible nombre de broches |
KR100269299B1 (ko) * | 1997-07-14 | 2000-10-16 | 윤종용 | 데이터패쓰(dq)수감소회로및감소방법과이를이용한반도체장치 |
US6282701B1 (en) | 1997-07-31 | 2001-08-28 | Mutek Solutions, Ltd. | System and method for monitoring and analyzing the execution of computer programs |
US6618775B1 (en) * | 1997-08-15 | 2003-09-09 | Micron Technology, Inc. | DSP bus monitoring apparatus and method |
US5987626A (en) * | 1997-08-25 | 1999-11-16 | Cray Research, Inc. | Precise detection of errors using hardware watchpoint mechanism |
US6279123B1 (en) | 1997-09-15 | 2001-08-21 | Lucent Technologies, Inc. | System for viewing and monitoring embedded processor operation |
KR100240662B1 (ko) * | 1997-09-25 | 2000-01-15 | 윤종용 | 제이태그에 의한 다이나믹램 테스트장치 |
US6286114B1 (en) * | 1997-10-27 | 2001-09-04 | Altera Corporation | Enhanced embedded logic analyzer |
EP1233341B1 (de) * | 1997-11-18 | 2006-06-28 | Altera Corporation | Eingebetteter logischer Analysator |
US6175914B1 (en) | 1997-12-17 | 2001-01-16 | Advanced Micro Devices, Inc. | Processor including a combined parallel debug and trace port and a serial port |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
DE19811576C1 (de) * | 1998-03-17 | 1999-09-09 | Siemens Ag | Verbindungstestvorrichtung zum Testen der elektrischen Verbindungen zwischen Chips oder Chip-Modulen |
US6687865B1 (en) * | 1998-03-25 | 2004-02-03 | On-Chip Technologies, Inc. | On-chip service processor for test and debug of integrated circuits |
KR100512162B1 (ko) * | 1998-03-31 | 2005-11-11 | 삼성전자주식회사 | 마이크로프로세서의에뮬레이션모드를위한바운더리스캔스탠다드인터페이스회로 |
US6145122A (en) * | 1998-04-27 | 2000-11-07 | Motorola, Inc. | Development interface for a data processor |
US6173419B1 (en) * | 1998-05-14 | 2001-01-09 | Advanced Technology Materials, Inc. | Field programmable gate array (FPGA) emulator for debugging software |
US6243842B1 (en) * | 1998-06-08 | 2001-06-05 | Stmicroelectronics, Inc. | Method and apparatus for operating on a memory unit via a JTAG port |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
DE19835610A1 (de) | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
US6282600B1 (en) * | 1998-08-14 | 2001-08-28 | International Business Machines Corporation | Method and apparatus of resolving conflicting register access requests from a service processor and system processor |
KR100307626B1 (ko) | 1998-08-31 | 2001-11-30 | 윤종용 | 디램과버퍼메모리를갖는메모리로직복합집적회로장치 |
US6467009B1 (en) * | 1998-10-14 | 2002-10-15 | Triscend Corporation | Configurable processor system unit |
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 |
US6543048B1 (en) * | 1998-11-02 | 2003-04-01 | Texas Instruments Incorporated | Debugger with real-time data exchange |
WO2000043880A1 (en) * | 1999-01-21 | 2000-07-27 | Bsquare Corporation | A system and method for testing and validating devices having an embedded operating system |
US6499122B1 (en) * | 1999-03-10 | 2002-12-24 | Spectrum Digital Incorporated | Adjustable voltage boundary scan adapter for emulation and test |
GB9907254D0 (en) * | 1999-03-29 | 1999-05-26 | Sgs Thomson Microelectronics | Synchronous data adaptor |
WO2000063777A1 (de) * | 1999-04-20 | 2000-10-26 | Siemens Aktiengesellschaft | Verfahren zum tracen in system on chip architekturen |
CN1086818C (zh) * | 1999-04-29 | 2002-06-26 | 华中理工大学 | 动态电子密码形成方法 |
US6678847B1 (en) | 1999-04-30 | 2004-01-13 | International Business Machines Corporation | Real time function view system and method |
US6711684B1 (en) | 1999-06-08 | 2004-03-23 | General Instrument Corporation | Variable security code download for an embedded processor |
TW484016B (en) * | 1999-07-28 | 2002-04-21 | Hitachi Ltd | Semiconductor integrated circuit and recording medium |
US6678838B1 (en) * | 1999-08-23 | 2004-01-13 | Advanced Micro Devices, Inc. | Method to track master contribution information in a write buffer |
EP1079304A1 (de) * | 1999-08-27 | 2001-02-28 | Motorola Semiconducteurs S.A. | Mikroprozessor mit Fehlersuchsystem |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US6928073B2 (en) | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6367032B1 (en) * | 1999-10-21 | 2002-04-02 | Sony Corporation Of Japan | Method and system for debugging a microprocessor core |
JP4190114B2 (ja) * | 1999-11-10 | 2008-12-03 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
US7058928B2 (en) | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US6629268B1 (en) * | 2000-01-25 | 2003-09-30 | International Business Machines Corporation | Method and apparatus for servicing a processing system through a test port |
US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US6961884B1 (en) * | 2000-06-12 | 2005-11-01 | Altera Corporation | JTAG mirroring circuitry and methods |
US7735072B1 (en) * | 2000-08-11 | 2010-06-08 | International Business Machines Corporation | Method and apparatus for profiling computer program execution |
US6857092B1 (en) | 2000-08-17 | 2005-02-15 | Xilinx, Inc. | Method and apparatus to facilitate self-testing of a system on a chip |
US6721840B1 (en) | 2000-08-18 | 2004-04-13 | Triscend Corporation | Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory |
FI110724B (fi) * | 2000-09-14 | 2003-03-14 | Patria New Technologies Oy | JTAG-testausjärjestely |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6985980B1 (en) | 2000-11-03 | 2006-01-10 | Xilinx, Inc. | Diagnostic scheme for programmable logic in a system on a chip |
US6751751B1 (en) | 2000-11-06 | 2004-06-15 | Xilinx, Inc. | Universal multi-bus breakpoint unit for a configurable system-on-chip |
US6757846B1 (en) | 2000-11-06 | 2004-06-29 | Xilinx, Inc. | Method and apparatus for multi-bus breakpoint stepping |
US6880074B2 (en) | 2000-12-22 | 2005-04-12 | International Business Machines Corporation | In-line code suppression |
US8312435B2 (en) * | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US6725364B1 (en) | 2001-03-08 | 2004-04-20 | Xilinx, Inc. | Configurable processor system |
WO2003005046A2 (en) * | 2001-07-05 | 2003-01-16 | Koninklijke Philips Electronics N.V. | Apparatus with a test interface |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
US6957180B1 (en) * | 2001-11-15 | 2005-10-18 | Cypress Semiconductor Corp. | System and a method for communication between an ICE and a production microcontroller while in a halt state |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6934898B1 (en) | 2001-11-30 | 2005-08-23 | Koninklijke Philips Electronics N.V. | Test circuit topology reconfiguration and utilization techniques |
EP1349073B1 (de) * | 2002-03-26 | 2008-05-14 | Infineon Technologies AG | Steuereinrichtung |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
KR100423891B1 (ko) * | 2002-06-21 | 2004-03-22 | 삼성전자주식회사 | 트레이스 모듈을 구비한 마이크로프로세서 |
TW200401194A (en) * | 2002-07-11 | 2004-01-16 | Advanced Micro Devices Inc | Method and apparatus for determining a processor state without interrupting processor operation |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US7565576B2 (en) * | 2003-04-17 | 2009-07-21 | Seagate Technology Llc | Method and apparatus for obtaining trace data of a high speed embedded processor |
US7506210B1 (en) * | 2003-06-26 | 2009-03-17 | Xilinx, Inc. | Method of debugging PLD configuration using boundary scan |
US7076708B2 (en) * | 2003-09-25 | 2006-07-11 | International Business Machines Corporation | Method and apparatus for diagnosis and behavior modification of an embedded microcontroller |
US7219258B2 (en) * | 2003-12-10 | 2007-05-15 | International Business Machines Corporation | Method, system, and product for utilizing a power subsystem to diagnose and recover from errors |
US7434205B1 (en) | 2004-02-19 | 2008-10-07 | Steenhagen Shawn K | Virtual type interpretation, interaction and detection |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8082531B2 (en) | 2004-08-13 | 2011-12-20 | Cypress Semiconductor Corporation | Method and an apparatus to design a processing system using a graphical user interface |
US7480843B1 (en) | 2004-09-29 | 2009-01-20 | Xilinx, Inc. | Configuration access from a boundary-scannable device |
US7386772B1 (en) * | 2004-12-20 | 2008-06-10 | Emc Corporation | Test module for testing of electronic systems |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US9633213B2 (en) * | 2005-05-16 | 2017-04-25 | Texas Instruments Incorporated | Secure emulation logic between page attribute table and test interface |
US20060259828A1 (en) | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Systems and methods for controlling access to secure debugging and profiling features of a computer system |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US7451367B2 (en) * | 2006-02-14 | 2008-11-11 | Atmel Corporation | Accessing sequential data in microcontrollers |
US7533315B2 (en) * | 2006-03-06 | 2009-05-12 | Mediatek Inc. | Integrated circuit with scan-based debugging and debugging method thereof |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US7900106B2 (en) * | 2008-03-28 | 2011-03-01 | Atmel Corporation | Accessing sequential data in a microcontroller |
EP2393210B1 (de) | 2009-02-17 | 2018-09-12 | Huawei Technologies Co., Ltd. | Verfahren und vorrichtung zur stromversorgungsverwaltung und stromversorgungssystem |
JP5400443B2 (ja) | 2009-03-25 | 2014-01-29 | スパンション エルエルシー | 集積回路、デバッグ回路、デバッグコマンド制御方法 |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
WO2010136852A1 (en) * | 2009-05-29 | 2010-12-02 | Freescale Semiconductor, Inc. | Integrated circuit comprising trace logic and method for providing trace information |
US8745598B2 (en) | 2010-12-14 | 2014-06-03 | Bmc Software, Inc. | Running injected code prior to execution of an application |
US8762952B2 (en) | 2010-12-14 | 2014-06-24 | Bmc Software, Inc. | Recording method calls that led to an unforeseen problem |
US20150019775A1 (en) * | 2013-03-14 | 2015-01-15 | Microchip Technology Incorporated | Single Wire Programming and Debugging Interface |
US10234893B2 (en) * | 2013-05-13 | 2019-03-19 | Nvidia Corporation | Dual-domain dynamic multiplexer and method of transitioning between asynchronous voltage and frequency domains |
US9665468B2 (en) * | 2013-08-19 | 2017-05-30 | Intel Corporation | Systems and methods for invasive debug of a processor without processor execution of instructions |
US9404968B1 (en) | 2013-10-25 | 2016-08-02 | Altera Corporation | System and methods for debug connectivity discovery |
US9405604B2 (en) * | 2014-04-15 | 2016-08-02 | Apple Inc. | Method and apparatus for connecting debug interface to processing circuits without sideband interface |
US9720036B2 (en) * | 2014-08-18 | 2017-08-01 | Duke University | Signal tracing using on-chip memory for in-system post-fabrication debug |
GB2541454B (en) * | 2015-08-21 | 2021-10-13 | Siemens Ind Software Inc | Tracing interconnect circuitry |
CN110873814A (zh) * | 2018-08-30 | 2020-03-10 | 迈普通信技术股份有限公司 | 链路整合模组、实现边界扫描链整合测试的系统及方法 |
US11775378B2 (en) * | 2019-12-16 | 2023-10-03 | Micron Technology, Inc. | Memory health status reporting |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4788683A (en) * | 1986-01-14 | 1988-11-29 | Ibm Corporation | Data processing system emulation with microprocessor in place |
JP2678283B2 (ja) * | 1988-03-15 | 1997-11-17 | 株式会社日立製作所 | データ通信制御装置 |
US5355369A (en) * | 1991-04-26 | 1994-10-11 | At&T Bell Laboratories | High-speed integrated circuit testing with JTAG |
US5377198A (en) * | 1991-11-27 | 1994-12-27 | Ncr Corporation (Nka At&T Global Information Solutions Company | JTAG instruction error detection |
US5400345A (en) * | 1992-03-06 | 1995-03-21 | Pitney Bowes Inc. | Communications system to boundary-scan logic interface |
FR2693574B1 (fr) * | 1992-07-08 | 1994-09-09 | Sgs Thomson Microelectronics | Procédé pour tester le fonctionnement d'un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant. |
US5444859A (en) * | 1992-09-29 | 1995-08-22 | Amdahl Corporation | Method and apparatus for tracing multiple errors in a computer system subsequent to the first occurence and prior to the stopping of the clock in response thereto |
US5428623A (en) * | 1993-07-01 | 1995-06-27 | Tandem Computers Incorporated | Scannable interface to nonscannable microprocessor |
US5381420A (en) * | 1993-12-22 | 1995-01-10 | Honeywell Inc. | Decoupled scan path interface |
-
1994
- 1994-07-21 EP EP94202133A patent/EP0636976B1/de not_active Expired - Lifetime
- 1994-07-21 DE DE69415600T patent/DE69415600T2/de not_active Expired - Lifetime
- 1994-07-27 KR KR1019940018224A patent/KR100314693B1/ko not_active IP Right Cessation
- 1994-07-28 JP JP17688794A patent/JP3862291B2/ja not_active Expired - Fee Related
- 1994-07-28 US US08/281,964 patent/US5590354A/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020109305A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte SPI-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109310A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte UART-Schnittstelle mit Passwort geschütztem Speicherzugriff |
DE102020109307A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte JTAG-Schnittstelle mit Passwort geschütztem Speicherzugriff |
DE102021106440A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstelle mit Passwort geschütztem Speicherzugriff mit Speicherlöschung bei Speicherzugriff |
DE102020109303A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte JTAG-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109313A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstellen mit Passwort geschütztem Speicherzugriff |
DE102020109306A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte Schnittstellen mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109304A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte UART-Schnittstelle mit Passwort geschütztem Scan-Mode und Analog-Test-Bus |
DE102020109312A1 (de) | 2020-04-03 | 2021-10-07 | Elmos Semiconductor Se | Modifizierte SPI-Schnittstelle mit Passwort geschütztem Speicherzugriff |
Also Published As
Publication number | Publication date |
---|---|
KR950004018A (ko) | 1995-02-17 |
KR100314693B1 (ko) | 2002-02-19 |
DE69415600D1 (de) | 1999-02-11 |
JPH07175780A (ja) | 1995-07-14 |
EP0636976B1 (de) | 1998-12-30 |
EP0636976A1 (de) | 1995-02-01 |
JP3862291B2 (ja) | 2006-12-27 |
US5590354A (en) | 1996-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69415600T2 (de) | Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren | |
DE69706271T2 (de) | Integrierter Rechner mit Befehlsverfolgung | |
DE3851033T2 (de) | Datenprozessor mit Entwicklungsunterstützungsmerkmalen. | |
DE69705813T2 (de) | Diagnosesystem und Verfahren bei einer integrierten Halbleiterschaltung | |
DE69523884T2 (de) | Mikroprozessor mit Fehlersuchsystem | |
DE4313594C2 (de) | Mikroprozessor | |
DE69713856T2 (de) | Integrierte Halbleiterspeicheranordnung und Kommunikationsverfahren dafür | |
DE69801156T2 (de) | Mikroprozessorbetriebene anordnung mit cache-speicher zum aufnehmen von software-leistungsprofildaten | |
DE69523549T2 (de) | Mikroprozessor mit Fehlersuchsystem | |
DE69225750T2 (de) | Datenverarbeitungssystem mit internem Befehlspufferspeicher | |
DE69728244T2 (de) | Verfahren und Vorrichtung für die Fehlerbeseitigungsunterstützung eines Pipeline-Mikroprozessors | |
EP1248198B1 (de) | Programmgesteuerte Einheit mit Emulations-Einheiten | |
DE69830718T2 (de) | Ablaufdaten-cachespeicher fuer mikroprozessorbasierte anordung | |
DE69737732T2 (de) | Nachrichtenübertragungsverfahren für eine Testzugriffsportsteuerungsvorrichtung (TAP) | |
DE69317149T2 (de) | Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen | |
DE19834191C2 (de) | Integrierte Schaltungsvorrichtung und ihr Steuerverfahren | |
DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
DE69729057T2 (de) | Verfahren zum Anwenden eines Mehrwort-Befehlsregisters während der Fehlersuche eines Datenverarbeitungssystems | |
DE69715345T2 (de) | Eine integrierte Schaltung mit einer TAP (Testzugriffport) Steuerungsvorrichtung | |
DE3750236T2 (de) | Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung. | |
DE4418892C2 (de) | Mikrocomputer | |
EP1720100B1 (de) | Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit | |
DE69802977T2 (de) | Steuervorrichtung einer Auslösesignalreihenfolge | |
DE69714379T2 (de) | Integrierte Halbleiterspeicheranordnung und Kommunikationsverfahren dafür | |
DE69718279T2 (de) | Nachrichtenprotokoll |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: NXP B.V., EINDHOVEN, NL |