-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung ist mit dem Patentanmeldung der vereinigten Staaten mit der Nummer 13730628, die am 28. Dezember 2012 eingereicht wurde mit dem Titel „SYSTEM ZUR REDUZIERUNG EINER LEISTUNGSSPITZE WÄHREND EINER ABTASTVERSCHIEBUNG AUF DER GLOBALEN EBENE FÜR ABTASTBASIERTE PRÜFUNGEN” wobei Milind Sonawane, Satya Puvvada und Amit Sanghani als Erfinder genannt sind, mit dem Anwaltsaktenzeichen NVID-PSC-11-0240-US2. Diese Anmeldung ist hiermit in ihrer Gesamtheit und für alle Zwecke durch Bezugnahme mit eingeschlossen.
-
Die vorliegende Anmeldung ist auch mit der Patentanmeldung der vereinigten Staaten mit der Nummer 13730690 verwandt, die am 28. Dezember 2012 eingereicht wurde mit dem Titel „GLOBALES EINFANGSCHEMA MIT GERINGER LEISTUNG FÜR KERNE”, in der Satya Puvvada, Amit Sanghani, Anubhav Sinha und Vishal Agarwal als Erfinder genannt sind und die das Anwaltsaktenzeichen NVID-PSC-11-0241-US1 hat. Diese Anmeldung ist ihrer Gesamtheit für alle Zwecke durch Bezugnahme hierin mit eingeschlossen.
-
GEBIET DER ERFINDUNG
-
Ausführungsformen gemäß der vorliegenden Erfindung betreffen allgemein die Prüfung integrierter Schaltungen und insbesondere die Ausführung von abtastbasierten Prüfungen an integrierten Schaltungen.
-
HINTERGRUND DER ERFINDUNG
-
Eine integrierte Schaltung oder eine Schaltungsanordnung enthält generell ein oder mehrere Taktsignale, die intern erzeugt oder extern gesteuert sind. Jedes Taktsignal wird auf eine Gruppe von Speicherzellen über ein Netzwerk mit minimalem Versatz verteilt, das einen Taktpuls allen Speicherzellen nahezu zu der gleichen Zeit zuleitet. Ein derartiger Taktpuls, seine zugehörigen Speicherzellen und die gesamten kombinatorischen Logikblöcke, die durch die Speicherzellen begrenzt sind, bilden einen Taktbereich.
-
Die Abtastprüfung bzw. der Abtasttest von Schaltungen ist gut bekannt und ist die üblichste Design-für-Test-(DST)Technik, die zur Prüfung integrierter Schaltungen eingesetzt wird. Sie ersetzt alle oder einen Teil der ursprünglichen Speicherzellen mit Abtastzellen, die verbunden sind, um eine oder mehrere Abtastketten zu bilden. Eine abtastbasierte integrierte Schaltung oder Schaltungsanordnung kann geprüft werden, indem ein Schiebezyklus mit anschließendem Einfangzyklus wiederholt wird. In einem Schiebezyklus werden pseudo-zufällige oder vorbestimmte Prüf-Stimuli in alle Abtastketten geschoben, wodurch ihre Ausgänge so steuerbar sind wie ihre primären Eingänge. In einem Einfangzyklus werden Prüfantworten in einigen oder allen Abtastketten zwischengespeichert, so dass ihre Eingänge als beobachtbare primäre Ausgänge in Erscheinung treten, da die in den Abtastketten gespeicherten Werte im nächsten Schiebezyklus herausgeschoben werden können.
-
Abtastbasierte Prüfungen sind teuer aufgrund der hohen Investitionen für Prüfanlagen und da sie eine beträchtliche Zeit für die Abarbeitung benötigen. Die Prüfungszeiten für abtastbasierte Prüfungen hängen davon ab, wie schnell die Prüfung abgearbeitet wird und von dem Volumen der Prüfung, beispielsweise der Größe des Testmusters. Aufgrund der hohen Anforderungen zur Verringerung der Kosten für die Prüfung für abtastbasierte Prüfungen und der Optimierung der Durchlaufzeit für integrierte Schaltungen, müssen Abtastschiebeoperationen unter zunehmend höheren Taktgeschwindigkeiten abgearbeitet werden. Für gewöhnlich betragen die Prüfzeiten für die Abtastschiebeoperation 50% bis 75% der gesamten Prüfungszeit, die für den Chip erforderlich ist.
-
Die Ausführung von Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten hilft dabei, die gesamte Prüfzeit zu reduzieren. Jedoch kann dies Leistungsprobleme hervorrufen, die dazu führen, dass Flipflops und Gatter sich unkorrekt bei nicht adäquaten Leistungsversorgungsspannungen verhalten. Dies könnte falsche Fehlerangaben aufgrund der elektrischen und thermischen Belastung des getesteten Siliziums hervorrufen, was zu einem signifikanten Ausbeuteverlust führen könnte. Daher haben Anwender des Testsystems keine andere Alternative, als die Taktgeschwindigkeiten abzusenken, um die leistungsbezogenen Probleme zu minimieren, was zu längeren Prüfzeiten führt.
-
Beispielsweise werden während eines Schiebezyklus alle Prüf-Stimuli gleichzeitig in die Flipflops geschoben, wodurch bewirkt wird, dass alle Flipflops in dem Chip nahezu zur gleichen Zeit schalten. Dies verursacht einen im Wesentlichen hohen Spitzenstrom, woraus sich ein Spannungsabfall auf den Versorgungsleitungen aufgrund des Leitungswiderstands ergibt. Aufgrund des Spannungsabfalls, der sich aus der Spitzenstromanforderung ergibt, liegt die Spannung, die dem Chip zugeführt wird, nicht innerhalb des erwarteten Betriebsbereichs des Chips, was zu einer Fehlfunktion führen kann. Ferner werden die Flipflops in dem Chip letztlich mit einem Fehlerverhalten beginnen, wenn die Abtastschiebeoperationen weiterhin mit diesen hohen Betriebsfrequenzen durchgeführt werden. Im Vergleich zu dem Abtastschiebe-Modus ist der Betrieb des Chips bei höheren Frequenzen während des normalen Betriebsmodus nicht problematisch, da man nicht erwartet, dass alle Flipflops gleichzeitig während des normalen Betriebsmodus geschaltet werden.
-
Ferner ist die dynamische Leistungsaufnahme während einer Abtastprüfung mit und ohne Test-Komprimierung stets höher als im Betriebsmodus aufgrund von sehr hohen Umschaltraten und hoher Logikaktivität während der Abtastschiebeoperationen. Die Überschreitung der Spitzenleistung, für die der Chip und das Gehäuse ausgelegt sind, kann zu einer exzessiven Wärmeabgabe während der Prüfung führen, was das Gehäuse schädigen kann. Diese erhöhte dynamische Leistungsaufnahme kann Zuverlässigkeitsprobleme in Chips hervorrufen, was dazu führen kann, dass der Chip nachfolgend während des Einsatzes defekt wird.
-
KURZER ÜBERBLICK ÜBER DIE ERFINDUNG
-
Folglich besteht ein Bedarf nach einem System, das Abtastschiebeoperationen bei hohen Taktgeschwindigkeiten erfordert, während die Problematik der Leistungsspitze reduziert wird, die durch die hohe Umschaltrate und die hohe Aktivität der Logik während des Modus mit Abtastverschiebung während des DFT hervorgerufen wird. Ferner ist es erforderlich, den Modus für die Abtastprüfung für die Leistung sensibel zu machen, um eine Belastung des Leistungsverteilungsnetzwerks im Testmodus während der Produktionsprüfung zu vermeiden. Ausführungsformen der vorliegenden Erfindung stellen ein Verfahren und ein System zur Verringerung der Problematik der Leistungsspitze während des Modus der Abtastverschiebung bereit. Gemäß einer Ausführungsform der vorliegenden Erfindung wird eine Versetzung des Schiebetaktsignals auf Partitionsebene für diverse Schaltungsbereiche eingesetzt, um nicht akzeptabel hohe Leistungsspitzen während des Abtastschiebemodus zu reduzieren, wodurch es möglich ist, dass die Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten ablaufen, was wiederum letztlich die gesamte Prüfzeit während eines Produktionstests reduziert.
-
In einer Ausführungsform wird ein Verfahren zur Ausführung abtastbasierter Prüfungen angegeben. Das Verfahren umfasst die serielle Zuleitung von Abtastdaten von mehreren I/O-Ports zu mehreren Partitionen einer integrierten Schaltung unter Anwendung eines ersten Taktsignals, das bei einer ersten Frequenz arbeitet, wobei jede Partition der mehreren Partitionen mehrere interne Abtastketten umfasst. Das Verfahren umfasst ferner eine Entserialisierung der Abtastdaten, um interne Abtastketten in jeder Partition zu speisen. Ferner umfasst das Verfahren das Erzeugen mehrerer zweiter Taktsignale, die bei einer zweiten Frequenz arbeiten, unter Verwendung des ersten Taktsignals, wobei jede Partition ein jeweiliges der mehreren zweiten Taktsignale empfängt und wobei die mehreren zweiten Taktsignale versetzt sind, wobei jedes zu einem unterschiedlichen Zeitpunkt pulst. Schließlich umfasst das Verfahren das Einschieben der Abtastdaten in die internen Abtastketten der mehreren Partitionen mit einer Rate entsprechend der zweiten Frequenz, wobei jede der mehreren Partitionen das empfangene zweite Taktsignal verwendet, das es empfängt, um das Einschieben auszuführen.
-
In einer weiteren Ausführungsform ist ein Verfahren zur Ausführung abtastbasierter Prüfungen offenbart. Das Verfahren umfasst die serielle Zuleitung von Abtastdaten aus mehreren I/O-Ports zu mehreren Partitionen einer integrierten Schaltung unter Anwendung eines ersten Taktsignals, das bei einer ersten Frequenz arbeitet, wobei jede Partition der mehreren Partitionen mehrere interne Abtastketten umfasst. Das Verfahren umfasst ferner eine Entserialisierung der Abtastdaten für die Ladung in interne Abtastketten in jeder Partition. Das Verfahren umfasst ferner die Erzeugung mehrerer zweiter Taktsignale, die bei einer zweiten Frequenz arbeiten, unter Anwendung des ersten Taktsignals, wobei jede Abtastkette ein jeweiliges der mehreren zweiten Taktsignale empfängt und wobei die mehreren zweiten Taktsignale versetzt sind, wobei jedes zu einem anderen Zeitpunkt pulst. Schließlich umfasst das Verfahren das Einschieben der Abtastdaten in die internen Abtastketten der mehreren Partitionen mit einer Rate entsprechend der zweiten Frequenz, wobei jede der mehreren internen Abtastketten das entsprechende empfangene zweite Taktsignal verwendet, um das Einschieben auszuführen.
-
In einer weiteren Ausführungsform ist ein System zur Ausführung von abtastbasierten Prüfungen offenbart. Das System umfasst ein Computersystem mit einem Prüfprozessor, wobei der Prüfprozessor kommunizierend mit mehreren I/O-Ports verbunden ist. Das System umfasst ferner eine integrierte Schaltung unter Test mit mehreren Partitionen, wobei jede Partition mehrere interne Abtastketten aufweist, und wobei die mehreren Partitionen kommunizierend mit den mehreren I/O-Ports verbunden sind. Ferner ist der Prüfprozessor ausgebildet, Abtastdaten seriell von den mehreren I/O-Ports zu den mehreren Partitionen unter Anwendung eines ersten Taktsignals, das bei einer ersten Frequenz arbeitet, zu leiten. Das System umfasst ferner mehrere Gatezellen bzw. Taktausblendzellen, die ausgebildet sind, das erste Taktsignal zur Erzeugung mehrerer zweiter Taktsignale zu verwenden, die bei einer zweiten Frequenz arbeiten, wobei jede Partition ein entsprechendes zweites Taktsignal der mehreren zweiten Taktsignale empfängt. Ferner sind die mehreren zweiten Taktsignale versetzt, wobei jedes zu einer separaten Zeit pulst. Schließlich umfasst das System ein Entserialisierungs-Modul, das ausgebildet ist, die Abtastdaten für das Laden in interne Abtastketten innerhalb jeder Partition zu entserialisieren, wobei das Entserialisierungs-Modul ferner ausgebildet ist, die Abtastdaten in die internen Abtastketten der mehreren Partitionen mit einer Rate der zweiten Frequenz einzuschieben. Jede der mehreren Partitionen verwendet das entsprechende zweite Taktsignal, das es empfängt, um die Abtastdaten einzuschieben.
-
Die folgende detaillierte Beschreibung in Verbindung mit den begleitenden Zeichnungen liefert ein besseres Verständnis der Natur und der Vorteile der vorliegenden Erfindung.
-
KURZER BESCHREIBUNG DER ZEICHNUNGEN
-
Ausführungsformen der vorliegenden Erfindung werden beispielhaft und nicht beschränkend in den Figuren der begleitenden Zeichnungen dargestellt, in denen gleiche Bezugszeichen gleiche Elemente bezeichnen.
-
1 ist ein Zeitdiagramm eines anschaulichen Abtastschiebe- und Abtasteinfang-Zyklus einer konventionellen abtastbasierten Prüfung.
-
2 ist ein Zeitdiagramm der Leistungsaktivität während eines anschaulichen Abtastschiebe- und Abtasteinfang-Zyklus einer konventionellen abtastbasierten Prüfung.
-
3A ist eine schematische Ansicht eines anschaulichen bekannten Systems zur Reduzierung der Leistungsspitze durch Implementierung einer Versetzung von Abtasttaktsignalen.
-
3B ist ein Zeitdiagramm für das anschauliche bekannte System aus 3A.
-
4A ist eine Blockansicht eines anschaulichen Rechensystems, in welchem Ausführungsformen der vorliegenden Erfindung eingerichtet werden können.
-
4B ist eine schematische Blockansicht einer automatisierten Testvorrichtung, in der Ausführungsformen der vorliegenden Erfindung gemäß einer Ausführungsform der vorliegenden Erfindung realisiert werden können.
-
5 ist eine Blockansicht eines Beispiels einer SerDes-Abtastarchitektur mit Testkomprimierung, die Ausführungsformen der vorliegenden Erfindung realisieren kann.
-
6 ist eine schematische Ansicht, in der ein anschauliches System der Verteilung von Taktsignalen als Gitterstruktur gezeigt ist.
-
7 ist eine schematische Ansicht auf höherer Ebene, in der eine anschauliche Schaltung zur Steuerung der Versetzung des Schiebetaktsignals auf Partitionsebene unter Anwendung einer Steuerlogik für die Taktsignalversetzung gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt ist.
-
8 zeigt ein Zeitdiagramm für die anschauliche Schaltung zur Steuerung der Versetzung des Schiebetaktsignals auf Partitionsebene unter Anwendung der Steuerlogik für die Taktsignalversetzung, die in 7 gezeigt ist, gemäß einer Ausführungsform der vorliegenden Erfindung.
-
9 ist eine schematische Ansicht, die die Details der anschaulichen Versetzungs-Steuerlogik zur Erzeugung von Freigabesignalen für interne Taktversetzung für jedes Abtastsignal einer Partition gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
-
10 ist eine schematische Blockansicht, die anschauliche Takt-Gatezellen für jedes Abtasttaktsignal einer Partition gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
-
11 zeigt ein Flussdiagramm eines anschaulichen Verfahrens zur Verminderung der Problematik der Leistungsspitze während des Abtastschiebezyklus auf lokaler Ebene für eine abtastbasierte Prüfung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
-
12 ist eine schematische Blockansicht, in der eine anschauliche Schaltung für die Multiplex-Verarbeitung eines Testtaktsignals mit einem Funktionstaktsignal in einem Verarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt ist.
-
13 ist eine schematische Blockansicht, in der eine anschauliche Schaltung zur Versetzung des Schiebetaktsignals für die Verarbeitungskerne und einen L2C-Cache-Speicher in einem Verarbeitungssystem gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt ist.
-
14 ist ein Zeitdiagramm für die anschauliche Schaltung zur Steuerung der Versetzung des Schiebetaktsignals, die in 13 gezeigt ist, gemäß einer Ausführungsform der vorliegenden Erfindung.
-
15 zeigt ein Flussdiagramm eines anschaulichen Prozesses zur Verminderung der Problematik der Leistungsspitze während des Abtastschiebezyklus auf globaler Ebene für eine abtastbasierte Prüfung gemäß einer Ausführungsform der vorliegenden Erfindung.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Es wird nun detailliert auf diverse Ausführungsformen der vorliegenden Offenbarung Bezug genommen, wovon Beispiele in den begleitenden Zeichnungen dargestellt sind. Obwohl sie in Verbindung mit diesen Ausführungsformen beschrieben sind, ist zu beachten, dass sie nicht beabsichtigen, die Offenbarung auf diese Ausführungsformen einzuschränken. Vielmehr beabsichtigt die Offenbarung, Alternativen, Modifizierungen und Äquivalente abzudecken, die in dem Grundgedanken und dem Schutzbereich der Offenbarung, wie sie durch die angefügten Patentansprüche definiert ist, enthalten sind. Ferner sind in der folgenden detaillierten Beschreibung der vorliegenden Offenbarung zahlreiche spezielle Details angegeben, um ein gründlicheres Verständnis der vorliegenden Offenbarung zu ermöglichen. Es ist jedoch zu beachten, dass die vorliegende Offenbarung auch ohne diese speziellen Details praktiziert werden kann. In anderen Fällen sind gut bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht detailliert beschrieben, um Aspekte der vorliegenden Offenbarung nicht unnötig zu verdunkeln.
-
Einige Teile der detaillierten Beschreibungen, die folgen, sind in Begriffen von Prozeduren, Logikblöcken, Verarbeitung und anderen symbolischen Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers angegeben. Diese Beschreibungen und Darstellungen sind die Mittel, die der Fachmann in der Datenverarbeitung verwendet, um in höchst effizienter Weise den Inhalt seiner Arbeit einem anderen Fachmann zu vermitteln. In der vorliegenden Anmeldung wird eine Prozedur, ein Logikblock, ein Prozess oder dergleichen als eine selbstkonsistente Sequenz aus Schritten oder Befehlen verstanden, die zu einem gewünschten Ergebnis führt. Die Schritte sind solche, die physikalische Manipulationen von physikalischen Größen verwenden. Für gewöhnlich, obwohl dies nicht notwendig ist, nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die in einem Computersystem gespeichert, übertragen, kombiniert, verglichen oder anderweitig bearbeitet werden können. Es hat sich zu Zeiten als bequem erwiesen, insbesondere aus Gründen der üblichen Verwendung, diese Signale als Transaktionen, Bits, Werte, Elemente, Symbole, Zeichen, Abtastwerte, Pixel oder dergleichen zu bezeichnen.
-
Es sollte ferner beachtet werden, dass alle diese und ähnliche Begriffe mit geeigneten physikalischen Größen zu verknüpfen sind und lediglich bequeme Namen sind, die diesen Größen zugeordnet sind. Sofern dies nicht anderweitig angegeben ist oder aus der folgenden Erläuterung hervorgeht, ist zu beachten, dass durchwegs in der vorliegenden Offenbarung Erläuterungen unter Verwendung von Begriffen, etwa „Weiterleitung”, „Erzeugung”, „Verschiebung”, „Serialisierung”, „Entserialisierung”, „Zuweisung”, „Verknüpfung”, „Bewegung”, „Zugriff”, „Löschung”, „Ermittlung”, „Erkennung”, „Zwischenspeicherung”, „Beibehaltung”, „Erhöhung” oder dergleichen Aktionen und Prozesse (beispielsweise Flussdiagramm 1500 aus 15) eines Computersystems oder einer ähnlichen elektronischen Recheneinrichtung oder eines Prozessors (beispielsweise System 110 aus 4A) bezeichnen. Das Computersystem oder eine ähnliche elektronischen Recheneinheit manipuliert und transformiert Daten, die als physikalische (elektronische) Größen in den Speichern, Registern oder anderen derartigen Informationsspeichern des Computersystems, einer Übertragung oder Anzeigegeräten enthalten sind.
-
Die hierin beschriebenen Ausführungsformen können im allgemeinen Zusammenhang mit Computer ausführbaren Befehlen erläutert sein, die in einer gewissen Form eines computerlesbaren Speichermediums, etwa in Programmmodulen, enthalten sind, die von einem oder mehreren Computern oder anderen Geräten ausgeführt werden. Beispielsweise, ohne Einschränkung, können computerlesbare Speichermedien nicht-flüchtige computerlesbare Speichermedien und Kommunikationsmedien umfassen; nicht-flüchtige computerlesbare Medien umfassen alle computerlesbaren Medien mit Ausnahme eines flüchtigen, sich ausbreitenden Signals. Generell umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die spezielle Aufgaben ausführen oder spezielle abstrakte Datentypen realisieren. Die Funktion der Programmmodule kann kombiniert oder verteilt werden, wie dies in diversen Ausführungsformen gewünscht ist.
-
Computerspeichermedien umfassen flüchtige und nicht flüchtige, entfernbare und stationäre Medien, die ein beliebiges Verfahren oder eine Technik zur Speicherung von Information realisieren, etwa computerlesbare Befehle, Datenstrukturen, Programmmodule oder andere Daten. Zu Computerspeichermedien gehören, ohne Einschränkung, Speicher mit wahlfreiem Zugriff (RAM), Nur-Lese-Speicher (ROM), elektrisch löschbare programmierbare ROM (EEPROM), Flash-Speicher oder andere Speichertechniken, Kompaktdisketten (CD-), digitale Vielseitigkeitsdisketten (DVD) oder andere optische Speicher, magnetische Kassetten, Magnetbänder, magnetische Diskettenspeicher oder andere magnetische Speichereinrichtungen, oder ein anderes Medium, das verwendet werden kann, um die gewünschte Information zu speichern, und auf das zugegriffen werden kann, um diese Information abzurufen.
-
Kommunikationsmedien können computerausführbare Befehle, Datenstrukturen und Programmmodule verkörpern und können beliebige Informationsauslieferungsmedien umfassen. Beispielsweise, ohne Einschränkung, umfassen Kommunikationsmedien verdrahtete Medien, etwa ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, etwa akustische, Hochfrequenz-(HF), Infrarot- und andere drahtlose Medien. Kombinationen beliebiger der vorhergehenden Komponenten sind ebenfalls im Bereich der computerlesbare Medien.
-
4A ist eine Blockansicht eines Beispiels eines Prüf-Rechensystems 110, das zur Realisierung von Ausführungsformen der vorliegenden Offenbarung geeignet ist. Das Rechensystem 110 repräsentiert in breiter Weise eine Recheneinrichtung mit einem einzelnen Prozessor oder Multiprozessor oder ein System, das in der Lage ist, computerlesbare Befehle auszuführen. Zu Beispielen des Rechensystems 110 gehören, ohne Einschränkung, Arbeitsplatzrechner, mobile Rechner, Endgeräte auf der Klientenseite, Dienstleister-Rechner, verteilte Rechensysteme, Handgeräte oder ein anderes Rechensystem oder ein Gerät. In der grundlegendsten Konfiguration kann das Rechensystem 110 zumindest einen Prozessor 114 und einen Systemspeicher 116 umfassen.
-
Der Prüfprozessor 114 repräsentiert generell eine beliebige Art oder Form einer Verarbeitungseinheit, die in der Lage ist, eine Datenverarbeitung auszuführen oder Befehle zu interpretieren und auszuführen. In gewissen Ausführungsformen kann der Prozessor 114 Befehle aus einer Software-Anwendung oder einem Modul empfangen. Diese Befehle können den Prozessor 114 veranlassen, die Funktionen eines oder mehrerer der anschaulichen Ausführungsformen, die hierin beschrieben und/oder dargestellt sind, auszuführen.
-
Der Systemspeicher 116 repräsentiert allgemein eine beliebige Art oder Form eines flüchtigen oder nicht flüchtigen Speichergeräts oder Mediums, das in der Lage ist, Daten und/oder andere computerlesbare Befehle zu speichern. Zu Beispielen des Systemspeichers 116 gehören, ohne Einschränkung, RAM, ROM, Flash-Speicher oder eine andere geeignete Speichereinrichtung. Obwohl nicht erforderlich, kann in gewissen Ausführungsformen das Rechensystem 110 sowohl eine flüchtige Speichereinheit (beispielsweise den Systemspeicher 116) als auch eine nicht-flüchtige Speichereinrichtung (beispielsweise eine primäre Speichereinrichtung 132) aufweisen.
-
Das Rechensystem 110 kann ferner eine oder mehrere Komponenten oder Elemente zusätzlich zu dem Prozessor 114 und den Systemspeicher 116 aufweisen. Beispielsweise umfasst in der Ausführungsform aus 4A das Rechensystem 110 eine Speichersteuerung 118, eine Eingabe/Ausgabe-(I/O-)Steuerung 120 und eine Kommunikationsschnittstelle 122, wobei jede dieser Komponenten mit den anderen über eine Kommunikationsinfrastruktur 112 verbunden sein kann. Die Kommunikationsinfrastruktur 112 repräsentiert generell eine beliebige Art oder Form einer Infrastruktur, die in der Lage ist, eine Kommunikation zwischen einer oder mehreren Komponenten einer Recheneinrichtung zu ermöglichen. Zu Beispielen der Kommunikationsinfrastruktur 112 gehören, ohne Einschränkung, ein Kommunikationsbus (etwa eine Industrie Standard Architektur (ISA), eine periphere Komponenten-Verbindung (PCI), PCI-Express (PCIe) oder ein ähnlicher Bus) und ein Netzwerk.
-
Die Speichersteuerung 118 repräsentiert generell eine beliebige Art oder Form einer Einrichtung, die in der Lage ist, einen Speicher oder Daten zu handhaben oder die Kommunikation zwischen einer oder mehreren Komponenten des Rechensystems 110 zu steuern. Beispielsweise kann die Speichersteuerung 118 die Kommunikation zwischen dem Prozessor 114, dem Systemspeicher 116 und der I/O-Steuerung 120 über die Kommunikationsinfrastruktur 112 steuern.
-
Die I/O-Steuerung 120 repräsentiert generell eine beliebige Art oder Form eines Moduls, das in der Lage ist, die Eingabe- und Ausgabefunktionen einer Recheneinrichtung zu koordinieren und/oder zu steuern. Beispielsweise kann die I/O-Steuerung 120 den Transfer von Daten zwischen einem oder mehreren Elementen des Rechensystems 110, etwa zwischen dem Prozessor 114, dem Systemspeicher 116, der Kommunikationsschnittstelle 122, einem Anzeigeadapter 126, einer Eingabeschnittstelle 130 und einer Speicherschnittstelle 134 koordinieren und/oder steuern.
-
Die Kommunikationsschnittstelle 122 repräsentiert ganz allgemein eine beliebige Art oder Form einer Kommunikationseinrichtung oder eines Adapters, die bzw. der in der Lage ist, eine Kommunikation zwischen dem anschaulichen Rechensystem 110 und einem oder mehreren weiteren Geräten zu ermöglichen. Beispielsweise kann die Kommunikationsschnittstelle 122 eine Kommunikation zwischen dem Rechensystem 110 und einem privaten oder öffentlichen Netzwerk ermöglichen, das weitere Rechensysteme enthalten kann. Zu Beispielen der Kommunikationsschnittstelle 122 gehören, ohne Einschränkung: eine verdrahtete Netzwerkschnittstelle (etwa eine Netzwerkschnittstellenkarte), eine drahtlose Netzwerkschnittstelle (etwa eine drahtlose Netzwerkschnittstellenkarte), ein Modem und jede andere geeignete Schnittstelle. In einer Ausführungsform stellt die Kommunikationsschnittstelle 122 eine direkte Verbindung zu einem entfernten Dienstleister über eine direkte Verbindung zu dem Netzwerk, etwa dem Internet, her. Die Kommunikationsschnittstelle 122 kann ferner indirekt eine derartige Verbindung über eine andere geeignete Verbindung herstellen.
-
Die Kommunikationsschnittstelle 122 kann auch einen übergeordneten Adapter repräsentieren, der ausgebildet ist, eine Kommunikation zwischen dem Rechensystem 110 und einem oder mehreren weiteren Netzwerk- oder Speichereinrichtungen über einen externen Bus oder einen Kommunikationskanal zu ermöglichen. Zu Beispielen von übergeordneten Adaptern bzw. Hauptadaptern gehören, ohne Einschränkung, Klein-Computer-System-Schnittstelle(SCSI-)Hauptadapter, universelle serielle Bus-(USB-)Hauptadapter, IEEE-(Institut für Elektroingenieure und Elektrotechnikingenieure)1394-Hauptadapter, serielle Erweiterte Zusatztechnik-(SATA) und externe SATA-(eSATA)Hauptadapter, Erweiterte Zusatztechnik (ATA) und parallele ATA(PATA)Hauptadapter, Schnittstellenadapter für Glasfaserkanäle, Ethernet-Adapter und dergleichen. Die Kommunikationsschnittstelle 122 kann ferner ermöglichen, dass das Rechensystem 110 in eine verteilte oder entfernte Berechnung mit eingebunden wird. Beispielsweise kann die Kommunikationsschnittstelle 122 Befehle aus einem entfernten Gerät empfangen oder Befehle an ein entferntes Gerät zur Ausführung senden.
-
Wie in 4A gezeigt ist, kann das Rechensystem 110 ferner mindestens eine Anzeigeeinrichtung 124 aufweisen, die mit der Kommunikationsinfrastruktur 112 über einen Anzeigeadapter 126 verbunden ist. Die Anzeigeeinrichtungen 124 repräsentiert generell eine beliebige Art oder Form einer Einrichtung, die in der Lage ist, Information, die von dem Anzeigeadapter 126 zugeleitet ist, visuell anzuzeigen. In ähnlicher Weise repräsentiert der Anzeigeadapter 126 generell eine beliebige Art oder Form einer Einrichtung, die ausgebildet ist, Grafik, Text oder andere Daten für die Anzeige auf der Anzeigeeinrichtung 124 weiterzuleiten.
-
Wie in 4A gezeigte ist, kann das Rechensystem 110 ferner mindestens ein Eingabegerät 128 aufweisen, das mit der Kommunikationsinfrastruktur 112 über eine Eingabeschnittstelle 130 verbunden ist. Das Eingabegerät 128 repräsentiert generell eine beliebige Art oder Form einer Eingabeeinrichtung, die in der Lage ist, eine Eingabe, Computer-erzeugt oder Menschen-erzeugt, für das Rechensystem 110 bereitzustellen. Zu Beispielen des Eingabegeräts 128 gehören, ohne Einschränkung, eine Tastatur, ein Zeigergerät, eine Spracherkennungseinrichtung oder eine andere Eingabeeinrichtung.
-
Wie in 4A gezeigt ist, kann das Rechensystem 110 ferner eine primäre Speichereinrichtung 132 und eine Sicherungsspeichereinrichtung 133, die über eine Speicherschnittstelle 134 mit der Kommunikationsinfrastruktur 112 verbunden sind, umfassen. Die Speichereinrichtungen 132 und 133 der präsentierten generell eine beliebige Art oder Form einer Speichereinrichtungen oder eines Mediums, die bzw. das in der Lage ist, Daten und/oder andere computerlesbare Befehle zu speichern. Beispielsweise können die Speichereinrichtungen 132 und 133 ein Laufwerk mit magnetischer Diskette (beispielsweise eine so genannte Festplatte), ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Laufwerk für eine optische Diskette, ein Flash-Laufwerk oder dergleichen sein. Die Speicherschnittstelle 134 repräsentiert generell eine beliebige Art oder Form einer Schnittstelle oder einer Einrichtung, um Daten zwischen den Speichereinrichtungen 132 und 133 und anderen Komponenten des Rechensystems 110 zu übertragen.
-
In einem Beispiel können Datenbanken 140 in der primären Speichereinrichtung 132 gespeichert sein. Die Datenbanken 140 können Teile einer einzelnen Datenbank oder einer Recheneinrichtung repräsentieren oder sie können mehrere Datenbanken oder Recheneinrichtungen repräsentieren. Beispielsweise können die Datenbanken 140 einen Teil des Rechensystems 110 repräsentieren (oder darin gespeichert sein) und/oder Teile einer anschaulichen Netzwerkarchitektur 200 in 2 (unten) repräsentieren. Alternativ können die Datenbanken 140 ein oder mehrere physikalische separate Einrichtungen repräsentieren (darauf gespeichert sein), die in der Lage sind, von einer Recheneinrichtung angesprochen zu werden, etwa dem Rechensystem 110 und/oder Bereichen der Netzwerkarchitektur 200.
-
Es sei weiterhin auf 4A verwiesen; die Speichereinrichtungen 132 und 133 können ausgebildet sein, eine entfernbare Speichereinheit zu lesen und/oder diese zu beschreiben, die ausgebildet ist, Computersoftware, Daten oder andere computerlesbare Information zu speichern. Zu Beispielen geeigneter entfernbarer Speichereinheiten gehören, ohne Einschränkung, eine Diskette, ein Magnetband, eine optische Diskette, eine Flash-Speichereinrichtung oder dergleichen. Die Speichereinrichtungen 132 und 133 können ferner ähnliche Strukturen oder Einrichtungen umfassen, die es ermöglichen, dass Computersoftware, Daten oder andere computerlesbare Befehle in das Rechensystem 110 geladen werden. Beispielsweise können die Speichereinrichtungen 132 und 133 ausgebildet sein, Software, Daten oder andere computerlesbare Befehle zu lesen und zu schreiben. Die Speichereinrichtungen 132 und 133 können auch Teil des Rechensystems 110 sein oder können separate Einrichtungen sein, auf die über andere Schnittstellensysteme zugegriffen werden kann.
-
Es können viele andere Geräte oder Subsysteme mit dem Rechensystem 110 verbunden sein. Ferner müssen nicht alle Komponenten und Einrichtungen, die in 4A gezeigt sind, vorhanden sein, um die hierin beschriebenen Ausführungsformen zu praktizieren. Die Einrichtungen und Subsysteme, die zuvor genannt sind, können in anderer Weise miteinander verbunden sein, wie dies in 4A gezeigt ist. Das Rechensystem 110 kann eine beliebige Anzahl an Software-, Firmware- und/oder Hardware-Konfigurationen einsetzen. Beispielsweise können die anschaulichen Ausführungsformen, die hierin offenbart sind, als ein Computerprogramm (auch als eine Computersoftware, Softwareanwendung, computerlesbare Befehle oder Computer-Steuerlogik bezeichnet) auf einem computerlesbaren Medium kodiert sein.
-
Das computerlesbare Medium, das das Computerprogramm enthält, kann in das Rechensystem 110 geladen werden. Das gesamte Computerprogramm oder ein Teil davon, das auf dem computerlesbare Medien gespeichert ist, kann dann in dem Systemspeicher 116 und/oder in diversen Bereichen der Speichereinrichtungen 132 und 133 gespeichert werden. Bei Ausführung durch den Prozessor 114 kann ein in das Rechensystem 110 eingeladene Computerprogramm den Prozessor 114 veranlassen, die Funktionen der anschaulichen hierin beschriebenen und/oder dargestellten Ausführungsformen auszuführen und/oder Mittel für deren Ausführung bereitzustellen. Zusätzlich oder alternativ können die anschaulichen hierin beschriebenen und/oder dargestellten Ausführungsformen in Firmware und/oder Hardware realisiert werden.
-
Beispielsweise kann ein Computerprogramm zur Ausführung von abtastbasierten Prüfungen gemäß Ausführungsformen der vorliegenden Erfindung auf dem computerlesbaren Medien gespeichert sein und kann dann in dem Systemspeicher 116 und/oder diversen Bereichen der Speichereinrichtungen 132 und 133 gespeichert werden. Bei Ausführung durch den Prozessor 114 kann das Computerprogramm den Prozessor 114 veranlassen, die Funktionen auszuführen und/oder Mittel für die Ausführung bereitzustellen, die für die Ausführung der abtastbasierten Prüfprozesse der vorliegenden Erfindung erforderlich sind.
-
4B ist eine schematische Blockansicht einer automatisierten Testanlagen-(ATE)Vorrichtung, in der Ausführungsformen des vorliegenden abtastbasierten Prüfsystems gemäß einer Ausführungsform der vorliegenden Erfindung realisiert werden können. In einer Ausführungsform führt das Prüf-Rechensystem 110 die gleiche Funktion aus wie das Rechensystem, das mit Bezug zu 4A erläutert ist, und umfasst einen oder mehrere verbundene Computer. In anderen Ausführungsformen umfasst die Systemsteuerung häufig einen einzelnen Computer. Das Prüf-Rechensystem 110 ist die gesamte Systemsteuereinheit, die den Prüfprozessor 114 umfasst, der die Software für die ATE abarbeitet, die für die Ausführung der Prüfungen an den angeschlossenen Bauelementen unter Test, beispielsweise Halbleiterchips, die einer Abtastprüfung unterzogen werden, verantwortlich ist.
-
Der Kommunikator-Bus 191 stellt einen elektronischen Hochgeschwindigkeitskommunikationskanal zwischen dem Prüf-Rechensystem und der Prüf-Hardware bereit. Der Kommunikator-Bus kann auch als eine Basisplattform, eine Modulverbindungseinheit, oder ein Systembus bezeichnet werden. Physikalisch ist der Kommunikator-Bus 191 ein schneller Duplex-Verbindungsbus mit hoher Bandbreite, der elektrisch, optisch usw. sein kann.
-
Die Prüf-Hardware 188 umfasst die komplexe Gruppe an elektronischen und elektrischen Teilen und Verbindungen, die notwendig sind, um den Prüf-Stimulus an die Bauelemente unter Test (DUT) 189 und 190 zu übertragen und die Antwort der DUT auf den Stimulus zu messen, und dies im Vergleich zu der erwarteten Antwort zu bewerten. In der vorliegenden Erfindung können die DUT mehrere integrierte Schaltungen sein, die einer Abtastprüfung unterzogen werden.
-
SYSTEM ZUR REDUZIERUNG DER LEISTUNGSSPITZE WÄHREND EINER ABTASTVERSCHIEBUNG AUF DER LOKALEN EBENE FÜR ABTASTBASIERTE PRÜFUNGEN
-
Ausführungsformen der vorliegenden Erfindung stellen ein Verfahren und ein System zur Reduzierung der Problematik der Leistungsspitze während eines Abtastschiebe-Modus auf lokaler Ebene bereit. Gemäß einer Ausführungsform der vorliegenden Erfindung wird eine Versetzung des Schiebetaktsignals auf Partitionsebene eingesetzt, um Leistungsspitzen, die höher als akzeptabel sind, auf lokaler Ebene während des Abtastschiebemodus zu reduzieren, wodurch es möglich ist, dass Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten ausgeführt werden. Die Ausführung der Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten verringert letztlich die gesamte Prüfzeit während eines Produktionstests.
-
1 ist ein Zeitdiagramm eines anschaulichen Abtastschiebe- und Abtasteinfang-Zyklus in einer konventionellen abtastbasierten Prüfung. Die abtastbasierte Technik ist eine kosteneffiziente Lösung, um die Funktion integrierter Schaltungen zu prüfen, die funktionale Logikelemente und Registerelemente, etwa Flipflop-Schaltungen oder Signalspeicher aufweisen, wobei funktionale Zwischenverbindungen zwischen den unterschiedlichen Elementen vorhanden sind. Die Gestaltung der integrierten Schaltung umfasst spezielle Vorkehrungen für eine Neukonfigurierung der Zwischenverbindungen der Elemente der integrierten Schaltung, so dass Testdatensignale seriell an einen oder mehreren Eingangsanschlüssen entlang einer Abtastkette, die sich von dem normalen funktionalen Systempfad unterscheidet, von einem Registerelemente zu einem weiteren geschoben („abgetastet”) werden können, um die Signale des Testvektors an die gewünschten Positionen zu bringen. Dies findet während einer Zeitdauer T1 in 1 statt, die der Abtastschiebezyklus ist. Das ScanEnable-Signal 101 wird aktiviert und auf hohen Pegel gesetzt während dieser Zeit, während die Eingänge, die durch den ScanIn-Signalvektor 103 präsentierten Eingaben eingeschoben werden durch die aktiven Bereich des Taktsignals 102.
-
Die integrierte Schaltung kehrt dann temporär zu ihrer normalen funktionalen Systemkonfiguration für einen oder mehrere Taktpulse zurück, um Testausgangssignale zu erzeugen, die dem Ergebnis einer speziellen Logikfunktion aus den normalen Logikfunktionen in der integrierten Schaltung entsprechen gemäß den Werten des Testvektors entspricht. Diese Ausgangssignale werden während des Abtasteinfangzyklus T2 eingefangen bzw. gespeichert. Zwei Pulse, Start 105 und Einfang 106, werden geschaltet, um die Prüfungsergebnisse der speziellen Logikfunktion an dem Ausgang der Flipflops und Signalspeicher in der integrierten Schaltung zu erzeugen.
-
Die integrierte Schaltung kehrt dann zu der Abtastschiebe-Konfiguration während T3 zurück und schiebt die Prüfungsergebnisse, wie dies durch den Signalvektor ScanOut 104 in 1 gezeigt ist, entlang der Abtastkette zu einem oder mehreren Ausgabeanschlüssen heraus, wo die Ergebnisse abgerufen und mit den erwarteten Ergebnissen zur Fehleranalyse verglichen werden können.
-
Das Ausführen von Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten hilft dabei, die gesamte Prüfzeit zu verringern. Jedoch kann, wie zuvor erläutert ist, dies Leistungsprobleme als Folge davon hervorrufen, dass alle Flipflops und Signalspeicher in der integrierten Schaltung zur gleichen Zeit schalten. Für abtastbasierte Prüfungen wird die Testleistung hauptsächlich auf die verschiedene Leistung der Abtastketten und auf die Leistung beim Abtasteinfang aufgeteilt. Während des Abtastschiebemodus werden Schiebetaktsignale angewendet, um Abtastdaten zu laden und um Abtastdaten über Abtastketten auszuladen. Die mittlere Schiebeleistung dominiert die Wärmeabfuhr während der Abtastverschiebung aufgrund der hohen Umschaltraten und der Logikaktivität im Vergleich zum Funktionsmodus. Ferner kann eine exzessive Leistungsspitze Fehler in der Abtastkette aufgrund des Spannungsabfalls in Bezug auf die Versorgungsleitungen hervorrufen und kann zu einem Ausbeuteverlust führen, wie dies zuvor erwähnt ist.
-
2 ist ein Zeitdiagramm der Leistungsaktivität während eines anschaulichen Abtasteinfang-Zyklus einer konventionellen abtastbasierten Prüfung. Die Spitzenleistung während der Abtastverschiebung hängt von der Anzahl an Flipflops ab, die gleichzeitig an der aktiven Flanke des Abtasttaktsignals 255 getaktet werden. Wie aus der Darstellung des Leistungsprofils 250 in 2 erkennbar ist, führt die Umschaltung aller Flipflops zusammen während des Abtastschiebe-Zyklus in der Zeitdauer 201 und 203 zu extremen Bedingungen mit einer Leistungsspitze. Dies führt zu einem höheren Spannungsabfall als gewünscht in den Versorgungsleitungen, wodurch die Bauteilgeschwindigkeit reduziert und falsche Defekte hervorgerufen werden. Danach führt dies zu einer hohen mittleren Leistung aufgrund der vielen exzessiven Leistungsspitzen pro Schiebetaktsignal. Die Verringerung der Anzahl an Flipflops, die pro aktiver Flanke des Schiebetaktsignals 255 geschaltet werden, kann wirksam die Spitzenleistung verringern.
-
Es gibt gewisse Lösungen im Stand der Technik, um die Leistungsproblematik während der Schiebezyklen, die in 2 gezeigt sind, zu lösen, indem Techniken für das Design für Test (DFT) sowie eine automatisierte Prüfmustererzeugung (ATPG) angewendet werden. Diverse DFT-Techniken, die verwendet werden, umfassen die Verwendung spezieller Flops, um die Flop-Ausgabe während einer Abtastverschiebung zu deaktivieren, die Umordnung von Abtastketten, die Aufteilung der Abtastkette und eine selektive Deaktivierung von Abtastketten. Benachbarte Auffüllung, 0-Auffüllung und 1-Auffüllung sind andere ATPG-Verfahren zur Verringerung der Leistung beim Einschieben.
-
3A ist eine schematische Ansicht eines anschaulichen bekannten Systems zur Verringerung der Problematik der Leistungsspitzen durch Implementierung einer Versetzung des Abtasttaktsignals. 3B ist ein Zeitdiagramm für das anschauliche bekannte System in 3B, das eine Versetzung des Abtasttaktsignals realisiert. Die Versetzung des Abtasttaktsignals beinhaltet die Versetzung der Taktsignale für unterschiedliche Abtastketten in einer integrierten Schaltung, so dass die Abtastketten während unterschiedlicher Zeiten getaktet werden. Durch die Versetzung des Taktsignals für die Abtastkette verringert die Taktsignalversetzung die Anzahl an Flipflops, die zu selben Zeit umgeschaltet werden. Beispielsweise verwendet in der Schaltung aus 3A das Takt- und Ausgabe-Steuermodul 380 das Taktsignal CK 355, um zwei Taktsignale CK1 350 und CK2 351 zu erzeugen, wobei CK2 351 eine geringfügig verzögerte Version von CK 355 ist. CK1 350 ist jedoch gleiche wie das ursprünglich Taktsignal CK 355. CK1 350 dient als das Abtasttest-Taktsignal für die Abtastkette 301, während CK2 351 als das Abtasttest-Taktsignal für die Abtastkette 302 dient.
-
Die Abtasteingabe SI 380 wird daher in die Abtastkette 301 geladen, wenn CK1 350 hoch-pegelig ist und die Abtastkette 302 wird in die Abtastkette 202 geladen, wenn CK2 351 hoch-pegelig ist. Wie ferner in 3B gezeigt ist, werden die Abtastketten 301 und 302 abwechselnd geladen und entladen während der Zeitdauer 303 und der Zeitdauer 305, während ScanEnable 290 aktiv ist. Daher werden durch Laden und Entladen der Signalspeicher und Flipflops in den beiden Abtastketten zu separaten Zeiten die Probleme der Leistungsspitze abgeschwächt.
-
Die vorliegende Erfindung betrifft ebenfalls die Reduzierung der Problematik der Leistungsspitze auf der lokalen Ebene während der Abtastverschiebung durch Realisierung eines Versetzungsschemas für verschiedene Taktsignale auf Partitionsebene. Die vorliegende Erfindung betrifft die Erhöhung der Abtastschiebegeschwindigkeit, indem die Spitzenleistung bei der Abtastverschiebung während der abtastbasierten Logikprüfung mit hoher Geschwindigkeit für integrierte Schaltung mit hoher Dichte, beispielsweise Grafikchips mit integrierter CPU, reduziert wird. In einer Ausführungsform ist die vorliegende Erfindung eine Versetzungstechnik für das Abtastschiebetaktsignal, die vorteilhaft die Prüf-Komprimierung in einer SerDes-Abtastarchitektur ausnutzt. SerDes (Serialisierungs-Einheit/Entserialisierungs-Einheit) ist ein Paar aus Funktionsblöcken, die üblicherweise in der Hochgeschwindigkeitskommunikation eingesetzt werden, um die begrenzte Eingabe/Ausgabe (I/O) zu kompensieren. Diese Blöcke wandeln Daten zwischen seriellen Datenschnittstellen und parallelen Schnittstellen in jeder Richtung um. In einer SerDes-Abtastarchitektur werden mehrere Abtastketten von sehr wenigen externen Abtast-I/O-Chipanschlüssen angesteuert. Ferner ist die Anzahl an I/O, die für die Zufuhr von Abtastdaten zu diesen Abtastketten erforderlich sind, aufgrund der Verwendung der SerDes-Architektur verringert.
-
5 ist eine Blockansicht eines Beispiels einer SerDes-Abtastarchitektur mit einer Test-Komprimierung, die in der Lage ist, Ausführungsformen der vorliegenden Erfindung zu realisieren. Bei der Test-Komprimierung während Abtastketten in Partitionen entsprechend der physikalischen Hierarchie unterteilt. 5 zeigt vier Partitionen einer integrierten Schaltung, Partition 0-Partition 3. Jede integrierte Schaltung ist in mehrere unterschiedliche Partitionen unterteilt, wobei jede Partition ihre eigenen Abtastketten enthält. Jede Partition, beispielsweise die Partition 502 in 5, empfängt Daten von einem Entserialisierungs-Modul 504 und gibt Daten an ein Serialisierungs-Modul 503 aus. Das Entserialisierungs-Modul 504 empfängt die Abtastdaten aus einem I/O-Port ScanIn 509 und entserialisiert die seriellen Hochgeschwindigkeitsdaten, die während des Abtastschiebe- und Eingabemodus über die Abtastdaten-Pipeline 501 eintreffen. Die Abtastdaten werden von dem Prozessor 114 des Prüf-Rechensystems 110, der mit der getesteten integrierten Schaltung verbunden sein kann, auf die I/O-Anschlüsse gelegt.
-
In einer Ausführungsform können die SerDes-Module eine Breite von 4 Bits aufweisen, und die Entserialisierungs-Einheit unterstützt einen Modus mit 1:4 und die Serialisierungs-Einheit unterstützt einen Modus mit 4:1. In dieser Ausführungsform kann das Entserialisierungs-Modul Daten aufnehmen, die mit einer bis zu vierfachen Geschwindigkeit der Frequenz eintreffen, mit der die Kern-Abtastketten in den Partitionen arbeiten. Beispielsweise kann das Entserialisierungs-Modul eintreffende serielle Hochgeschwindigkeitsdaten mit 250 MHz aufnehmen und kann diese in die internen Abtastketten in jeder Partition mit Clk2,5 MHz einspeisen. Im normalen Modus arbeiten interne Abtastketten mit Testtaktsignalen mit einem ¼-tel eines SerDes „4f” Taktsignals. Wie man in 5 erkennt, arbeiten Stufen 511 mit einer „4f” Taktfrequenz, während die internen Abtastketten, beispielsweise die Abtastkette 515, mit einer „1f” Taktfrequenz in der Stufe 512 arbeitet. Somit kann durch die Entserialisierung der Daten das Entserialisierungs-Modul bewirken, dass die internen Abtastketten in der Partition mit einer kleineren Frequenz arbeiten im Vergleich zu der Frequenz, mit der seriellen Hochgeschwindigkeitsdaten an die Partition über die Abtastdaten-Pipeline 501 zugeführt werden.
-
In ähnlicher Weise wandelt das Serialisierungs-Modul 503 Daten aus den internen Abtastketten, die bei einer „1f” Taktfrequenz in der Stufe 512 arbeiten, in eine „4f” Taktfrequenz in der Stufe 513 um, so dass diese wieder zurück in die seriellen Hochgeschwindigkeitsdaten für die Abtastausgabe umgewandelt werden können. Das Serialisierungs-Modul 530 gibt die Daten über die Abtastdaten-Pipeline an den I/O-Port ScanOut0 508 aus. In dem obigen Beispiel würde das Serialisierungs-Modul 503 die Daten mit Clk2,5 MHz zurück in die serielle Ausgabe 250 MHz für den Zyklus der Abtastausgabe umwandeln.
-
Die in 5 gezeigten Partitionen realisieren ferner eine Komprimier- und Dekomprimier-Logik für die internen Kernketten. Die Dekomprimier-Einheit 507 dekomprimiert und dekodiert die aus dem Serialisierungs-Modul 504 empfangenen Daten, während die Komprimier-Einheit 506 Daten komprimiert, die dem Serialisierungs-Modul 503 zugeleitet werden.
-
In einer konventionellen SerDes-Architektur würde das gleiche Testtaktsignal alle Abtastketten in allen Partitionen ansteuern, was dazu führt, dass alle Abtast-Flops zusammen schalten und dadurch die Leistungsspitze an der aktiven Flanke des Testtaktsignals erhöhen, wie dies in 2 gezeigt ist. Dies verursacht einen Spannungsabfall (oder IR) in Bezug auf die Versorgungsleitungen, wodurch die Schaltung verlangsamt wird, und woraus sich falsche Fehlerangaben ergeben. Ferner sind die Versorgungsleitungen in und um die Partitionen in 5 herum nicht so gestaltet, dass sie einen hohen Grad an Leistungsaktivität überstehen können.
-
Die vorliegende Erfindung schwächt die Problematik der Spitzenleistung in einer SerDes-Abtastarchitektur ab, indem das Abtastschiebetaktsignal für die Abtastketten in jeder Partition um einen gewissen Betrag versetzt wird. Dies macht es möglich, dass Abtastketten in einer Partition in einer bestimmten Zeit umschalten, während Abtastketten aus einer anderen Partition untätig sind. Ferner ermöglicht dies, dass eine Partition Abtastdaten lädt und dabei effizient die Versorgungsleitungsstruktur um diese Partition herum ausnutzt, ohne dass ein signifikanter IR-Abfall stattfindet. Schließlich erlaubt dies, dass Abtastketten zu höheren Frequenzen verschoben werden, um die Prüfzeit zu reduzieren, ohne dass falsche Fehlerangaben hervorgerufen werden.
-
Jedoch gibt es einige praktische Schwierigkeiten bei der Versetzung des Abtastschiebetaktsignals in jeder Partition, da das Hinzufügen einer Verzögerungslogik („Taktsignaljustiereinheiten”) auch den funktionalen Zeitablauf der Schaltung beeinflussen wird, da das gleiche Funktionstaktsignal auch in Form einer Multiplex-Signalführung auf die gleiche Leitung wie das Abtasttesttaktsignal gelegt wird. Da ferner Taktsignale mit sehr hoher Geschwindigkeit für jede Partition verwendet werden, kann die Einführung der Verzögerungslogik in den Taktsignalpfad die Taktsicherheitsanforderungen für eine zuverlässige Zeitsteuerung erhöhen.
-
Eine weitere praktische Schwierigkeit bei der Versetzung der Abtastschiebetaktsignale unter Anwendung einer Verzögerungslogik besteht darin, dass in den CPU-Kernen mit sehr hoher Geschwindigkeit die Taktsignale als Gitterstruktur geführt werden, und es keine konventionelle Synthese für den Taktsignalbaum gibt, die vorliegt und beispielsweise ist 6 eine schematische Ansicht, die ein anschauliches System zur Führung von Taktsignalen als eine Gitterstruktur zeigt. Das Hinzufügen einer Verzögerungslogik ist daher nicht in jeder Partition möglich.
-
In einer Ausführungsform löst die vorliegende Erfindung diese Problematik, indem die Versetzung des Schiebetaktsignals auf Partitionsebene gesteuert wird unter Verwendung einer Taktsignalversetzungs-Steuerlogik. 7 ist eine schematische Ansicht auf hoher Ebene, die eine anschauliche Schaltung für die Versetzung des Schiebetaktsignals auf Partitionsebene unter Anwendung einer Taktsignalversetzungs-Steuerlogik gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die anschauliche Schaltung aus 7 steuert die Versetzung des Schiebetaktsignals auf Partitionsebene für das anschauliche SerDes-System mit vier Partitionen in 5 gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Das Versetzungs-Steuermodul 740 umfasst die Versetzungs-Steuerlogik für die Erzeugung von Taktsignalversetzungs-Aktivierungssignalen für jedes Abtastsignal der vier Partitionen gemäß einer Ausführungsform der vorliegenden Erfindung. Die Module 750 sind die Takt-Gatezellen, die in Verbindung mit dem Versetzungs-Steuerlogikmodul 740 arbeiten, um die versetzten Taktpulse Clk0 705, Clk1 710, Clk2 715 und Clk3 720 für die Taktung der internen Abtastketten in jeder der vier Partitionen während des Abtastschiebemodus erzeugen. Clk0 705 wird der Partition 0 zugeleitet, Clk1 710 wird der Partition 1 zugeleitet, Clk2 715 wird der Partition 2 zugeleitet und Clk3 720 wird der Partition 3 zugeleitet, wobei die Partitionen 1–3 im Wesentlichen die gleiche Funktion wie in 5 ausführen. Sowohl das Signal ScanEnable 725 als auch das Signal shift_stagger_mode 785 werden während des Abtastschiebemodus aktiviert.
-
In einer Ausführungsform kann das Versetzungs-Steuermodul 740 unter Anwendung von JTAG-Bits programmiert werden, so dass der Anwender die Sequenz konfigurieren kann, die in die Partitionen eingeschoben wird. Wenn beispielsweise der Anwender wünscht, dass verhindert wird, dass die Flops in benachbarten Partitionen nacheinander schalten, kann der Anwender die IJTAG-Bits so programmieren, dass die Schiebezyklen der benachbarten Partitionen separiert werden.
-
8 zeigt ein Zeitdiagramm 800 für die anschauliche Schaltung zur Steuerung der Versetzung der Schiebetaktsignale auf Partitionsebene unter Verwendung der in 7 gezeigten Taktsignalversetzungs-Steuerlogik gemäß einer Ausführungsform der vorliegenden Erfindung. In einer Ausführungsform nutzt die vorliegende Erfindung die „4f” Taktsignale der SerDes-Abtastarchitektur, um die externen Abtastketten aus dem Chip-I/O, beispielsweise ScanIn 509 in 5, in das Entserialisierungs-Modul 504 und von dem Serialisierungs-Modul 503 in dem Chip-I/O, beispielsweise ScanOut 508 zu schieben. Die Abhängigkeit zwischen dem SerDes 4f-Takt 780 in 8 und den Taktsignalen der internen Abtastketten (ClkO 705, Clk1 710, Clk2 715, Clk3 720) ist 4:1, wie in den Signalformen der 8 gezeigt ist. Für jeweils vier Taktpulse des SerDes 4f Takt 780 schaltet jedes der Testtaktsignale der internen Abtastketten einmal, so dass entserialisierte Daten in die Abtastketten geladen und die serialisierten Daten aus den Abtastketten korrekt herausgeschoben werden können. Wie in 7 gezeigt ist, wird jedes Testtaktsignal auf Partitionsebene unter Anwendung der Takt-Gatezellen 750 ausgeblendet, wobei der SerDes 4f Takt 780 der Eingang für diese Takt-Gatezellen ist, wenn ScanEnable 725 aktiviert ist.
-
Wie ferner in 8 gezeigt ist, sind während der Abtastverschiebung sowohl das Signal ScanEnable 725 als auch das Signal shift_stagger_mode 785 aktiviert. Daraufhin wird das Modul 740 vier Taktversetzungs-Freigabesignale für jedes Partitionstaktsignal erzeugen. 9 ist eine schematische Ansicht, die die Details des anschaulichen Versetzungs-Steuerlogikmoduls 740 aus 7 zur Erzeugung von Taktversetzungs-Freigabesignalen für jedes Abtasttaktsignal der Partition gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Steuerlogik in dem Modul 740 erzeugt vier Versetzungstaktsignal-Freigabesignale, die zum Steuern der Takt-Gatezellen für die Partitionen verwendet werden. Wie in 9 gezeigt ist, steuern sowohl das Signal ScanEnable 725 und das Signal shift_stagger_mode 785 das Steuermodul 740 während des Abtastschiebemodus. Wenn die zwei Signale aktiv sind, erzeugt die Schaltung des Moduls 740 vier Taktversetzung-Freigabesignale (Stagger_clk_en0 816, Stagger_clk_en1 817, Stagger_clk_en2 818, Stagger_clk_en3 819) für jedes Taktsignal jeder Partition. Diese Taktversetzungs-Freigabesignale steuern die Takt-Gatezellen 750 derart, dass nur ein einzelner Taktpuls für alle vier Taktpulse des SerDes 4f Takt 780 für die internen Abtastketten jeder der vier Partitionen, d. h. Partitionsziffer 0-Partition 3, bereitgestellt wird.
-
Die Signalformen für CIk0 705, Clk1 710, Clk2 715 und Clk3 720-Signale in 8 zeigen, dass jedes Taktsignal für die Partitionen nur einmal alle 4 Zyklen des SerDes 4f Takt 780 pulsiert und dass diese so versetzt sind, das keine der vier Partitionen zusammen getaktet werden. Jedes der Versetzungstaktsignal-Freigabesignale (Stagger_clk_en0 816, Stagger_clk_en1 817, Stagger_clk_en2 818, Stagger_clk_en3 819 wie in 8 gezeigt) steuert die Takt-Gatezellen für jede der vier Partitionen, was wiederum ermöglicht, dass die Abtastketten in jeder Partition zu unterschiedlichen Zeiten in der Zeitdauer von 4 Zyklen des SerDes 4f Takt 780 verschoben werden. Die Verwendung der Versetzungstaktsignal-Freigabesignale auf diese Weise macht es möglich, dass die Taktsignalpulse für die Partitionen für jede Partition versetzt werden, ohne dass eine Verzögerungslogik in den Taktsignalpfad eingeführt wird.
-
In einer Ausführungsform ist die SerDes-Architektur skalierbar, so dass die SerDes-Module eine Breite von mehr als 4 Bits aufweisen können. Ferner können auch mehr als 4 Abtasttesttaktsignale unter Anwendung des seriellen Hochgeschwindigkeitstaktsignals in dem System erzeugt werden, und es können mehr als 4 Partitionen unter Anwendung des seriellen Hochgeschwindigkeitstaktsignals unterstützt werden.
-
Wie in 8 gezeigt ist, wird in dieser Ausführungsform der vorliegenden Erfindung die Taktversetzung nur während der Abtastverschiebung eingesetzt. Zum Vergleich, während des Einfangzyklus wird das Hochgeschwindigkeits-Einfangtaktsignal den Abtastketten in allen Partitionen für eine Verzögerungsprüfung der Übergänge zur gleichen Zeit zugeleitet.
-
Als eine Folge der Versetzung der Lade-Entlade-Zyklen der Abtastketten in den unterschiedlichen Partitionen unter Anwendung des Taktversetzungsmechanismus der vorliegenden Erfindung wird die Leistungsspitze während der Abtastverschiebung reduziert, wie dies in der Signalform 799 „Leistungsaktivität mit Taktversetzung” gezeigt ist. Dies macht es möglich, dass die Abtastketten in den Partitionen mit höherer Geschwindigkeit abgetastet werden, was ohne die Anwendung der Taktversetzung nicht möglich wäre. Die letztliche Wirkung der Taktversetzung auf Partitionsebene während der Abtastverschiebung besteht darin, dass der lokale IR-Abfall reduziert wird, indem das Schalten in den Abtastketten in kleineren und lokalen Gebieten des Chips reduziert wird.
-
Zu Vergleichszwecken stellt 8 auch eine Signalform 814 für die Taktsignale der Partitionen ohne Taktversetzung und eine Signalform 815 mit der zugehörigen Leistungsabhängigkeit bereit. Wie gezeigt, wenn alle Partitionen gleichzeitig getaktet werden, ist die Größe der Leistungsspitze in 815 wesentlich höher als in der Signalform 799, in der die Versetzung realisiert ist.
-
In einer Ausführungsform der vorliegenden Erfindung wird eine weitere Verringerung des lokalen IR-Abfalls ermöglicht, indem die Abtastschiebetaktsignale für eine oder mehrere der Abtastketten in jeder Partition weiter versetzt werden, solange mehrere Abtastkettengruppen in jeder Partition vorhanden sind, und die Versetzung des Schiebetaktsignals wird den Lade-Entlade-Vorgang bei der Abtastung nicht beeinflussen. Auch die Versetzung innerhalb der Partition kann nur realisiert werden, wenn eine oder mehrere der Abtastketten in der Partition unter Anwendung eines separaten Abtasttesttaktsignals in Bezug auf die anderen Abtastketten in der Partition betrieben werden kann.
-
10 ist eine schematische Blockansicht, die anschauliche Takt-Gatezellen für ein Abtasttaktsignal jeder Partition gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Module 1010 und 1020 sind unterschiedliche Ausführungsformen des Takt-Gatemoduls 750, das in 7 gezeigt ist. Das Modul 1020 realisiert die Takt-Gatezellen mit einem Prüfdeaktivierungsmodus, der durch das Prüfung Deaktiviert-Signal 1050 aktiviert wird, das ermöglicht, dass die Zelle deaktiviert wird, wenn das Signal ScanEnable 725 auf tiefem Pegel ist, wenn das System angeschlossen ist, wie in 7 gezeigt ist. Das Modul 1010 enthält andererseits keinen Prüfdeaktivierungsmodus.
-
11 zeigt ein Flussdiagramm 1100 eines anschaulichen Prozesses zur Versetzung des Schiebetaktsignals, um die Problematik der Leistungsspitze gemäß einer Ausführungsform der vorliegenden Erfindung abzuschwächen. Die Erfindung ist jedoch nicht auf die Beschreibung, die in dem Flussdiagramm 1100 angegeben ist, beschränkt. Der Fachmann auf dem(n) Gebiet(en) erkennt aus den Lehren, die hierin bereitgestellt sind, dass andere funktionale Abläufe innerhalb des Schutzbereichs und des Grundgedankens der vorliegenden Erfindung liegen. Das Flussdiagramm 1100 wird nun weiter mit Bezug zu oben beschriebenen anschaulichen Ausführungsformen beschrieben, obwohl das Verfahren nicht auf diese Ausführungsformen beschränkt ist.
-
Im Block 1102 werden Abtastdaten von den Prüfprozessor 114 des Prüf-Rechensystems 110 von mehreren I/O-Port, beispielsweise ScanIn 509, den Partitionen, beispielsweise Partition 0 502, in der integrierten Schaltung, die unter Anwendung des SerDes 4f-Takt getestet wird, zugeleitet. Der SerDes 4f Takt kann bei hohen Frequenzen bei oder über 250 MHz arbeiten.
-
Im Schritt 1104 entserialisieren entsprechende Entserialisierungs-Module, beispielsweise 504, die seriellen Daten, die an den Partitionen eintreffen, um die Abtastdaten vorzubereiten, in die Abtastketten in den Partitionen eingespeist zu werden.
-
Im Schritt 1106 erzeugen die Gatezellen 750 die Abtasttesttaktsignale, die zum Einschieben der Abtastdaten in jede entsprechende Partition verwendet werden. Jedes Abtasttesttaktsignal arbeitet bei einer 1f-Taktfrequenz und pulsiert in einer Weise, so dass nicht mehr als eines der Abtasttesttaktsignale zu jeder Zeit pulst. Die Signalformen für die Abtasttesttaktsignale Clk0 705, Clk1 710, Clk2 715 und Clk3 720 in 8 zeigen, dass jeder der Partition Taktpulse nur einmal alle 4 Zyklen des SerDes 4f Takt 780 schaltet, d. h. jedes Taktsignal arbeitet bei der 1f Taktfrequenz. Es ist ferner gezeigt, dass die Abtasttesttaktsignale versetzt sind, so dass keine der vier Partitionen gleichzeitig getaktet wird.
-
Die Gatezellen 750 werden von der Logik in dem Versetzungs-Steuermodul 740 so gesteuert, dass Freigabesignale erzeugt werden, um die Gatezellen so zu steuern, dass nur ein Taktpuls jeweils für vier Taktpulse des SerDes 4f Takt 780 für die internen Abtastketten jeder der vier Partitionen, d. h. Partition 0-Partition 3, bereitgestellt wird.
-
Im Schritt 1108 werden die Abtastdaten durch die Entserialisierung-Module in die internen Abtastketten der Partitionen mit der 1f Taktfrequenz unter Anwendung der Abtasttesttaktsignale eingeschoben.
-
Im Schritt 1110 werden die ausgegebenen Abtastdaten durch die Serialisierung-Module serialisiert, beispielsweise das Modul 503, um die Daten vorzubereiten, dass sie aus den entsprechenden Partitionen herausgeschoben und zurück an die I/O-Ports geführt werden. Schließlich werden im Schritt 1112 die ausgegebenen Abtastdaten seriell mit der SerDes 4f Taktfrequenz herausgeschoben.
-
Die Versetzung der Abtastschiebetaktsignale für die Partitionen unter Anwendung der SerDes-Abtastarchitektur bei Benutzung des zuvor beschriebenen Verfahrens kann dabei helfen, die Problematik der Leistungsspitze bei der Abtastverschiebung auf lokaler Ebene zu verringern, indem ein gleichzeitiges Schalten aller Flipflops in der Abtastkette in einem lokalen Bereich des Chips verhindert wird. Abhängig davon, wieviele Gruppen an Abtastketten im Entwurfvorhanden sind, und wieviele Gruppen an Abtastketten zu einer gegebenen Zeit aktiviert sind, kann sich eine signifikante Verbesserung der Leistungsspitze ergeben. Wenn beispielsweise zwei Gruppen an Abtastketten vorhanden sind, und eine Gruppe jeweils zu jeder Zeit aktiviert wird, ergibt sich eine Verringerung der Spitzenleistung bei der Verschiebung von ungefähr 50%.
-
SYSTEM ZUR REDUZIERUNG DER LEISTUNGSSPITZE WÄHREND DER ABTASTVERSCHIEBUNG AUF GLOBALER EBENE FÜR ABTASTBASIERTE PRÜFUNGEN
-
Ausführungsformen der vorliegenden Erfindung stellen ferner ein Verfahren und ein System zur Reduzierung der Problematik der Leistungsspitze während des Abtastschiebemodus auf globaler Ebene bereit. Gemäß einer anderen Ausführungsform der vorliegenden Erfindung wird die Leistungsspitze auf globaler Ebene während des Abtastschiebezyklus reduziert, indem das Testtaktsignal für die CPU-Kerne und den L2C-Cache-Speicher versetzt wird, wodurch der globale Spannungsabfall in den Versorgungsleitungen verringert wird. Dies ermöglicht es, dass die Abtastschiebeoperationen bei höheren Taktgeschwindigkeiten ablaufen, was wiederum die gesamte Prüfzeit während eines Produktionstests reduziert.
-
12 ist eine schematische Blockansicht, die eine anschauliche Schaltung zur Multiplex-Signalführung eines Testtaktsignals und eines Funktionstaktsignals in einem Verarbeitungssystem, beispielsweise einem CPU- oder GPU-Chip zeigt, der unter Anwendung einer Abtasttestmethode geprüft wird, gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 12 gezeigt ist, wird ein Testtaktsignal 1110 an der Wurzel des Taktsignalbaums für eine einfachere Zeitsteuerung mit dem Funktionstakt 1105 in Multiplexbetrieb verarbeitet, so dass Signalführungsressourcen gespart werden. Sowohl das Testtaktsignal 1110 als auch das Funktionstaktsignal 1105 werden extern über I/O-Anschlüsse angesteuert, die mit dem Prüfprozessor 114 des Systems 110 verbunden sind. Das Signal Testmode 1115 wird verwendet, um zwischen dem Funktionstaktsignal und dem Testtaktsignal auszuwählen. Das ausgewählte Taktsignal wird dann den drei Kernen in dem System, das heißt Kern 1 1120, Kern 2 1130 und L2C 1125, zugeleitet.
-
Die Funktionstaktsignal bei Hochleistungschip-CPUs oder GPUs haben sehr enge Anforderungen im Hinblick auf die Taktversetzung, für gewöhnlich in Zehntel von Pico-Sekunden. Während enge Anforderungen für die Versetzung einen positiven Einfluss auf das Funktionsverhalten des CPU-Komplexes besitzen, haben sie jedoch eine negative Auswirkung auf die Leistungsspitze beim Testen in Bezug auf Taktsignalflanken, die alle Flipflops in dem CPU-Komplex nahezu der gleichen Zeit erreichen. Wenn die Anzahl an Übergängen für eine gegebene Taktsignalflanke während einer Abtastverschiebung wesentlich höher sein könnte als während des normalen Betriebs, könnte auch die Spitzenleistung während der Verschiebung höher sein als im normalen Betrieb, für welchen das Bauteil entworfen wurde. Dies könnte thermische kritische Punkte und Zuverlässigkeitsprobleme für das Bauteil zusammen mit Testfehlern hervorrufen, wodurch ein Verlust an Produktionsausbeute hervorgerufen wird.
-
Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Leistungsspitze auf globaler Ebene während des Abtastschiebezyklus reduziert werden, indem die Testtaktsignalflanken, die die CPU-Kerne und den L 2C-Cache-Speicher erreichen, versetzt werden. Durch Separierung der Testtaktsignalflanken für unterschiedliche Kerne und L2-Cache-Speicher in dem CPU-Komplex, kann der globale IR-Abfall verringert werden. Dieses Verfahren zur Reduzierung der Problematik der Leistungsspitze auf globaler Ebene kann in Verbindung mit dem zuvor erläuterten Verfahren zur Reduzierung der Spitzenleistungsproblematik auf lokaler Ebene eingesetzt werden. Es kann jedoch auch alleine eingesetzt werden, wenn das vorhergehende Verfahren als zu aufwändig erachtet wird, oder wenn es aus einem anderen Grunde nicht funktionieren würde.
-
13 zeigt eine schematische Blockansicht, die eine anschauliche Schaltung zur Versetzung des Schiebetaktsignals für die Verarbeitungskerne und den L2C-Cache-Speicher in dem System gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Wie in 13 gezeigt ist, werden kombinatorische Verzögerungselemente, beispielsweise Verzögerungspuffer 1150 mit unterschiedlichen Verzögerungswerten hinzugefügt, nachdem die Testtaktsignale mit den Funktionstaktsignalen durch Multiplexung verarbeitet sind, um absichtlich das Taktsignal für die unterschiedlichen Kerne und den L2-Cache-Speicher zu versetzen. Die Größe der Verzögerung könnte auf der Grundlage reiner Siliziumsdaten ermittelt werden oder könnte ein programmierbarer Verzögerungswert sein, der zum Zeitpunkt der Implementierung im Silizium festgelegt wird.
-
Wie in 13 gezeigt ist, haben der Kern 1 1120 und der Kern 2 1130 Pfade zu und von dem L2C, die geprüft werden müssen. Da es in diesem Falle Pfade zwischen unterschiedlichen Kernen und dem L2C gibt, die getestet werden müssen, sollte das Testtaktsignal 1110 während des Einfangzyklus nicht gesetzt werden, um eine Prüfung dieser Pfade zu ermöglichen und um die korrekten Funktionsausgaben der Pfade zu speichern. Wenn die Abtastketten gemeinsam in den unterschiedlichen Kernen und dem L2C benutzt werden, dann muss ausreichend Haltetoleranz für die Verschiebungspfade zwischen dem Kern und dem L2C vorgesehen werden, um die Verzögerungen in den Taktleitungen aufgrund der Versetzung zu berücksichtigen.
-
13 zeigt, wie das Testtaktsignal für die Kerne und den L2C unter Verwendung von Taktsignaljustierblöcken, beispielsweise dem Modul 1190, versetzt werden kann. Die Verzögerungswerte für die Verzögerungsprüfung, etwa dem Puffer 1150, können durch JTAG-Bits gesteuert werden, die als Teil der anfänglichen Einrichtungsprozedur programmiert werden. Anfangswerte für diese JTAG-Bits ergeben sich aus einer Zeit/Leistungsanalyse und können in der automatisierten Testanlage (ATE) im Hinblick auf optimale Werte charakterisiert werden.
-
14 ist ein Zeitdiagramm für die anschauliche Schaltung zur Steuerung der Taktsignalversetzung, die in 13 gezeigt ist, gemäß einer Ausführungsform der vorliegenden Erfindung. Die Signalform 1440 zeigt das ursprüngliche Testtaktsignal. Die Signalform 1430 ist das Taktsignal, das dem Kern 1 1120 zugeleitet ist. Die Signalform 1420 ist das Taktsignal, das dem L2C 1120 zugeleitet ist. Die Signalform 1410 ist das Taktsignal, das dem Kern 2 1130 zugeleitet ist. Wie in 14 gezeigt ist, erhält der Kern 1 1120 ein nicht verzögertes Testtaktsignal während des Schiebezyklus. Der L2C 1125 erhält ein Testtaktsignal, das um DEL1 verzögert ist. Ferner erhält der Kern 2 1130 ein Testtaktsignal, das um DEL1 + DEL2 zögert ist. Diese Taktsignale werden nur während des Schiebezyklus aber nicht während des Einfangzyklus versetzt.
-
15 zeigt ein Flussdiagramm 1500 eines anschaulichen Prozesses zur Verringerung der Problematik der Leistungsspitze während des Abtastschiebezyklus auf globaler Ebene für eine abtastbasierte Prüfung gemäß einer Ausführungsform der vorliegenden Erfindung. Die Erfindung ist jedoch nicht auf die Beschreibung, die durch das Flussdiagramm 1500 angegeben ist, beschränkt. Vielmehr erkennt der Fachmann auf diesem Gebiet oder den Gebieten aus de Lehren, die hierin angegeben sind, dass andere funktionale Abläufe innerhalb des Schutzbereichs und des Grundgedankens der vorliegenden Erfindung liegen. Das Flussdiagramm 1100 wird nunmehr mit weiterem Bezug zu anschaulichen Ausführungsformen beschrieben, die zuvor beschrieben sind, obwohl das Verfahren nicht auf diese Ausführungsformen beschränkt ist.
-
Im Schritt 1502 ist das Testtaktsignal mit dem Funktionstaktsignal am Ursprung bzw. an der Wurzel des Taktsignalbaums durch Multiplexing zusammengeführt, wie dies zuvor erläutert ist.
-
Im Schritt 1504 wird das Testtaktsignal durch die Taktsignaljustierblöcke, beispielsweise Modul 1190, geführt, die kombinatorische Verzögerungselemente mit variierenden Verzögerungswerten enthalten. Diese Verzögerungen werden in den Entwurf eingeführt, nachdem das Testtaktsignal mit dem Funktionstaktsignal durch Multiplexing zusammengeführt ist, jedoch bevor das Testtaktsignal die CPU-Kerne oder den L2C erreicht.
-
Schließlich kann im Schritt 1506 der Wert der Verzögerungselemente unter Anwendung von JTAG-Bits programmiert werden, wie dies zuvor erläutert ist.
-
Obwohl die vorhergehende Offenbarung diverse Ausführungsformen unter Anwendung spezieller Blockdiagramme, Flussdiagramme und Beispiele angibt, kann jede Komponente einer Blockansicht, eines Schritts eines Flussdiagramms, eine Operation und/oder einer Komponente, die hierin beschrieben und/oder dargestellt ist, individuell und/oder Kollektiv realisiert werden unter Anwendung einer großen Fülle von Hardware, Software oder Firmware (oder einer Kombination davon). Ferner sollte die Offenbarung von Komponenten, die in anderen Komponenten enthalten sind, als Beispiele betrachtet werden, da viele andere Architekturen realisiert werden können, um die gleiche Funktion zu erreichen.
-
Die Prozessparameter und die Reihenfolge von Schritten, die beschrieben und/oder hierin dargestellt sind, sind nur als Beispiel angegeben. Während die dargestellten und/oder hierin beschriebenen Schritte beispielsweise in einer speziellen Reihenfolge gezeigt oder erläutert sind, müssen diese Schritte nicht notwendigerweise in der dargestellten oder erläuterten Reihenfolge ausgeführt werden. Die diversen beispielhaften Verfahren, die hierin beschrieben und/oder dargestellt sind, können auch einen oder mehrere der Schritte, die hierin beschrieben oder dargestellt sind, weglassen, oder können weitere Schritte zusätzlich zu den offenbarten Schritten enthalten.
-
Obwohl diverse Ausführungsformen hierin beschrieben und/oder dargestellt sind im Zusammenhang mit vollständig funktionsfähigen Rechensystemen, können eine oder mehrere dieser beispielhaften Ausführungsformen als ein Programmprodukt in einer Vielzahl von Formen verteilt werden, unabhängig von der speziellen Art des computerlesbaren Mediums, das zur tatsächlichen Ausführung der Verteilung eingesetzt wird. Die hierin offenbarten Ausführungsformen können ferner unter Anwendung von Softwaremodulen, die gewisse Aufgaben ausführen, realisiert werden. Diese Softwaremodule können Skripte, Stapel oder andere ausführbare Dateien enthalten, die auf einem computerlesbaren Speichermedium oder in einem Rechensystem gespeichert werden können. Diese Softwaremodule können ein Rechensystem konfigurieren, um eine oder mehrere der anschaulichen hierin offenbarten Ausführungsformen auszuführen. Eines oder mehrere der Softwaremodule, die hierin offenbart sind, können in einer Wolken-Rechenumgebung realisiert werden. Wolken-Rechenumgebungen liefern diverse Dienstleistungen und Anwendungen über das Internet. Diese wolkengestütztem Dienstleistungen (beispielsweise Software als Dienstleistung, Plattform als Dienstleistung, Infrastruktur als Dienstleistung, usw.) können über eine Netz-Suchanwendung oder über eine andere entfernte Schnittstelle angesprochen werden. Diverse Funktionen, die hierin beschrieben sind, können über eine Fern-Tischrechner-Umgebung oder jede andere wolkengestützte Rechnerumgebung bereitgestellt werden.
-
Die vorhergehende Beschreibung wurde zum Zwecke der Erläuterung mit Bezug zu speziellen Ausführungsformen angegeben. Jedoch sind die anschaulichen Erläuterungen zuvor nicht als umfassend oder als Einschränkung der Erfindung auf die genauen offenbarten Formen beabsichtigt. Es sind viele Modifizierungen und Variationen im Lichte der obigen Lehren möglich. Die Ausführungsformen wurden ausgewählt und beschrieben, um am besten die Prinzipien der Erfindung und ihrer praktischen Anwendungen zu erläutern, um damit einen anderen Fachmann in die Lage zu versetzen, die Erfindung und die diversen Ausführungsformen mit diversen Modifizierungen einzusetzen, wie sie für die spezielle betrachtete Anwendung als geeignet erscheinen.
-
Es sind somit Ausführungsformen gemäß der Erfindung beschrieben. Obwohl die vorliegende Offenbarung in speziellen Ausführungsformen beschrieben worden ist, sollte beachtet werden, dass die Erfindung nicht als eingeschränkt betrachtet werden sollte durch derartige Ausführungsformen, sondern sie ist durch den nachfolgenden Patentansprüche festgelegt.