DE102006059158B4 - Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen - Google Patents

Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen Download PDF

Info

Publication number
DE102006059158B4
DE102006059158B4 DE102006059158A DE102006059158A DE102006059158B4 DE 102006059158 B4 DE102006059158 B4 DE 102006059158B4 DE 102006059158 A DE102006059158 A DE 102006059158A DE 102006059158 A DE102006059158 A DE 102006059158A DE 102006059158 B4 DE102006059158 B4 DE 102006059158B4
Authority
DE
Germany
Prior art keywords
test
core
data
result data
bit
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.)
Active
Application number
DE102006059158A
Other languages
English (en)
Other versions
DE102006059158A1 (de
Inventor
Markus Seuring
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE102006059158A priority Critical patent/DE102006059158B4/de
Priority to US11/789,269 priority patent/US7689884B2/en
Publication of DE102006059158A1 publication Critical patent/DE102006059158A1/de
Application granted granted Critical
Publication of DE102006059158B4 publication Critical patent/DE102006059158B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318561Identification of the subpart
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • G01R31/318563Multiple simultaneous testing of subparts

Abstract

Integrierter Schaltkreischip, umfassend:
einen Testeingang (210) zum Empfangen von Testdaten;
einen Erwartungswerteeingang (220) zum Empfangen von erwarteten Ergebnisdaten;
zumindest zwei Schaltungskerne (230, 240, 250), wobei jeder Kern einen Kern-Testeingang (231, 241, 251) und einen Kern-Testausgang (239, 249, 259) aufweist und jeder Kern eingerichtet ist, Testdaten von dem Testeingang (210) an seinem Kern-Testeingang (231, 241, 251) zu empfangen, Testergebnisdaten entsprechend den empfangenen Testdaten zu erzeugen und die erzeugten Testergebnisdaten an seinem Kern-Testausgang (239, 249, 259) bereitzustellen;
eine Vergleichsschaltung (260) zum Vergleichen der Testergebnisdaten von den Kern-Testausgängen (239, 249, 259) und der empfangenen erwarteten Ergebnisdaten für jeden Kern (230, 240, 250), um für jeden Kern (230, 240, 250) festzustellen, ob es eine Ungleichheit zwischen den Testergebnisdaten und den erwarteten Ergebnisdaten gibt oder nicht;
einen Speicher (270) zum Speichern einer Ungleichheit-Anzeige für jeden Kern (230, 240, 250); und
eine logische Maskierungseinheit (580) zum Empfangen der erwarteten Ergebnisdaten...

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung bezieht sich allgemein auf das Testen von Halbleiterbauelementen und im Besonderen auf das Testen von integrierten Schaltkreisen, die mehrere Kerne beinhalten.
  • 2. Beschreibung des Standes der Technik
  • Die Herstellung von integrierten Schaltungen beinhaltet das Testen der Schaltungen, um deren korrekten Betrieb sicherzustellen und Informationen über mögliche Fehler zu erhalten. Integrierte Schaltungen geringer Komplexität können unter Verwendung funktionaler Tests getestet werden, bei denen Testmuster oder Testvektoren an integrierte Schaltkreise (auch bezeichnet als "Chip") mittels einem automatisierten Testgerät (ATE) angelegt werden, wobei die Testmuster dazu entwickelt sein können, die vollständige Funktionalität des integrierten Schaltkreises zu prüfen. Für integrierte Schaltkreise mit hoher Komplexität mag es jedoch effizienter sein, jeden Block des Chips separat zu testen anstatt den vollständigen Chip als ganzes zu testen. In diesem Fall kann das ATE dedizierte Testmuster für jeden strukturellen Block, der innerhalb des integrierten Schaltkreises getestet werden soll, zur Verfügung stellen. Die resultierende Ausgabe wird wiederum durch das ATE erfasst, in dem sie analysiert wird.
  • 1 zeigt ein Beispiel für einen integrierten Schaltkreischip, der getestet werden soll. Der Chip 100 umfasst einen Kern 130, der Zufallslogik, wie z. B. einen Prozessorkern, enthalten kann. Weiterhin beinhaltet der Chip 100 einen Testeingang 110, welcher ein n-Bit-Anschluss sein kann, an den ein ATE 150 einen n-Bit-Testvektor anlegen kann, wodurch der n-Bit-Testvektor über einen n-Bit-Bus dem Kern 130 zugeführt wird. Weiterhin beinhaltet der Chip 100 einen Testausgang 120, der ein n-Bit-Anschluss sein kann, der über einen n-Bit-Bus an den Kern 130 angeschlossen ist, wodurch es dem ATE 150 ermöglicht wird, Ausgabedaten des Kerns 130 zu erfassen, die sich ergeben, wenn der Kern 130 mit den Testeingabedaten betrieben wird.
  • Aufgrund der anhaltenden Fortschritte bei der Verkleinerung von Strukturgrößen von Halbleiterbauelementen und der daraus resultierenden Zunahme der Chipkomplexität versucht die Halbleiterindustrie, integrierte Schaltkreischips herzustellen, die mehrere Komponenten eines Systems integrieren, die früher als separate Halbleiterchips hergestellt wurden. Zum Beispiel kann ein Halbleiterchip mehrere Prozessorkerne beinhalten, die im Wesentlichen identisch sind, wodurch ein Einzelchip-Multiprozessor entsteht.
  • Das Testen solcher Mehrkern-Chips in der in 2 gezeigten konventionellen Art würde in einer substantiellen Zunahme an Testzeit und benötigten Eingabe-/Ausgabe-eins resultieren. Daher stellt sich die Frage, wie die Schaltung von integrierten Schaltkreisen, die eine Vielzahl von im Wesentlichen ähnlichen Kernen aufweisen, effizient zu testen ist.
  • DE 195 36 226 A1 beschreibt einen integrierten Schaltkreis, der drei identische Schaltkreisblöcke umfasst, denen über mehrere Eingangsanschlüsse gleichzeitig Testmuster zugeführt werden können. Die Testausgangsmuster können mit einem Ergebnismuster verglichen werden. In einem Blockfehlerregister werden Fehlerbits gespeichert, die einen Fehler verursachenden Schaltkreisblock anzeigen, und in einem Ausgangsfehlerregister werden Fehlerbits gespeichert, die einem Fehler verursachenden Bit in dem Testergebnismuster entsprechen.
  • WO 01/38889 A1 beschreibt die Verwendung von mehreren Abtastketten zum Testen eines Schaltungskerns sowie die Verwendung eines on-chip Auswahlschaltkreises, der die Fähigkeit besitzt, eine oder mehrere der Testantworten zu maskieren, bevor die Testantworten einem Kompaktor zugeführt und in diesem komprimiert werden, wodurch die zu komprimierende Datenmenge reduziert wird.
  • WO 01/38890 A1 beschreibt, dass komprimierte Testmuster einem integrierten Schaltkreis, der eine Schaltung und einen Dekomprimierer umfasst, mittels eines automatisierten Testgerätes zugeführt werden. Der Dekomprimierer dekomprimiert die zugeführten komprimierten Testmuster und erzeugt Pseudo-Zufallstestmuster, die an Abtastketten innerhalb der unter Test befindlichen Schaltung angelegt werden.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Es ist Aufgabe der vorliegenden Erfindung, ein effizientes Testen von integrierten Schaltkreisen, die mehrere im Wesentlichen ähnliche Schaltungskerne enthalten, zu ermöglichen.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Hauptansprüche gelöst.
  • Bevorzugte Ausführugsformen sind Gegenstände der Unteransprüche.
  • Es werden eine Architektur eines integrierten Schaltkreischips und ein Verfahren zur Verfügung gestellt, die die Effizienz des Testens von einem integrierten Schaltkreischip mit einer Vielzahl von Schaltungskernen verbessern.
  • In einer Ausführungsform wird eine Architektur eines integrierten Schaltkreischips bereitgestellt, die einen Testeingang zum Empfangen von Testdaten und einen Erwartungswerteeingang zum Empfangen von erwarteten Ergebnisdaten umfasst. Weiterhin umfasst die Architektur des integrierten Schaltkreischips zumindest zwei Schaltungskerne, wobei jeder Kern einen Kern-Testeingang und einen Kern-Testausgang aufweist. Jeder Kern ist eingerichtet, Testdaten von dem Testeingang an dem Kern-Testeingang zu empfangen, Test-Ergebnisdaten gemäß den an dem Kern-Testeingang empfangenen Testdaten zu erzeugen und die erzeugten Test-Ergebnisdaten an dem Kern-Testausgang zur Verfügung zu stellen. Die Architektur des integrierten Schaltkreischips umfasst weiterhin eine Vergleichsschaltung, die eingerichtet ist, die Test-Ergebnisdaten eines jeden Kerns mit erwarteten Ergebnisdaten von dem Erwartungswerteeingang zu vergleichen, um Vergleichsergebnisdaten zu erzeugen, die anzeigen, ob eine Ungleichheit zwischen den Test-Ergebnisdaten und den erwarteten Ergebnisdaten vorliegt oder nicht. Die Architektur des integrierten Schaltkreischips umfasst weiter einen Speicher, der eingerichtet ist, eine Ungleichheit-Anzeige für jeden Schaltungskern zu speichern.
  • In einer weiteren Ausführungsform wird für einen integrierten Schaltkreischip ein Verfahren zum Testen der Schaltung von zumindest zwei in dem integrierten Schaltkreischip beinhalteten Schaltungskernen zur Verfügung gestellt. Das Verfahren umfasst ein Empfangen von Testdaten und erwarteten Ergebnisdaten. Das Verfahren umfasst weiterhin ein Liefern der Testdaten zu Kern-Testeingängen der Schaltungskerne. In den Schaltungskernen werden Testergebnisdaten entsprechend der gelieferten Testdaten erzeugt und an jeweilige Kern-Testausgänge geliefert. Das Verfahren umfasst weiterhin ein Vergleichen der Testergebnisdaten eines jeden der Schaltungskerne mit den erwarteten Ergebnisdaten in einer Vergleichsschaltung des integrierten Schaltkreischips, um festzustellen, ob eine Ungleichheit zwischen den Testergebnisdaten und den erwarteten Ergebnisdaten besteht oder nicht. Weiterhin umfasst das Verfahren ein Speichern einer Ungleichheit-Anzeige für jeden der Schaltungskerne in einem Speicher des integrierten Schaltkreischips.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Merkmale und Vorteile werden anhand der folgenden und detaillierteren Beschreibung der Erfindung, wie sie in den begleitenden Zeichnungen dargestellt ist, deutlich werden, wobei:
  • 1 ein Blockdiagramm darstellt, das eine Einkern-Chiparchitektur zeigt;
  • 2 ein Blockdiagramm darstellt, das eine Mehrkern-Chiparchitektur gemäß einer Ausführungsform zeigt;
  • 3 ein Flussdiagramm darstellt, das ein Mehrkern-Chiptestverfahren gemäß einer Ausführungsform zeigt;
  • 4 ein Blockdiagramm darstellt, das eine Mehrkern-Chiparchitektur gemäß einer anderen Ausführungsform zeigt;
  • 5 ein Blockdiagramm darstellt, das eine Mehrkern-Chiparchitektur gemäß einer weiteren Ausführungsform zeigt;
  • 6 ein Blockdiagramm darstellt, das eine Maskierungslogik für einen einzelnen Abtastkanal gemäß einer Ausführungsform zeigt;
  • 7 ein Blockdiagramm darstellt, das eine Vergleichslogik für einen einzelnen Abtastkanal gemäß einer Ausführungsform zeigt;
  • 8 ein Blockdiagramm darstellt, das einen einzelnen Kern gemäß einer Ausführungsform zeigt;
  • 9 ein Blockdiagramm darstellt, das eine weitere Ausführungsform, die mehrere Maskierungsdaten berücksichtigt, zeigt; und
  • 10 ein Flussdiagramm darstellt, das ein Mehrkern-Chiptestverfahren gemäß einer weiteren Ausführungsform zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die illustrativen Ausführungsformen der vorliegenden Erfindung werden mit Bezug auf die Figurenzeichnungen beschrieben, wobei gleiche Elemente und Strukturen mit gleichen Bezugszeichen belegt sind.
  • Wie nachstehend in näherem Detail beschrieben ist, erlauben die Ausführungsformen ein effizientes Testen von Halbleiterchips mit Mehrkern-Design. Das Testen solcher Mehrkern-Designs kann von dem Umstand profitieren, dass die Kerne im Wesentlichen ähnlich sind, was bedeutet, dass sie bis auf einen sehr geringen Bruchteil des Designs üblicherweise identisch sind. Daher sind Tests für einen Kern meistens auf alle Kerne anwendbar. Diese Anwendbarkeit der gleichen Tests für alle Kerne eines Multikern-Chips wird von den Ausführungsformen dazu benutzt, ein effizientes Testen der Chips zu ermöglichen.
  • Zum Ermöglichen eines effizienten Tests von Multikern-Chipdesigns müssen im Vergleich zum Test von Einzelkern-Designs mehrere zusätzliche Themen beachtet werden. Beispielsweise zeigt 1 eine Einzelkern-Chiparchitektur, in welcher Testmuster zum Testen des Kerns 130 des Chips 100 dem Kern 100 über den Testeingang 110 zugeführt werden und die entsprechenden Testergebnisse über einen Testausgang 120 ausgegeben werden. Ein ATE 150 kann mit dem Testeingang 110 und dem Testausgang 120 verbunden sein, um die Testmuster bereitzustellen und die entsprechenden Testergebnisse entgegenzunehmen. Würde man diesen Ansatz auf ein Multikern-Design anwenden, würde dies in einer Multikern-Chiparchitektur resultieren, welche mehrere Kerne sowie mehrere Testeingänge und mehrere Testausgänge, von denen jeder einem bestimmten Kern zugeordnet wäre, beinhalten würde. Dann würde ein ATE nacheinander an die Testeingänge/Testausgänge der Kerne angeschlossen werden. Solch eine serielle Herangehensweise, jeden Kern nacheinander separat zu testen, würde jedoch die Testzeit entsprechend der Anzahl an Kernen multiplizieren. Zusätzlich multipliziert die Bereitstellung eines Testeingangs und eines Testausgangs für jeden Kern die Anzahl an Eingangs-/Ausgangs-eins eines solchen Multikern-Chips. Andererseits könnte dieser Testzeitnachteil reduziert werden, wenn die Testeingabe-Pins zwischen allen Kernen geteilt, aber jeder Kern mit dedizierten Testausgabe-Pins verbunden wird, aber das Hinzufügen von Kernen zu so einem Design bedeutet weniger Durchsatz an Testdaten, so dass die Testzeit zunimmt.
  • Daher stellen die gezeigten Ausführungsformen eine Mehrkern-Chiparchitektur bereit, die es ermöglicht, eingegebene Daten den mehreren Kernen parallel zur Verfügung zu stellen, um die mehreren Kerne gleichzeitig zu testen, und die resultierenden mehreren Testausgaben auf dem Chip zu analysieren. Als ein Ergebnis dieser Analyse können manche Ausführungsformen eine Anzeige für solche Kerne auf dem Chip speichern, die den Test nicht erfolgreich bestanden haben. Auf diese Art ist die Zeit zum Testen des Mehrkern-Chips nahezu unabhängig von der Anzahl der im Wesentlichen gleichen Kerne auf dem Chip, was bedeutet, dass der Mehrkern-Chip in nahezu der gleichen Zeit getestet werden kann wie ein Einzelkern-Chip.
  • Weiterhin werden Ausführungsformen beschrieben, die es nicht erfordern, dass im Vergleich zum Testen eines Einzelkern-Chips die gesamte Anzahl an Eingabe-/Ausgabe-Pins erhöht wird. Wie nachstehend in näherem Detail beschrieben, werden erwartete Ergebnisdaten einem Mehrkern-Chip über Eingabe-Pins zugeführt, die die Ausgabe-Pins der Einzelkern-Chiparchitektur ersetzen.
  • Nun wird auf 2 Bezug genommen, die eine Mehrkern-Chiparchitektur 200 zeigt, die im Wesentlichen ähnliche Kerne 230 (Kern 1), 240 (Kern 2) und 250 (Kern m) umfasst. Obwohl drei Kerne gezeigt sind, kann jede andere Anzahl von im Wesentlichen ähnlichen Kernen verwendet werden. Es ist zu beachten, dass andere Kerne und Schaltkreiseinheiten ebenfalls in der Mehrkern-Chiparchitektur 200 enthalten sein können, aber nur solche Kerne 230, 240 und 250 gezeigt sind, welche im Wesentlichen ähnlich sind. Jeder der Kerne 230, 240 und 250 ist mit dem Testeingang 210 verbunden, der einen Eingangsanschluss von n Kontaktflecken („pads") oder Pins darstellen kann. Ein ATE kann mit dem Testeingang 210 verbunden sein, über welchen das ATE Testdaten zum Testen der Kerne 230, 240 und 250 zuführen kann. In einer Ausführungsform können die Testdaten als n-Bit-Testmuster oder Testvektoren bereitgestellt werden, die über einen n-Bit-Bus zu den separaten Kernen 230, 240 und 250 zugeführt werden. Wie in 2 gezeigt, kann der n-Bit-Bus eingerichtet sein, die Testmuster gleichzeitig an die separaten Kerne 230, 240 und 250 zu liefern, so dass die mehreren Kerne parallel getestet werden können. Daher können die mehreren Kerne 230, 240 und 250 die Testmuster gleichzeitig an deren jeweiligen Kern-Testeingängen 231, 241 und 251 empfangen und dementsprechend die resultierenden Testergebnisdaten an deren jeweiligen Kern-Testausgängen 239, 249 und 259 zur Verfügung stellen.
  • Zum Beispiel kann eine Sequenz von n-Bit-Testmustern gleichzeitig an den Kern-Eingängen 231, 241 und 251 der mehreren Kerne 230, 240 und 250 empfangen werden. Die Sequenz von Testmustern kann, getriggert von einem Chip-Testtakt, in jeden der mehreren Kerne sequenziell hineingeschoben werden. Entsprechend wird eine Sequenz von Testergebnismustern aus den mehreren Kernen 230, 240 und 250 an deren jeweiligen Kern-Testausgängen 239, 249 und 259 herausgeschoben.
  • Wie in 2 gezeigt, können die n-Bit-Testergebnismuster über einen n-Bit-Bus an die Vergleichsschaltung 260 geliefert werden. Jeder der Kerne 230, 240 und 250 kann mit der Vergleichsschaltung 260 über einen separaten n-Bit-Bus verbunden sein, so dass die von Kern 1 ausgegebenen Testergebnismuster sowie die von Kern 2 ausgegebenen Testergebnismuster und die von Kern m ausgegebenen Testergebnismuster gleichzeitig an separaten Eingangsanschlüssen der Vergleichsschaltung 260 empfangen werden. In anderen Ausführungsformen ist es möglich, dass die von den mehreren Kernen ausgegebenen Testergebnisdaten in die Vergleichsschaltung 260 über einen einzelnen Eingangsanschluss in gemultiplexter Form eingegeben werden. In weiteren Ausführungsformen kann es möglich sein, dass die Verbindungen zwischen den mehreren Kernen 230, 240 und 250 und der Vergleichsschaltung 260 eine geringere Breite als n Bit aufweisen können; dann können die n-Bit-Testergebnismuster an die Vergleichsschaltung 260 in einer codierten oder komprimierten Form geliefert werden. In der in 2 gezeigten Ausführungsform geben die Kerne 230, 240 und 250 m n-Bit-Muster aus, die von der Vergleichsschaltung 260 parallel empfangen werden.
  • Weiterhin umfasst der Mehrkern-Chip 200 einen Erwartungswerteeingang 220, über den der Mehrkern-Chip 200 erwartete Testergebnisdaten empfangen kann. In einer Ausführungsform kann der Erwartungswerteeingang 220 ein n-Bit-Eingangsanschluss mit n Pins oder Kontaktflecken sein, an die ein ATE eingeschlossen werden kann, um erwartete Testergebnisdaten zur Verfügung zu stellen, die den zur Verfügung gestellten Testeingangsdaten entsprechen. Die erwarteten Testergebnisdaten repräsentieren Testantworten auf die Testeingangsdaten für den Fall eines korrekt arbeitenden Schaltungskerns. Die erwarteten Testergebnisdaten können über den Erwartungswerteeingang 220 als erwartete n-Bit-Ergebnismuster eingegeben werden und über einen n-Bit-Bus an die Vergleichsschaltung 260 geliefert werden. Die Vergleichsschaltung 260 analysiert, ob die Testausgangsdaten eines jeden Kerns 230, 240 und 250 den erwarteten Ergebnisdaten entsprechen. Beispielsweise kann die Vergleichsschaltung 260 ein Test-Ausgangsmuster von Kern m und ein entsprechendes erwartetes Testmuster von dem Erwartungswerteeingang 220 erhalten. Dann stellt die Vergleichsschaltung 260 fest, ob irgendeine Ungleichheit zwischen den Testausgangsdaten des Kerns m und den entsprechenden erwarteten Ergebnismustern besteht, indem sie diese miteinander vergleicht, wodurch ein Vergleichsergebnismuster erzeugt wird. Falls eine Ungleichheit festgestellt wird, kann eine Ungleichheit-Anzeige erzeugt werden, die die festgestellte Ungleichheit anzeigt.
  • Wenn beispielsweise der Wert von einem Bit eines n-Bit-Testausgangsmusters nicht mit dem Wert des entsprechenden Bits des entsprechenden erwarteten Ergebnismusters übereinstimmt, kann die Vergleichsschaltung 260 ein Fehlerbit erzeugen, das anzeigt, dass ein bestimmter Kern ein Testausgangsmuster erzeugt hat, das nicht mit dem erwarten Ergebnismuster übereinstimmt. Diese Analyse und die Ungleichheit-Feststellung wird in der Vergleichsschaltung 260 für jeden der mehreren Kerne 230, 240 und 250 durchgeführt.
  • Weiterhin umfasst der Mehrkern-Chip 200 einen Speicher 270, der mit der Vergleichsschaltung 260 verbunden ist. In dem Speicher 270 können die von der Vergleichsschaltung 260 für jeden der mehreren Kerne 230, 240 und 250 erzeugten Ungleichheit-Anzeigen gespeichert werden. Der Speicher 270 kann mit der Vergleichsschaltung 260 über einen m-Bit-Bus verbunden sein, so dass die Ungleichheit-Anzeigen für die separaten Kerne parallel von der Vergleichsschaltung 260 an den Speicher 270 geliefert werden können. In anderen Ausführungsformen können die Ungleichheit-Anzeigen seriell, gemultiplext oder codiert an den Speicher 270 geliefert werden.
  • In weiteren Ausführungsformen können die Kern-Testausgänge 239, 249 und 259 separat mit dem Erwartungswerteeingang 220 verbunden sein. Dies kann ermöglichen, einen konventionellen Test eines einzelnen Kerns der mehreren Kerne durchzuführen, indem der Erwartungswerteeingang als ein Testausgang, an den das ATE angeschlossen wird, verwendet wird. Dies kann nützlich sein, falls eine detailliertere Analyse der Testergebnisse in dem ATE durchgeführt werden soll.
  • In weiteren Ausführungsformen kann der Speicher 270 mit dem Erwartungswerteeingang 220 verbunden sein, so dass die Ungleichheit-Anzeigen aus dem Speicher 270 in einem Auslesemodus ausgelesen werden können.
  • Es wird nun auf 3 Bezug genommen, in der ein exemplarisches Mehrkern-Chiptestverfahren gemäß einer Ausführungsform dargestellt ist. In Schritt 310 werden Testdaten zum Testen der mehreren Kerne eines Mehrkern-Chips an einem Chip-Testeingang des Mehrkern-Chips empfangen und erwartete Ergebnisdaten, die eine korrekt arbeitende Schaltung eines Kerns anzeigen, an einem Erwartungswerteeingang des Mehrkern-Chips empfangen. In Schritt 320 werden die empfangenen Testdaten an die mehreren Kerne geliefert und von diesen an jeweiligen Kern-Testeingängen empfangen. In Schritt 330 erzeugt jeder der mehreren Kerne Testergebnisdaten, indem die empfangenen Testdaten auf die Schaltung des Kerns angewendet werden, und jeder Kern liefert diese Testergebnisdaten an einen Kern-Testausgang. In Schritt 340 wird für jeden Kern jegliche Ungleichheit zwischen dessen erzeugten Testergebnisdaten und den erwarteten Ergebnisdaten festgestellt, indem die Testergebnisdaten mit den erwarteten Ergebnisdaten auf dem Chip verglichen werden. In Schritt 350 wird für jeden Kern des Mehrkern-Chips eine Ungleichheit-Anzeige in einem auf dem Chip befindlichen Speicher gespeichert.
  • Es wird nun auf 4 Bezug genommen, in der eine Mehrkern-Chiparchitektur 400 bereitgestellt wird, in der die mehreren Kerne 430, 440 und 450 über einen Abtastketten-Ansatz getestet werden können.
  • In einem Abtastketten-Ansatz wird eine logische Schaltung über so genannte Abtastketten getestet, die eine Kette von Registern (flip-flops oder Schieberegister) darstellen, die mit der logischen Schaltung des Kerns in solch einer Weise verbunden sind, dass Zugang zu den internen Knoten des Kerns erhalten wird. Die internen Knoten des Kerns, die mit den Registern von einer oder mehreren Abtastketten verbunden sind, können mit einem gewünschten Zustand initialisiert werden, der vorher in die Register der einen oder mehreren Abtastketten in einem Initialisierungsmodus hineingeschoben wurde. Im Testmodus können ein oder mehrere Taktsignale an die logische Schaltung des Kerns angelegt werden und der Zustand von jedem internen Knoten, der an die eine oder die mehreren Abtastketten angeschlossen ist, kann in den entsprechenden Registern der einen oder der mehreren Abtastketten erfasst und herausgeschoben werden, indem der einen oder den mehreren Abtastketten Schiebetaktsignale zugeführt werden. Daher können Testmuster zum Testen der internen Schaltung eines Kerns über die eine oder die mehreren Abtastketten hineingeschoben werden, Taktsignale können angewendet werden, um die interne Schaltung mit den Testmustern zu testen, und entsprechende Testergebnisse können von der einen oder den mehreren Abtastketten herausgeschoben werden. Abhängig von den zu der einen oder den mehreren Abtastketten zugeführten Testmustern kann bestimmt werden, welche Ergebnismuster von der einen oder den mehreren Abtastketten herausgeschoben werden würden, wenn die interne Schaltung des Kerns korrekt arbeitet; diese Ergebnismuster werden als erwartete Ergebnismuster zur Verfügung gestellt. Daher kann, falls die tatsächlich ausgegebenen Ergebnismuster nicht mit den erwarteten Ergebnismustern übereinstimmen, abgeleitet werden, dass die internen logischen Gatter, die die internen Knoten repräsentieren, die mit den Registern der einen oder den mehreren Abtastketten verbunden sind, defekt sein können. Auf diese Weise können fehlerhafte Kerne innerhalb des Mehrkern-Chips identifiziert werden.
  • In 4 beinhaltet jeder der m Kerne 430, 440 und 450 n Abtastketten. Beispielsweise umfasst der Kern 430 (Kern 1) die Abtastketten 432 (Abtastkette 1), 434 (Abtastkette 2) und 436 (Abtastkette n). Es ist zu beachten, dass obwohl nur drei Abtastketten 432, 434 und 436 gezeigt sind, jede Anzahl n von Abtastketten in jedem der mehreren Kerne beinhaltet sein kann. Gleichermaßen umfasst der Kern 440 (Kern 2) die Abtastketten 442, 444 und 446, und Kern 450 (Kern m) umfasst die Abtastketten 452, 454 und 456.
  • Am Testeingang 210 können die Testeingangsmuster dem Mehrkern-Chip 400 zugeführt werden. Die Testeingangsmuster können als n-Bit-Eingangsmuster durch ein ATE bereitgestellt werden. Die n-Bit-Testeingangsmuster können über einen n-Bit-Bus gleichzeitig an die Kern-Testeingänge der mehreren Kerne 430, 440 und 450 geliefert werden. Die n-Bit-Testmuster werden benutzt, um die Testdaten in die n-Abtastketten 432, 434, 436, 442, 444, 446, 452, 454 und 456 der mehreren Kerne 430, 440 und 450 einzuführen. Die n Ausgänge der n Abtastketten von jedem Kern erlauben es, Testantworten herauszuschieben, die in den Abtastregistern der n Abtastketten während einem oder mehreren erfassten Zyklen gespeichert werden, wodurch ein n-Bit-Testmuster oder Testvektor an dem Kern-Testausgang von jedem der mehreren Kerne 430, 440 und 450 bereitgestellt wird. Zusätzlich zu den Testantworten von den mehreren Kernen 430, 440 und 450 empfängt der Mehrkern-Chip 400 auch für eine fehlerfreie interne Schaltung der mehreren Kerne erwartete Testantworten an dem Erwartungswerteeingang 220. Die erwarteten Testantworten können als erwartete n-Bit-Ergebnismuster von dem ATE zur Verfügung gestellt werden. Der Mehrkern-Chip 400 umfasst weiterhin logische Vergleichseinheiten 460, 462 und 464, wobei die logische Vergleichseinheit 460 direkt mit dem Kern 430 (Kern 1) verbunden ist, die logische Vergleichseinheit 462 direkt mit dem Kern 440 (Kern 2) verbunden ist und die logische Vergleichseinheit 464 direkt mit dem Kern 450 (Kern m) verbunden ist. Weiterhin ist jede logische Vergleichseinheit 460, 462 und 464 mit dem Erwartungswerteeingang 220 verbunden. Es ist die Aufgabe der logischen Vergleichseinheiten 460, 462 und 464 festzustellen, ob die eingegebenen Testmuster, die von allen m Kernen benutzt werden, jeden der m Kerne 430, 440 und 450 veranlassen, Testergebnismuster zu erzeugen, die mit den erwarteten Ergebnismustern, die ebenso von allen Kernen benutzt werden, übereinstimmen. Beispielsweise vergleicht die logische Vergleichseinheit 460 das von dem Kern 430 empfangene Testergebnismuster mit dem von der Erwartungswerteeinheit 220 empfangenen erwarteten Ergebnismuster. Falls irgendeine Ungleichheit festgestellt wird, wird eine Anzeige für diese Ungleichheit erzeugt und an den Speicher 470 geliefert. In einer Ausführungsform führt die logische Vergleichseinheit 460 einen bitweisen Vergleich des empfangenen Testergebnismusters und des empfangenen erwarteten Testergebnismusters durch und gibt die Vergleichsergebnisse als n-Bit-Vergleichsvektor aus. Beispielsweise kann ein Bit mit dem Wert "1" ausgegeben werden, falls eine Ungleichheit zwischen einem bestimmten Bit des empfangenen Testergebnismusters und einem bestimmten Bit des empfangenen erwarteten Ergebnismusters auftritt. Für den Fall, dass das empfangene Testergebnismuster und das empfangene erwartete Ergebnismuster exakt übereinstimmen, kann ein Bit mit dem Wert "0" ausgegeben werden. Dann wird der n-Bit-Vergleichsvektor einem ODER-Gatter 461 zugeführt, das für den Fall, dass alle Bits des Vergleichsvektors den Wert "0" aufweisen, eine "0" ausgibt, und für den Fall, dass zumindest ein Bit des Vergleichsvektors den Wert "1" aufweist, eine "1" ausgibt. Die Ausgabe des ODER-Gatters 461 kann als Fehlerbit in einem Speicher des Mehrkern-Chips 400 als ein Ungleichheit-Anzeigewert gespeichert werden. Ein Fehlerbit-Wert von "1" kann eine erfasste Ungleichheit anzeigen; ansonsten kann ein Fehlerbit-Wert von "0" anzeigen, dass keine Ungleichheit festgestellt wurde, und kann somit als Bestandenbit angesehen werden.
  • In gleicher Weise vergleicht die logische Vergleichseinheit 462 das Testergebnismuster von dem Kern 440 mit dem erwarteten Ergebnismuster und entsprechend dem resultierenden Vergleichsvektor kann ein ODER-Gatter 463 einen diesbezüglichen Ungleichheit-Anzeigewert an den Speicher 470 liefern. In ähnlicher Weise vergleicht die logische Vergleichseinheit 464 das Testergebnismuster von dem Kern 450 mit dem erwarteten Ergebnismuster und über ein ODER-Gatter 465 kann ein Ungleichheit-Anzeigewert an den Speicher 470 geliefert werden, falls die logische Vergleichseinheit 464 irgendeine Ungleichheit feststellt. In einer Ausführungsform kann der Speicher 470 eine Vielzahl von Fehlerbit-Registern beinhalten, die mit den logischen Vergleichseinheiten 460, 462 und 464 assoziiert sind. Beispielsweise kann das Fehlerbit-Register ein Register, das direkt mit dem ODER-Gatter 461 verbunden ist, ein Register, das direkt mit dem ODER-Gatter 463 verbunden ist und ein Register, das direkt mit dem ODER-Gatter 465 verbunden ist, beinhalten.
  • In weiteren Ausführungsformen können die Kern-Testausgänge der Kerne 430, 440 und 450 oder die Ausgänge der logischen Vergleichseinheiten 460, 462 und 464 separat mit dem Erwartungswerteeingang 220 verbunden sein. Dies kann es ermöglichen, einen konventionellen Test eines einzelnen Kerns der mehreren Kerne durchzuführen, indem der Erwartungswerteeingang als ein Testausgang verwendet wird, mit dem das ATE verbunden wird. Dies kann nützlich sein, wenn eine detailliertere Analyse der Testergebnisse in dem ATE durchgeführt werden soll.
  • In weiteren Ausführungsformen kann der Speicher 470 mit dem Erwartungswerteeingang 220 verbunden sein, so dass die Ungleichheit-Anzeigewerte von den in dem Speicher 470 beinhalteten Fehlerbit-Registern in einem Auslesemodus ausgelesen werden können. In weiteren Ausführungsformen können die in dem Speicher 470 beinhalteten Fehlerbit-Register über einen Test-Zugangsanschluss ("test access Port", TAP) ausgelesen werden.
  • 5 zeigt eine weitere Ausführungsform, in welcher die mehreren Kerne 430, 440 und 450, der Testeingang 210, der Erwartungswerteeingang 220 und die ODER- Gatter 461, 463 und 465 den entsprechenden Einheiten aus 4 ähnlich sind. Des Weiteren enthält der Mehrkern-Chip 500 eine logische Maskierungseinheit 580. Die logische Maskierungseinheit 580 liefert zusätzlich zu den erwarteten Ergebnisdaten auch Maskierungsdaten an die logischen Vergleichseinheiten 560, 562 und 564.
  • Maskierungsdaten werden dann genutzt, wenn bestimmte Vergleiche innerhalb der logischen Vergleichseinheiten 560, 562 und 564 für ein Feststellen einer Ungleichheit nicht in Betracht gezogen werden sollen. Beispielsweise könnten in bestimmten Fällen unklare Werte aus einer Abtastkette herausgeschoben werden, wodurch die darauf bezogenen Vergleiche nicht brauchbar wären. Beispielsweise könnte es bekannt sein, dass ein bestimmtes Testmuster in einem Testergebnismuster resultiert, in dem nicht alle Werte der beinhalteten Testantworten unzweideutig definiert sind. Weiterhin könnte es bekannt sein, dass bestimmte Logikgatter, die mit einer bestimmten Abtastkette assoziiert sind, fehlerhaft sind, aber es könnte trotzdem für eine weitere Diagnose des betroffenen Kernes wünschenswert sein, die Schaltung des betroffenen Kernes mittels anderer Abtastketten weiter zu analysieren. In einem anderen Fall könnte es bereits bekannt sein, dass einer der mehreren Kerne fehlerhaft ist und deshalb sollen Ungleichheit-Informationen nur für die anderen Kerne des Mehrkern-Chips erlangt werden.
  • In der Ausführungsform von 5 empfangen die logischen Vergleichseinheiten 560, 562 und 564 Testergebnismuster von den mehreren Kernen 430, 440 und 450 in ähnlicher Weise, wie es in 4 gezeigt ist. Weiterhin empfängt der Mehrkern-Chip 500 erwartete Ergebnismuster an dem Erwartungswerteeingang 220 und diese erwarteten Ergebnismuster werden an die logische Maskierungseinheit 580 geliefert. Die logische Maskierungseinheit 580 ist mit den logischen Vergleichseinheiten 560, 562 und 564 über zwei Busse verbunden. Über den einen Bus werden die erwarteten Ergebnismuster von der logischen Maskierungseinheit 580 an die logischen Vergleichseinheiten 560, 562 und 564 geliefert. Über den anderen Bus werden Maskierungsinformationen von der logischen Maskierungseinheit 580 an die logischen Vergleichseinheiten 560, 562 und 564 geliefert. In einer Ausführungsform wird die Maskierungsinformation als n-Bit-Maskierungsmuster geliefert. Die logischen Vergleichseinheiten 560, 562 und 564 vergleichen die jeweiligen Testergebnismuster der mehreren Kerne 430, 440 und 450 mit den entsprechenden erwarteten Ergebnismustern. Ungleichheit-Anzeigen werden basierend auf den Vergleichsergebnissen erzeugt und an einen Speicher 570 geliefert. In einer Ausführungsform werden die von den logischen Vergleichseinheiten 560, 562 und 564 ausgegebenen Vergleichsergebnisse an die ODER-Gatter 461, 463 und 465 geliefert, die entsprechende Ungleichheit-Anzeigewerte für jeden Kern ausgeben. Diese Ungleichheit-Anzeigewerte können als Fehlerbits oder Bestandenbits an einen Speicher geliefert werden.
  • In einer Ausführungsform kann der Speicher ein Register 570 sein, das über einen Test-Zugangsanschluss (TAP) zugreifbar ist. Die Eigenschaften des TAP können durch die JTAG (Joint Test Action Group) spezifiziert sein. In einer Ausführungsform kann der Speicher ein TAP-zugreifbares Register 570 sein. In einer Ausführungsform werden alle Register in dem TAP-zugreifbaren Register 570 ursprünglich auf 0 ("low") gesetzt und die ODER-Gatter 461, 463 und 465 liefern dann einen Wert 1 ("high"), wenn die von den logischen Vergleichseinheiten 560, 562 und 564 ausgegebenen Vergleichsvektoren eine Ungleichheit anzeigen. Solche Register können den Wert 1 für die vollständige Testdauer beibehalten, so dass die Information, dass irgendeine Ungleichheit während des Testvorgangs für den jeweiligen Kern aufgetreten ist, nicht verloren wird. In einer weiteren Ausführungsform werden die Register ursprünglich auf einen Werte 1 ("high") gesetzt und die ODER-Gatter liefern einen Wert von 0 ("low") im Falle irgendeiner angezeigten Ungleichheit. Solche Register können den Wert 0 für die vollständige Testdauer beibehalten, so dass die Information, dass irgendeine Ungleichheit in dem Testvorgang für den jeweiligen Kern aufgetreten ist, nicht verloren wird. Das Fehlerbit-Register 570 kann über einen Test-Zugangsanschluss (TAP) ausgelesen werden und diejenigen Kerne, die den Test nicht bestanden haben, können durch die entsprechenden Fehlerbits identifiziert werden.
  • 6 zeigt ein Beispiel für die logische Maskierungseinheit 580 gemäß einer Ausführungsform. Die Maskierungslogik ist für einen einzelnen Abtastkanal dargestellt. Die logische Maskierungseinheit 580 wird mit einem Abtastschiebetakt und erwarteten Eingangsbitdaten versorgt.
  • Die Maskierungsdaten können von den erwarteten Ergebnisdaten wie folgt abgeleitet werden: falls ein Wert an diesen Eingängen für den gesamten Abtastzyklus stabil ist, dann ist ein Vergleich mit diesem Wert gültig; und falls ein Wert an diesen Eingängen zwischen der "on"- und "off"-Phase des Taktes während eines einzigen Zyklus umschaltet, dann sollte das Ergebnis des diesbezüglichen Vergleiches maskiert werden. Auf diese Weise können erwartete Ergebnisdaten und Maskierungsdaten zum Maskieren des Vergleichs von bestimmten Werten der erwarteten Ergebnisdaten mit von den entsprechenden separaten Abtastkanälen ausgegebenen Ergebniswerten über einen einzelnen Eingangsanschluss zur Verfügung gestellt werden. Die einzelnen Werte solcher Maskierungsdaten können daher als Abtastketten-Maskierungsbits betrachtet werden.
  • 6 zeigt Schieberegister 610 und 612, wobei das Schieberegister 610 durch die positive Flanke eines Abtastschiebetakts gesteuert wird und Schieberegister 612 durch die negative Flanke eines Abtastschiebetakts gesteuert wird. Weiterhin zeigt 6 ein exklusives ODER-Gatter, das mit den Ausgängen der Schieberegister 610 und 612 verbunden ist. Daher gibt das exklusive ODER-Gatter 620 immer dann eine "1" aus, die als Maskierungswert an die jeweilige logische Vergleichseinheit geliefert wird, wenn der Wert eines erwarteten Ergebnisbits innerhalb eines einzelnen Abtasttaktzyklus wechselt. Wenn sich der Wert des erwarteten Ergebnisbits innerhalb eines Taktzyklus nicht ändert, ist die Ausgabe des exklusiven ODER-Gatters 620 immer eine "0", was bedeutet, dass der betroffene Vergleich in der betroffenen logischen Vergleichseinheit nicht maskiert werden soll. Der Wert auf der mit "Erwartet" bezeichneten Ausgangsleitung entspricht immer dem Wert der mit "Erwartet" bezeichneten Eingangsleitung.
  • 7 zeigt ein Beispiel für eine Vergleichslogik für einen einzelnen Abtastkanal, die in Kombination mit der Maskierungslogik von 6 verwendet werden kann. Es wird ein ODER-Gatter 710 gezeigt, in das Maskierungsdaten und erwartete Daten eingegeben werden. Weiterhin gibt es ein weiteres ODER-Gatter 712, in das Maskierungsdaten und Testergebnisdaten eingegeben werden. Die Ausgänge der ODER-Gatter 710 und 712 sind mit einem exklusiven ODER-Gatter 720 verbunden, das ein Fehlerbit an seinem Ausgang bereitstellt, welches einem Fehlerbit-Register zugeführt werden kann. Falls eine "1" über die Maskierungsleitung eingegeben wird, ist der Ausgang des exklusiven ODER- Gatters 720 immer eine "0"; daher wird der Vergleich zwischen den Testergebnisdaten und den erwarteten Ergebnisdaten maskiert. Für den Fall, dass die Maskierungsleitung eine "0" liefert, wird der tatsächliche Wert der erwarteten Ergebnisdaten und der Testergebnisdaten verglichen und im Falle einer Ungleichheit ein Fehlerbit an dem Ausgang des exklusiven ODER-Gatters 720 bereitgestellt.
  • In weiteren Ausführungsformen kann die Vergleichslogik eine abweichende interne Struktur aufweisen. Beispielsweise können die Testergebnisdaten und die erwarteten Ergebnisdaten einem exklusiven ODER-Gatter zugeführt werden, dessen Ausgang einem ersten Eingang eines UND-Gatters zugeführt wird. Weiterhin wird die Maskierungsleitung einem Inverter zugeführt, dessen Ausgang einem zweiten Eingang des UND-Gatters zugeführt wird. Daher liefert der Ausgang des UND-Gatters dieselben Werte wie der Ausgang des exklusiven ODER-Gatters 720 des in 7 gezeigten Beispiels.
  • Für die in den 6 und 7 gezeigten Ausführungsformen kann es notwendig sein, dass die entsprechenden Anschlüsse und das ATE mit der doppelten Frequenz der Abtastverschiebung arbeiten können. Manchmal mag dies nicht möglich sein und dann kann die Dauer des Abtasttaktes verdoppelt werden, so dass der Abtasttest der mehreren Kerne ungefähr zweimal so lange läuft als für einen einzelnen Kern.
  • Für jeden Kern besteht die Vergleichslogik aus n Grundblöcken, die das Testantwortbit der Abtastketten mit dem entsprechenden erwarteten Bit vergleichen. Falls das diesbezügliche Maskierungsbit gesetzt ist, dann wird in jedem Fall keine Ungleichheit berichtet und das Ergebnis ist "0". Die ODER-Summe der Ergebnisse der n Grundblöcke ist nur dann "1", wenn zumindest einer der nichtmaskierten Vergleiche fehlgeschlagen hat. Diese Summe ist die Eingabe für das Fehlerbit des Kerns, welches in dem zusätzlichen TAP-Register gespeichert wird.
  • 8 zeigt einen einzelnen Kern 800, der in alternativen Ausführungsformen benutzt werden kann, in denen die Testdaten und die erwarteten Ergebnisdaten an die Multikern-Chiparchitektur in codierter Form geliefert werden. Dies kann der Fall sein, wenn eine große Anzahl von Abtastketten 830 über eine kleine Anzahl von Testeingabe-Pins betrieben werden soll. Dies kann durch Kern-Designs erreicht werden, in denen ein Kern 800 einen Decodierer 840 vor den Abtastketten beinhaltet, wobei der Decodierer 840 die vollständigen Testdaten aus den über den Kern-Testeingang 810 empfangenen komprimierten Daten erzeugt. Auf diese Weise kann eine Vielzahl von mehr als n Abtastketten 830 sogar dann gleichzeitig mit Testeingabedaten beliefert werden, wenn der Chip-Testeingang einen Eingangsanschluss mit nur n Pins oder Kontaktflecken darstellt oder wenn der Kern-Testeingang 810 mit dem Chip-Testeingang über einen n-Bit-Bus verbunden ist. In ähnlicher Weise kann der Kern 800 einen Codierer 850 am Ende der Abtastketten 830 umfassen, um die mehr als n Testantworten von den mehr als n Abtastketten 830 auf die Breite des Kern-Testausgangs 820 zu reduzieren. Es ist zu beachten, dass die hier beschriebenen Ausführungsformen mit oder ohne einer solchen Testdaten-Komprimierlogik funktionieren.
  • Weiterhin ist zu beachten, dass die Breite k des Kern-Testausgangs dieselbe sein kann wie die Breite n des Kern-Testeingangs, aber nicht notwendigerweise gleich der Breite n des Kern-Testeingangs sein muss. Jedoch muss in solchen Fällen, in denen die Breite k des Kern-Testausgangs nicht gleich der Breite n des Kern-Testeingangs ist, die anschließend folgende Vergleichslogik der hier beschriebenen Ausführungsformen entsprechend angepasst werden.
  • 9 zeigt ein Beispiel von weiteren Ausführungsformen, in denen zusätzliche Maskierungsdaten bereitgestellt werden, um die Ungleichheit-Feststellung für ganze Kerne zu maskieren. Beispielsweise kann dies nützlich sein, wenn es bekannt ist, dass einer der mehreren Kerne vollständig defekt ist.
  • Um alle Ergebnisse der Ungleichheit-Erkennung für einen oder mehrere Kerne zu maskieren, wurde der Mehrkern-Chiparchitektur dieser weiteren Ausführungsformen ein Kern-Maskierungsregister 975 zugefügt. Jede der logischen Vergleichseinheiten 960, 962 und 964 wird mit erwarteten Ergebnisdaten und mit den von einem assoziierten Kern ausgegebenen Testergebnisdaten versorgt. Des Weiteren werden die logischen Vergleichseinheiten 960, 962 und 964 mit einem Maskierungsbit des Kern-Maskierungsregisters 975 versorgt, das angibt, ob der Vergleich für einen bestimmten Kern maskiert werden soll oder nicht.
  • Beispielsweise kann die logische Vergleichseinheit 960 eine "1" von dem Kern-Maskierungsregister 975 erhalten. Dann wird, ähnlich der in 7 gezeigten Ausführungsform, keine "1" an das ODER-Gatter 961 ausgegeben und deshalb wird eine "0" in dem Fehlerbit-Register 970 gespeichert. Dadurch wird für diesen Kern, dem die logische Vergleichseinheit 960 zugeordnet ist, die Ungleichheit-Erkennung maskiert. In gleicher Weise arbeitet das ODER-Gatter 963 mit der logischen Vergleichseinheit 960 und das ODER-Gatter 965 mit der logischen Vergleichseinheit 964 zusammen.
  • In weiteren Ausführungsformen kann dieser Kern-Maskierungsansatz mit dem in Zusammenhang mit 7 beschriebenen Abtastkanal-Maskierungsansatz kombiniert werden. Zu diesem Zweck ist in 9 ein ODER-Gatter 976 gezeigt, dem ein diesbezügliches Kern-Maskierungsbit und ebenso diesbezügliche Abtastkanal-Maskierungsdaten zugeführt werden. Dann wird ein Vergleich – und damit eine Ungleichheit-Erkennung – für den Fall, dass ein Kern-Maskierungsbit gesetzt ist und ebenso für den Fall, dass diesbezügliche Abtastkanal-Maskierungsdaten zugeführt werden, maskiert. In gleicher Weise können sowohl Abtastkanal-Maskierungsdaten als auch Kern-Maskierungsdaten für die logische Vergleichseinheit 962 mittels dem ODER-Gatter 977 berücksichtigt werden und sowohl Abtastkanal-Maskierungsdaten als auch Kern-Maskierungsdaten für die logische Vergleichseinheit 964 mittels dem ODER-Gatter 978 berücksichtigt werden.
  • Nun wird auf 10 Bezug genommen, die ein exemplarisches Mehrkern-Chiptestverfahren gemäß einer weiteren Ausführungsform zeigt. In Schritt 1010 wird eine Sequenz von n-Bit-Testmustern an einem Chip-Testeingang des Mehrkern-Chips empfangen. In Schritt 1020 werden die empfangenen n-Bit-Testmuster den Kern-Testeingängen der mehreren Kerne zugeführt. In Schritt 1030 werden die n-Bit-Testmuster in die n Abtastketten hineingeschoben. In Schritt 1040 werden die n-Bit-Testergebnismuster aus den n Abtastketten herausgeschoben und an den Kern-Testausgängen der mehreren Kerne zur Verfügung gestellt. In Schritt 1050 wird entschieden, ob ein Kern-Maskierungsbit gesetzt ist, welches anzeigt, dass die Ungleichheit-Erkennung für einen bestimmten Kern maskiert werden soll. Falls ein Kern-Maskierungsbit gesetzt ist, speichert das Verfahren in Schritt 1090 ein Kern-Bestandenbit in einem Fehlerbit-Register. Andernfalls fährt das Verfahren mit Schritt 1060 weiter, in welchem für jedes Bit eines jeden n-Bit-Ergebnismusters ein Vergleich mit seinem entsprechenden Bit des erwarteten n-Bit-Ergebnismusters durchgeführt wird. Für jeden dieser bitweisen Vergleiche wird entschieden, ob ein Abtastketten-Maskierungsbit gesetzt ist, welches angibt, dass ein diesbezüglicher Vergleich maskiert werden soll. Falls der bitweise Vergleich nicht maskiert werden soll, resultiert eine in Schritt 1070 festgestellte Ungleichheit in einem Speichern eines Kern-Fehlerbits in dem Fehlerbit-Register in Schritt 1080. Falls keiner der Vergleiche der n-Bit-Ergebnismuster mit deren entsprechenden erwarteten Ergebnismustern in einer Ungleichheit resultiert, kann ein Kern-Bestandenbit in Schritt 1090 in dem Fehlerbit-Register gespeichert werden. Deshalb zeigt ein in dem Fehlerbit-Register gespeichertes Fehlerbit an, dass zumindest ein unerwarteter Wert während des Testens des mit diesem Fehlerbit assoziierten Kerns aufgetreten ist. Andererseits zeigt ein Kern-Bestandenbit an, dass für den betroffenen Kern kein unerwarteter Wert während des gesamten Testvorgangs aufgetreten ist.
  • In weiteren Ausführungsformen werden alle Bits des Fehlerbit-Registers anfangs auf einen Wert "Kern-Bestanden" gesetzt, bevor das Mehrkern-Chiptestverfahren begonnen wird, was bedeutet, dass anfangs Kern-Bestandenbits gespeichert sind. In diesem Fall wäre Schritt 1090 von 10 nicht notwendig, da alle Bits des Fehlerbit-Registers den Wert "Kern-Bestanden" so lange beibehalten, so lange keine Ungleichheit in Schritt 1070 erkannt wird. Andernfalls wird der Wert "Kern-Bestanden" mit einem Wert "Kern-Fehler" in Schritt 1080 überschrieben, sobald in Schritt 1070 eine Ungleichheit festgestellt wird, was bedeutet, dass ein Kern-Fehlerbit in dem Fehlerbit-Register gespeichert wird.
  • Wie bereits im Zusammenhang mit 7 angedeutet, gibt es weitere Ausführungsformen, in denen die Präsenz von Maskierungsbits nach dem Vergleich der n-Bit-Ergebnismuster mit den erwarteten n-Bit-Ergebnismustern berücksichtigt wird. Das heißt, dass zuerst festgestellt werden kann, ob die bitweisen Vergleiche der n-Bit-Ergebnismuster mit den erwarteten n-Bit-Ergebnismustern in einer Ungleichheit resultieren, und dann festgestellt werden kann, ob ein diesbezügliches Maskierungsbit gesetzt ist. Beispielsweise kann Schritt 1050 der 10 bis nach dem Schritt 1070 hinausgezögert werden. Das heißt, dass dann, wenn der Schritt 1070 in einem "Ja" resultiert, festgestellt wird, ob ein Kern-Maskierungsbit gesetzt ist. Entsprechend dieser Feststellung fährt das Verfahren mit einem der Schritte 1080 und 1090 fort.
  • In weiteren Ausführungsformen wird ein zusätzlicher Schritt des Testens der Maskierungsdaten-Erzeugungslogik, der Vergleicher und der Fehlerbit-Register durchgeführt, bevor das oben beschriebene Mehrkern-Chiptestverfahren gestartet wird.
  • Wie aus den oben beschriebenen Ausführungsformen ersichtlich, wird eine Chiparchitektur für einen integrierten Schaltkreis zur Verfügung gestellt, die ein effizientes Testen von mehreren in dem integrierten Schaltkreischip beinhalteten Kernen erlaubt.
  • Insbesondere erlauben die beschriebenen Ausführungsformen ein gleichzeitiges Testen der mehreren Kerne eines Mehrkern-Chips mit dem gleichen Satz von Testdaten. Weiterhin zeigen manche Ausführungsformen, dass verglichen mit dem Testen eines Einzelkern-Chips keine zusätzlichen Eingabe-/Ausgabe-Pins benötigt werden, was bedeutet, dass die gesamte Anzahl von Eingabe-/Ausgabe-Pins, die für das Testen benötigt werden, unabhängig von der Anzahl der parallel zu testenden Kerne ist. Weiterhin ermöglichen die beschriebenen Ausführungsformen, dass die Zeit zum Testen der Kerne eines Mehrkern-Chips nahezu unabhängig von der Anzahl der von in dem Mehrkern-Chip beinhalteten, im Wesentlichen gleichen Kernen ist. Daher wird keine Änderung in dem Testkonzept benötigt, wenn die Anzahl von Kernen in dem Mehrkern-Chipdesign erhöht wird.
  • Zusätzlich sind weitere Ausführungsformen gezeigt, in denen erwartete Ergebnisdaten und Maskierungsdaten für einen einzelnen Abtastkanal unter Verwendung einer einzelnen Eingangsleitung bereitgestellt werden. Zusätzlich sind Ausführungsformen beschrieben, in denen zusätzliche Maskierungsdaten zur Maskierung der Ungleichheit-Erfassung für ganze Kerne bereitgestellt und entsprechend verarbeitet werden.
  • Weiterhin ist zu beachten, dass die zusätzliche Fläche, die benötigt wird, um die bereitgestellten Ausführungsformen zu implementieren, im Vergleich zu der üblichen Größe von in modernen Mehrkern-Chips verwendeten Kernen sehr klein ist.

Claims (18)

  1. Integrierter Schaltkreischip, umfassend: einen Testeingang (210) zum Empfangen von Testdaten; einen Erwartungswerteeingang (220) zum Empfangen von erwarteten Ergebnisdaten; zumindest zwei Schaltungskerne (230, 240, 250), wobei jeder Kern einen Kern-Testeingang (231, 241, 251) und einen Kern-Testausgang (239, 249, 259) aufweist und jeder Kern eingerichtet ist, Testdaten von dem Testeingang (210) an seinem Kern-Testeingang (231, 241, 251) zu empfangen, Testergebnisdaten entsprechend den empfangenen Testdaten zu erzeugen und die erzeugten Testergebnisdaten an seinem Kern-Testausgang (239, 249, 259) bereitzustellen; eine Vergleichsschaltung (260) zum Vergleichen der Testergebnisdaten von den Kern-Testausgängen (239, 249, 259) und der empfangenen erwarteten Ergebnisdaten für jeden Kern (230, 240, 250), um für jeden Kern (230, 240, 250) festzustellen, ob es eine Ungleichheit zwischen den Testergebnisdaten und den erwarteten Ergebnisdaten gibt oder nicht; einen Speicher (270) zum Speichern einer Ungleichheit-Anzeige für jeden Kern (230, 240, 250); und eine logische Maskierungseinheit (580) zum Empfangen der erwarteten Ergebnisdaten von dem Erwartungswerteeingang (220) und zum Erzeugen von Maskierungsdaten aus den erwarteten Ergebnisdaten durch Analysieren, ob die Werte der erwarteten Ergebnisdaten während eines gesamten Taktzyklus stabil bleiben; wobei die Vergleichsschaltung eingerichtet ist, die Maskierungsdaten zu empfangen und jeden Vergleich zu maskieren, für den die Maskierungsdaten angeben, dass ein diesbezüglicher Wert der erwarteten Ergebnisdaten nicht während eines gesamten Taktzyklus stabil bleibt.
  2. Integrierter Schaltkreischip nach Anspruch 1, wobei jeder der Schaltungskerne (430, 440, 450) zumindest eine Abtastkette (432, 442, 452) umfasst, wobei jede Abtastkette eine Vielzahl von sequentiell angeordneten Flip-Flops, einen mit dem Kern-Testeingang verbundenen Abtasteingang und einen mit dem Kern-Testausgang verbundenen Abtastausgang umfasst.
  3. Integrierter Schaltkreischip nach Anspruch 2, wobei jeder der Schaltungskerne (430, 440, 450) n Abtastketten (432, 434, 436, 442, 444, 446, 452, 454, 456) umfasst und die Vergleichsschaltung für jeden Schaltungskern eine logische Vergleichseinheit (460, 462, 464) umfasst und wobei der integrierte Schaltkreischip eingerichtet ist, die Testdaten als eine Sequenz von n-Bit-Testmustern an die n Abtastketten eines jeden Schaltkreiskernes zu liefern und die erwarteten Ergebnisdaten als eine Sequenz von entsprechenden n-Bit-Ergebnismustem an die logischen Vergleichseinheiten (460, 462, 464) zu liefern.
  4. Integrierter Schaltkreischip nach Anspruch 3, wobei jede der logischen Vergleichseinheiten (460, 462, 464) einen n-Bit-Vergleicher umfasst, der eingerichtet ist, ein n-Bit-Testmuster mit einem erwarteten Ergebnismuster bitweise zu vergleichen und einen n-Bit-Vergleichsvektor auszugeben.
  5. Integrierter Schaltkreischip nach Anspruch 4, der weiterhin ein logisches Gatter (461, 463, 465) für jede der logischen Vergleichseinheiten (460, 462, 464) umfasst, wobei die logischen Gatter (461, 463, 465) eingerichtet sind, die n-Bit-Vergleichsvektoren von den n-Bit-Vergleichern zu empfangen und ein in dem Speicher (270) zu speicherndes Fehlerbit zu erzeugen, falls zumindest ein Bit des empfangenen n-Bit-Vergleichsvektors eine beim Vergleichen aufgetretene Ungleichheit anzeigt.
  6. Integrierter Schaltkreischip nach Anspruch 5, wobei der Speicher (270) ein Fehlerbitregister (470) umfasst, das für jeden Kern ein Fehlerbit beinhaltet.
  7. Integrierter Schaltkreischip nach Anspruch 6, wobei die Bits des Fehlerbitregisters (470) über einen auf dem integrierten Schaltkreischip befindlichen Test-Zugangsanschluss ausgelesen werden können.
  8. Integrierter Schaltkreischip nach einem der Ansprüche 3 bis 7, der weiterhin einen Abtastschiebetaktgeber umfasst, der benutzt wird, um die entsprechenden n-Bit- Sequenzen von Testmustern und erwarteten Ergebnismustern an die n Abtastketten (432, 434, 436, 442, 444, 446, 452, 454, 456) beziehungsweise die logischen Vergleichseinheiten (460, 462, 464) zu liefern.
  9. Integrierter Schaltkreischip nach einem der Ansprüche 1 bis 8, der weiterhin eine Verteilungsschaltung zum gleichzeitigen Bereitstellen der von dem Testeingang (219) empfangenen Testdaten an die Kern-Testeingänge (231, 241, 251) der zumindest zwei Schaltungskerne umfasst.
  10. integrierter Schaltkreischip nach einem der Ansprüche 1 bis 9, wobei die Vergleichsschaltung (270) weiter eingerichtet ist, Kern-Maskierungsdaten zu empfangen, die für jeden der Schaltkreiskerne angeben, ob der Vergleich der Testergebnisdaten mit den erwarteten Ergebnisdaten maskiert werden soll oder nicht.
  11. Integrierter Schaltkreischip nach einem der Ansprüche 1 bis 10, wobei jeder Schaltkreiskern (800) eine Dekodierschaltung (840) zum Dekodieren der an dem Kern-Testeingang (810) empfangenen Testdaten und eine Kodierschaltung (850) zum Kodieren der an dem Kern-Testausgang (820) bereitgestellten Testergebnisdaten umfasst.
  12. Verfahren für einen integrerten Schaltkreischip, um die Schaltung von zumindest zwei in dem integrierten Schaltkreischip beinhalteten Schaltungskernen zu testen, wobei das Verfahren umfasst: Empfangen (310) von Testdaten an einem Testeingang des integrierten Schaltkreischips und erwarteten Ergebnisdaten an einem Erwartungswerteeingang des integrierten Schaltkreischips; Liefern (320) der empfangenen Testdaten an Kern-Testeingänge eines jeden der Schaltungskerne; Erzeugen (330) von den empfangenen Testdaten entsprechenden Testergebnisdaten in jedem Schaltungskern und Ausgeben der erzeugten Testergebnisdaten an einem Kern-Ausgang des jeweiligen Schaltungskerns; Feststellen (340), ob es eine Ungleichheit zwischen den Testergebnisdaten und den erwarteten Ergebnisdaten gibt, durch Vergleichen der Testergebnisdaten eines jeden der Schaltungskerne mit den erwarteten Ergebnisdaten auf dem Chip; Speichern (350) einer Ungleichheit-Anzeige, die anzeigt, ob eine Ungleichheit festgestellt wurde oder nicht, für jeden der zumindest zwei Schaltungskerne in einem Speicher auf dem Chip; und weiter umfassend ein Erzeugen von Maskierungsdaten aus den erwarteten Ergebnisdaten durch Analysieren, ob die Werte der erwarteten Ergebnisdaten während eines gesamten Taktzyklus stabil bleiben, und falls ein Wert nicht stabil bleibt, Maskieren des entsprechenden Vergleichs so dass keine Ungleichheit in dem maskierten Vergleich festgestellt wird.
  13. Verfahren nach Anspruch 12, wobei die Testdaten als eine Sequenz von n-Bit-Testmustern empfangen werden und die erwarteten Ergebnisdaten als eine Sequenz von erwarteten n-Bit-Ergebnismustern empfangen werden.
  14. Verfahren nach Anspruch 13, wobei jeder der Schaltungskerne eine Vielzahl von n Abtastketten umfasst und der Schritt des Erzeugens (330) von Testergebnisdaten ein sequentielles Hineinschieben der empfangenen n-Bit-Testmuster in die n Abtastketten, ein Anwenden der n-Bit-Testmuster auf die Schaltung des jeweiligen Kernes und ein sequentielles Herausschieben der resultierenden Testergebnismuster aus den n Abtastketten umfasst.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei der Schritt des Feststellens (340) ein Maskieren des auf dem Chip durchgeführten Vergleiches für einen bestimmten Kern umfasst, falls eine Kern-Maskierungsangabe für diesen bestimmten Kern empfangen wird.
  16. Verfahren nach einem der Ansprüche 12 bis 15, das weiterhin den Schritt des Dekodierens der an die Schaltungskerne gelieferten Testdaten und den Schritt des Kodierens der erzeugten Testergebnisdaten umfasst.
  17. Verfahren nach einem der Ansprüche 12 bis 16, das weiterhin den Schritt des Auslesens der Ungleichheit-Anzeigen für die Schaltungskerne aus dem Speicher umfasst.
  18. Verfahren nach Anspruch 17, wobei die Ungleichheit-Anzeigen in Registern gespeichert werden, die über einen Test-Zugangsanschluss zugreifbar sind und über diesen Test-Zugangsanschluss ausgelesen werden.
DE102006059158A 2006-12-14 2006-12-14 Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen Active DE102006059158B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006059158A DE102006059158B4 (de) 2006-12-14 2006-12-14 Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
US11/789,269 US7689884B2 (en) 2006-12-14 2007-04-23 Multicore chip test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006059158A DE102006059158B4 (de) 2006-12-14 2006-12-14 Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen

Publications (2)

Publication Number Publication Date
DE102006059158A1 DE102006059158A1 (de) 2008-06-26
DE102006059158B4 true DE102006059158B4 (de) 2009-06-10

Family

ID=39431313

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006059158A Active DE102006059158B4 (de) 2006-12-14 2006-12-14 Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen

Country Status (2)

Country Link
US (1) US7689884B2 (de)
DE (1) DE102006059158B4 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5095344B2 (ja) * 2007-10-19 2012-12-12 本田技研工業株式会社 データ書き込み装置
US7925939B2 (en) * 2008-09-26 2011-04-12 Macronix International Co., Ltd Pre-code device, and pre-code system and pre-coding method thererof
JP5223735B2 (ja) * 2009-03-10 2013-06-26 富士通株式会社 メモリ試験回路及びプロセッサ
US8214703B2 (en) * 2009-03-10 2012-07-03 Oracle America, Inc. Testing multi-core processors
US8769360B2 (en) * 2010-10-14 2014-07-01 International Business Machines Corporation Dynamic detection and identification of the functional state of multi-processor cores
US8522096B2 (en) * 2010-11-02 2013-08-27 Syntest Technologies, Inc. Method and apparatus for testing 3D integrated circuits
CN102567150A (zh) * 2010-12-15 2012-07-11 鸿富锦精密工业(深圳)有限公司 主板接口测试装置
US8856602B2 (en) * 2011-12-20 2014-10-07 International Business Machines Corporation Multi-core processor with internal voting-based built in self test (BIST)
JP5900061B2 (ja) * 2012-03-19 2016-04-06 富士通株式会社 試験方法、試験装置及びプログラム
US9262292B2 (en) * 2012-06-11 2016-02-16 New York University Test access system, method and computer-accessible medium for chips with spare identical cores
US9069041B2 (en) 2012-12-05 2015-06-30 International Business Machines Corporation Self evaluation of system on a chip with multiple cores
US9032256B2 (en) * 2013-01-11 2015-05-12 International Business Machines Corporation Multi-core processor comparison encoding
KR101457557B1 (ko) 2013-01-18 2014-11-04 연세대학교 산학협력단 멀티코어 장치, 테스트 장치 및 고장 진단 방법
US9575120B2 (en) * 2013-03-29 2017-02-21 International Business Machines Corporation Scan chain processing in a partially functional chip
US10095591B2 (en) * 2016-04-18 2018-10-09 Industry-Academic Cooperation Foundation, Yonsei University Test circuit for 3D semiconductor device and method for testing thereof
US10481202B2 (en) * 2017-02-13 2019-11-19 Qualcomm Incorporated In-field self-test controller for safety critical automotive use cases
US10997343B1 (en) * 2019-12-19 2021-05-04 Cadence Design Systems, Inc. In-system scan test of chips in an emulation system
CN111966554B (zh) * 2020-08-25 2024-02-09 深圳比特微电子科技有限公司 芯片测试方法和计算芯片
WO2023028743A1 (zh) * 2021-08-30 2023-03-09 华为技术有限公司 用于设计逻辑门网络的方法和电子设备
US11782092B1 (en) * 2022-05-18 2023-10-10 Stmicroelectronics International N.V. Scan compression through pin data encoding
WO2023237565A1 (en) * 2022-06-07 2023-12-14 Advantest Corporation Apparatus for testing a device under test separating errors within a received pattern associated with different functional blocks of a device under test or associated with different blocks of one or more bits, method and computer program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19536226A1 (de) * 1995-09-28 1997-04-03 Siemens Ag Testbare Schaltungsanordnung mit mehreren identischen Schaltungsblöcken
WO2001038889A1 (en) * 1999-11-23 2001-05-31 Mentor Graphics Corporation Method and apparatus for selectively compacting test responses
WO2001038890A1 (en) * 1999-11-23 2001-05-31 Mentor Graphics Corporation Decompressor/prpg for applying pseudo-random and deterministic test patterns

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
US6134675A (en) * 1998-01-14 2000-10-17 Motorola Inc. Method of testing multi-core processors and multi-core processor testing device
US6894308B2 (en) * 2001-11-28 2005-05-17 Texas Instruments Incorporated IC with comparator receiving expected and mask data from pads
US7080283B1 (en) * 2002-10-15 2006-07-18 Tensilica, Inc. Simultaneous real-time trace and debug for multiple processing core systems on a chip
US7313739B2 (en) * 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
US7512851B2 (en) * 2003-08-01 2009-03-31 Syntest Technologies, Inc. Method and apparatus for shifting at-speed scan patterns in a scan-based integrated circuit
US20050204217A1 (en) * 2004-02-06 2005-09-15 Whetsel Lee D. Identical core testing using dedicated compare and mask circuitry
US7231570B2 (en) * 2004-05-26 2007-06-12 Syntest Technologies, Inc. Method and apparatus for multi-level scan compression
US7263642B1 (en) * 2005-09-15 2007-08-28 Azul Systems, Inc Testing replicated sub-systems in a yield-enhancing chip-test environment using on-chip compare to expected results for parallel scan chains testing critical and repairable sections of each sub-system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19536226A1 (de) * 1995-09-28 1997-04-03 Siemens Ag Testbare Schaltungsanordnung mit mehreren identischen Schaltungsblöcken
WO2001038889A1 (en) * 1999-11-23 2001-05-31 Mentor Graphics Corporation Method and apparatus for selectively compacting test responses
WO2001038890A1 (en) * 1999-11-23 2001-05-31 Mentor Graphics Corporation Decompressor/prpg for applying pseudo-random and deterministic test patterns

Also Published As

Publication number Publication date
DE102006059158A1 (de) 2008-06-26
US20080148117A1 (en) 2008-06-19
US7689884B2 (en) 2010-03-30

Similar Documents

Publication Publication Date Title
DE102006059158B4 (de) Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
DE102006059156B4 (de) Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE60203032T2 (de) Integrierte Halbleiterschaltung
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE2555439C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE4110151C2 (de) Integrierte Schaltungsvorrichtung
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
EP0186724B1 (de) Prüf- und Diagnoseeinrichtung für Digitalrechner
DE10343227A1 (de) System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur
DE2349324A1 (de) Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen
DE2747384A1 (de) Datenverarbeitungseinheit
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
WO2004074955A1 (de) Vorrichtung und verfahren zur modellbasierten on-board-diagnose
DE3702408C2 (de)
DE19536226C2 (de) Testbare Schaltungsanordnung mit mehreren identischen Schaltungsblöcken
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE102005046588B4 (de) Vorrichtung und Verfahren zum Test und zur Diagnose digitaler Schaltungen
DE10210264B4 (de) Ein Testvektorkomprimierungsverfahren
DE102015110144A1 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE2902375A1 (de) Logikbaustein fuer integrierte digitalschaltungen
DE10335809B4 (de) Integrierte Schaltung mit einem zu testenden elektronischen Schaltkreis und Testsystem-Anordnung zum Testen der integrierten Schaltung
DE102009010886B4 (de) Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals
DE10058464B4 (de) Mustererzeugungsverfahren, dieses verwendender Mustergenerator, und diesen Mustergenerator verwendendes Speichertestgerät
DE10338922B4 (de) Elektrische Diagnoseschaltung sowie Verfahren zum Testen und/oder zur Diagnose einer integrierten Schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition