DE69027471T2 - Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet - Google Patents

Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet

Info

Publication number
DE69027471T2
DE69027471T2 DE69027471T DE69027471T DE69027471T2 DE 69027471 T2 DE69027471 T2 DE 69027471T2 DE 69027471 T DE69027471 T DE 69027471T DE 69027471 T DE69027471 T DE 69027471T DE 69027471 T2 DE69027471 T2 DE 69027471T2
Authority
DE
Germany
Prior art keywords
processor
debug
coupled
debugging
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69027471T
Other languages
English (en)
Other versions
DE69027471D1 (de
Inventor
Nigel John Allison
Rand Lee Gray
Jay Alan Hartvigsen
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE69027471D1 publication Critical patent/DE69027471D1/de
Publication of DE69027471T2 publication Critical patent/DE69027471T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

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

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft Entwicklungssystem-Hilfsprogramme und insbesondere eine Standard-Fehlersuchperipherie zur Schaffung von Entwicklungssystemunterstützung
  • Hintergrund der Erfindung
  • Heutige Hochleitungsmikroprozessoren und Mikrocomputer stellen immer größer werdende Anforderungen an Entwicklungsystemhilfsprogramme, die zur Fehlersuche in diesen hochentwickelten integrierten Schaltungen verwendet werden. Außerdem erfordert die erhöhte Vielfalt von standardisierten und kundenspezifischen Mikrocomputer-(MCU-) eine fundamentale Änderung im Design von Entwicklungssystem-Hilfsprogrammen. Neue Mikroprozessoren (MPU), die entworfen sind, um bei hohen Taktgeschwindigkeiten oberhalb von 33 MHz betrieben zu werden, treiben die Entwicklungssystemtechnologie an ihre Grenzen. Mittlerweile stellen die weitverbreitete Verwendung von existierenden Zentralverarbeitungseinheits-(CPU-)Designs für den Prozessorkern in MCUs Beschränkungen des Designs der Entwicklungssystem-Hilfprogramme dar. Mit der Verkürzung des Designzyklus für diese standardisierten und kundenspezifischen Kern-MCUs wird eine gleichsame Verfügbarkeit von Entwicklungssystem-Hilfprogrammen ständig problematischer. Konsequenterweise ist das Problem derart, daß Hochleistungsentwicklungssystem-Hilfsprogramme zeitig zur Verfügung stehen, um die große Vielfalt an Mikroprozessoren und Mikrocomputern, die auf den Markt kommen, zu unterstützen.
  • Der herkömmliche Designansatz für Entwicklungssystemunterstützung vertraut auf eine In-Circuit-Emulation zur Fehlersuche (zum Debuggen) der MCU/MPU-Prototyp-Software/Hardware. Typischerweise erlaubt die In-Curcuit-Emulation dem Software- Designer, die Ausführung der Software durch Unterbrechen der Programmausführung zu verschiedenen Zeitpunkten und durch Untersuchen des Inhalts der internen Register, Speicherstellen, und dergleichen zu verfolgen. In einigen Designs arbeitet der In-Curcuit-Emulator in einem Vordergrund- und Hintergrundmodus, wodurch der Emulator das Anwendungsprogramm (Nicht- Emulation) in dem Vordergrundmodus und das Fehlersuchprogramm (Emulation) in dem Hintergrundmodus verarbeitet. Demgemäß schaltet der In-Curcuit-Emulator Bänke zwischen Vordergrundund Hintergrundspeicherplatz während der Ausführung und dem Debuggen des Benutzerprogramms, weshalb die MCU in einem erweiterten Modus arbeiten muß, der die Rekonstruktion der I/O- Ports zu der externen Bus-Schnittstelle, die verloren worden sind, ermöglicht. Im allgemeinen erfordert das Vor- und Zurückschalten zwischen den Vordergrund- (Benutzer-) und Hintergrund- (Fehlersuch-) Speicherbänken ein substantielles Ausmaß an externer Pufferschaltung, um dem Betrieb der MCU in einem erweiterten Modus zu ermöglichen. Oftmals degradiert diese zusätzliche Pufferschaltung die Performance des Emulators und verhindert somit eine Echtzeitschaltungsemulation. Da die Implementierung des Vordergrund/Hintergrund- Speicherbankschalters ein wesentliches Ausmaß an externer Schaltung erfordert, wird eine Emulatorprüfeinrichtung anstelle einer kleinen Nebenplatinenprüfeinrichtung verwendet. Das Design der resultierenden Emulatorprüfeinrichtung ist zeitaufwendig und kostenaufwendig aufgrund der erforderlichen Entwicklungssystem-Entwicklungsausgaben.
  • Die europäische Patentanmeldung EP-A-0191632 lehrt die Verwendung von einem ROM-Emulator zum diagnoseförmigen Prüfen eines auf einem Mikroprozessor basierenden Systems. Der ROM- Emulator erzielt eine Steuerung des Mikroprozessors in dem zu testenden Gerät (DUT) und veranlaßt dann, daß der Mikroprozessor eine Reihe von Diagnosetests ablaufen läßt, die durch einen externen Computer (d.h. ein Entwicklungssystem) gesteuert werden. Im Benutzermodus liefert ein ROM Betriebsbefehle an den Mikroprozessor. Im Fehlersuchmodus liefert der ROM- Emulator die Betriebsbefehle an den Mikroprozessor. Somit setzt die in dieser europäischen Patentanmeldung beschriebene Anordnung im wesentlichen den ROM in dem DUT außer Kraft und setzt einen ROM-Emulator, der über ein Bandkabel durch einen parallelen I/O-Port mit dem DUT verbunden ist, ein. Der ROM- Emulator dieser Anwendung illustriert die oben beschriebenen Probleme; das Vorwärts- und Rückwärtsschalten zwischen der Vordergrund- (Benutzer-)Speicherbank und der Hintergrund (Fehlersuch-)Speicherbank erfordert ein wesentliches Ausmaß an externer Pufferschaltung, um den Betrieb des DUT in einem erweiterten Modus zu ermöglichen.
  • In Systemen gemäß dem Stand der Technik haben Designer Port- Ersetzungseinrichtungen oder Entkontaktierungseinrichtungen (bond out devices) beim Versuch eingesetzt, das Ausmaß an erforderlicher externer Schaltung zu verringern. Der primäre Nachteil bei Verwendung einer Port-Ersetzungs- oder Entkontaktiereinrichtung ist das Erfordernis nach zusätzlichen Design- und nach Wartungsressourcen. Im wesentlichen muß der Systemdesigner Designressourcen für die Port-Ersetzungs- oder Entkontaktierungseinrichtung, zusätzlich zu den Ressourcen, die für das MCU/MPU-Design erforderlich sind, zur Verfügung stellen. Noch ein weiterer Ansatz, der in der EP-A-0313848 von Motorola, Inc. offenbart ist, ist es, einen Background- Modus in den CPU-Kern zu integrieren. Diese Lösung ist in einigen Fällen optimal, aber sie ist oft unpraktisch, um andere als kleinere Modifikationen an existierenden CPU-Kernen durchzuführen.
  • Zusammenfassung der Erfindung
  • Eine Aufgabe der vorliegenden Erfindung ist es, die Möglichkeit einer Hintergrundmodusverarbeitung in einem existierenden CPU-Kern ohne Modifikation des Kerndesigns zu schaffen.
  • Eine andere Aufgabe der vorliegenden Erfindung ist es, Realzeit-In-Curcuit-Emulatoren für MCUs oder MPUs beliebig hoher Taktgeschwindigkeiten zu schaffen.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur wesentlichen Verringerung der Designzykluszeit für Entwicklungssystem-Hilfsprogramme zu schaffen.
  • Gemäß der vorliegenden Erfindung wird geschaffen eine Fehlersuchperipherie für ein Datenverarbeitungssystem, wobei das Datenverarbeitungssystem an eine externe Quelle gekoppelt ist und einen Datenprozessor zum Ausführen einer ersten Befehlssequenz, die von einem Befehlsspeicher über einen internen Kommunikationsbus empfangen wird, und zum Ausführen einer Sequenz von Fehlersuchbefehlen, die von der Fehlersuchperiphene über den internen Kommunikationsbus empfangen wird, hat, wobei die Fehlersuchperipherie aufweist:
  • eine Mehrzahl von externen Anschlüssen;
  • eine Steuereinrichtung, die an wenigstens eine der Mehrzahl der externen Anschlüsse gekoppelt ist, um ein Fehlersuchstartsignal von der externen Quelle zu empfangen, und um eine Steuerung des Prozessors durch Liefern eines Fehlersuch- Interrupt-Signals an den Prozessor als Antwort auf das Fehlersuchstartsignal zu übernehmen;
  • eine Registereinrichtung, die an den internen Kommunikationsbus gekoppelt ist, um Informationen zu speichern, die von dem Prozessor empfangen wird, und um die alternierende Befehlssequenz zu speichern, die von der externen Quelle empfangen wird, wobei die Registereinrichtung aufweist:
  • ein serielles Interface, das an die externe Quelle über wenigstens einen der Mehrzahl der externen Anschlüsse gekoppelt ist, um die extern zur Verfügung gestellten Fehlersuchbefehle zu empfangen und um gleichzeitig in einem Fehlersuchmodus über die Steuereinrichtung Daten, die von dem Prozessor empfangen wurden, an die externe Quelle zu liefern,
  • ein paralleles Interface, das über den internen Kommunikationsbus an den Prozessor gekoppelt ist, um die extern gelieferten Fehlersuchbefehle an den Prozessor zu liefern und um in dem Fehlersuchmodus Daten von dem Prozessor zu empfangen; und
  • eine Adreß-Decodereinrichtung, die an die Registereinrichtung gekoppelt ist, um die Registereinrichtung als Antwort auf eine alternierende Sequenz von Befehlsadressen, die von dem Prozessor über das parallele Interface empfangen wird, freizugeben, wobei die alternierende Sequenz von Befehlsadressen in ihrer Anzahl einer vorbestimmten Anzahl von Speicheradressen, die für die Fehlersuchperipherie vorgesehen sind, entspricht.
  • Ein Datenverarbeitungssystem, das eine Fehersuchperipherie gemäß der Erfindung aufweist, ist auch offenbart und in Anspruch 2 der beigefügten Ansprüche beansprucht.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm, das eine bevorzugte Ausführungsform eines Datenverarbeitungssystems mit Kernprozessor beinhaltender integrierter Schaltung darstellt.
  • Fig. 2 ist ein Blockdiagramm, das eine bevorzugte Ausführungsform der internen Architektur der Fehlersuchperipherie darstellt.
  • Beschreibung der Erfindung
  • Die Begriffe "Behaupten", "Behauptung", "Negieren" und "Negierung" werden verwendet, um eine Unklarheit bei Behandlung einer Mischung von "positiv logischen" und "negativ logischen" Signalen zu vermeiden. "Behaupten" und "Behauptung" werden verwendet, um anzuzeigen, daß ein Signal aktiv oder logisch wahr gemacht wird. "Negieren" und "Negierung" werden verwendet, um anzuzeigen, daß ein Signal unaktiv oder logisch falsch gemacht wird.
  • In Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems mit Kernprozessor beinhaltender integrierter Schaltung 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung gezeigt. Das Datenverarbeitungssystem 10 umfaßt im allgemeinen eine Zentralverarbeitungseinheit (CPU) 12, einen Speicher 14 und eine Fehlersuchperipherie 16. Ein CPU- interner Bus 18 ermöglicht die Kommunikation zwischen der CPU 12 und der Fehlersuchperipherie 16 und dem Speicher 14. Ein Entwicklungssystem 20 arbeitet mit dem Datenverarbeitungssystern zusammen, um beim "Debuggen" von Software und Hardware des Datenverarbeitungssystems 10 zu assistieren. Die externe Emulatorschaltung des Entwicklungssystems 20 ermöglicht es dem Verwender, verschiedene Funktionen durchzuführen, wie beispielsweise das Setzen von und Antworten auf bedingte Programmstopps, das Anhalten von Programmausführung der CPU 12, um den Inhalt verschiedener interner Register zu untersuchen und zu ändern, und die Softwareausführung zu verfolgen.
  • In einer bevorzugten Ausführungsform arbeitet das Verarbeitungssystem 10 in zwei Modi, einem Benutzermodus und einem Fehlersuchmodus (Debug-Modus). In dem Benutzermodus arbeitet das Datenverarbeitungssystem 10 auf konventionelle Art und Weise. Die CPU 12 ruft einen Befehl von dem Speicher 14 ab, decodiert den Befehl, führt den Befehl aus, und ruft den nächsten Befehl in der Sequenz zur Ausführung ab. Typischerweise läuft die Ausführung des Programms auf sequentielle Art und Weise weiter bis die CPU 12 einen bedingten Befehl oder eine Unterbrechung (interrupt) empfägt. Die Art und Weise, mit welcher die CPU 12 eine Unterbrechung behandelt, ist eine Funktion des Prozessordesigns. Im allgemeinen bewirkt das Auftreten einer Unterbrechung, daß die CPU 12 ihren normalen Betrieb aussetzt und beginnt eine Ausnahmeverarbeitung oder eine Unterbrechungsserviceroutine auszuführen. In der vorliegenden Erfindung tritt die CPU 12 als Antwort auf eine Unterbrechungsanfrage, die als Ergebnis eines internen Ereigniserkenners oder von einer externen Quelle, wie beispielsweise dem Entwicklungssystem 20, resultieren kann, in den Debug(Emulations-)Modus ein. Während der Emulation (Debug-Modus) ruft die CPU 12 Befehle von der Debug-Periphene 16 anstatt von dem Speicher 14 ab. Demgemäß setzt die CPU 12 die Ausführung des Benutzer-(Anwendungs-)Programms, das in dem Speicher 14 gespeichert ist, aus, und beginnt die Ausführung von Befehlen, die von der Debug-Periphene 16 erhalten werden. Im wesentlichen funktioniert die Debug-Periphene 16 als ein alternativer Speicher in dem Datenverarbeitungssystem 10.
  • In Fig. 2 ist ein Blockdiagramm gezeigt, das eine bevorzugte Ausführungsform der internen Architektur der Debug-Periphene 16 zeigt. Die Debug-Periphene 16 ist ein Einzelwort-Dualport-Speicher mit parallelem Lese-Schreib-Zugriff auf einer Seite und synchronem, seriellem Duplex-Lese-Schreib-Zugriff auf der anderen Seite. In der bevorzugten Ausführungsform umfaßt die Debug-Periphene 16 ein Schieberegister 22, einen Adreß-Decodierer 24 und einen Controller 26. Die serielle Seite der Debug-Periphene 16 ist mit dem Entwicklungssystem 20 über einen seriellen Eingabeblock (SI) 28, einem seriellen Takt/Programmstopp-Eingabeblock (SCLK/BRK*) 30 une einem seriellen Ausgabe/Abruf-Block (SO/ATTN*) 32, der entsprechende Signale SERIAL IN, SCLK/BRK*, und SERIAL OUT/ATTN* liefert, verbunden. Demgemäß steuern die SERIAL IN, SCLK/BRK* und SERIAL OUT/ATTN* Signale den seriellen Datentransfer zwischen der Debug-Periphene 16 und dem Entwicklungssystem 20. Ein Parallelzugriff auf die Debug-Periphene 16 wird durch die Verbindung des Befehls/Datenbus 34 zu dem CPU-internen Bus 18 geschaffen, und auf die Debug-Periphene 16 wird im wesentlichen auf dieselbe Art und Weise wie auf jede andere Peripherie auf einen Chip zugegriffen. Da die Befehle mehrere Wortlängen sein können, ist die Debug-Periphene 16 an 16 benachbarten Stellen in dem Speicherplatz der CPU 12 adressiert. Aus Gründen der Einfachheit wird die Anfangsadresse der Debug-Peripherie 16 im folgenden als DEBUG bezeichnet und somit sind die Adressen, bei denen die CPU 12 auf die Debug-Penphene 16 zugreifen kann, DEBUG bis DEBUG+$F.
  • Das Datenverarbeitungssystem 10 tritt bei Auftreten einer Programmstopp-Bedingung, die zu einer Unterbrechung der CPU 12 führt, in den Debug-Modus ein. Der Programmstopp kann extern das Ergebnis der Behauptung des BRK-Signals (durch das Entwicklungssystem 20) oder das Ergebnis eines internen Ereigniserkenners, der aus einem Register und einem Komparator (nicht gezeigt) besteht, sein. In dem Fall, in dem die Unterbrechung durch ein externes BRK-Signal bewirkt wird, antwortet der Controller 26 durch Behauptung eines Debug- Unterbrechung-Anforderungs-(DEBUG IRQ*-)Signals an die CPU 12. Der Controller 26 setzt das DEBUG IRQ*-Signal auf den CPU-internen Bus 18, was bewirkt, daß die CPU 12 durch Behaupten einer Debug-Unterbrechungsbestätigungssignals (DEBUG IACK*) anwortet, und beginnt die Ausführung einer Debug- Unterbrechungsserviceroutine. Die CPU 12 adressiert automatisch (autovector) die Debug-Periphene 16 auf die Adresse DEBUG durch Plazieren der DEBUG-Adresse auf den CPU-internen Bus 18. Als Antwort auf den Empfang der DEBUG-Adresse startet der Adreß-Decoder 24 das Schieberegister 22 über ein SELECT- Eingabesignal.
  • Die CPU 12 startet einen Befehlsabruf zyklus von der Debug- Peripherie 16 bei der Adresse DEBUG. Wenn der Befehlszyklus beginnt, antwortet das Schieberegister 22 durch Behaupten eines seriellen Ausgabesignals (SO). Der Controller 26, der mit dem Schieberegister 22 gekoppelt ist, empfängt das SO-Signal und behauptet das ATTN*-Signal, wodurch angezeigt wird, daß die Peripherie einen Abruf erfordert, und das Entwicklungssystem 20 von dem Beginn des Debug-Instruktionszyklus benachrichtigt wird. Im wesentlichen wird der Start des Instruktionsabrufzyklus extern durch Steuern des SO-Anschlusses von seinem ruhigen Hochpegel auf einen Tiefpegel extern reflektiert. Das Entwicklungssystem 20 antwortet durch Schreiben eines Befehls von dem Befehlssatz der CPU 12 in das Schieberegister 22 über den SI-Eingang 28. Der Controller 26 empfängt das SCLK-Signal von dem Entwicklungssystem 20 und liefert das SCLK-Signal an das Schieberegister 22. Konsequenterweise wird der von dem Entwicklungssystem 20 gelieferte Befehl mit dem SCLK-Signal in das Schieberegister 22 über den SI-Eingabeblock 28 getaktet. Wenn die Daten in das Schieberegister 22 geschrieben werden, kann jeglicher vorherige Schreibzugriff, den die CPU 12 auf die Debug-Periphene 16 gemacht hat, simultan über den SO-Ausgabeblock 32 zum Entwicklungssystem 20 ausgelagert werden. Konsequenterweise wird die CPU 12, wenn die CPU 12 einen Schreibzugriff auf die Debug-Peripherie 16 durchführt, bevor der derzeitige Befehl oder die Daten, welche in der Debug-Periphene 16 resident sind, angefordert werden, das derzeitige Wort in der Debug- Peripherie 16 für ungültig erklären. In dem Fall, daß dies auftritt, wird die Debug-Periphene 16 das Entwicklungssystem 20 über ein Status-Bit in dem seriellen Ausgabestrom in Kenntnis setzen, um das Wort neu zu laden.
  • Wenn der Befehl vollständig in dem Schieberegister 22 (ohne Fehler) zusammengesetzt ist, wird der derzeitige Befehl auf den Befehls/Datenbus 34 über den parallelen I/O-Port gesetzt. Der Controller 26 behauptet dann ein READY-Signal, wodurch die CPU 12 in Kenntnis gesetzt wird, daß der Befehl übertragen werden kann. Die CPU 12 überträgt den Befehl von dem Instruktions/Datenbus 34 und vervollständigt den Befehisabrufzyklus. Die CPU 12 fährt mit der Ausführung des Befehls fort. Um die Programmausführung innerhalb des 16-Byte-DEBUG- Adreßraums zu halten, sind die nachfolgenden Befehle, die durch die CPU 12 abgerufen werden, entweder Sprung- oder Verzweigungsbefehle zurück zu DEBUG. Das Design des Adreßschemas ist derart, daß jede der 16 benachbarten Adressen die CPU 12 zu dem Schieberegister 22 der DEBUG-Periphene 16 zurückverweist. Somit fährt die CPU 12 fort, Befehle von der DEBUG Peripherie 16 an den bezeichneten Adressen DEBUG bis $F abzurufen, bis das Debug-Vorprogramm abgeschlossen ist und der Benutzer wünscht, mit der Ausführung des Anwendungscodes fortzufahren. Konsequenterweise ist der Betriebsrnodus, normal oder debug, für die CPU 12 transparent, da in jedem Betriebsmodus (normal oder debug) die CPU 12 denselben Befehlssatz ausführt. Im wesentlichen kann die CPU 12 den Unterschied zwischen dem Befehlstyp in jedem der Betriebsmodi nicht unterscheiden. Auf Beendigung des Debug-Vorprogramms hin ist der letzte Befehl, der über den SI-Eingabeblock 28 in die Debug-Peripherie 16 geschrieben wird, ein Rücksprung von der Unterbrechung. Die Befehle, die während der Dauer des Debug- Vorprogramms ausgeführt werden, werden verwendet, um interne Register, Speicher zu lesen und zu schreiben, oder für irgendwelche anderen Operationen, die mit dem Debuggen des Systems zusammenhängen. Demgemäß kann das Entwicklugssystem 20 die herkömmlichen In-Curcuit-Emulationsbasiseinheiten implementieren, einschließlich dem Einsetzen von und der Antwort auf Programmstopps, dem Halten der Auführung des Datenprozessors, um den Inhalt von Systemregistern zu untersuchen, und dem Verfolgen der Software-Ausführung.
  • Das serielle Protokoll für die Debug-Periphene 16 unterstützt eine einfache Fehlererkennung durch Verwendung von Start-, Stopp- und Paritäts-Bits. Das Protokoll erfordert N+7 Bits pro Transfer, weshalb der serielle Takt von dem Entwicklungssystem 20 gezählt wird, um die N+7 Takte, die erforderlich sind, um den Transfer zu vervollständigen, zu schaffen. Die folgende Tabelle stellt die Funktion eines jeden Bits in dem seriellen Ein- und Ausgabe-Bitstrom dar. TABELLE 1 SERIELLES PROTOKOLL
  • Die Debug-Periphene 16 vermeidet das Erfordernis eines großen Ausmaßes an komplexer externer Emulatorschaltung, weshalb die Größe der Emulationsprüfeinrichtung in ihrer Größe wesentlich verringert ist. Die Prüfeinrichtung kann eine Nebenplatine in der Schaltungsplatine des Benutzers sein, die direkt in die MCU/MPU gesteckt oder an dieselbe angeklemmt wird. Beispielsweise wird eine typische Emulationssonde mit den Dimensionen 9 x 12 x 2 Inch durch Verwendung der Debug-Periphene 16 auf 3 x 4 x 1 Inch (oder weniger) verringert. Die Vermeidung des Emulatorkabels, das im allgemeinen bei herkömmlichen In-Curcuit-Emulatoren erforderlich ist, mindert das Erfordernis, den Prozessor vollständig zu puffern. Die Verringerung des Ausmaßes an Pufferschaltung ermöglicht eine Realzeitemulation mit Hochgeschwindigkeits-MPU/MCU- Chips ohne signifikante Zeitablaufverschlechterung.
  • Die Debug-Periphene 16 schafft einen Ladepfad zu dem Speicher 14 (RAN) auf dem Chip, wodurch das Erfordernis nach einem Urlader-ROM vermieden wird. Wenn das BRK*-Eingabesignal auf die Negierung des RESET-Signals (nicht gezeigt) der CPU 12 hin behauptet wird, fordert die CPU 12 ihren ersten Befehl von der Debug-Periphene 16 an. Dieses Merkmal ermöglicht, daß das Entwicklungssystem 20 ein beliebiges Programm in den Speicher 14 auf dem Chip über das Schieberegister 22 der Debug-Periphene 16 schreibt. Wenn das Programm einmal geladen ist, kann die Debug-Periphene 16 die Steuerung an das Programm weitergeben.
  • Die Debug-Periphene 16 erweitert die Prüfbarkeit der MCU/MPU im Test auf eine Vielzahl von Arten. Beispielsweise kann der Inhalt eines maskierten ROMs durch das serielle Interface verifiziert werden ohne in irgendeinen speziellen Testmodus einzutreten. Außerdem können Prozessorregister, ein RAM auf dein Chip und andere Peripherien auf dem Chip getestet werden, ohne das Erfordernis, in einen speziellen Testmodus einzutreten. Demgemäß schafft die Debug-Periphene 16 ein flexibles effizientes Standarddesign, das bei minimalen Kosten leicht von einer integrierten Schaltung zu einer anderen portiert werden kann.
  • Während die Erfindung in einer bevorzugten Ausführungsform beschrieben worden ist, ist es für den Fachmann klar, daß die offenbarte Erfindung auf vielzahlige Weisen modifiziert werden kann und viele Ausführungsformen, die anders als die speziell dargelegte und oben beschriebene sind, annehmen kann. Beispielsweise kann die CPU 12 den Unterbrechungsvektor direkt von der Debug- Peripherie 16 erhalten, im Gegensatz zu der bevorzugten Ausführungsform, in welcher das Unterbrechungssignal bewirkt, daß die CPU 12 die Adresse (DEBUG) der Debug-Periphene 16 automatisch adressiert. Demgemäß ist beabsichtigt, durch die beigefügten Ansprüche alle Modifikationen der Erfindung, die in den Umfang der Erfindung fallen, abzudecken.

Claims (2)

1. Eine Fehlersuchperipherie für ein Datenverarbeitungssystem (10), wobei das Datenverarbeitungssystem an eine externe Quelle (20) gekoppelt ist und einen Datenprozessor (12) zum Ausführen einer ersten Befehlssequenz, die von einem Befehlsspeicher (14) über einen internen Kommunikationsbus (18) empfangen wird, und zum Ausführen einer Sequenz von Fehlersuchbefehlen, die von der Fehlersuchperipherie (16) über den internen Kommunikationsbus (18) empfangen wird, hat, wobei die Fehlersuchperipherie aufweist:
eine Mehrzahl von externen Anschlüssen (30, 32);
eine Steuereinrichtung (26) , die an wenigstens eine der Mehrzahl der externen Anschlüsse (30, 32) gekoppelt ist, um ein Fehlersuchstartsignal von der externen Quelle (20) zu empfangen, und um eine Steuerung des Prozessors (12) durch Liefern eines Fehlersuch-Interrupt-Signals an den Prozessor (12) als Antwort auf das Fehlersuchstartsignal zu übernehmen;
eine Registereinrichtung (22, 28, 34), die an den internen Kommunikationsbus (18) gekoppelt ist, um Informationen zu speichern, die von dem Prozessor empfangen wird, und um die alternierende Befehlssequenz zu speichern, die von der externen Quelle empfangen wird, wobei die Registereinrichtung aufweist:
ein serielles Interface (28) , das an die externe Quelle (20) über wenigstens einen der Mehrzahl der externen Anschlüsse (30, 32) gekoppelt ist, um die extern zur Verfügung gestellten Fehlersuchbefehle zu empfangen und um gleichzeitig in einem Fehlersuchmodus über die Steuereinrichtung (26) Daten, die von dem Prozessor (12) empfangen wurden, an die externe Quelle (20) zu liefern,
ein paralleles Interface (34), das über den internen Kommunikationsbus (18) an den Prozessor (12) gekoppelt ist, um die extern gelieferten Fehlersuchbefehle an den Prozessor (12) zu liefern und um in dem Fehlersuchmodus Daten von dem Prozessor (12) zu empfangen; und
eine Adress-Decodereinrichtung (24) , die an die Registereinrichtung (22, 28, 34) gekoppelt ist, um die Registereinrichtung (22, 28, 34) als Antwort auf eine alternierende Sequenz von Befehlsadressen, die von dem Prozessor (12) über das parallele Interface (34) empfangen wird, freizugeben, wobei die alternierende Sequenz von Befehlsadressen in ihrer Anzahl einer vorbestimmten Anzahl von Speicheradressen, die für die Fehlersuchperipherie vorgesehen sind, entspricht.
2. Ein Datenverarbeitungssystem (10) , das an eine externe Quelle (20) gekoppelt ist, wobei das Datenverarbeitungssystem (10) aufweist:
einen Prozessor (12) zum Ausführen einer ersten Befehlssequenz, die von dem Prozessor (12) als Antwort auf eine erste Sequenz von Befehlsadressen empfangen wird, und zum Ausführen einer alternierenden Sequenz von extern zur Verfügung gestellten Befehlen, die durch den Prozessor (12) als Antwort auf eine alternierende Sequenz von Befehlsadressen empfangen wird;
einen internen Prozessorkommunikationsbus (18) , der an den Prozessor (12) gekoppelt ist;
einen Speicher (14) , der an den internen Prozessorkommunikationsbus (18) gekoppelt ist, zur Speicherung einer Mehrzahl von Befehlen und um die erste Befehlssequenz an den Prozessor (12) als Antwort auf die erste Sequenz der Befehlsadressen, die von dem Prozessor (12) empfangen wird, zu liefern; und
eine Fehlersuchperipherie (16) , die an den internen Prozessorkommunikationsbus (18) gekoppelt ist, um die Steuerung des Prozessors (12) als Antwort auf ein Fehlersuchstartsignal, das von einer externen Quelle (20) geliefert wird, zu übernehmen, wobei die Fehlersuchperipherie (16) die alternierende Sequenz von extern zur Verfügung gestellten Befehlen von der externen Quelle (20) empfängt, und um die alternierende Sequenz von extern zur Verfügung gestellten Befehlen an den Prozessor (12) als Antwort auf die alternierende Sequenz von Befehlsadressen zu liefern, wobei die Fehlersuchperipherie (16) weiter Daten speichert, die von dem Prozessor (12) empfangen werden, und Daten an die externe Quelle (20) liefert, wobei die Fehlersuchperipherie (16) aufweist:
eine Mehrzahl von externen Anschlüssen (30, 32)
eine Steuereinrichtung (26) , die an wenigstens eine der Mehrzahl der externen Anschlüsse (30, 32) gekoppelt ist, um die Steuerung des Prozessors (12) durch Liefern eines Fehlersuch- Interrupt-Signals an den Prozessor (12) als Antwort auf das Fehlersuchstartsignal zu übernehmen;
eine Registereinrichtung (22, 28, 34), die an den internen Prozessorkommunikationsbus (18) und die Steuereinrichtung (26) gekoppelt ist, um Information, die von dem Prozessor empfangen wird, zu speichern und die alternierende Sequenz von Befehlen, die von der externen Quelle empfangen wird, zu speichern, wobei die Registereinrichtung aufweist:
ein serielles Interface (28) , das an die externe Quelle (20) gekoppelt ist, um die alternierende Sequenz von extern zur verfügung gestellten Befehlen zu empfangen und um die von dem Prozessor (12) empfangenen Daten an die Steuereinrichtung (26) im Fehlersuchmodus zu liefern;
ein paralleles Interface (34) , das an den Prozessor (12) über den internen Kommuniktionsbus (18) gekoppelt ist, um die alternierende Sequenz der extern zur Verfügung gestellten Befehle an den Prozessor (12) zu liefern und um Daten von dem Prozessor im Fehlersuchmodus zu empfangen; und
eine Adress-Decodereinrichtung (24), die an den internen Prozessorkommunikationsbus (18) gekoppelt ist, um die Registereinrichtung (22, 28, 34) als Antwort auf die alternierende Sequenz von Befehlsadressen, die von dem Prozessor (12) empfangen wird, freizugeben, wobei die alternierende Sequenz von Befehisadressen in ihrer Anzahl einer vorbestimmten Anzahl an Speicheradressen, die für die Fehlersuchperipherie vorgesehen sind, entspricht.
DE69027471T 1989-04-03 1990-03-23 Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet Expired - Fee Related DE69027471T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/332,130 US5053949A (en) 1989-04-03 1989-04-03 No-chip debug peripheral which uses externally provided instructions to control a core processing unit

Publications (2)

Publication Number Publication Date
DE69027471D1 DE69027471D1 (de) 1996-07-25
DE69027471T2 true DE69027471T2 (de) 1997-01-02

Family

ID=23296834

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69027471T Expired - Fee Related DE69027471T2 (de) 1989-04-03 1990-03-23 Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet

Country Status (6)

Country Link
US (1) US5053949A (de)
EP (1) EP0391173B1 (de)
JP (1) JP3105223B2 (de)
KR (1) KR0168656B1 (de)
DE (1) DE69027471T2 (de)
HK (1) HK1000737A1 (de)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085336A (en) * 1987-06-02 2000-07-04 Texas Instruments Incorporated Data processing devices, systems and methods with mode driven stops
US5475631A (en) * 1989-03-09 1995-12-12 Micron Technology, Inc. Multiport RAM based multiprocessor
US5210864A (en) * 1989-06-01 1993-05-11 Mitsubishi Denki Kabushiki Kaisha Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline
US5394544A (en) * 1989-08-07 1995-02-28 Ricoh Co., Ltd. Software system debugger with distinct interrupt vector maps for debugging and application programs
JPH03204737A (ja) * 1990-01-08 1991-09-06 Nec Corp 信号処理プロセッサのデバッグ回路
FR2656940A1 (fr) * 1990-01-09 1991-07-12 Sgs Thomson Microelectronics Circuit integre a microprocesseur fonctionnant en mode rom interne et eprom externe.
JPH03248244A (ja) * 1990-02-27 1991-11-06 Toshiba Corp キャッシュメモリを備えたプロセッサ
US5228039A (en) * 1990-05-09 1993-07-13 Applied Microsystems Corporation Source-level in-circuit software code debugging instrument
US5581695A (en) * 1990-05-09 1996-12-03 Applied Microsystems Corporation Source-level run-time software code debugging instrument
EP0474256A3 (en) * 1990-09-07 1993-01-27 Nec Corporation In-circuit emulator
EP0495254B1 (de) * 1991-01-17 1996-08-14 Koninklijke Philips Electronics N.V. Emulator zur Emulation eines verbindungsloses Mikrokontroller und Mikrokontroller zur Verwendung in einem solchen Emulator
US5321828A (en) * 1991-06-07 1994-06-14 Step Engineering High speed microcomputer in-circuit emulator
JPH05181824A (ja) * 1991-12-27 1993-07-23 Fujitsu Ltd データ管理方式
DE69317149T2 (de) * 1992-05-12 1998-10-08 Nec Corp Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen
FR2691817B1 (fr) * 1992-05-27 1997-01-31 Sgs Thomson Microelectronics Procede et carte electronique pour le developpement d'un circuit integre.
JPH05334459A (ja) * 1992-05-28 1993-12-17 Nec Corp マイクロコンピュータ
JPH06195478A (ja) * 1992-07-21 1994-07-15 Advanced Micro Devicds Inc 集積回路
US5390332A (en) * 1992-09-15 1995-02-14 Sun Microsystems, Inc. Method and apparatus for performing a takeover of a microprocessor
FR2696561B1 (fr) * 1992-10-02 1994-12-23 Sgs Thomson Microelectronics Micro-calculateur pouvant fonctionner en mode d'émulation avec des périphériques internes et externes.
JP3210466B2 (ja) * 1993-02-25 2001-09-17 株式会社リコー Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム
US5539901A (en) * 1993-09-30 1996-07-23 Intel Corporation Method and apparatus for system management mode support for in-circuit emulators
US5430858A (en) * 1993-11-24 1995-07-04 Northrop Grumman Corporation Method for RAM conservation employing a RAM disk area non-sequential addresses on arranged order basis to access executable procedures
US5488688A (en) * 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
US5572665A (en) * 1994-04-21 1996-11-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit for developing a system using a microprocessor
US5615331A (en) * 1994-06-23 1997-03-25 Phoenix Technologies Ltd. System and method for debugging a computing system
US5809293A (en) * 1994-07-29 1998-09-15 International Business Machines Corporation System and method for program execution tracing within an integrated processor
JP3380827B2 (ja) * 1995-02-09 2003-02-24 三菱電機株式会社 エミュレータ装置
US5701488A (en) * 1995-06-07 1997-12-23 Motorola, Inc. Method and apparatus for restoring a target MCU debug session to a prior state
US5737516A (en) * 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
JP3846939B2 (ja) * 1995-08-30 2006-11-15 フリースケール セミコンダクター インコーポレイテッド データプロセッサ
US5704034A (en) * 1995-08-30 1997-12-30 Motorola, Inc. Method and circuit for initializing a data processing system
US5964893A (en) * 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
US5544311A (en) * 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5869979A (en) 1996-04-05 1999-02-09 Altera Corporation Technique for preconditioning I/Os during reconfiguration
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
US5915083A (en) * 1997-02-28 1999-06-22 Vlsi Technology, Inc. Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device
US6141740A (en) * 1997-03-03 2000-10-31 Advanced Micro Devices, Inc. Apparatus and method for microcode patching for generating a next address
US5983337A (en) * 1997-06-12 1999-11-09 Advanced Micro Devices, Inc. Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction
US6249881B1 (en) * 1997-07-01 2001-06-19 National Semiconductor Corporation Method for enabling and servicing critical interrupts while running an interrupt based debug monitor
KR100477138B1 (ko) * 1997-08-13 2005-07-08 삼성전자주식회사 퍼스널컴퓨터시스템
US6356960B1 (en) 1997-10-29 2002-03-12 Sgs-Thomson Microelectronics Limited Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port
US6405335B1 (en) 1998-02-25 2002-06-11 Texas Instruments Incorporated Position independent testing of circuits
GB9805488D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
GB9805482D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
JPH11282709A (ja) * 1998-03-27 1999-10-15 Mitsubishi Electric Corp インサーキットエミュレータ
DE19835610A1 (de) 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben
JP2000099366A (ja) * 1998-09-21 2000-04-07 Fujitsu Ltd 演算処理装置および演算処理装置のデバッグ方法
JP3736980B2 (ja) * 1998-12-28 2006-01-18 富士通株式会社 マイクロコントローラの評価装置および評価方法
JP2000266603A (ja) 1999-03-19 2000-09-29 Tokyo Electron Ltd 放射温度測定方法及び放射温度測定装置
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US6728915B2 (en) 2000-01-10 2004-04-27 Texas Instruments Incorporated IC with shared scan cells selectively connected in scan path
US6769076B1 (en) * 2000-02-07 2004-07-27 Freescale Semiconductor, Inc. Real-time processor debug system
WO2001063416A1 (en) * 2000-02-24 2001-08-30 Bops Incorporated Methods and apparatus for scalable array processor interrupt detection and response
US6769080B2 (en) 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
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
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6823282B1 (en) * 2000-10-26 2004-11-23 Cypress Semiconductor Corporation Test architecture for microcontroller providing for a serial communication interface
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
DE10125388A1 (de) * 2001-05-23 2002-12-12 Infineon Technologies Ag Programmgesteuerte Einheit
JP4437881B2 (ja) * 2001-06-22 2010-03-24 富士通マイクロエレクトロニクス株式会社 デバッグサポートユニットを有するマイクロコントローラ
DE10132313A1 (de) * 2001-07-06 2003-01-23 Infineon Technologies Ag Programmgesteuerte Einheit
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
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
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
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
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
KR100425692B1 (ko) * 2002-01-23 2004-04-01 엘지전자 주식회사 프로세서의 외부 메모리 억세스 장치
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
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US20040239635A1 (en) * 2003-05-23 2004-12-02 Lerner Ronald L. Apparatus and method for loop-back testing in a system test/emulation environment
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8136096B1 (en) * 2004-07-23 2012-03-13 Green Hills Software, Inc. Backward post-execution software debugger
US8132159B1 (en) 2004-07-23 2012-03-06 Green Hills Software, Inc. Post-execution software debugger with event display
US8271955B1 (en) 2004-07-23 2012-09-18 Green Hille Software, Inc. Forward post-execution software debugger
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
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
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7437616B2 (en) * 2005-12-15 2008-10-14 Atmel Corporation Dual CPU on-chip-debug low-gate-count architecture with real-time-data tracing
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US20070300042A1 (en) * 2006-06-27 2007-12-27 Moyer William C Method and apparatus for interfacing a processor and coprocessor
US7925862B2 (en) * 2006-06-27 2011-04-12 Freescale Semiconductor, Inc. Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges
US7805590B2 (en) * 2006-06-27 2010-09-28 Freescale Semiconductor, Inc. Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence
US8392632B2 (en) * 2007-02-14 2013-03-05 Samsung Electronics Co., Ltd Method and apparatus for data processing in mobile communication system
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
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
JP5067111B2 (ja) * 2007-10-18 2012-11-07 富士通セミコンダクター株式会社 半導体集積回路及びデバッグモード決定方法
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US9665466B2 (en) 2014-09-02 2017-05-30 Nxp Usa, Inc. Debug architecture for multithreaded processors
GB2582790B (en) * 2019-04-03 2021-03-31 Graphcore Ltd Debugging mechanism

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4231087A (en) * 1978-10-18 1980-10-28 Bell Telephone Laboratories, Incorporated Microprocessor support system
US4338660A (en) * 1979-04-13 1982-07-06 Relational Memory Systems, Inc. Relational break signal generating device
US4349870A (en) * 1979-09-05 1982-09-14 Motorola, Inc. Microcomputer with programmable multi-function port
US4486827A (en) * 1979-11-09 1984-12-04 Zilog, Inc. Microprocessor apparatus
US4312066A (en) * 1979-12-28 1982-01-19 International Business Machines Corporation Diagnostic/debug machine architecture
US4419756A (en) * 1980-06-05 1983-12-06 Bell Telephone Laboratories, Incorporated Voiceband data set
US4463421A (en) * 1980-11-24 1984-07-31 Texas Instruments Incorporated Serial/parallel input/output bus for microprocessor system
US4441154A (en) * 1981-04-13 1984-04-03 Texas Instruments Incorporated Self-emulator microcomputer
JPS58105366A (ja) * 1981-12-16 1983-06-23 Fujitsu Ltd デバツグ機能を持つマイクロコンピユ−タ
JPS59146352A (ja) * 1983-02-09 1984-08-22 Nec Corp シングル・チップ・マイクロコンピュータ
US4569048A (en) * 1983-09-19 1986-02-04 Genrad, Inc. Method and apparatus for memory overlay
US4703446A (en) * 1984-07-03 1987-10-27 Nec Corporation Data processing unit diagnosis control apparatus
US4691316A (en) * 1985-02-14 1987-09-01 Support Technologies, Inc. ROM emulator for diagnostic tester
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
US4677586A (en) * 1985-06-04 1987-06-30 Texas Instruments Incorporated Microcomputer device having test mode substituting external RAM for internal RAM
US4809167A (en) * 1985-07-03 1989-02-28 Metalink Corporation Circuitry for emulating single chip microcomputer without access to internal buses
US4710927A (en) * 1986-07-24 1987-12-01 Integrated Device Technology, Inc. Diagnostic circuit
US4837764A (en) * 1987-03-26 1989-06-06 Bunker Ramo Corporation Programmable apparatus and method for testing computer peripherals

Also Published As

Publication number Publication date
JPH02287635A (ja) 1990-11-27
US5053949A (en) 1991-10-01
JP3105223B2 (ja) 2000-10-30
HK1000737A1 (en) 1998-04-24
EP0391173A2 (de) 1990-10-10
EP0391173A3 (de) 1991-10-30
DE69027471D1 (de) 1996-07-25
KR0168656B1 (ko) 1999-01-15
EP0391173B1 (de) 1996-06-19
KR900016866A (ko) 1990-11-14

Similar Documents

Publication Publication Date Title
DE69027471T2 (de) Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet
DE3851033T2 (de) Datenprozessor mit Entwicklungsunterstützungsmerkmalen.
DE69817725T2 (de) Mikroprozessor Testsystem
DE4313594C2 (de) Mikroprozessor
DE69633166T2 (de) Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
US6598178B1 (en) Peripheral breakpoint signaler
DE60008088T2 (de) Mehrprozessorsystem Prüfungsschaltung
US6175914B1 (en) Processor including a combined parallel debug and trace port and a serial port
US4503495A (en) Data processing system common bus utilization detection logic
US6041406A (en) Parallel and serial debug port on a processor
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JP4335999B2 (ja) プロセッサ内蔵半導体集積回路装置
US6052774A (en) Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command
DE19847642C2 (de) PCI-PCI-Brücke
DE69126756T2 (de) Prüfbare RAM-Architektur in einem Mikroprozessor mit eingebettetem Cache-Speicher
EP0652516A1 (de) Integrierter Mikroprozessor
DE4311441C2 (de) Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß
DE69815006T2 (de) Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten
US5678003A (en) Method and system for providing a restartable stop in a multiprocessor system
WO2004049159A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
DE19960574A1 (de) PCI-Fehlerbehebungsvorrichtung,-Verfahren und -System
DE68924507T2 (de) Verfahren und Gerät zur Markierung von Emulationsanalysezuständen.
EP0194185A2 (de) Rechneranlage mit Befehlsüberwachungsanordnung
DE69333445T2 (de) Mikroprozessor mit hardwaregesteuerter Leistungsverwaltung und auswählbaren Eingangs-/Ausgangssteuerungssteckerstiften und Verfahren hierfür

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee