DE69625293T2 - Prüfmodusmatrixschaltkreis für einen eingebetteten Mikroprozessorkern - Google Patents

Prüfmodusmatrixschaltkreis für einen eingebetteten Mikroprozessorkern

Info

Publication number
DE69625293T2
DE69625293T2 DE69625293T DE69625293T DE69625293T2 DE 69625293 T2 DE69625293 T2 DE 69625293T2 DE 69625293 T DE69625293 T DE 69625293T DE 69625293 T DE69625293 T DE 69625293T DE 69625293 T2 DE69625293 T2 DE 69625293T2
Authority
DE
Germany
Prior art keywords
microprocessor
bus
test mode
circuits
circuit
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
DE69625293T
Other languages
English (en)
Other versions
DE69625293D1 (de
Inventor
Cory Ansel Cherichetti
Peter Stewart Colyer
David Robert Stauffer
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69625293D1 publication Critical patent/DE69625293D1/de
Publication of DE69625293T2 publication Critical patent/DE69625293T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • 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/318505Test of Modular systems, e.g. Wafers, MCM's

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

    DER ERFINDUNG ZUGRUNDE LIEGENDER ALLGEMEINER STAND DER TECHNIK 1. BEREICH DER TECHNIK
  • Diese Erfindung betrifft allgemein integrierte Schaltungen und insbesondere anwendungsspezifische integrierte Schaltungen (ASICs) mit einem oder mehreren eingebetteten Mikroprozessorkernen, die es ermöglichen, den Mikroprozessorkern mit standardmäßigen Testvektoren zu prüfen, und die es ermöglichen, mit Hilfe eines In-Circuit-Emulators (ICE) Fehler in der Software für jeden Mikroprozessorkern aufzuspüren.
  • 2. STAND DER TECHNIK
  • Moderne elektronische Systeme enthalten häufig eingebettete Mikroprozessoren oder Mikrocontroller. Da eine immer höhere Integrationsdichte und höhere Leistung gefordert werden, geht die Tendenz dahin, einen Mikroprozessor oder Mikrocontroller (der nachstehend allgemein als Mikroprozessor bezeichnet wird) in eine anwendungsspezifische integrierte Schaltung (ASIC) einzubetten. Der resultierende ASIC enthält den Mikroprozessor-"Kern" sowie anwendungsspezifische Logik, die auf einem einzigen Chip untergebracht sind.
  • Da der Mikroprozessorkern in einem ASIC typischerweise nur an Logik innerhalb des ASIC angeschlossen ist, ist es während des Normalbetriebs gewöhnlich nicht notwendig, Eingangs-/Ausgangs- (E/A-)Signale vom Mikroprozessorkern an die primären E/A- Treiber/Empfänger (d. h. die chipexternen E/A- Treiber/Empfänger) des ASIC anzuschließen. Wenn auf die E/A des Mikroprozessors jedoch nicht außerhalb des ASIC-Chip zugegriffen werden kann, wird es sehr viel schwieriger, den Mikroprozessorkern innerhalb des ASIC zu prüfen. Üblicherweise werden eigenständige Mikroprozessoren geprüft, indem ein Satz Testvektoren an die Eingänge angelegt und die Ausgänge auf die erwarteten Reaktionen überwacht werden. Diese Sätze von Testvektoren werden oftmals als Architectural Verification Patterns (AVPs) bezeichnet. Wenn der Mikroprozessor in der ASIC-Logik eingebettet ist, können die für den eigenständigen Mikroprozessor entwickelten AVPs nicht mehr verwendet werden. Neue AVPs, die dem Verhalten des eingebetteten Mikroprozessors sowie der anwendungsspezifische Logik Rechnung tragen, könnten entwickelt werden. Dies würde jedoch neue und ganz spezielle AVPs für jeden ASIC erforderlich machen. Die Entwicklung von AVPs für ein Halbleiterbauelement ist ein sehr kostspieliger und zeitaufwendiger Prozess, und die Erzeugung neuer AVPs für jedes ASIC-Bauelement würde folglich die Entwicklungskosten für jedes Bauelement stark in die Höhe treiben. Es ist daher wünschenswert, eine Möglichkeit zum Testen eines in einem ASIC realisierten Mikroprozessorkerns bereitzustellen, wobei die standardmäßigen AVPs verwendet werden, die für den eigenständigen Mikroprozessor entwickelt wurden.
  • Eine weitere Schwierigkeit, die sich ergibt, wenn man einen Mikroprozessorkern in einen ASIC einbettet, ist mit der Prüfung der Software verbunden, die auf dem eingebetteten Mikroprozessorkern läuft. Typischerweise wird Software für Mikroprozessoren unter Verwendung eines als In-Circuit- Emulator (ICE) bezeichneten Prüfwerkzeugs geprüft und auf die Hardware abgestimmt. Ein ICE hat gewöhnlich Anschlusspunkte, die mit den Anschlusspunkten des Mikroprozessors verbunden werden, und er emuliert den Betrieb des Mikroprozessors, während er erweiterte Möglichkeiten zum Aufspüren von Fehlern (Debugging) bereitstellt. Ein eigenständiger Mikroprozessor kann somit aus einem integrierten System entfernt und während der Fehlersuche in der Systemhardware und -software durch einen ICE ersetzt werden. Wenn ein Mikroprozessor in einem ASIC realisiert wird, sind die Anschlusspunkte zum Mikroprozessor jedoch in der ASIC-Logik vergraben. Eine Möglichkeit, einen ICE mit einem Mikroprozessor zu verwenden, der in einen ASIC eingebettet ist, besteht darin, alle E/A- Signale des Mikroprozessors externen E/A-Anschlussstiften auf dem ASIC-Bauelement zuzuführen. Bei den meisten Anwendungen wird jedoch die überwiegende Zahl der E/A-Signale des Mikroprozessors während des Normalbetriebs an den externen E/A-Anschlussstiften nicht benötigt. Würden alle E/A-Signale des Mikroprozessors als E/A-Anschlussstifte auf dem ASIC- Bauelement hinzugefügt werden, die nur während der Entwicklung des ASIC verwendet werden, würde die Packungsgröße für den ASIC enorm zunehmen, was zu einer deutlichen Kostensteigerung führen würde. Dieses Verfahren der Bereitstellung von externen E/A-Anschlussstiften auf einem ASIC, um einen ICE mit einem eingebetteten Mikroprozessor verwenden zu können, stellt im Allgemeinen keine kostengünstige Lösung dar. Bei Anwendungen, die zwei oder mehr eingebettete Mikroprozessorkerne in einem ASIC erforderlich machen, würde die Bereitstellung aller entsprechenden E/A-Signale des Mikroprozessors an externen E/A-Anschlussstiften außerdem zu einer nicht zu bewältigenden Anzahl von E/A-Anschlüssen führen.
  • Verschiedene Architekturen sind bekannt, um einen Mikroprozessorkern in einen ASIC einzubetten. Beispielsweise legt die US-Patentschrift Nr. 5 254 940 mit dem Titel "Testable Embedded Microprocessor and Method of Testing Same" (das Patent wurde am 19.10.93 Oke u. a. erteilt und auf LSI Logic Corp. übertragen) ein Verfahren offen, bei dem ein Mikroprozessorkern so eingebettet wird, dass die E/A-Signale des Mikroprozessors nur dann nach außerhalb des Chip geleitet werden, wenn der ASIC für einen speziellen Testmodus konfiguriert wird. Fig. 1 der Beschreibung ist eine Wiedergabe von Fig. 2 der Patentschrift von Oke u. a. Während des Normalbetriebs werden die Ausgangsanschlüsse 214 des Chip für Signale an die/von der anwendungsspezifischen Logik verwendet. Diese Schaltung 200 gestattet es, den eingebetteten Mikroprozessor 204 unter Verwendung der standardmäßigen AVPs zu prüfen, die für den eigenständigen Mikroprozessor entwickelt wurden. Die Schaltung nach Oke u. a. ist jedoch dahingehend begrenzt, dass der eingebettete Mikroprozessor nicht durch einen ICE ersetzt werden kann. Außerdem ist die Schaltung nach Oke u. a. auf einseitig gerichtete Signale beschränkt und stellt keine Lösung für zweiseitig gerichtete E/A-Leitungen bereit.
  • Ein anderer Gestaltungsentwurf zur Einbettung eines Mikroprozessors in einen ASIC ist in der US-Patentschrift Nr. 5 304 860 mit dem Titel "Method for Powering Down a Microprocessor Embedded within a Gate Array" beschrieben (das Patent wurde am 19.4.94 Ashby u. a. erteilt und auf Motorola Inc. übertragen). Fig. 2 der Beschreibung ist eine Wiedergabe von Fig. 7 der Patentschrift von Ashby u. a. Die Patentschrift von Ashby u. a. beschreibt ein Verfahren, bei dem der Mikroprozessorkern so eingebettet wird, dass der eingebettete Mikroprozessorkern und die anwendungsspezifische Logik voneinander getrennt werden können. Die Schaltung nach Ashby u. a. gestattet es, den eingebetteten Mikroprozessorkern unter Verwendung von standardmäßigen AVPs zu prüfen und erlaubt den Anschluss eines ICE, um den eingebetteten Mikroprozessor zu emulieren. Die Schaltung kann jedoch nicht alle E/A-Signale des Mikroprozessors, die an die anwendungsspezifische Logik angeschlossen werden, den E/A-Anschlussstiften während aller Betriebsarten zugänglich machen. Durch die höhere E/A- Anschluss zahl, die notwendig ist, nehmen üblicherweise die Chipgröße, die Packungsgröße und damit die Kosten des ASIC zu. Das Problem einer übermäßigen Anzahl von Ausgangsanschlüssen wird bei denjenigen ASICs noch verschärft, die mehr als einen eingebetteten Mikroprozessorkern haben. Ein anderer bedeutender Nachteil besteht darin, dass alle Verbindungen zwischen dem eingebetteten Mikroprozessor und der anwendungsspezifischen Logik immer über einen chipexternen Treiber 54 und einen passenden Empfänger 58 laufen. Die Laufzeitverzögerung eines chipexternen Treibers und Empfängers ist wesentlich größer als die Laufzeitverzögerung von chipinternen Signalen. Lässt man folglich alle Verbindungen zwischen dem Mikroprozessorkern und der anwendungsspezifischen Logik über chipexterne Treiber und Empfänger laufen, erleidet man den Nachteil einer beträchtlichen Leistungseinbuße aufgrund der längeren Laufzeiten.
  • Eine weitere Architektur, die für eine integrierte Schaltung von Bedeutung ist, welche einen eingebetteten Mikroprozessor enthält, ist in der US-Patentschrift Nr. 5 331 571 mit dem Titel "Testing and Emulation of Integrated Circuits" offen gelegt (das Patent wurde am 19.7.94 Aronoff u. a. erteilt und auf NEC Electronics, Inc. übertragen). Die Schaltung nach Aronoff u. a. ermöglicht die Prüfung eines eingebetteten Mikroprozessors, erfordert aber interne Busse mit drei Zuständen (d. h. Busse mit drei Zuständen, die die Logik vollständig im Innern des Chip verbinden). Interne Busse mit drei Zuständen lassen keine vollständige Prüfbarkeit der integrierten Schaltung zu. Wenn ein Treiber mit drei Zuständen beispielsweise ausgeschaltet wird, wenn er eingeschaltet sein sollte, kann sein Ausgangssignal immer noch in einen Logikzustand gleiten, der auf eine funktionierende Schaltung hindeutet, wodurch Defekte in der integrierten Schaltung verdeckt werden.
  • Die Europäische Patentanmeldung 0 567 790 von Ashby u. a., die auf Motorola, Inc. übertragen wurde, legt eine Schnittstellensteuerlogik offen, die dazu dient, einen Mikroprozessor in ein Gate Array einzubetten. Die Schnittstellenschaltung gestattet die Prüfung von nur dem Mikroprozessor, nur dem ASIC-Zellenblock oder von beiden, dem Mikroprozessor und dem ASIC-Zellenblock, unter Verwendung einer Dreiwegeschnittstelle.
  • Daher bestand ein Bedarf an der Bereitstellung einer integrierten Schaltung, wie zum Beispiel eines ASIC, mit einem eingebetteten Mikroprozessorkern, die es gestattet, den Mikroprozessorkern unter Verwendung von standardmäßigen AVPs zu prüfen, die für den eigenständigen Mikroprozessor entwickelt wurden, und die die Verwendung eines ICE gestattet, um den eingebetteten Mikroprozessorkern zu emulieren, die den Mikroprozessorkern direkt mit der anwendungsspezifischen Logik verbindet, ohne chipexterne Treiber und Empfänger zu durchlaufen, und die keine Bauelemente mit drei Zuständen enthält, um eine vollständige Prüfbarkeit zu gewährleisten.
  • OFFENLEGUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt in einer ersten Erscheinungsform folglich eine integrierte Schaltung nach Anspruch 1 bereit.
  • Die vorliegende Erfindung stellt in einer zweiten Erscheinungsform darüber hinaus ein Verfahren nach Anspruch 8 bereit.
  • Somit wird eine Testmodusmatrixschaltung für eine integrierte Schaltung wie zum Beispiel einen ASIC bereitgestellt, die die Weiterleitung von Signalen auf der integrierten Schaltung steuert. Die Funktion der Testmodusmatrixschaltung wird von dem Zustand der Steuereingänge bestimmt. Wenn die Steuereingänge für den Normalbetrieb konfiguriert werden, wird die anwendungsspezifische Logik direkt mit den E/A-Treibern/- Empfängern verbunden, damit ein externes Prüfgerät standardmäßige AVPs, die für einen eigenständigen Mikroprozessor entwickelt wurden, an den eingebetteten Mikroprozessorkern anlegen kann. Wenn die Steuereingänge für den Betrieb mit einem TCE konfiguriert werden, werden die Signale der anwendungsspezifischen Logik, die während des Normalbetriebs an den Mikroprozessorkern angeschlossen werden, stattdessen an die E/A-Treiber/-Empfänger angeschlossen, wodurch ein externer ICE die Funktionen des eingebetteten Mikroprozessorkerns während der Fehlersuche in der anwendungsspezifischen Logik und der Software für den Mikroprozessorkern emulieren kann. Die Steuereingänge können auch andere Betriebsarten festlegen, sie können beispielsweise gestatten, dass die integrierte Schaltung während der Fertigung im Abtastprüfverfahren (scan testing) getestet wird. Außerdem enthält die Testmodusmatrix keine Bauelemente mit drei Zuständen, was eine vollständige Prüfbarkeit der integrierten Schaltung ermöglicht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die bevorzugte beispielhafte Ausführungsform der vorliegenden Erfindung wird nachstehend in Verbindung mit den beigefügten Zeichnungen beschrieben, in denen gleiche Bezeichnungen gleiche Elemente bezeichnen, und in denen:
  • Fig. 1 ein Blockschaltbild einer Schaltung nach der Stand der Technik ist, um Signale von einem Mikroprozessorkern und Signale von anwendungsspezifischer Logik selektiv an Chip- Ausgangsanschlüsse 214 eines ASIC anzuschließen;
  • Fig. 2 eine Schaltung nach dem Stand der Technik ist, um Signale von einem Mikroprozessorkern und Signale von anwendungsspezifischer Logik selektiv an E/A-Anschlüsse 56 eines ASIC und um Signale von dem Mikroprozessorkern über E/A- Treiber 54 und Empfänger 58 an die anwendungsspezifische Logik anzuschließen;
  • Fig. 3 ein Blockschaltbild eines ASIC ist, der die Testmodusmatrix gemäß einer ersten Ausführungsform der vorliegenden Erfindung realisiert;
  • Fig. 4 eine Blockschaltbild eines ASIC ist, der die beiden Testmodusmatrizen gemäß einer zweiten Ausführungsform der vorliegenden Erfindung realisiert;
  • Fig. 5 ein Blockschaltbild einer nicht fest zugeordneten (non- dedicated) Zelle ist, die innerhalb der Testmodusmatrizen der Fig. 3 und 4 verwendet wird;
  • Fig. 6 ein Blockschaltbild einer fest zugeordneten (dedicated) Zelle ist, die innerhalb der Testmodusmatrizen der Fig. 3 und 4 verwendet wird; und
  • Fig. 7 ein Blockschaltbild eines Teils der Kernauswahlmatrix von Fig. 4 ist.
  • BESTE ART UND WEISE DER DURCHFÜHRUNG DER ERFINDUNG
  • Bezug nehmend auf Fig. 3, umfasst eine integrierte Schaltung wie zum Beispiel ein ASIC 300 gemäß einer ersten Ausführungsform der vorliegenden Erfindung einen Mikroprozessorkern 310, eine anwendungsspezifische Logik 320, E/A-Schaltungen 330 und eine Testmodusmatrix 340. Die Testmodusmatrix 340 verbindet den Mikroprozessorkern 310, die anwendungsspezifische Logik 320 und die E/A-Schaltungen 330 in einer Weise, die es ermöglicht, den Mikroprozessorkern 310 unter Verwendung von standardmäßigen Testvektoren zu prüfen, indem ein externes Prüfgerät an die E/A-Schaltungen 330 angeschlossen wird, die die Prüfung des Systems und die Fehlersuche in der anwendungsspezifischen Logik 320 und dem Code für den Mikroprozessorkern 310 ermöglicht, indem, ein In- Circuit-Emulator (ICE) an die E/A-Schaltungen 330 angeschlossen wird, und die darüber hinaus einen normalen Betrieb der Schaltung ermöglicht. Die Testmodusmatrix 340 stellt die benötigten Verbindungen her, ohne dass Signale zwischen dem Mikroprozessorkern 310 und der anwendungsspezifischen Logik 320 durch chipexterne Treiber/Empfänger geleitet werden, die sich in den E/A- Schaltungen 330 befinden, und ohne dass diese Signale durch Bauelemente mit drei Zuständen geleitet werden, was ein hohes Leistungsniveau ermöglicht, während die vollständige Prüfbarkeit des ASIC erhalten bleibt.
  • Der Mikroprozessorkern 310 führt Code aus und steuert die anwendungsspezifische Logik 320, um zu veranlassen, dass der. ASIC 300 die gewünschte Funktion ausführt. Der Mikroprozessorkern 310 ist ein beliebiger geeigneter Mikroprozessorkern, der im ASIC realisiert werden kann. Die anwendungsspezifische Logik 320 ist eine Logikmatrix, die so ausgelegt und konfiguriert ist, dass sie mit dem Mikroprozessorkern 310 interaktiv kommuniziert. Die E/A- Schaltungen 330 stellen alle chipexternen Treiber und Empfänger bereit, um den ASIC 300 an externe Einheiten anzuschließen. Der Betrieb des ASIC 300 hängt vom Zustand der Steuersignale 382 ab, die zum Zweck der Veranschaulichung in Fig. 3 als AVP und ICE gezeigt sind. Diese Steuersignale 382 durchlaufen die E/A-Schaltungen 330 und gelangen als die Signale 390 zur Testmodusmatrix 340, die ihre. Funktion entsprechend dem bestimmten über die Steuersignale 382 gewählten Modus ändert.
  • Bei der in Fig. 3 gezeigten speziellen Ausführung sehen die beiden binären Steuersignale 382 (AVP, ICE) vier verschiedene Betriebsarten vor. In einer ersten Betriebsart werden sowohl AVP als auch ICE deaktiviert, was einen Normalbetrieb des ASIC 300 bewirkt. In einer zweiten Betriebsart wird AVP aktiviert, während ICE deaktiviert wird, wodurch der ASIC 300 in einen speziellen Testmodus eintritt, der hier als "AVP-Modus" bezeichnet wird und der es ermöglicht, den Mikroprozessorkern 310 zu prüfen, indem standardmäßige Testvektoren an die E/A- Schaltungen 330 angelegt werden. In einer dritten Betriebsart wird AVP deaktiviert, während ICE aktiviert wird, wodurch der ASIC 300 in einen anderen speziellen Testmodus eintritt, der hier als "ICE-Modus" bezeichnet wird und der die Fehlersuche in der anwendungsspezifische Logik 320 und dem Code für den Mikroprozessorkern 310 erlaubt, indem ein In-Circuit-Emulator (ICE) an die E/A-Schaltungen 330 angeschlossen wird. In einer vierten Betriebsart werden sowohl AVP als auch ICE aktiviert, wodurch der ASIC 300 in eine ändere Betriebsart eintritt, die einer vom Benutzer gewählten Betriebsart entspricht. Ein Beispiel für eine entsprechende vierte Betriebsart erlaubt die Abtastprüfung des ASIC 300 während der Fertigung.
  • Der Zustand der Steuersignale 382 wird an den Eingängen 390 der Testmodusmatrix 340 widergespiegelt, was die Testmodusmatrix 340 dazu veranlasst, die entsprechenden Verbindungen für die ausgewählte Betriebsart herzustellen. Die Testmodusmatrix 340 ist bidirektional und kann daher Eingangssignale, Ausgangssignale und bidirektionale Signale schalten. In der normalen Betriebsart (beispielsweise, wenn sowohl AVP als auch ICE deaktiviert sind) verbindet die Testmodusmatrix 340 die E/A-Signale des Mikroprozessors auf dem Bus 350 mit einem ersten Satz von E/A-Signalen der anwendungsspezifischen Logik auf dem Bus 360, und anschließend gibt sie einen zweiten Satz von E/A-Signalen der anwendungsspezifischen Logik vom Bus 370 auf den Bus 380, die wiederum an die E/A-Schaltungen 330 angeschlossen werden. Man beachte, dass die chipextern verfügbaren Signale (d. h. diejenigen auf dem Bus 380, die an die E/A-Schaltungen 330 angeschlossen werden) die Signale 370 von der anwendungsspezifischen Logik 320 sind. Die E/A-Signale 350 des Mikroprozessors sind nicht unbedingt chipextern verfügbar, außer wenn die anwendungsspezifische Logik 320 einige der E/A- Signale des Mikroprozessors vom Bus 360 auf den Bus 370 gibt. Folglich kann in der normalen Betriebsart gegebenenfalls nicht ohne weiteres zu Prüfzwecken auf den Mikroprozessorkern. 310 zugegriffen werden. Der Mikroprozessorkern 310 kann jedoch immer mit Hilfe des AVP-Modus getestet werden.
  • Im AVP-Modus (z. B., wenn AVP aktiviert und ICE deaktiviert sind) gibt die Testmodusmatrix 340 die E/A-Signale des Mikroprozessors vom Bus 350 auf den Bus 380, wodurch auf alle E/A-Signale des Mikroprozessors chipextern zugegriffen werden kann. Der AVP-Modus ermöglicht es somit, dass ein externes Prüfgerät, das an die E/A-Schaltungen 330 angeschlossen wird, standardmäßige Testvektoren anlegen kann, die für einen eigenständigen Mikroprozessor entwickelt wurden, um den Mikroprozessorkern 310 im ASIC 300 zu prüfen.
  • Im ICE-Modus (z. B. wenn AVP deaktiviert und ICE aktiviert sind) gibt die Testmodusmatrix 340 die E/A-Signale vom Bus 360 auf den Bus 380. In der normalen Betriebsart stellt der Bus 360 E/A-Signale des Mikroprozessors der anwendungsspezifischen Logik 320 bereit. Im ICE-Modus kann ein externer In-Circuit- Emulator (ICE) an die E/A-Schaltungen 330 angeschlossen werden, um den Mikroprozessorkern 310 zu emulieren. Der Anschluss des Busses 380 an den Bus 360 bedeutet zwangsläufig, dass Signale auf dem Bus 370, die in der normalen Betriebsart normalerweise über den Bus 380 chipextern angeschlossen werden, im ICE-Modus nicht chipextern zur Verfügung stehen, da alle chipexternen E/A-Signale auf dem Bus 380 über den Bus 360 an die anwendungsspezifische Logik 320 angeschlossen werden. Die Auswirkung dessen, dass Signale auf dem Bus 370 im ICE- Modus nicht zur Verfügung stehen, kann durch umsichtige Festlegung, welche Signale in der anwendungsspezifischen Logik 320 ausgewählt und an den Bus 370 angeschlossen werden, so gering wie möglich gehalten weiden.
  • Nun Bezug nehmend auf Fig. 4, enthält ein ASIC 400 gemäß einer zweiten Ausführungsform der vorliegenden Erfindung geeigneterweise einen Mikroprozessorkern 310, anwendungsspezifische Logik 320 und eine Testmodusmatrix 340 (ähnlich der Realisierung der ersten Ausführungsform) und außerdem einen zweiten Mikroprozessorkern 410, eine zweite Testmodusmatrix 440, eine Kernauswahlmatrix 454 und E/A- Schaltungen 430. Gemäß der zweiten Ausführungsform der Erfindung wird der ASIC 400 verwendet, wenn mehrere Mikroprozessoren in ein einziges ASIC-Bauelement eingebettet werden. Zum Zweck der Veranschaulichung sind in Fig. 4 zwei Mikroprozessorkerne gezeigt, aber die vorliegende Erfindung erstreckt sich auf eine beliebige geeignete Anzahl von Mikroprozessorkernen, die in eine integrierte Schaltung wie zum Beispiel einen ASIC eingebettet werden.
  • Die Kernauswahlmatrix 454 schaltet die Signale vom Bus 380 auf den Bus 452, wenn sich das Eingangssignal 492 in einem ersten Zustand befindet, und wenn sich das Eingangssignal 492 in einem zweiten Zustand befindet, schaltet sie die Signale vom Bus 480 auf den Bus 452. Die beiden Zustände des Eingangssignals 492 entsprechen den beiden Zuständen des Eingangssignals CORE_SELECT, und die Kernauswahlmatrix 452 wählt folglich aus, welcher Bus (380 oder 480) an die E/A- Schaltungen 430 angeschlossen wird.
  • Die Steuersignale 482 an die E/A-Schaltungen 430 legen die Betriebsart für den ASIC 400 fest und umfassen geeigneterweise ein Signal "AVP" und ein Signal "ICE" (wie bei der in Fig. 3 gezeigten ersten Ausführungsform) sowie ein oder mehrere Signale CORE_SELECT. Der Zustand der Steuersignale 482 wird in den Eingangssignalen 390 der Testmodusmatrix 340, den Eingangssignalen 490 der Testmodusmatrix 440 und den Eingangssignalen 492 der Kernauswahlmatrix 454 widergespiegelt, die gemeinsam bewirken, dass die entsprechende Testmodusmatrix (340 oder 440) und die Kernauswahlmatrix 454 die entsprechenden Verbindungen für die ausgewählte Betriebsart herstellen. Die Steuersignale 482 an den ASIC 400 legen ähnliche Betriebsarten wie für den ASIC 300 (Fig. 3) fest, nämlich die normale Betriebsart, den AVP-Modus, den ICE-Modus und andere Betriebsarten (nach Bedarf). Die Steuersignale 482 müssen jedoch für beide Mikroprozessorkerne 310 und 410 auch den AVP-Modus und den ICE-Modus (und möglicherweise eine oder mehr andere Betriebsarten) vorsehen. Die Steuersignale AVP und ICE funktionieren gleich wie beim ASIC 300, während CORE_SELECT festlegt, welcher Mikroprozessorkern (310 oder 410) ausgewählt wird.
  • In der normalen Betriebsart (z. B. wenn sowohl AVP als auch ICE deaktiviert sind) verbindet die Testmodusmatrix 340 die E/A- Signale des Mikroprozessors auf dem Bus 350 mit einem ersten Satz von E/A-Signalen der anwendungsspezifischen Logik auf dem Bus 360, und sie gibt einen zweiten Satz von E/A-Signalen der anwendungsspezifischen Logik vom Bus 370 auf den Bus 380. Als Antwort darauf, dass das Steuersignal 492 in der normalen Betriebsart von den E/A-Schaltungen 430 in einen entsprechenden Zustand gesteuert wird, gibt die Kernauswahlmatrix 454 die Signale vom Bus 380 auf den Bus 452, der an die E/A-Schaltungen 430 angeschlossen ist. Man beachte, dass die chipextern verfügbaren Signale (d. h. diejenigen, die an die E/A-Schaltungen 430 angeschlossen werden) die Signale 370 von der anwendungsspezifischen Logik 320 sind. Außerdem leitet die Testmodusmatrix 440 in der normalen Betriebsart E/A-Signale des Mikroprozessors vom Bus 450 auf den Bus 470. Der Bus 480 ist in der normalen Betriebsart inaktiv und wird nur in den Testmodi verwendet.
  • Im AVP-Modus mit ausgewähltem Mikroprozessorkern 310 (z. B. wenn AVP aktiviert, ICE deaktiviert sind und sich CORE_SELECT in einem ersten Zustand befindet, der dem Mikroprozessorkern 310 entspricht) gibt die Testmodusmatrix 340 die E/A-Signale des Mikroprozessors vom Bus 350 auf den Bus 380. Als Antwort darauf, dass sich das Eingangssignal 492 in dem ersten Zustand befindet (der dem Kern 310 entspricht), verbindet die Kernauswahlmatrix 454 dann den Bus 380 mit dem Bus 452, wodurch auf alle Mikroprozessor-E/A-Signale für den Mikroprozessorkern 310 (d. h. auf dem Bus 350) chipextern zugegriffen werden kann. Auf diese Weise kann ein externes Prüfgerät, das an die E/A-Schaltungen 430 angeschlossen wird, standardmäßige Testvektoren, die für einen eigenständigen Mikroprozessor entwickelt wurden, anlegen, um den Mikroprozessorkern 310 im ASIC 300 zu prüfen. Der Mikroprozessorkern 410 kann im AVP-Modus in ähnlicher Weise geprüft werden, indem AVP aktiviert, ICE deaktiviert und CORE_SELECT in einen zweiten Zustand gebracht werden, der dem Kern 410 entspricht. In dieser Betriebsart gibt die Testmodusmatrix 440 die E/A-Signale des Mikroprozessors vom Bus 450 auf den Bus 480. Als Antwort darauf, dass sich das Eingangssignal 492 in dem zweiten Zustand befindet, der dem Kern 410 entspricht, verbindet die Kernauswahlmatrix 454 den Bus 480 dann mit dem Bus 452, wodurch alle Mikroprozessor-E/A- Signale für den Mikroprozessorkern 410 (d. h. auf dem Bus 450) chipextern zur Verfügung stehen und der Mikroprozessorkern 410 dadurch mit standardmäßigen Testvektoren geprüft werden kann. Somit können die Mikroprozessorkerne 310 und 410 im AVP-Modus geprüft werden, indem mit dem Steuersignal CORE_SELECT der entsprechende Kern ausgewählt und entsprechende Testvektoren (z. B. AVPs) an die E/A-Schaltungen 430 angelegt werden.
  • Im ICE-Modus kann ein externer In-Circuit-Emulator (ICE) an die E/A-Schaltungen 430 angeschlossen werden, um einen der eingebetteten Mikroprozessorkerne 310 und 410 zu emulieren. Im ICE-Modus mit ausgewähltem Mikroprozessorkern 310 (z. B. wenn AVP deaktiviert, ICE aktiviert sind und sich CORE_SELECT im ersten Zustand befindet, der dem Mikroprozessorkern 310 entspricht), gibt die Testmodusmatrix 340 die E/A-Signale vom Bus 360 auf den Bus 380. Als Antwort darauf, dass sich der Eingang 492 in dem ersten Zustand befindet (der dem Mikroprozessorkern 310 entspricht), verbindet die Kernauswahlmatrix dann den Bus 380 mit dem Bus 452. In der normalen Betriebsart stellt der Bus 360 Mikroprozessor-E/A- Signale vom Mikroprozessorkern 310 auf dem Bus 350 der anwendungsspezifischen Logik 320 bereit. Die Verbindung des Busses 380 mit dem Bus 360 bedeutet zwangsläufig, dass Signale auf dem Bus 370, die in der normalen Betriebsart normalerweise über den Bus 380 chipextern angeschlossen werden, im ICE-Modus nicht chipextern zur Verfügung stehen. Wie vorstehend beschrieben wurde, kann die Auswirkung dessen, dass die Signale auf dem Bus 370 im ICE-Modus nicht zur Verfügung stehen, durch umsichtige Festlegung, welche Signale in der anwendungsspezifischen Logik 320 ausgewählt und auf den Bus 370 gegeben werden, so gering wie möglich gehalten werden. Ein ICE kann auch verwendet werden, um die Funktion des Mikroprozessorkerns 410 zu emulieren, indem AVP deaktiviert, ICE aktiviert und CORE_SELECT in den zweiten Zustand (der dem Mikroprozessorkern 410 entspricht) gebracht werden. In dieser Betriebsart verbindet die Testmodusmatrix 440 den Bus 470 mit dem Bus 480. Als Antwort darauf, dass sich das Eingangssignal 492 in dem zweiten Zustand befindet (der dem Mikroprozessorkern 410 entspricht), verbindet die Kernauswahlmatrix 454 den Bus 480 dann mit dem Bus 452, wodurch ein externer ICE an die E/A-Schaltungen 430 angeschlossen werden kann, um die Funktionen des Mikroprozessorkerns 410 auf dem Bus 470 zu emulieren. Im ICE- Modus kann somit ein externer ICE einen der eingebetteten Mikroprozessorkerne 310 und 410 ersetzen, indem der entsprechende Kern über das Steuersignal CORE_SELECT ausgewählt wird.
  • Die Testmodusmatrix (z. B. 340 und 440) gemäß der vorliegenden Erfindung kann mit Hilfe einer Vielzahl von verschiedenen internen Schaltungskonfigurationen realisiert werden. Bezug nehmend auf Fig. 5, ist eine geeignete Schaltung eine nicht fest zugeordnete Zelle 500, die die E/A-Signale des Mikroprozessors den E/A-Schaltungen (z. B. dem Schaltungselement 570) nur während eines Testmodus (z. B. AVP, ICE oder anderer Testmodi) bereitstellt. Die nicht fest zugeordnete Zelle 500 wird geeigneterweise für jedes E/A- Signal verwendet, auf das nur während eines Testmodus extern zugegriffen wird (z. B. am Schaltungselement 570). Bezug nehmend auf Fig. 6, ist eine weitere geeignete Schaltung eine fest zugeordnete Zelle 600, die die E/A-Signale des Mikroprozessors den E/A-Schaltungen (z. B. dem Schaltungselement 570) in der normalen Betriebsart sowie in den Testmodi bereitstellt. Die fest zugeordnete Zelle 600 wird für jedes E/A-Signal verwendet, auf das sowohl in der normalen Betriebsart als auch in den Testmodi ein externer Zugriff möglich sein muss (z. B. am Schaltungselement 570). Die Zelle 600 ist "fest zugeordnet" ("dedicated"), da die Verbindung zum und vom Mikroprozessor-E/A zum Schaltungselement 570 in der normalen Betriebsart und nicht nur in den Testmodi aufrechterhalten wird, wie es bei der nicht fest zugeordneten Zelle von Fig. 5 der Fall ist, wodurch der Ausgangsanschluss dem E/A-Signal des Mikroprozessors fest zugeordnet wird.
  • Bezug nehmend auf Fig. 5, ist die nicht fest zugeordnete Zelle 500 ein Teil der Testmodusmatrix 340 (Fig. 3 und 4), die zwischen dem Mikroprozessorkern 310 und der anwendungsspezifischen Logik 320 angeordnet und mit einem Schaltungselement 570 verbunden ist, das ein Datenausgangsignal 572 und ein Ausgangsfreigabesignal 574 empfängt und ein Dateneingangssignal 576 ausgibt. Das Schaltungselement 570 entspricht einer ganz bestimmten E/A- Schaltung innerhalb der E/A-Schaltungen 330 oder 430. Die Zelle 500 stellt die Verbindungen her, die für ein einziges bidirektionales Signal an den/von dem Mikroprozessorkern 310 von der/an die anwendungsspezifische(n) Logik 320 notwendig sind, wenn das Signal am Schaltungselement 570 nur während der Testmodi (d. h. AVP, ICE und möglicherweise anderen Betriebsarten) benötigt wird. Zum Zweck der Veranschaulichung ist das in Fig. 5 gezeigte bidirektionale Signal das Signal D0 (Datenbit 0) des Mikroprozessorkerns 310 der Fig. 3 und 4, das ein Signal D0_OUT (D0-Ausgangssignal), ein Signal D0_IN (D0-Eingangssignal) und ein Signal D0_EN (D0-Freigabesignal) umfasst. D0_EN des Kerns 310 wird vom Kern 310 aktiviert (d. h. auf HIGH-Pegel gesetzt), um anzuzeigen, dass der Kern 310 gültige Daten in seinem Ausgangssignal D0_OUT führt. Genauso wird D0_EN der Logik 320 von der Logik 320 auf HIGH-Pegel gesetzt, wenn sie in ihrem Ausgangssignal D0_OUT gültige Daten hat.
  • Die nicht fest zugeordnete Zelle 500 enthält geeigneterweise die Multiplexer (MUXs) 510, 520, 530 und 540 und die Gatter 550 und 560. Die Multiplexer 510 und 520 sind geeignete 2 : 1- Multiplexer mit einem Ausgangssignal, das deaktiviert (z. B. auf LOW-Pegel gesetzt) wird, wenn eine Freigabe- Eingangsleitung (G) deaktiviert (z. B. auf HIGH-Pegel gesetzt) wird. Die Multiplexer 510 und 520 leiten das Signal am Eingang 0 zum Ausgang, wenn die Auswahlleitung S LOW-Pegel führt und die Freigabeleitung G aktiviert ist (z. B. LOW). Die Multiplexer 510 und 520 leiten das Signal am Eingang 1 zum Ausgang, wenn die Auswahlleitung S HIGH-Pegel führt und die Freigabeleitung G aktiviert ist. Die Ausgänge der Multiplexer 510 und 520 befinden sich in einem deaktivierten Zustand (z. B. auf LOW-Pegel gesetzt), wenn die Freigabeleitung G HIGH-Pegel führt. Außerdem sind die Multiplexer 530 und 540 geeignete 4 : 1-Multiplexer, die das Signal am Eingang 00 zum Ausgang leiten, wenn die Auswahlleitungen S auf "00" liegen; das Signal am Eingang 01 an den Ausgang leiten, wenn die Auswahlleitungen S auf "01" liegen, das Signal am Eingang 10 an den Ausgang leiten, wenn die Auswahlleitungen S auf "10" liegen und das Signal am Eingang 11 an den Ausgang leiten, wenn die Auswahlleitungen S auf "11" liegen.
  • Die Funktion der Zelle 500 lässt sich am besten verstehen, indem man die Signale und Auswirkungen während einer jeden Betriebsart (d. h. während der normalen Betriebsart, während des AVP-Modus, des ICE-Modus und anderer Betriebsarten) auswertet. In der normalen Betriebsart werden sowohl AVP als auch ICE deaktiviert, d. h. AVP und ICE führen beide LOW-Pegel für die Zelle 500 von Fig. 5. Während sowohl AVP als auch ICE LOW-Pegel führen, wird der MUX 510 von dem auf LOW-Pegel gesetzten Signal AVP freigegeben; und der Eingang 0 wird von dem auf LOW-Pegel gesetzten Signal ICE ausgewählt. Folglich leitet der MUX 510 DO_OUT vom Mikroprozessorkern 310 an DO_IN der anwendungsspezifischen Logik 320. Der MUX 520 wird ebenfalls freigegeben (ICE "LOW"), und der Eingang 0 wird ausgewählt (AVP "LOW"); was bewirkt, dass der MUX 520 DO_OUT von der anwendungsspezifischen Logik 320 an DO_IN des Mikroprozessorkerns 310 leitet. Während sowohl AVP als auch ICE LOW-Pegel führen, leitet der MUX 530 außerdem OTHER_OUT von der anwendungsspezifischen Logik 320 an seinen Ausgang, von dem aus das Datenausgangssignal CIO_OUT auf den Eingang 572 des Schaltungselements 570 gegeben wird. Der MUX 540 leitet OTHER_EN von der anwendungsspezifischen Logik 320 an seinen Ausgang, von dem aus das Freigabesignal CIO_EN auf den Eingang 574 des Schaltungselements 570 gegeben wird. Während sowohl AVP als auch ICE auf LOW liegen führen, liegt außerdem das Ausgangssignal AUX_IN des Gatters 560 auf LOW, während das Gatter 550 das Dateneingangssignal 576 vom Schaltungselement 570 an den Eingang OTHER_IN der anwendungsspezifischen Logik 320 durchstellt. Somit führt die normale Betriebsart zu den folgenden Verbindungen:
  • 1) DO_OUT des Kerns 310 mit DO_IN der Logik 320
  • 2) DO_OUT der Logik 320 mit DO_IN des Kerns 310
  • 3) OTHER_OUT der Logik 320 mit dem Eingang für das Datenausgangssignal 572 des Schaltungselements 570
  • 4) OTHER_EN der Logik 320 mit dem Eingang für das Ausgangsfreigabesignal 574 des Schaltungselements 570
  • 5) Den Ausgang mit dem Dateneingangssignal 576 des Schaltungselements 570 zu OTHER_IN der Logik 320
  • Die normale Betriebsart führt somit zur direkten Verbindung von Datenleitungen zwischen dem Kern 310 und der Logik 320, ohne dass chipexterne Treiber/Empfänger und ohne dass Bauelemente mit drei Zuständen durchlaufen werden müssen. Außerdem wird das Schaltungselement 570 in der normalen Betriebsart mit/von anderen E/A in der Logik 320 verbunden.
  • Im AVP-Modus wird AVP aktiviert (d. h. HIGH), und ICE wird deaktiviert (d. h. LOW). Während AVP auf HIGH und ICE auf LOW sind, wird der MUX 510 von dem auf HIGH-Pegel gesetzten Signal AVP gesperrt, wodurch das Eingangssignal DO_IN der anwendungsspezifischen Logik 320 in einen deaktivierten Zustand (z. B. LOW) versetzt wird. Der MUX 520 wird freigegeben (bei auf LOW-Pegel gesetztem ICE), und der Eingang 1 wird ausgewählt (bei auf HIGH-Pegel gesetztem AVP), wodurch der MUX 520 das Dateneingangssignal 576 vom Schaltungselement 570 an DO_IN des Mikroprozessorkerns 310 leitet. Während AVP HIGH- Pegel und ICE LOW-Pegel führen, leitet der MUX 530 außerdem DO_OUT vorn Mikroprozessorkern 310 an den MUX-Ausgang, von dem aus das Datenausgangssignal 572 CIO_OUT auf den Eingang des Schaltungselements 570 gegeben wird. Der MUX 540 leitet DO_EN vom Mikroprozessorkern 310 an den MUX-Ausgang, von dem aus das Ausgangsfreigabesignal 574 CIO_EN auf den Eingang des Schaltungselements 570 gegeben wird. Während AVP auf HIGH und ICE auf LOW liegen, werden außerdem beide Ausgänge der Gatter 550 und 560 auf LOW gesetzt. Somit führt der AVP-Modus zu den folgenden Verbindungen:
  • 1) Dateneingangssignal 576 des Schaltungselements 570 mit DO_IN des Kerns 310
  • 2) DO_OUT des Kerns 310 mit dem Eingang für das Datenausgangssignal 572 des Schaltungselements 570
  • 3) DO_EN des Kerns 310 mit dem Eingang für das Ausgangsfreigabesignal 574 des Schaltungselements 570
  • Der AVP-Modus führt daher zur direkten Verbindung der E/A- Signale des Mikroprozessors mit dem Schaltungselement 570, wodurch ein externes Prüfgerät Testvektoren an den Kern 310 anlegen kann.
  • Im ICE-Modus wird AVP deaktiviert (d. h. LOW), und ICE wird aktiviert (d. h. HIGH). Während AVP LOW-Pegel und ICE HIGH- Pegel führen, wird der MUX 510 freigegeben (bei auf LOW-Pegel gesetztem AVP), und der Eingang 1 wird ausgewählt (bei auf HIGH-Pegel gesetztem ICE), wodurch der MUX 510 das Dateneingangssignal 576 am Ausgang des Schaltungselements 570 an den Eingang für das Eingangssignal DO_IN der anwendungsspezifischen Logik 320 leitet. Der MUX 520 wird von dem auf HIGH-Pegel gesetzten Signal ICE gesperrt, wodurch das Eingangssignal DO_IN des Mikroprozessorkerns 310 in einen deaktivierten Zustand (z. B. LOW) versetzt wird. Während AVP auf LOW und ICE auf HIGH sind, leitet der MUX 530 außerdem DO_OUT von der anwendungsspezifischen Logik 320 an den MUX- Ausgang mit CIO_OUT, das als Datenausgangssignal 572 an den Eingang des Schaltungselements 570 gelegt wird. Der MUX 540 leitet DO_EN von der anwendungsspezifischen Logik 320 an den MUX-Ausgang mit CIO_EN, das als Ausgangsfreigabesignal 574 an den Eingang des Schaltungselements 570 gelegt wird. Während AVP auf LOW und ICE auf HIGH liegen, werden außerdem beide Ausgänge der Gatter 550 und 560 auf LOW gesetzt. Somit führt der ICE-Modus zu den folgenden Verbindungen:
  • 1) Den Ausgang mit dem Dateneingangssignal 576 des Schaltungselements 570 zum Eingang DO_IN der Logik 320
  • 2) DC_QUT der Logik 320 mit dem Eingang für das Datenausgangssignal 572 des Schaltungselements 570
  • 3) DC_EN der Logik 320 mit dem Eingang für das Ausgangsfreigabesignal 574 des Schaltungselements 570
  • Der ICE-Modus führt daher zur direkten Verbindung von E/A- Signalen von der Logik 320 mit dem Schaltungselement 570, wodurch ein externer ICE den Kern 310 emulieren kann.
  • In einer vierten Betriebsart, während derer sowohl AVP als auch ICE auf HIGH liegen, werden die beiden Multiplexer 510 und 520 gesperrt, was dazu führt, dass sich das Eingangssignal DO_IN der anwendungsspezifischen Logik 320 und das Eingangssignal DO_IN des Mikroprozessorkerns 310 in einem deaktivierten Zustand (z. B. auf LOW-Pegel) befinden. Der MUX 530 leitet das Signal AUX_OUT an seinen Ausgang, von dem aus CIO_OUT als Dateneingangssignal 572 an den Eingang des Schaltungselements 570 gelegt wird. Der MUX 540 leitet das Signal AUX_EN an seinen Ausgang, von dem aus CIO_EN als Ausgangsfreigabesignal 574 an den Eingang des Schaltungselements 570 gelegt wird. Während sowohl AVP als auch ICE auf HIGH liegen, wird das Ausgangssignal des Gatters 550 auf LOW gesetzt, und das Ausgangssignal des Gatters 560 (AUX_IN) befindet sich in demselben Logikzustand wie CIO_IN vom Dateneingangssignal 576 des Schaltungselements 570. Diese vierte Betriebsart ermöglicht es, dass andere Signale (z. B. AUX) innerhalb des ASIC am Schaltungselement 570 bereitstehen. Ein Beispiel für eine solche vierte Betriebsart würde eine Abtastprüfung des ASIC während der Fertigung ermöglichen, indem ein Abtastdateneingangssignal an AUX_IN und AUX_EN an einen Pull-down-Widerstand angeschlossen würden oder indem ein Abtastdatenausgangssignal an AUX_OUT und AUX_EN an einen Pull- up-Widerstand angeschlossen würden.
  • Man beachte, dass Untergruppen der Zelle 500 für einseitig gerichtete Eingangs- oder Ausgangssignale verwendet werden können. Die Zelle 500 kann nach Bedarf wiederholt werden, und verschiedene Zellen 500 können interne physische Strukturen gemeinsam benutzen, um die für die Testmodusmatrix 340 benötigte Chipfläche so klein wie möglich zu halten.
  • Nun Bezug nehmend auf Fig. 6, ist die fest zugeordnete Zelle 600 ein Teil der Testmodusmatrix 340, die zwischen dem Mikroprozessorkern 310 und der anwendungsspezifischen Logik 320 angeordnet ist und ebenfalls mit dem Schaltungselement 570 verbunden ist. Die Zelle 600 stellt die Verbindungen her, die für ein einziges bidirektionales Signal an den/vom Mikroprozessorkern 310 von der/an die anwendungsspezifische(n) Logik 320 notwendig sind, wenn das E/A-Signal des Mikroprozessorkern Schaltungselement 570 sowohl während der normalen Betriebsart als auch während der Testmodi benötigt wird. Zum Zweck der Veranschaulichung ist das in Fig. 6 gezeigte bidirektionale Signal dasselbe Signal D0 (Datenbit 0) des in Fig. 5 gezeigten Mikroprozessorkerns 310. Die fest zugeordnete Zelle 600 enthält geeigneterweise die Multiplexer (MUXs) 610, 620, 630 und 640 und die Gatter 660, 680, 682, 684 und 686. In AVP, ICE und anderen Betriebsarten ist die Funktion der fest zugeordneten Zelle 600 gleich der Funktion der nicht fest zugeordneten Zelle 500, in der normalen Betriebsart unterscheiden sich die beiden Funktionen jedoch. Der Unterschied zwischen der nicht fest zugeordneten Zelle 500 und der fest zugeordneten Zelle 600 lässt sich am besten verstehen, indem man die Signale und die Auswirkungen der Zelle 600 während der normalen Betriebsart auswertet.
  • In der normalen Betriebsart sind sowohl AVP als auch ICE deaktiviert, d. h. sie sind auf besitzen LOW. Während sowohl AVP als auch ICE auf LOW sind, wird der MUX 610 von dem auf LOW-Pegel gesetzten Signal AVP freigegeben. Der Auswahleingang in den MUX 610 wird mit dem Ausgang des Gatters 680 verbunden. Bei auf LOW-Pegel gesetztem ICE ist der Ausgang des Gatters 680 folglich auf LOW, wenn das Ausgangssignal DO_EN des Mikroprozessorkerns 310 auf HIGH ist, wodurch der MUX 610 das Signal DO_OUT vom Mikroprozessorkern 310 an den Eingang für das Eingangssignal DO_IN der anwendungsspezifischen Logik 320 leitet. Wenn das Ausgangssignal DO_EN des Kerns 310 jedoch auf LOW geht, liegt der Ausgang des Gatters 680 auf HIGH, wodurch der MUX 610 das Signal CIO_IN vom Schaltungselement 570 an den Eingang für das Eingangssignal DO_IN der anwendungsspezifischen Logik 320 leitet.
  • Wenn ICE in der normalen Betriebsart auf LOW liegt, wird der MUX 620 ebenfalls freigegeben. Das Ausgangssignal des Gatters 682 steuert die Auswahlleitung des MUX 620 an. Bei auf LOW- Pegel gesetztem AVP liegt der Ausgang des Gatters 682 auf LOW, wenn das Ausgangssignal DO_EN der anwendungsspezifischen Logik 320 auf HIGH liegt, wodurch der MUX 620 das Signal DO_OUT von der anwendungsspezifischen Logik 320 an den Eingang für das Eingangssignal DO_IN des Mikroprozessorkerns 310 leitet. Wenn das Ausgangssignal DO_EN jedoch LOW-Pegel annimmt, geht der Ausgang des Gatters 682 auf HIGH, wodurch der MUX 620 das Signal CIO_IN vom Dateneingangssignal 576 des Schaltungselements 570 an den Eingang für das Eingangssignal DO_IN des Mikroprozessorkerns 310 leitet.
  • Während sowohl AVP als auch ICE in der normalen Betriebsart auf LOW liegen, leiten die beiden Multiplexer 630 und 640 ihre Signale am Eingang 00 an ihre entsprechenden Ausgänge. Das Signal am Eingang 00 des MUX 630 ist das Ausgangssignal des ODER-Gatters 684. Die Eingangssignale des ODER-Gatters 684 sind DC_OUT vom Mikroprozessorkern 310 und DO_OUT von der anwendungsspezifischen Logik 320. Es wird davon ausgegangen, dass entweder DO_OUT vom Kern 310 oder DO CUT von der Logik 320 auf LOW-Pegel gehalten wird, wenn das entsprechende DO_EN inaktiv ist. Wenn entweder DO_OUT vom Kern 310 oder DO_OUT von der Logik 320 auf HIGH geht, geht folglich das Ausgangssignal des MUX 630 (CIO_OUT) auf HIGH, wodurch das Datenausgangssignal 572 des Schaltungselements 570 auf HIGH- Pegel gesetzt wird. Wenn entweder das Signal D0_EN vom Kern 310 oder von der Logik 320 auf HIGH liegt, geht das Ausgangssignal des MUX 640 (CIO_EN) ebenfalls auf HIGH, wodurch das Ausgangsfreigabesignal 574 des Schaltungselements 570 auf HIGH-Pegel gesetzt wird. Während sowohl AVP als auch ICE LOW-Pegel führen, wird außerdem der Ausgang des Gatters 660 auf LOW gesetzt, was zu einem auf LOW gesetzten Signal an AUX_IN führt. Die normale Betriebsart führt somit zu den folgenden Verbindungen:
  • 1) Der Ausgang mit dem Dateneingangssignal 576 vom Schaltungselement 570 zum Eingang DO_IN der Logik 320, wenn DO_EN des Kerns 310 LOW-Pegel führt
  • 2) DO_OUT des Kerns 310 mit DO_IN der Logik 320, wenn DO_EN des Kerns 310 HIGH-Pegel führt
  • 3) Der Ausgang mit dem Dateneingangssignal 576 des Schaltungselements 570 mit dem Eingang für DO_IN des Kerns 310, wenn DO_EN der Logik 320 LOW-Pegel führt
  • 4) DO_OUT der Logik 320 mit DO_IN des Kerns 310, wenn DO_EN der Logik 320 auf HIGH liegt
  • 5) HIGH-Pegel des Datenausgangsignals 572 des Schaltungselements 570, wenn entweder DO_CUT des Kerns 310 oder DC_OUT der Logik 320 HIGH-Pegel führen
  • 6) HIGH des Ausgangsfreigabesignals 574 des Schaltungselements 570, wenn entweder DO_EN des Kerns 310 oder DO_EN der Logik 320 HIGH-Pegel führen
  • Wie vorstehend erwähnt wurde, sind die Verbindungen für den AVP-Modus, den ICE-Modus und andere Betriebsarten mit den Verbindungen für die nicht fest zugeordnete Zelle 500 in Fig. 5 identisch.
  • Nochmals Bezug nehmend auf Fig. 4, umfasst die Testmodusmatrix 340 geeigneterweise eine Kombination der nicht fest zugeordneten Zellen 500 und der fest zugeordneten Zellen 600, während die Testmodusmatrix 440 geeigneterweise nur fest zugeordnete Zellen 600 umfasst. Man beachte, dass die hier beschriebenen und in den Figuren veranschaulichten Zellen 500 und. 600 von einem bidirektionalen Signal ausgehen, das aus einem Eingangssignal, einem Ausgangssignal und einem Freigabesignal besteht. Die Zellen 500 und 600 können jedoch auch für einseitig gerichtete Eingangs- oder Ausgangssignale verwendet werden, indem entweder nicht verwendete Eingänge der Grundzellen 500 und 600 auf LOW-Pegel gesetzt werden oder indem ein Teil der Zelle 500 oder 600 optimiert wird, indem nicht benötigte Schaltlogik entfernt wird.
  • Bezug nehmend auf Figur T, enthält die interne Schaltlogik der Kernauswahlmatrix 454 (Fig. 4) eine Vielzahl von Zellen 700. Jede Zelle 700 enthält ein Dateneingangssignal CIO_IN, ein Datenausgangssignal CIO_OUT und ein Freigabeeingangssignal CIO_EN von einer ersten Testmodusmatrix (z. B. 340), dieselben drei Signale von einer zweiten Testmodusmatrix (z. B. 440) und entsprechende Ausgangssignale an das Schaltungselement 570. Die Zelle 700 enthält die Multiplexer 710 und 720 und den Decodierer 730. Die Multiplexer 710 und 720 verbinden den Eingang 0 mit ihren Ausgängen, wenn CORE_SELECT LOW-Pegel führt, und sie verbinden den Eingang 1 mit ihren Ausgängen, wenn CORE_SELECT HIGH-Pegel führt. Der Decodierer 730 schaltet das Signal an seinem Eingang zu seinen Ausgang 0 durch, wenn CORE_SELECT LOW-Pegel führt, und er schaltet das Signal an seinem Eingang an seinen Ausgang 1 durch, wenn CORE-SELECT HIGH-Pegel führt. Der MUX 710 ist ein Datenausgangsmultiplexer, der MUX 720 ist ein Ausgangsfreigabemultiplexer, und der MUX 730 ist ein Dateneingangsdecodierer. Die Multiplexer 710 und 720 und der Decodierer 730 schließen die Signale von der Testmodusmatrix 340 selektiv an das Schaltungselement 570 an, wenn sich CORE_SELECT in dem ersten Zustand (z. B. LOW, entsprechend dem Mikroprozessorkern 310) befindet, und sie schließen das Signal von der Testmodusmatrix 440 selektiv an das Schaltungselement 570 an, wenn sich CORE_SELECT in einem zweiten Zustand (z. B. HIGH, entsprechend dem Mikroprozessorkern 410) befindet.
  • Während die Zelle 700 zum Zweck der Veranschaulichung mit Schaltlogik gezeigt ist, die dazu dient, zwischen den Testmodusmatrizen 340 und 440 zu schalten, fällt es unter den Umfang der vorliegenden Erfindung, dass die Zelle 700 zwischen einer beliebigen Anzahl von eingebetteten Mikroprozessorkernen hin und her schaltet, indem einfach die Anzahl der Auswahlleitungen, die das Signal CORE_SELECT bereitstellen (und die entsprechenden Eingangssignale 492), sowie die Anzahl der Eingänge der Multiplexer 710 und 720 und den Decodierer 730 erhöht werden, um den Signalen von jedem Mikroprozessorkern Rechnung zu tragen, die durch jede entsprechende Testmodusmatrix geleitet werden.
  • Indem in der integrierten Schaltung (d. h. 300 und 400) gemäß der vorliegenden Erfindung auf alle Bauelemente mit drei Zuständen verzichtet wird, ergeben sich im Vergleich zu integrierten Schaltungen, die Bauelemente mit drei Zuständen aufweisen, mehrere Vorteile. Zum Beispiel kann ein Bus mit drei Zuständen im hochohmigen Zustand die Schaltschwelle von Schaltungen überschreiten, die von dem Bus angesteuert werden, wodurch diese Schaltungen schnell schalten und dadurch mehr Strom verbrauchen. Wenn es keine Busse mit drei Zuständen gibt, wird der Stromverbrauch der integrierten Schaltung folglich verringert. Außerdem unterstützen Werkzeuge zur Erzeugung von Testmustern gewöhnlich keine Bauelemente mit drei Zuständen, da nur ein Treiber auf dem Bus mit drei Zuständen zu einem bestimmten Zeitpunkt aktiviert werden kann. Um auf dem Bus mit drei Zuständen während des Testens eine Wettbewerbssituation zu vermeiden, in der um den Bus konkurriert wird, müssen Testmuster manuell erzeugt werden, was die Kosten für das Testen einer integrierten Schaltung mit Bauelementen mit drei Zuständen im Vergleich zu einer vergleichbaren integrierten Schaltung ohne Bauelemente mit drei Zuständen beträchtlich erhöht. Der wichtigste Vorteil jedoch, der sich ergibt, wenn in der integrierten Schaltung der vorliegenden Erfindung auf alle Bauelemente mit drei Zuständen verzichtet wird, ist der, dass die resultierende integrierte Schaltung zu 100% getestet werden kann. Alle Funktionen der integrierten Schaltung können in vollem Umfang getestet werden, ohne befürchten zu müssen, dass ein oder mehrere Bauelemente mit drei Zuständen Defekte während des Testens verdecken.
  • Ein ASIC gemäß der vorliegenden Erfindung, der, wie hier offen gelegt wurde, eine oder mehrere Testmodusmatrizen enthält, ermöglicht aufgrund dessen, dass die Funktionen eines jeden eingebetteten Mikroprozessorkerns mit Hilfe von standardmäßigen Testvektoren in vollem Umfang geprüft werden können, ein ICE die Funktion eines beliebigen der eingebetteten Mikroprozessorkerne emulieren kann, um Fehler aufzuspüren, und nach Bedarf andere Testmodi, wie zum Beispiel die Abtastprüfung des ASIC während der Fertigung, bereitgestellt werden können, uneingeschränkte Prüfbarkeit. Die Leistungsfähigkeit des ASIC wird ebenfalls erhöht, indem alle Signale zwischen dem Mikroprozessorkern und der anwendungsspezifischen Logik direkt durch die Testmodusmatrix oder die Testmodusmatrizen geleitet werden, ohne chipexterne Treiber und Empfänger und ohne Bauelemente mit drei Zuständen zu durchlaufen.

Claims (11)

1. Integrierte Schaltung, die mindestens einen eingebetteten Mikroprozessor (310) hat; eine Vielzahl von Schaltungen (330), die mit einer Vielzahl von E/A- Anschlüssen verbunden sind, wobei die Vielzahl der E/A- Schaltungen (330) eine Vielzahl von E/A-Treibern und E/A- Empfängern umfasst; und eine Logikschaltung (320); wobei die integrierte Schaltung dadurch gekennzeichnet ist, dass sie Folgendes umfasst:
ein Schaltermittel (340), das nur Einheiten mit zwei Zuständen enthält und zwischen dem Mikroprozessor und der Logikschaltung angeschlossen ist, wobei das Schaltermittel (340) in einer Vielzahl von sich gegenseitig ausschließenden Zuständen arbeitet und wobei das Schaltermittel in einem ersten der Vielzahl der Zustände die Betriebssignale des Mikroprozessors zwischen dem Mikroprozessor und der Logikschaltung überträgt und dabei jedwede E/A-Treiber umgeht, die an E/A-Anschlüsse auf der integrierten Schaltung angeschlossen sind, und jedwede E/A-Empfänger umgeht, die an die E/A-Anschlüsse angeschlossen sind, in einem zweiten der Vielzahl der Zustände die Testsignale des Mikroprozessors zwischen der Vielzahl der E/A-Schaltungen und dem Mikroprozessor überträgt, in einem dritten der Vielzahl der Zustände die Logiktestsignale zwischen der Vielzahl der E/A-Schaltungen und der Logikschaltung überträgt; wobei:
das Schaltermittel eine Testmodusmatrix umfasst, die einen ersten Bus (350) hat, der an den Mikroprozessor angeschlossen ist, einen zweiten Bus (360) und einen dritten Bus (370), die mit der Logikschaltung verbunden sind, und einen vierten Bus (380), der mit der Vielzahl der E/A-Schaltungen verbunden ist; und wobei:
die Testmodusmatrix in einem ersten der Vielzahl der Zustände den ersten Bus (350) mit dem zweiten Bus (360) und den dritten Bus (370) mit dem vierten Bus (380) verbindet;
die Testmodusmatrix in einem zweiten der Vielzahl der Zustände den ersten Bus (350) mit dem vierten Bus (380) verbindet; und
die Testmodusmatrix in einem dritten der Vielzahl der Zustände den zweiten Bus (360) mit dem vierten Bus (380) verbindet.
2. Integrierte Schaltung nach Anspruch 1, die des Weiteren ein Mittel zur Auswahl von einem der Viehzahl der Zustände umfasst.
3. Integrierte Schaltung nach Anspruch 1 oder 2, wobei der erste Zustand des Schaltermittels einem Zustand entspricht, der dazu dient, die integrierte Schaltung normal zu betreiben, wobei der zweite Zustand des Schaltermittels einem Zustand entspricht, der dazu dient, den Mikroprozessor zu prüfen, indem standardmäßige Testvektoren für den Mikroprozessor an die Vielzahl der E/A-Anschlüsse angelegt werden, und wobei der dritte Zustand des Schaltermittels einem Zustand entspricht, der dazu dient, die integrierte Schaltung zu prüfen, indem ein In-Circuit-Emulator an die Vielzahl der E/A-Anschlüsse angeschlossen wird.
4. Integrierte Schaltung nach einem der vorhergehenden Ansprüche, wobei das Schaltermittel mindestens eine Testmodusmatrix umfasst, wobei jede Testmodusmatrix eine Vielzahl von Zellen umfasst, wobei jede Zelle mit mindestens einer der Vielzahl der E/A-Schaltungen verbunden ist, wobei jede Zelle des Weiteren Folgendes umfasst:
ein Mittel, um in dem ersten Zustand mindestens ein Signal zwischen dem Mikroprozessor und der Logikschaltung anzuschließen;
ein Mittel, um in dem zweiten Zustand mindestens ein Signal zwischen mindestens einer der Vielzahl der E/A- Schaltungen und dem Mikroprozessor anzuschließen; und
ein Mittel, um in dem dritten Zustand mindestens ein Signal zwischen mindestens einer der Vielzahl der E/A- Schaltungen und der Logikschaltung anzuschließen.
5. Integrierte Schaltung nach einem der vorhergehenden Ansprüche, wobei das Schaltermittel zusätzliche Testsignale von der integrierten Schaltung an die Vielzahl der E/A-Schaltungen überträgt, wenn sich das Schaltermittel in einem vierten Zustand befindet.
6. Integrierte Schaltung nach einem der vorhergehenden Ansprüche, die eine Vielzahl von Mikroprozessoren und des Weiteren ein Mittel zur Auswahl von einem der Vielzahl der Mikroprozessoren umfasst.
7. Integrierte Schaltung nach einem der vorhergehenden Ansprüche, die eine Vielzahl Von Mikroprozessoren umfasst und wobei das Schaltermittel Folgendes umfasst:
eine Vielzahl von Testmodusmatrizen, mindestens eine Testmodusmatrix für jeden der Mikroprozessoren; und
ein Mittel, um die Testmodusmatrizen, die einem ausgewählten der Vielzahl der Mikroprozessoren entsprechen, an die Vielzahl der E/A-Schaltungen anzuschließen.
8. Verfahren zur Prüfung einer integrierten Schaltung, indem eine integrierte Schaltung bereitgestellt wird, die mindestens einen eingebetteten Mikroprozessor (310) hat; eine Vielzahl von E/A-Schaltungen (330), die mit einer Vielzahl von E/A-Anschlüssen verbunden sind, wobei die Vielzahl der E/A-Schaltungen (330) eine Vielzahl von E/A- Treibern und E/A-Empfängern umfasst; eine Logikschaltung (320); und ein Schaltermittel (340), das nur Einheiten mit zwei Zuständen enthält und zwischen dem Mikroprozessor und der Logikschaltung angeschlossen ist, wobei das Schaltermittel (340) in einer Vielzahl Von sich gegenseitig ausschließenden Zuständen arbeitet; wobei das Verfahren dadurch gekennzeichnet ist, dass es Folgendes umfasst:
in einem ersten der Vielzahl der zustände Übertragen der Betriebssignale des Mikroprozessors durch das Schaltermittel zwischen dem Mikroprozessor und der Logikschaltung, wobei jedwede E/A-Treiber umgangen werden, die an die B/A-Anschlüsse auf der integrierten Schaltung angeschlossen sind, und jedwede E/A-Empfänger umgangen werden, die an die E/A-Anschlüsse angeschlossen sind;
in einem zweiten der Vielzahl der Zustände Übertragen der Testsignale des Mikroprozessors zwischen der Vielzahl der E/A-Schaltungen und dem Mikroprozessor;
in einem dritten der Vielzahl der Zustände Übertragen der Logiktestsignale zwischen der Vielzahl der E/A-Schaltungen und der Logikschaltung; wobei:
das Schaltermittel eine Testmodusmatrix umfasst, die einen ersten Bus (350) hat, der an den Mikroprozessor angeschlossen ist, einen zweiten Bus (360) und einen dritten Bus (370), die mit der Logikschaltung verbunden sind, und einen vierten Bus (380), der mit der Vielzahl der E/A-Schaltungen verbunden ist, und wobei:
die Testmodusmatrix in einem ersten der Vielzahl der Zustände den ersten Bus (350) mit dem zweiten Bus (360) und den dritten Bus (370) mit dem vierten Bus (380) Verbindet;
die Testmodusmatrix in einem zweiten der Vielzahl der Zustände den ersten Bus (350) mit dem vierten Bus (380) verbindet; und
die Testmodusmatrix in einem dritten der Vielzahl der Zustände den zweiten Bus (360) mit dem vierten Bus (380) verbindet.
9. Verfahren nach Anspruch 8, das des Weiteren die folgenden Schritte umfasst:
Übertragen der Logiktestsignale von einem externen In- Circuit-Emulator; und
Emulieren der Funktion des Mikroprozessors, um Fehler in der Logikschaltung und um Fehler im Code für den Mikroprozessor aufzuspüren.
10. Verfahren nach Anspruch 8 oder 9, das des Weiteren die folgenden Schritte umfasst:
Verbinden eines In-Circuit-Emulators mit der Vielzahl der E/A-Anschlüsse;
Auswählen des dritten Zustands, was dazu führt, dass das Schaltermittel die Logiktestsignale von der Vielzahl der E/A-Schaltungen an die Logikschaltung überträgt; und
Anlegen von Signalen an die Vielzahl der E/A-Anschlüsse von dem In-Circuit-Emulator, um die Funktion des Mikroprozessors zu emulieren.
11. Verfahren nach einem der Ansprüche 8, 9 oder 10, das ferner die folgenden Schritte beinhaltet:
Bereitstellen einer Vielzahl von Mikroprozessoren auf der integrierten Schaltung;
Bereitstellen einer Vielzahl von Testmodusmatrizen auf der integrierten Schaltung, mindestens eine Testmodusmatrix für jeden der Vielzahl der Mikroprozessoren;
Bereitstellen von Schaltungsmitteln, um die Testmodusmatrizen, die einem ausgewählten der Vielzahl der Mikroprozessoren entsprechen, an die Vielzahl der E/A- Schaltungen anzuschließen;
Verbinden der entsprechenden Testmodusmatrix mit der Vielzahl der E/A-Schaltungen durch das Schaltungsmittel;
Übertragen der Logiktestsignale von der Vielzahl der E/A- Schaltungen durch das Schaltungsmittel; und
Übertragen der Logiktestsignale von dem Schaltungsmittel durch die entsprechende Testmodusmatrix an die Logikschaltung.
DE69625293T 1995-08-07 1996-07-16 Prüfmodusmatrixschaltkreis für einen eingebetteten Mikroprozessorkern Expired - Fee Related DE69625293T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/511,943 US5724502A (en) 1995-08-07 1995-08-07 Test mode matrix circuit for an embedded microprocessor core

Publications (2)

Publication Number Publication Date
DE69625293D1 DE69625293D1 (de) 2003-01-23
DE69625293T2 true DE69625293T2 (de) 2003-09-04

Family

ID=24037067

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69625293T Expired - Fee Related DE69625293T2 (de) 1995-08-07 1996-07-16 Prüfmodusmatrixschaltkreis für einen eingebetteten Mikroprozessorkern

Country Status (4)

Country Link
US (2) US5724502A (de)
EP (1) EP0758113B1 (de)
JP (1) JP3433404B2 (de)
DE (1) DE69625293T2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627478A (en) 1995-07-06 1997-05-06 Micron Technology, Inc. Apparatus for disabling and re-enabling access to IC test functions
FR2753274B1 (fr) * 1996-09-10 1998-11-27 Sgs Thomson Microelectronics Circuit comprenant des moyens de test structurel sans plot de test dedie au test
US6058253A (en) * 1996-12-05 2000-05-02 Advanced Micro Devices, Inc. Method and apparatus for intrusive testing of a microprocessor feature
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit
US6112312A (en) * 1998-03-10 2000-08-29 Advanced Micro Devices, Inc. Method for generating functional tests for a microprocessor having several operating modes and features
US6158032A (en) * 1998-03-27 2000-12-05 International Business Machines Corporation Data processing system, circuit arrangement and program product including multi-path scan interface and methods thereof
GB9814017D0 (en) * 1998-06-29 1998-08-26 Sgs Thomson Microelectronics Design of an application specific processor (ASP)
GB9814014D0 (en) 1998-06-29 1998-08-26 Sgs Thomson Microelectronics Design of an application specific processor (ASP)
US6249893B1 (en) * 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US6385748B1 (en) * 1999-03-30 2002-05-07 Nec Electronics, Inc. Direct access logic testing in integrated circuits
US6803785B1 (en) 2000-06-12 2004-10-12 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6813599B1 (en) * 2000-07-17 2004-11-02 Silicon Graphics, Inc. Efficient memory structure simulation for sequential circuit design verification
KR100392569B1 (ko) * 2000-10-28 2003-07-23 (주)다이나릿시스템 반도체 칩의 논리 기능 검증용 에뮬레이터 장치 및 방법
US6829727B1 (en) * 2001-01-12 2004-12-07 Metalink Corp. In-circuit emulation of single chip microcontrollers
US7650545B1 (en) * 2002-09-30 2010-01-19 Agere Systems Inc. Programmable interconnect for reconfigurable system-on-chip
US7237166B2 (en) * 2002-10-23 2007-06-26 Hewlett-Packard Development Company, L.P. System and method for evaluating a multiprocessor system using a random bus traffic generation technique
US7065601B2 (en) * 2003-06-06 2006-06-20 Stmicroelectronics N.V. Interface for prototyping integrated systems
US7509533B1 (en) * 2003-06-30 2009-03-24 Sun Microsystems, Inc. Methods and apparatus for testing functionality of processing devices by isolation and testing
DE102004059505B4 (de) * 2004-12-10 2014-06-18 X-Fab Semiconductor Foundries Ag Anordnung zum Test von eingebetteten Schaltungen mit Hilfe von Testinseln
JP2007010477A (ja) * 2005-06-30 2007-01-18 Fujitsu Ltd 集積回路及び回路ボード
US7533316B2 (en) * 2006-03-31 2009-05-12 Intel Corporation Method and apparatus for disabling and swapping cores in a multi-core microprocessor
US8131840B1 (en) 2006-09-12 2012-03-06 Packet Plus, Inc. Systems and methods for data stream analysis using embedded design logic
JP5003097B2 (ja) * 2006-10-25 2012-08-15 ソニー株式会社 半導体チップ
US20110010773A1 (en) * 2009-07-07 2011-01-13 Kuity Corp. Hardware command filter matrix integrated circuit with restriced command enforcement capability
KR101218096B1 (ko) * 2010-12-17 2013-01-03 에스케이하이닉스 주식회사 반도체 장치의 테스트 방법 및 반도체 장치의 테스트 시스템
US9482718B2 (en) * 2014-01-13 2016-11-01 Texas Instruments Incorporated Integrated circuit

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4404519A (en) * 1980-12-10 1983-09-13 International Business Machine Company Testing embedded arrays in large scale integrated circuits
US4542508A (en) * 1983-11-21 1985-09-17 Aerojet-General Corporation Amenable logic gate and method of testing
US4764896A (en) * 1985-07-01 1988-08-16 Honeywell Inc. Microprocessor assisted memory to memory move apparatus
JP2628154B2 (ja) * 1986-12-17 1997-07-09 富士通株式会社 半導体集積回路
US5226122A (en) * 1987-08-21 1993-07-06 Compaq Computer Corp. Programmable logic system for filtering commands to a microprocessor
US5012180A (en) * 1988-05-17 1991-04-30 Zilog, Inc. System for testing internal nodes
US4975641A (en) * 1988-07-14 1990-12-04 Sharp Kabushiki Kaisha Integrated circuit and method for testing the integrated circuit
US4964033A (en) * 1989-01-03 1990-10-16 Honeywell Inc. Microprocessor controlled interconnection apparatus for very high speed integrated circuits
US4947395A (en) * 1989-02-10 1990-08-07 Ncr Corporation Bus executed scan testing method and apparatus
US5392297A (en) * 1989-04-18 1995-02-21 Vlsi Technology, Inc. Method for automatic isolation of functional blocks within integrated circuits
DE69031257T2 (de) * 1989-09-21 1998-02-12 Texas Instruments Inc Integrierte Schaltung mit einem eingebetteten digitalen Signalprozessor
US5214584A (en) * 1989-12-26 1993-05-25 Hughes Aircraft Company Bidirectional data interface for a processor embedded in a self-propelled vehicle
US5049814A (en) * 1989-12-27 1991-09-17 Lsi Logic Corporation Testing of integrated circuits using clock bursts
US5254940A (en) * 1990-12-13 1993-10-19 Lsi Logic Corporation Testable embedded microprocessor and method of testing same
US5379308A (en) * 1992-04-20 1995-01-03 Intel Corporation Apparatus for a bus-based integrated circuit test architecture
US5534774A (en) * 1992-04-23 1996-07-09 Intel Corporation Apparatus for a test access architecture for testing of modules within integrated circuits
US5347181A (en) * 1992-04-29 1994-09-13 Motorola, Inc. Interface control logic for embedding a microprocessor in a gate array
US5404359A (en) * 1992-06-29 1995-04-04 Tandem Computers Incorporated Fail safe, fault tolerant circuit for manufacturing test logic on application specific integrated circuits
US5339262A (en) * 1992-07-10 1994-08-16 Lsi Logic Corporation Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
US5331571A (en) * 1992-07-22 1994-07-19 Nec Electronics, Inc. Testing and emulation of integrated circuits
FR2697356B1 (fr) * 1992-10-22 1994-12-09 Sagem Circuit intégré à la demande à microprocesseur.
US5477545A (en) * 1993-02-09 1995-12-19 Lsi Logic Corporation Method and apparatus for testing of core-cell based integrated circuits
US5799021A (en) * 1994-10-28 1998-08-25 Duet Technologies, Inc. Method for direct access test of embedded cells and customization logic

Also Published As

Publication number Publication date
US5954824A (en) 1999-09-21
US5724502A (en) 1998-03-03
EP0758113B1 (de) 2002-12-11
DE69625293D1 (de) 2003-01-23
JP3433404B2 (ja) 2003-08-04
EP0758113A1 (de) 1997-02-12
JPH0954705A (ja) 1997-02-25

Similar Documents

Publication Publication Date Title
DE69625293T2 (de) Prüfmodusmatrixschaltkreis für einen eingebetteten Mikroprozessorkern
DE3882266T2 (de) Abfrageprüfgerät für digitale Systeme mit dynamischem Direktzugriffspeicher.
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE69325205T2 (de) Schnittstellensteuerlogik zum Einbetten eines Mikroprozessors in eine Gattermatrix
DE69904320T2 (de) On-chip schaltung und verfahren zur speicherschaltungs-prüfung
DE102006059156B4 (de) Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
DE68925813T2 (de) Verfahren und vorrichtung zum nachweis von fehlern in halbleiterschaltungen
DE69430637T2 (de) Vorrichtung und verfahren zum testen von integrierten schaltkreisen
DE69628034T2 (de) Hochimpedanzmodus für jtag
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE68923086T2 (de) Verfahren zum Testen von hierarchisch organisierten integrierten Schaltungen und integrierte Schaltungen, geeignet für einen solchen Test.
DE68916106T2 (de) Verfahren und Gerät zur Prüfung von Tri-State-Treibern.
DE3702408C2 (de)
DE19729163A1 (de) System und Verfahren zur Abtaststeuerung einer programmierbaren Sicherungsschaltung in einer integrierten Schaltung
DE102005013883B3 (de) Schaltung zum Vergleichen von zwei n-stelligen binären Datenwörtern
DE69433542T2 (de) Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung
DE69533567T2 (de) Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE69124669T2 (de) Einrichtung zur Einstellung des Prüfmodus für den Gebrauch in einem Mikrorechner
DE10032256C2 (de) Chip-ID-Register-Anordnung
DE102006007439B4 (de) Halbleitereinzelchip, System und Verfahren zum Testen von Halbleitern unter Verwendung von Einzelchips mit integrierten Schaltungen
DE69114547T2 (de) Sequentielle Logikschaltungsvorrichtung.
EP1430320B1 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE60208062T2 (de) Digitales system und entsprechendes verfahren zur fehlererkennung

Legal Events

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