[go: up one dir, main page]

DE69415600T2 - Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren - Google Patents

Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren

Info

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
Application number
DE69415600T
Other languages
English (en)
Other versions
DE69415600D1 (de
Inventor
Jacobus M. C/O Int. Octrooibureau B.V. Nl-5656 Aa Eindhoven Bakker
Peter C/O Int. Octrooibureau B.V. Nl-5656 Aa Eindhoven Klapproth
Gerardus C. C/O Int. Octrooibureaub.V. Nl-5656 Aa Eindhoven Van Loo
Frederik C/O Int. Octrooibureau B.V. Nl-5656 Aa Eindhoven Zandveld
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69415600D1 publication Critical patent/DE69415600D1/de
Application granted granted Critical
Publication of DE69415600T2 publication Critical patent/DE69415600T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3656Debugging of software using additional hardware using a specific debug interface
    • 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/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • 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/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • 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/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/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

    BEREICH DER ERFINDUNG
  • 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • 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.
  • AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • 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
DE69415600T 1993-07-28 1994-07-21 Mikrokontroller mit hardwaremässiger Fehlerbeseitigungsunterstützung nach dem Boundary-Scanverfahren Expired - Lifetime DE69415600T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (9)

* Cited by examiner, † Cited by third party
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