DE60025789T2 - Logical Built-In Self Test (LBIST) Control circuits, systems and methods with automatic determination of the maximum scan chain length - Google Patents

Logical Built-In Self Test (LBIST) Control circuits, systems and methods with automatic determination of the maximum scan chain length Download PDF

Info

Publication number
DE60025789T2
DE60025789T2 DE60025789T DE60025789T DE60025789T2 DE 60025789 T2 DE60025789 T2 DE 60025789T2 DE 60025789 T DE60025789 T DE 60025789T DE 60025789 T DE60025789 T DE 60025789T DE 60025789 T2 DE60025789 T2 DE 60025789T2
Authority
DE
Germany
Prior art keywords
scan
pattern
elements
channels
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60025789T
Other languages
German (de)
Other versions
DE60025789D1 (en
Inventor
Graham G. Sharnbrook Bedfordshire Hetherington
Anthony Fryars
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE60025789D1 publication Critical patent/DE60025789D1/en
Publication of DE60025789T2 publication Critical patent/DE60025789T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/318555Control logic

Description

HINTERGRUND DER ERFINDUNGBACKGROUND THE INVENTION

Die vorliegenden Ausführungsformen beziehen sich auf die Selbstprüfung für integrierte Schaltungen und sind insbesondere auf eine Prüfsteuereinheit gerichtet, die leicht an mehrere verschiedene integrierte Schaltungsentwürfe anpassbar ist.The present embodiments refer to the self-examination for integrated Circuits and are directed in particular to a test control unit, the easily adaptable to several different integrated circuit designs is.

Die Komplexität moderner integrierter Schaltungsanwendungen hat stark die Notwendigkeit erhöht, diese Vorrichtungen gründlich zu prüfen, wenn sie konstruiert worden sind. Diese Prüfung wird typisch zu Beginn des Lebenszyklus der Vorrichtung ausgeführt, wobei die Vorrichtung dann, wenn sie die Prüfkriterien erfolgreich erfüllt, zur schließlichen Verwendung in einer Anwendung versandt wird. Um diese Prüfung zu erleichtern, wird in die integrierte Schaltung häufig eine Prüfschaltungsanordnung aufgenommen, wobei die Verwendung einer solchen Schaltungsanordnung üblicherweise als eine Selbstprüfung ("BIST") bezeichnet wird. Wie später weiter erläutert wird, enthält die BIST-Schaltungsanordnung häufig zahlreiche Speicherregister, die miteinander verbunden sind, um etwas zu bilden, das im Gebiet als eine Abtastkette bezeichnet wird, wobei jedes Register in der Kette üblicherweise als ein Flipflop implementiert ist. Um eine Prüfung auszuführen, werden Prüfmuster in die Abtastkettenregister geschrieben, während der Zustand der integrierten Schaltung bestimmt wird, um zu bewerten, ob der Zustand ausgehend von den Prüfmustern richtig die passende Operation der integrierten Schaltung widerspiegelt. Ferner wurden diesbezüglich vor Erscheinen von BIST-Systemen wie oben beschriebene Abtastketten verwendet, um unter Verwendung eines gegenüber der integrierten Schaltung externen Prüfers zu prüfen, um die verschiedenen Prüfmuster zu erzeugen, die daraufhin für die Prüfung in die Abtastkette(n) der integrierten Schaltung abgetastet wurden. Allerdings wurde in jüngerer Zeit der BIST entwickelt, wodurch viele heutige integrierte Schaltungen On-Chip-BIST-Steuereinheiten enthalten, die selbst die Prüfmuster erzeugen, wodurch der Bedarf an einem Off-Chip-Prüfer beträchtlich verringert wird. Außerdem besitzt die BIST verschiedene verwandte Technologien wie etwa Logik-BIST oder ("LBIST") für die Prüfung von Kombinatoriklogik oder Speicher-BIST für die Prüfung von Speicherschaltungen.The complexity Modern integrated circuit applications have a strong need elevated, These devices thoroughly to consider, when they have been constructed. This exam will be typical at the beginning executed the life cycle of the device, wherein the device then, if they meet the test criteria successfully fulfilled, to the eventual Use in an application. To this test too facilitate, in the integrated circuit often a test circuit arrangement recorded, with the use of such circuitry usually as a self-examination ("BIST") is called. How later further explained will, contains the BIST circuitry is common numerous memory registers that are interconnected to forming something called a scan chain in the field, where each register in the chain is commonly referred to as a flip-flop is implemented. To take an exam perform, become test samples written to the scan chain registers while the state of the integrated Circuit is determined to evaluate whether the state is going out from the test samples properly reflects the appropriate operation of the integrated circuit. Furthermore, in this regard before the appearance of BIST systems as described above scan chains used um using one opposite the integrated circuit external tester to test the various test patterns to generate, then for the exam were scanned into the scan chain (s) of the integrated circuit. However, in recent years Time the BIST developed, eliminating many of today's integrated circuits on-chip BIST control units which themselves contain the test samples which greatly reduces the need for an off-chip controller is reduced. Furthermore BIST has several related technologies, such as Logic BIST or ("LBIST") for the examination of Combinatorics logic or memory BIST for testing memory circuits.

Als weiterer Hintergrund ist ein nochmals weiteres jüngeres Merkmal auf dem Gebiet der LBIST-Systeme, dass zu der LBIST eine Architektur hinzugefügt wird, die im Gebiet durch ihr Akronym STUMPS bezeichnet wird, wodurch die Begriffe "Selbstprüfung unter Verwendung von MISR/parallelem SRSG" abgekürzt werden, wobei MISR eine Abkürzung für Mehrfacheingangssignatur-Register und SRSG eine Abkürzung für Schieberegister-Sequenzgenerator ist. Wie später weiter untersucht wird, enthält eine STUMPS-Architektur mehrere verschiedene Abtastpfade, die als "Kanäle" bezeichnet werden, wobei jeder Kanal wiederum unter Verwendung mehrerer miteinander verbundener Speicherregister wie etwa Flipflops gebildet ist. In einer Abtastbetriebsart lädt eine LBIST-Steuereinheit die mehreren Kanäle mit jeweiligen Prüfmustern, woraufhin die Vorrichtung in ihre Funktionsbetriebsart geschaltet und für einen oder mehrere Taktzyklen betrieben wird, wodurch sich der Zustand wahrscheinlich an vielen der Knoten der Schaltung ändert. Die Zustandsänderungen enthalten Änderungen, die beeinflussen, was in einem oder in mehreren der Abtastkanalregister gespeichert ist. Anschließend wird die Vorrichtung in die Abtastbetriebsart zurückgestellt, wobei die Daten in den Abtastkanälen herausgeschoben und bewertet werden, um zu bestimmen, ob das erwartete Ergebnis erzeugt worden ist, wodurch entweder die richtige Vorrichtungsoperation bestätigt wird oder ein Problem mit der Vorrichtung sichtbar wird. Außer der Bewertung der Abtastkanaldaten können weitere Vorrichtungszustände und -signale (wie etwa über Ausgangsanschlussstifte der integrierten Schaltung) bewertet werden, um zu bestimmen, ob die Vorrichtung in Reaktion auf die Prüfung richtig gearbeitet hat.When another background is yet another recent feature in the art the LBIST systems that an architecture is added to the LBIST, which in the area is denoted by their acronym STUMPS, which the terms "self-examination under Using MISR / parallel SRSG ", where MISR is a abbreviation for multiple input signature registers and SRSG a shortcut for shift register sequence generator is. How later is further investigated a STUMPS architecture several different scan paths, which are referred to as "channels", wherein each channel in turn using multiple interconnected Memory register such as flip-flops is formed. In a sampling mode, one loads LBIST control unit the multiple channels with respective test patterns, whereupon the device is switched to its functional mode and for one or more clock cycles, which causes the state probably at many of the nodes of the circuit changes. The state changes contain changes, which affect what is in one or more of the scan channel registers is stored. Subsequently the device is reset to the sampling mode, the data being in the scan channels be pushed out and evaluated to determine if the expected Result has been generated, causing either the correct device operation approved or a problem with the device becomes visible. Except the Evaluation of the scan channel data can other device states and signals (such as over Output pins of the integrated circuit) are evaluated, to determine if the device is correct in response to the test has worked.

Obgleich die STUMPS-Architektur einen beträchtlichen Fortschritt in Bezug auf die Effektivität der BIST und der LBIST geschaffen hat, haben die Erfinder erkannt, dass sie einen beträchtlichen Nachteil enthält. Genauer entsteht ferner in Verbindung mit den mehreren Abtastkanälen in einer STUMPS-Architektur die Tatsache, dass die Kanäle üblicherweise eine verschiedene Anzahl von Abtastre gistern (oder "Zellen") haben. Im Gebiet heißt es, dass diese Anzahl von Zellen die Länge jedes Abtastkanals bildet, womit unter Anwendung dieser Terminologie auf das Vorstehende festgestellt werden kann, dass die Abtastkanäle verschiedene Längen haben. Ausgehend von diesem Aspekt muss der LBIST-Steuereinheit die Länge des längsten Abtastkanals auf jeden Fall bekannt sein, so dass sie die Kanäle richtig mit Abtastprüfmustern laden kann und die LBIST-Prüfung richtig steuern kann, wenn die Prüfmuster geladen worden sind. Im Stand der Technik und zur Anpassung an diese Anforderung wird die Länge des längsten Abtastkanals zu der Zeit, zu der die Steuereinheit entworfen und gebildet wird, in die LBIST-Steuereinheit fest codiert. Wenn ein Wert in eine integrierte Schaltung fest codiert wird, beschränkt er jedoch, wie bei anderen Aspekten des Schaltungsentwurfs, die Flexibilität der Schaltung in Bezug auf diesen Wert. Zum Beispiel ist eine LBIST-Steuereinheit, wenn sie auf diese Weise gebildet und fest codiert worden ist, auf die Verwendung mit einer STUMPS-Architektur mit einem längsten Abtastkanal, der gleich dem fest codierten Wert ist, beschränkt. Als ein weiteres Beispiel muss, wenn während der Entwicklung der integrierten Schaltung die Länge des längsten Abtastkanals geändert wird, auch richtig darauf geachtet werden, dass sichergestellt ist, dass der geplante fest codierte Wert ebenfalls geändert wird, um die richtige Operation der LBIST-Steuereinheit zu erreichen.Although the STUMPS architecture has made considerable progress in terms of the effectiveness of the BIST and the LBIST, the inventors have recognized that it has a significant drawback. More specifically, in conjunction with the multiple scan channels in a STUMPS architecture, the fact that the channels typically have a different number of scan registers (or "cells") also arises. In the field, it is said that this number of cells forms the length of each scan channel, thus, using this terminology to the foregoing, it can be determined that the scan channels have different lengths. From this aspect, the LBIST controller must be aware of the length of the longest scan channel in any case so that it can properly load the channels with scan test patterns and properly control the LBIST test when the test patterns have been loaded. In the prior art and to accommodate this requirement, the length of the longest scan channel at the time the controller is designed and formed is hard-coded into the LBIST controller. However, when a value is hard-coded into an integrated circuit, as with other aspects of the circuit design, it limits the flexibility of the circuit with respect to that value. For example, once LBIST has been formed and hard-coded in this manner, it is limited for use with a STUMPS architecture having a longest scan channel equal to the hard-coded value. As another example, if during the development of the integrated circuit Also, care must be taken to ensure that the planned hard-coded value is also changed to achieve the correct operation of the LBIST controller.

US 4.503.537 offenbart ein Parallelpfad-Selbstprüfungssystem. Dieses System ermöglicht, eine Selbstprüfung für eine Anzahl von Chips auf einem Substrat zu bewirken, wobei jeder dieser Logikschaltungschips einen LSSD-Abtastpfad enthält. Mit jedem der Chips ist ein auf dem Substrat enthaltener paralleler Zufallsmustergenerator verbunden. Außerdem ist jeder der Chips mit einem Mehrfacheingangssignatur-Register verbunden. Somit werden die jeweiligen Abtastpfade auf den jeweiligen Chips parallel geprüft. Jeder Chip kann eine andere Anzahl von Schieberegisterstufen enthalten. Die Anzahl der in der Prüfbetriebsart erforderlichen Schiebetaktzyklen ist gleich der Anzahl der Schieberegister in dem längsten Schieberegisterstrang-Abtastpfad auf irgendeinem der Logikchips. US 4.503.537 offenbart kein Verfahren zur Bestimmung der Anzahl der Stufen in dem längsten Abtastpfad. US 4,503,537 discloses a parallel path self-test system. This system allows for self-testing of a number of chips on a substrate, with each of these logic circuit chips containing an LSSD scan path. Connected to each of the chips is a parallel random pattern generator contained on the substrate. In addition, each of the chips is connected to a multiple input signature register. Thus, the respective scan paths on the respective chips are tested in parallel. Each chip may contain a different number of shift register stages. The number of shift clock cycles required in the test mode is equal to the number of shift registers in the longest shift register train scan path on any of the logic chips. US 4,503,537 does not disclose a method for determining the number of stages in the longest scan path.

US 5.333.139 bezieht sich auf eine Boundary-Scan-Prüfschaltungsanordnung und offenbart ein Verfahren zum Bestimmen der Anzahl integrierter Schaltungen, die in einer Boundary-Scan-Kette enthalten sind. Hierfür wird die Boundary-Scan-Kette zunächst durch ein Prüfbetriebsart-Auswahlsignal in die Prüfbetriebsart versetzt. Die in dem Boundary-Scan enthaltenen Schaltungen besitzen jeweils ein Identifizierungsregister. Falls eine Schaltung eine Identifizierungsnummer liefert, hat das Identifizierungsregister eine Länge von 12 Bits, während das Identifizierungsregister ein einzelnes Bit lang ist, wenn keine Identifizierungsnummer geliefert wird. Es wird eine Sequenz von Bits durch die Kette geschoben, wobei für jede Schaltung ohne Identifizierungsnummer am Ausgang eine Null ausgegeben wird, während die Identifizierungsnummer mit einer vorangestellten Eins ausgegeben wird, wenn die Schaltung eine Identifizierungsnummer liefert. Somit wird die Gesamtzahl der in der Boundary-Scan-Kette enthaltenen Schaltungen erhalten. US 5,333,139 refers to Boundary Scan test circuitry and discloses a method for determining the number of integrated circuits contained in a Boundary Scan chain. For this purpose, the boundary scan chain is first put into the test mode by a test mode select signal. The circuits included in the boundary scan each have an identification register. If a circuit provides an identification number, the identification register has a length of 12 bits while the identification register is a single bit long if no identification number is supplied. A sequence of bits is shifted through the chain, with a zero output for each circuit without an identification number at the output, while the identification number is output with a prefix one when the circuit provides an identification number. Thus, the total number of circuits included in the boundary scan chain is obtained.

Ausgehend von dem Vorstehenden legen die Erfinder im Folgenden eine bevorzugte Ausführungsform für LBIST-STUMPS-Architekturen dar, die die oben dargelegten Nachteile behandeln, verringern und potentiell beseitigen soll.outgoing From the foregoing, the inventors set forth a preferred one below embodiment for LBIST STUMPS architectures reduce and treat the disadvantages set out above potentially eliminate.

KURZZUSAMMENFASSUNG DER ERFINDUNGSUMMARY THE INVENTION

In einer bevorzugten Ausführungsform gibt es eine integrierte Schaltung, die eine Kombinatorik-Schaltungsanordnung umfasst. Ferner umfasst die integrierte Schaltung mehrere Abtastkanäle. Jeder der mehreren Abtastkanäle umfasst eine Anzahl von Abtastelementen. Für jeden der mehreren Abtastkanäle mit einer Anzahl von Abtastelementen, die größer als ein Element ist, umfasst der Abtastkanal ein erstes Element in dem Abtastkanal und ein letztes Element in dem Abtastkanal. Für jeden der mehreren Abtastkanäle mit einer Anzahl von Abtastelementen, die gleich einem Element ist, ist das eine Element sowohl ein erstes Element als auch ein letztes Element in dem Abtastkanal. Ferner sind ausgewählte Elemente der Abtastelemente gekoppelt, um die Operation der Kombinatorik-Schaltungsanordnung zu beeinflussen. Die integrierte Schaltung ist dadurch gekennzeichnet, dass sie ferner eine LBIST-Steuereinheit umfasst, die mit dem ersten Element jedes der mehreren Abtastkanäle und mit dem letzten Element jedes der mehreren Abtastkanäle verbunden ist. Die LBIST-Steuereinheit enthält einen Mustergenerator, um ein vorgegebenes Muster in das erste Element jedes der mehreren Abtastkanäle einzukoppeln. Ferner enthält sie einen Musteränderungsdetektor, um das vorgegebene Muster in dem letzten Element jedes der mehreren Abtastkanäle zu erfassen, und eine Zustandsmaschine, die in Reaktion auf den Musteränderungsdetektor dem Mustergenerator ein Signal meldet. Die Zustandsmaschine enthält einen Zähler, der in Reaktion auf den Musteränderungsdetektor die Anzahl der Abtastelemente in einem längsten der mehreren Abtastkanäle zählt.In a preferred embodiment There is an integrated circuit that uses combinatorial circuitry includes. Furthermore, the integrated circuit comprises a plurality of scan channels. Everyone the multiple scan channels includes a number of sensing elements. For each of the multiple scan channels with one Number of scanning elements that is larger than an element includes the scan channel includes a first element in the scan channel and a last element in the scanning channel. For each of the multiple scan channels with a number of scanning elements equal to one element, the one element is both a first element and a last element Element in the scanning channel. Further, selected elements of the sensing elements coupled to the operation of the combinatorial circuitry to influence. The integrated circuit is characterized in that it further comprises a LBIST control unit associated with the first Element of each of the multiple scan channels and with the last element of each the multiple scan channels connected is. The LBIST controller includes a pattern generator to a predetermined pattern in the first element of each of the several scan channels couple. Further contains a pattern change detector, around the given pattern in the last element of each of the several scan channels and a state machine responsive to the pattern change detector the pattern generator signals a signal. The state machine includes a counter that in response to the pattern change detector the number of samples in a longest of the plurality of scan channels counts.

Ferner schafft die Erfindung ein Verfahren zum Betreiben einer integrierten Schaltung mit den Merkmalen des Anspruchs 20. Weitere Ausführungsformen der integrierten Schaltung und des Verfahrens sind in den abhängigen Ansprüchen enthalten.Further The invention provides a method for operating an integrated Circuit having the features of claim 20. Further embodiments the integrated circuit and the method are included in the dependent claims.

KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGSUMMARY THE MULTIPLE VIEWS OF THE DRAWING

1 veranschaulicht einen Stromlaufplan einer integrierten Schaltung 10 mit einem Abtastkern 12 mit einer Anzahl von Abtastkanälen. 1 illustrates a circuit diagram of an integrated circuit 10 with a scanning core 12 with a number of scanning channels.

2 veranschaulicht einen Blockschaltplan der LBIST-Steuereinheit 20 aus 1, insofern als Blöcke zum Erreichen der Methodik der bevorzugten Ausführungsform implementiert sind. 2 illustrates a block diagram of the LBIST controller 20 out 1 in that blocks are implemented to achieve the methodology of the preferred embodiment.

3 veranschaulicht einen Ablaufplan der bevorzugten Methodik der LBIST-Steuereinheit 20 aus 2 zur Bestimmung der Länge des längsten STUMPS-Abtastkanals im Abtastkern 12. 3 illustrates a flow chart of the preferred methodology of the LBIST controller 20 out 2 for determining the length of the longest STUMPS scan channel in the scan kernel 12 ,

AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

1 veranschaulicht ein allgemein mit 10 bezeichnetes integriertes Schaltungsprodukt. In der bevorzugten Ausführungsform kann das integrierte Schaltungsprodukt 10 einer von mehreren Schaltungstypen wie etwa ein Mikroprozessor, eine anwendungsspezifische integrierte Schaltung ("ASIC"), ein digitaler Sig nalprozessor ("DSP") oder eine andere Vorrichtung, bei der es erwünscht ist, unter Verwendung eines STUMPS oder einer vergleichbaren Architektur eine LBIST-Fähigkeit zu haben, sein. Es wird angemerkt, dass das integrierte Schaltungsprodukt 10 zahlreiche Schaltungen, Verbindungen und Signale enthalten kann, die nicht gezeigt sind, um die vorliegende Diskussion zu vereinfachen. Stattdessen veranschaulicht das integrierte Schaltungsprodukt 10 nur genügend Detail, um das Konzept der LBIST-Operationen im Gegensatz zu allen typischen Operationen zu demonstrieren. Auf jeden Fall ist etwas von dem in 1 Gezeigten auf dem LBIST-Gebiet bekannt, wobei es aber wie unten diskutiert weiter verbessert ist. 1 illustrates a generally with 10 designated integrated circuit product. In the preferred embodiment, the integrated circuit product 10 one of several types of circuits, such as a microprocessor, one application specific integrated circuit ("ASIC"), a digital signal processor ("DSP") or other device in which it is desired to have LBIST capability using a STUMPS or comparable architecture. It is noted that the integrated circuit product 10 may contain numerous circuits, connections, and signals, not shown, to simplify the present discussion. Instead, the integrated circuit product demonstrates 10 just enough detail to demonstrate the concept of LBIST operations as opposed to all typical operations. In any case, there is something in it 1 Shown in the LBIST area, but further improved as discussed below.

Die integrierte Schaltung 10 enthält einen Abtastkern 12, der in dem Gebiet bekannt ist. Der Abtastkern 12 enthält eine Anzahl von Abtastkanälen, die allgemein mit der Abkürzung "SC" (für "Abtastkanal") bezeichnet sind. Ferner enthält der Abtastkern 12 beispielhaft vier solche Abtastkanäle. Um diese Abtastkanäle für die weitere Diskussion voneinander zu unterscheiden, ist jeder durch Kombination einer Zahl mit der Abkürzung SC identifiziert; z. B. ist ein erster Abtastkanal als SC1 gezeigt, ist ein zweiter Abtastkanal als SC2 gezeigt usw. Jeder Abtastkanal enthält eine Anzahl von Registern oder Speicherelementen, die, wie zuvor erwähnt wurde, typisch Flipflops sind, wobei der Ausgang eines Flipflops in einem Kanal mit dem Eingang eines nächsten darauf folgenden Flipflops in dem Kanal verbunden ist. Für die Diskussion ist jedes Speicherelement in 1 mit der Abkürzung "E" (für Element) identifiziert, wobei auf die Abkürzung die Kanalabkürzung folgt, die den Abtastkanal identifiziert, zu dem das Element gehört. Zum Beispiel ist jedes als EC1 gezeigte Element ein Element im Abtastkanal SC1, ist jedes Element EC2 ein Element im Abtastkanal SC2 usw. Ferner enthalten die Elemente für jeden Abtastkanal einen Index, der die Reihenfolge des Elements entlang seines Kanals identifiziert und dadurch außerdem durch Untersuchung des Index für das letzte Element in einem Kanal die Gesamtzahl von Elementen in einem Kanal identifiziert. Zum Beispiel enthält es im Abtastkanal SC1 die Elemente EC11 bis EC15, was angibt, dass der Abtastkanal SC1 insgesamt fünf (von dem Index "5" in EC15) Elemente enthält. Ferner wird diesbezüglich angemerkt, dass es häufig der Fall ist, dass die Abtastkanäle nicht alle die gleiche Anzahl von Speicherelementen haben. Somit hat beispielhaft im Abtastkern 12 der Abtastkanal SC1 fünf Speicherelemente, hat der Abtastkanal SC2 acht Speicherelemente, hat der Abtastkanal SC3 sechs Speicherelemente und hat der Abtastkanal SC4 vier Speicherelemente. Es wird angemerkt, dass diese Anzahlen von Elementen lediglich beispielhaft sind, während die Anzahlen von Speicherelementen in einem Abtastkanal in der Realität von eins bis mehrere hundert reichen können.The integrated circuit 10 contains a sensing core 12 which is known in the area. The sensing core 12 contains a number of scan channels, generally designated by the abbreviation "SC" (for "scan channel"). Furthermore, the scanning kernel contains 12 exemplarily four such scan channels. To distinguish these scan channels from each other for further discussion, each is identified by combining a number with the abbreviation SC; z. For example, a first scan channel is shown as SC1, a second scan channel is shown as SC2, and so on. Each scan channel contains a number of registers or memory elements which, as previously mentioned, are typically flip flops, with the output of a flip flop in one channel connected to the SC1 Input of a next succeeding flip-flops is connected in the channel. For discussion, each memory element is in 1 identified by the abbreviation "E" (for element), where the abbreviation is followed by the channel abbreviation identifying the scan channel to which the element belongs. For example, each element shown as EC1 is one element in scan channel SC1, each element EC2 is an element in scan channel SC2, etc. Further, for each scan channel, the elements contain an index which identifies the order of the element along its channel and thereby also by examining the element Index for the last element in a channel identifies the total number of elements in a channel. For example, in scan channel SC1 it contains elements EC1 1 through EC1 5 , indicating that scan channel SC1 contains a total of five (from the index "5" in EC1 5 ) elements. It should also be noted in this regard that it is often the case that the scan channels do not all have the same number of memory elements. Thus, by way of example, in the scanning kernel 12 the scan channel SC1 has five memory elements, the scan channel SC2 has eight memory elements, the scan channel SC3 has six memory elements, and the scan channel SC4 has four memory elements. It should be noted that these numbers of elements are merely exemplary, while the numbers of memory elements in a scanning channel may in reality range from one to several hundred.

Bevor fortgefahren wird, wird angemerkt, dass die Abtastkanalelemente zur Vereinfachung der Veranschaulichung von 1 nicht explizit mit weiterer Schaltungsanordnung verbunden gezeigt sind. Allerdings ist die Verwendung dieser Elemente zur Prüfung solcher weiteren Schaltungsanordnung gut bekannt, wobei mehrere verschiedene Elemente zur Prüfung mit mehreren verschiedenen Knoten oder Operationsschaltungen verbunden sind. Um diese Verbindung und Beziehung auf vereinfachte Weise zu veranschaulichen, ist gezeigt, dass die integrierte Schaltung 10 einen Kombinatorik-Logikblock 13 enthält, der nur allgemein mit dem Abtastkern 12 verbunden ist, wobei selbstverständlich mehrere Abtastkanalelemente auf verschiedene Weise mit dem Block 13 verbunden sein können, so dass dann, wenn die integrierte Schaltung 10 in einer Funktionsbetriebsart ist, die durch eines oder mehrere der Elemente gespeicherten Zustände die Schaltungsanordnung im Block 13 beeinflussen können, während diese Schaltungsanordnung die durch eines oder mehrere der Elemente gespeicherten Zustände beeinflussen kann. Wie sein Name nahelegt, enthält der Kombinatorik-Logikblock 13 Kombinatoriklogik, wobei er außerdem weitere Typen von Schaltungen enthalten kann, die in Verbindung mit dem Abtastkern 12 geprüft werden. Auf jeden Fall arbeitet jeder Abtastkanal, wie auch später weiter klar wird, in einer Abtastbetriebsart als ein Schieberegister, wobei ein in ein erstes Element in einem Abtastkanal geladenes Bit in ein nächstes darauf folgendes Element in dem Kanal verschoben wird usw. für die verbleibenden Elemente pro Kanal, so dass sich in jedem Abtastkanal ein anderes Prüfbit befinden kann. Nachfolgend wird die integrierte Schaltung 10 in eine Funktionsbetriebsart geschaltet und für einen oder mehrere Taktzyklen betrieben. Während dieser Zeit arbeitet die Kombination der Abtastkanalelemente und des Blocks 13 als Funktionsschaltungsanordnung. Ferner ändert die Funktionsbetriebsartoperation wahrscheinlich den Zustand vieler der Knoten des Kombinatorik-Logikblocks 13. Die Zustandsänderungen enthalten Änderungen, die beeinflussen, was in einem oder in mehreren der Abtastkanalelemente gespeichert ist. Anschließend wird die integrierte Schaltung 10 in die Abtastbetriebsart zurückgestellt, wobei die Daten in den Abtastkanälen herausgeschoben und bewertet werden, um zu bestimmen, ob die erwarteten Ergebnisse erzeugt werden, wodurch entweder die richtige Vorrichtungsoperation bestätigt wird oder ein Problem mit der Funktionsschaltungsanordnung (d. h. dem Abtastkern 12 und dem Kombinatorik-Logikblock 13) der integrierten Schaltung 10 sichtbar wird. Außer dem Bewerten der Abtastkanaldaten können weitere Vorrichtungszustände und -signale (wie etwa über Ausgangsanschlussstifte der integrierten Schaltung) bewertet werden, um zu bestimmen, ob die integrierte Schaltung 10 in Reaktion auf die Prüfung richtig gearbeitet hat.Before proceeding, it is noted that the scan channel elements have been simplified for clarity of illustration 1 not explicitly shown connected to other circuitry. However, the use of these elements to test such further circuitry is well known, with several different elements connected for testing to a plurality of different nodes or operational circuits. To illustrate this connection and relationship in a simplified way, it is shown that the integrated circuit 10 a combinatorial logic block 13 contains only general with the sensing core 12 Of course, multiple scan channel elements in various ways with the block 13 can be connected, so that when the integrated circuit 10 in a functional mode, the states stored by one or more of the elements are the circuitry in the block 13 while this circuitry may affect the states stored by one or more of the elements. As its name suggests, the combinatorial logic block contains 13 Combinatorics logic, and may also include other types of circuitry associated with the sense core 12 being checked. In any case, as will be seen later, each sample channel operates as a shift register in a sample mode, shifting a bit loaded into a first element in a sample channel into a next subsequent element in the channel, etc. for the remaining elements per Channel, so that there may be another check bit in each scan channel. Below is the integrated circuit 10 switched to a functional mode and operated for one or more clock cycles. During this time, the combination of the scan channel elements and the block will work 13 as a functional circuit arrangement. Further, the functional mode operation is likely to change the state of many of the nodes of the combinatorial logic block 13 , The state changes include changes that affect what is stored in one or more of the scan channel elements. Subsequently, the integrated circuit 10 is reset to the sampling mode, with the data in the scan channels being shifted out and evaluated to determine if the expected results are being generated, thereby confirming either the proper device operation or a problem with the functional circuitry (ie, the sensing core 12 and the combinatorial logic block 13 ) of the integrated circuit 10 becomes visible. In addition to evaluating the scan channel data, other device states and signals (such as via integrated circuit output pins) may be evaluated to determine if the integrated circuit 10 in reaction worked correctly on the exam.

Bevor fortgefahren wird, wird angemerkt, dass die Abtastkanalelemente aus 1 oben lediglich beispielhaft als normale Flipflops beschrieben sind. Somit werden innerhalb des vorliegenden Erfindungsumfangs auch andere Abtastkanalelementtypen betrachtet, wobei die Elemente die Bildung von Abtastketten wie oben beschrieben gemeinsam haben. Zum Beispiel ist ein weiterer wie im Gebiet bekannter Abtastkanalelementtyp ein Multiplexer-Abtast-Flipflop, bei dem die Speichervorrichtung aus einem Flipflop besteht, dem ein Multiplexer vorangeht. Als ein weiteres Beispiel ist ein weiterer wie im Gebiet bekannter Abtastkanalelementtyp ein getaktetes abgetastetes Flipflop, bei dem das Flipflop in Reaktion auf zwei verschiedene Takte arbeitet, wobei einer ein Abtasttakt zum Takten von Daten in das Flipflop ist, während ein weiterer ein Funktionstakt zum Betreiben des Flipflops während der Funktionsbetriebsart ist. Als ein letztes Beispiel eines Abtastkanalelements, wie es im Gebiet bekannt ist und unter Verwendung der vorliegenden Erfindungslehren implementiert werden kann, gibt es eine LSSD-Konfiguration, die aus zwei Zwischenspeichern pro Element besteht, wobei die Zwischenspeicher in Reaktion auf einen Master-Takt, einen Prüftakt und einen Slave-Takt arbeiten. Durch den Fachmann auf dem Gebiet können noch weitere Beispiele festgestellt werden.Before proceeding, it is noted that the scan channel elements are off 1 are described above by way of example only as normal flip-flops. Thus, within the scope of the present invention, other types of scanning channel elements are also contemplated, the elements having in common the formation of scan chains as described above. For example, another sampling channel element type as known in the art is a multiplexer sampling flip-flop in which the memory device consists of a flip-flop preceded by a multiplexer. As another example, another sampling channel element type as known in the art is a clocked sampled flip-flop in which the flip-flop operates in response to two different clocks, one being a sample clock for clocking data into the flip-flop, while another is a functional clock for operating the clock Flip-flops during the functional mode. As a final example of a scan channel element, as is known in the art and can be implemented using the present teachings of the invention, there is an LSSD configuration consisting of two latches per element, the latches responding to a master clock, a Test clock and a slave clock work. Other examples may be ascertained by those skilled in the art.

Nunmehr übergehend zu zusätzlichen Aspekten der wie im Gebiet bekannten integrierten Schaltung 10 enthält sie ferner zusätzliche BIST-bezogene Schaltungen, die als eine Ausführungsform als ein Pseudozufallsmuster-Generator-Block ("PRPG"-Block) 14, als ein XOR-Gatter-Block 16 und als ein Mehrfacheingangssignatur-Register-Block ("MISR"-Block) 18 gezeigt sind. Allerdings kann jeder dieser Blöcke in alternativen Ausführungsformen durch andere BIST-ausführende Schaltungen ersetzt sein. Auf jeden Fall wird jeder der Blöcke 14, 16 und 18 durch eine LBIST-Steuereinheit 20 gesteuert, wobei die LBIST-Steuereinheit 20, wie später genauer beschrieben wird, nicht nur Schaltungsanordnung und Methodik zum Steuern dieser Vorrichtungen gemäß dem Stand der Technik enthält, sondern ferner auch in einer bevorzugten erfinderischen Weise arbeitet. Um die Ähnlichkeiten und Unterschiede der integrierten Schaltung 10 mit dem Stand der Technik weiter darzustellen, folgt zunächst eine Diskussion der Blöcke 14, 16 und 18 in Bezug auf den Stand der Technik, worauf die verbleibende Diskussion folgt, in der die erfinderische bevorzugte Ausführungsform ausführlich erläutert ist.Turning now to additional aspects of the integrated circuit as known in the art 10 It also contains additional BIST-related circuits, referred to as an embodiment as a pseudo-random pattern generator block ("PRPG" block). 14 , as an XOR gate block 16 and as a multiple input signature register block ("MISR" block) 18 are shown. However, in alternative embodiments, each of these blocks may be replaced by other BIST executing circuits. In any case, each of the blocks 14 . 16 and 18 through a LBIST control unit 20 controlled, with the LBIST control unit 20 As will be described in more detail below, not only does it include circuitry and methodology for controlling these prior art devices, but it also operates in a preferred inventive manner. To the similarities and differences of the integrated circuit 10 To further illustrate with the prior art, first follows a discussion of the blocks 14 . 16 and 18 in relation to the prior art, followed by the remaining discussion, in which the inventive preferred embodiment is explained in detail.

Die LBIST-Steuereinheit 20 liefert einen oder mehrere Keime an den PRPG-Block 14, und der PRPG-Block 14 gibt als Reaktion parallele Ströme von Pseudozufallssequenzen von Bits aus. Schließlich werden die vom PRPG-Block 14 ausgegebenen Bits in Bits übersetzt, die in den Abtastkanälen des Abtastkerns 12 verwendet werden. Genauer werden diese Bitsequenzen vom PRPG-Block 14 an den XOR-Gatter-Block 16 ausgegeben, der diese Bits weiter manipuliert und sie daraufhin, wie im Folgenden genauer beschrieben wird, an die Abtastkanäle des Abtastkerns 12 liefert.The LBIST control unit 20 delivers one or more seeds to the PRPG block 14 , and the PRPG block 14 In response, outputs parallel streams of pseudorandom sequences of bits. Finally, those from the PRPG block 14 output bits are translated into bits in the scan channels of the scan kernel 12 be used. More specifically, these bit sequences are from the PRPG block 14 to the XOR gate block 16 which further manipulates these bits and then, as will be described in more detail below, applies them to the scan channels of the scan kernel 12 supplies.

Der XOR-Gatter-Block 16 ist enthalten, um einen Teil der Korrelation zwischen angrenzenden Bitströmen vom PRPG-Block 14 zu entfernen. Falls angrenzende Ströme von Bits vom PRPG-Block 14 untersucht würden, könnte der Fachmann auf dem Gebiet genauer unabhängig von der Pseudozufallsoperation des PRPG-Blocks 14 ein beträchtliches Korrelationsniveau zwischen den Strömen identifizieren. Dementsprechend entkorreliert der XOR-Gatter-Block 16 diese Ströme unter Verwendung einer Gruppe von XOR-Gattern (die im Gebiet gelegentlich als eine Wolke von XOR-Gattern oder als ein Phasenschieber bezeichnet werden). Außerdem enthält der XOR-Gatter-Block 16 häufig eine Operation des Verschiebens der Bitströme um eine Anzahl von Verschiebungen, die die Maximallänge der Abtastkanäle im Abtastkern 12 überschreitet. Schließlich wird angemerkt, dass der XOR-Gatter-Block 16 ebenfalls so betreibbar ist, dass er ein Niveau an Auffächern zulässt, falls die Anzahl der Abtastkanäle die Anzahl der durch den PRPG-Block 14 bereitgestellten Ausgänge überschreitet. Auf jeden Fall sind die Ausgänge des XOR-Gatter-Blocks 16 (über später diskutierte Multiplexer) mit den Eingängen der Abtastkanäle im Abtastkern 12 gekoppelt.The XOR gate block 16 is included to account for a portion of the correlation between adjacent bitstreams from the PRPG block 14 to remove. If adjacent streams of bits from the PRPG block 14 More specifically, those skilled in the art could be more specific about the pseudo-random operation of the PRPG block 14 identify a significant correlation level between the streams. Accordingly, the XOR gate block decorrels 16 these streams using a set of XOR gates (sometimes referred to in the art as a cloud of XOR gates or as a phase shifter). In addition, the XOR gate block contains 16 often an operation of shifting the bitstreams by a number of shifts, which is the maximum length of the scan channels in the scan kernel 12 exceeds. Finally, it is noted that the XOR gate block 16 is also operable to allow a level of fanouts if the number of scan channels equals the number of blocks through the PRPG block 14 exceeds provided outputs. In any case, these are the outputs of the XOR gate block 16 (via multiplexers discussed later) to the inputs of the scan channels in the scan core 12 coupled.

Der MISR-Block 18 schafft ein zusätzliches Effizienzniveau zur Verarbeitung der Ausgabe der Abtastkanäle. Zunächst wird aus der früheren Diskussion daran erinnert, dass die Ausgaben der Abtastkanäle untersucht werden, um zu bestimmen, ob die Vorrichtung (hier die integrierte Schaltung 10) ausgehend von einer Eingabeabtastprüfung richtig gearbeitet hat. Ferner komprimiert der MISR-Block 18 diesbezüglich die Daten, die er als Ausgaben von jedem der Abtastkanäle empfängt. Genauer erzeugt die Kompressionsmethodik etwas, das als eine "Signatur" bezeichnet wird und das die von den Abtastkanälen ausgegebenen Daten repräsentiert. Diese Ausgabe ist in 1 in der Weise veranschaulicht, dass sie allgemein extern gegenüber der integrierten Schaltung 10 verfügbar ist, wobei die Veranschaulichung auf diese Weise zeigen soll, dass die Signaturen daraufhin untersucht werden können, um das Ergebnis der Prüfung zu bestimmen. Ferner wird diesbezüglich daran erinnert, dass 1 in verschiedener Hinsicht vereinfacht ist, so dass sie nicht weitere Schaltungen und dergleichen veranschaulicht, die in der integrierten Schaltung 10 enthalten sein könnten. Eine solche weitere Schaltung kann sich auf einen anderen Abtast-Prüftyp beziehen, der im Gebiet häufig als Boundary-Scan-Prüfung bezeichnet wird und außerdem eine IEEE-1149.1-Boundary-Scan-Steuereinheit enthalten kann. Dieser Aspekt wird hier erwähnt, da die vom MISR-Block 18 ausgegebenen Signaturen in Verbindung mit dieser Prüfung und dieser Boundary-Scan-Steuereinheit verwendet werden können.The MISR block 18 provides an additional level of efficiency for processing the output of the scan channels. First, it will be remembered from the earlier discussion that the outputs of the scan channels are examined to determine if the device (here the integrated circuit 10 ) has worked correctly from an input scan test. Further, the MISR block compresses 18 in this regard, the data it receives as outputs from each of the scan channels. More specifically, the compression methodology generates what is referred to as a "signature" that represents the data output from the scan channels. This edition is in 1 illustrated in the way that they are generally external to the integrated circuit 10 The illustration is intended to show in this way that the signatures can then be examined to determine the result of the test. It is also recalled in this regard that 1 is simplified in various respects, so that it does not illustrate other circuits and the like that are included in the integrated circuit 10 could be included. Such a further circuit may refer to a different scan test type common in the art fig. is referred to as a boundary scan test and may also include an IEEE 1149.1 Boundary Scan control unit. This aspect is mentioned here because of the MISR block 18 issued signatures can be used in conjunction with this test and this Boundary Scan control unit.

Die Diskussion wendet sich nun den verbleibenden in 1 in Bezug auf die integrierte Schaltung 10 veranschaulichten Aspekten zu, wobei sich diese Aspekte auf die bevorzugte Erfindungsausführungsform beziehen und wobei gezeigt wird, dass sie in bestimmter Beziehung mit den bereits diskutierten Elementen zusammenarbeiten. Diese zusätzlichen Aspekte beziehen sich auf die Pfade für die Datenein- und -ausgabe zum Abtastkern 12 und ferner auf den Betrieb (und auf die Schaltungsanordnung zum Ausführen dieses Betriebs) der LBIST-Steuereinheit 20. Im Folgenden wird jeder dieser Aspekte beschrieben.The discussion now turns the remaining in 1 in terms of the integrated circuit 10 to illustrated aspects, which aspects are related to the preferred embodiment of the invention and shown to work in a particular relationship with the elements already discussed. These additional aspects relate to the paths for data input and output to the sense core 12 and also to the operation (and circuitry for performing this operation) of the LBIST controller 20 , The following describes each of these aspects.

In Bezug auf die Dateneingabe in den Abtastkern 12 sind zwischen die Ausgänge des XOR-Gatter-Blocks 16 und die jeweiligen Eingänge in die Abtastkanäle eine Menge von Multiplexern gekoppelt, die jeweils teilweise mit der Abkürzung "M" identifiziert sind; somit gibt es für jeden Ausgang des XOR-Gatter-Blocks 16 und für jeden Eingang in einen Abtastkanal einen entsprechenden Multiplexer mit einem Eingang, der so verbunden ist, dass er Daten vom XOR-Gatter-Block 16 empfängt, und mit einem Ausgang, der mit einem Abtastkanaleingang verbunden ist. Für Bezugszwecke folgt auf jeden Multiplexeridentifizierer außerdem eine Zahl, die die gleiche wie der Zahlenidentifizierer ist, der von seinem entsprechenden Abtastkanal verwendet wird. Zum Beispiel entspricht der Multiplexer M1 dem Abtastkanal SC1, entspricht der Multiplexer M2 dem Abtastkanal SC2 usw. Außer den bisher beschriebenen Verbindungen besitzt jeder Multiplexer M1 bis M4 einen zweiten Eingang, der so gekoppelt ist, dass er Daten von einem Bus DB1 empfängt, wobei die LBIST-Steuereinheit 20 diese Daten wie später beschrieben an den Datenbus DB1 liefert. Außerdem gibt die LBIST-Steuereinheit 20 ein hier als MUX CONTROL bezeichnetes 4-Bit-Steuersignal aus, wobei dieses Signal mit einem Steuerbus CB gekoppelt ist, der vier Steuerleiter enthält, um jedes der vier Bits von MUX CONTROL mit einem jeweiligen der Steuereingänge der Multiplexer M1 bis M4 zu verbinden. Ausgehend von diesen Verbindungen und gemäß einer später ausführlich beschriebenen bevorzugten Methodik meldet die LBIST-Steuereinheit 20 das MUX CONTROL in verschiedenen Zuständen, wodurch die Multiplexer M1 bis M4 so gesteuert werden, dass zu bestimmten Zeiten alle Multiplexer M1 bis M4 die Daten vom XOR-Gatter-Block 16 an die Abtastkanäle übergeben, während zu anderen Zeiten alle Multiplexer M1 bis M4 die Daten vom Datenbus DB1 an die Abtastkanäle übergeben. Es wird angemerkt, dass der Steuerbus CB wegen dieses bevorzugten Zugangs tatsächlich alternativ ein Einleiterbus sein könnte, der an jeden der Multiplexer M1 bis M4 denselben Zustand übergibt, wodurch veranlasst wird, dass jeder in der gleichen Weise wie die anderen arbeitet.In terms of data input to the scanning core 12 are between the outputs of the XOR gate block 16 and the respective inputs coupled to the scan channels are a set of multiplexers, each partially identified by the abbreviation "M"; hence there is for each output of the XOR gate block 16 and for each input to a scan channel, a corresponding multiplexer having an input connected to receive data from the XOR gate block 16 and with an output connected to a scan channel input. For reference purposes, each multiplexer identifier is also followed by a number that is the same as the number identifier used by its corresponding scan channel. For example, M1 corresponds to the multiplexer the scan channel SC1, the multiplexer M2 corresponds to scan channel SC2, etc. In addition to the previously described compounds having each multiplexer M1 to M4 a second input which is coupled so that it receives data by a bus DB 1, wherein the LBIST control unit 20 this data to the data bus DB 1 as described later. There is also the LBIST control unit 20 a 4-bit control signal, here referred to as MUX CONTROL, which signal is coupled to a control bus CB which includes four control conductors for connecting each of the four bits of MUX CONTROL to a respective one of the control inputs of the multiplexers M1 to M4. Based on these connections and according to a preferred methodology described in detail later, the LBIST controller reports 20 the MUX CONTROL in different states, whereby the multiplexers M1 to M4 are controlled so that at certain times all the multiplexers M1 to M4 the data from the XOR gate block 16 passed to the scan channels, while at other times all multiplexers M1 to M4 pass the data from the data bus DB 1 to the scan channels. It is noted that, because of this preferred approach, the control bus CB could actually alternatively be an initiator bus giving the same state to each of the multiplexers M1 to M4, causing each to operate in the same way as the others.

In Bezug auf die vom Abtastkern 12 ausgegebenen Daten wird angemerkt, dass jeder Abtastkanalausgang außer, dass er mit dem MISR-Block 18 verbunden ist, ferner mit einem Datenbus DB2 verbunden ist. Der Datenbus DB2 ist mit der LBIST-Steuereinheit 20 verbunden. Somit und aus unten genauer beschriebenen Gründen ist die Datenausgabe durch den Abtastkern 12 auf Wunsch zur Verarbeitung durch die LBIST-Steuereinheit 20 verfügbar.In terms of the sensing core 12 output data is noted that each scan channel output except that it is with the MISR block 18 is connected, further connected to a data bus DB 2 . The data bus DB 2 is connected to the LBIST control unit 20 connected. Thus, and for reasons more particularly described below, the data output is by the sense core 12 on request for processing by the LBIST control unit 20 available.

2 veranschaulicht einen Blockschaltplan der LBIST-Steuereinheit 20 aus 1, wobei aber angemerkt wird, dass die Blöcke aus 2 nur jene sind, die sich auf die Implementierung der Methodik der bevorzugten Ausführungsform beziehen. Somit kann die LBIST-Steuereinheit 20 zahlreiche weitere Aspekte enthalten wie etwa die Steuermerkmale, die erforderlich sind, um die Steuersignale an den PRPG-Block 14 und an den MISR-Block 18 zu liefern, da diese Verbindungen in 1 gezeigt sind. Dennoch sind diese zusätzlichen Aspekte weder veranschaulicht noch beschrieben, um die Veranschaulichung und die verbleibende Diskussion zu vereinfachen. Außerdem wird als Einführung angemerkt, dass die folgende 3 die bevorzugte Operation der Blöcke aus 2 beschreibt, wobei der Fachmann auf dem Gebiet aus dieser Diskussion zahlreiche Alternativen zur Implementierung jedes solchen Blocks ermitteln kann. Ferner sind die Blöcke diesbezüglich nur als logische Veranschaulichungen der Funktionalität gezeigt, womit die tatsächliche Hardware/Software, die diese Funktionalität implementiert, so sein kann, dass die Blöcke anhand einer gegebenen Implementierung vereinigt oder weiter unterteilt sind. 2 illustrates a block diagram of the LBIST controller 20 out 1 , but note that the blocks are off 2 only those relating to the implementation of the methodology of the preferred embodiment. Thus, the LBIST control unit 20 Many other aspects, such as the control features required to provide the control signals to the PRPG block, are included 14 and to the MISR block 18 to deliver, since these compounds in 1 are shown. However, these additional aspects are neither illustrated nor described to simplify the illustration and the discussion that remains. Also, as an introduction, note that the following 3 the preferred operation of the blocks 2 however, those skilled in the art will be able to identify numerous alternatives for implementing each such block from this discussion. Further, the blocks in this regard are shown only as logical illustrations of the functionality, thus the actual hardware / software implementing this functionality may be such that the blocks are unified or further subdivided according to a given implementation.

Bei Betrachtung der in 2 gezeigten Blöcke enthält die LBIST-Steuereinheit 20 eine Zustandsmaschine 22, die allgemein den wie unten in Verbindung mit 3 genauer beschriebenen Verfahrensablauf steuert. Ferner enthält die Zustandsmaschine 22 einen Zähler 23, von dem gezeigt ist, dass er einen hier als SCAN_COUNT bezeichneten Zählwert überwacht. Wie unten genauer beschrieben wird, identifiziert SCAN_COUNT schließlich, wie es das Ziel der bevorzugten Ausführungsform ist, die Länge des längsten Abtastkanals im Abtastkern 12. Die Zustandsmaschine 22 liefert als eine Ausgabe die Signale MUX_CONTROL zur Steuerung des Busses CB, der, wie zuvor beschrieben wurde, die Multiplexer M1 bis M4 in der Weise steuert, dass entweder Daten vom XOR-Gatter-Block 16 oder Daten vom Datenbus DB1 mit den Abtastkanälen gekoppelt sind. Wie unten weiter genauer beschrieben wird, besitzt die Zustandsmaschine 22 einen zweiten Ausgang, der so gekoppelt ist, dass er ein Signal PATTERN_CONTROL an einen Mustergeneratorblock 24 liefert.Looking at the in 2 Blocks shown contains the LBIST control unit 20 a state machine 22 generally related to as below 3 controls the procedure described in more detail. It also contains the state machine 22 a counter 23 which is shown monitoring a count referred to herein as SCAN_COUNT. As will be described in more detail below, SCAN_COUNT finally identifies, as the goal of the preferred embodiment is, the length of the longest scan channel in the scan kernel 12 , The state machine 22 provides as an output the signals MUX_CONTROL for controlling the bus CB which, as described above, controls the multiplexers M1 to M4 in such a way that either data from the XOR gate block 16 or data from the data bus DB 1 are coupled to the scan channels. As further described below, the state machine has 22 a second output coupled to send a PATTERN_CONTROL signal to a pattern generator block 24 supplies.

Der Mustergeneratorblock 24 arbeitet so, dass er eines von zwei verschiedenen Mustern von Bits an die N (z. B. N = 4) Leitungen der Datenbank DB1 ausgibt. In der bevorzugten Ausführungsform ist ein erstes der zwei Muster eines, in dem alle Bits in einem ersten Logikzustand (z. B. sämtlich binäre Nullen) sind, während das zweite der zwei Muster eines ist, in dem alle Bits in einem zweiten Logikzustand sind, der komplementär zu dem ersten Logikzustand ist (z. B. sämtlich binäre Einsen sind). Schließlich erfolgt die Auswahl dessen, welches der zwei Mustern an den Datenbus DB1 ausgegeben wird, in Reaktion auf das durch den Mustergeneratorblock 24 von der Zustandsmaschine 22 empfangene Signal PATTERN_CONTROL.The pattern generator block 24 operates to output one of two different patterns of bits to the N (eg, N = 4) lines of the DB 1 database. In the preferred embodiment, a first of the two patterns is one in which all bits are in a first logic state (e.g., all binary zeroes) while the second of the two patterns is one in which all bits are in a second logic state. which is complementary to the first logic state (eg, all are binary ones). Finally, the selection of which of the two patterns is output to the data bus DB 1 is made in response to the pattern generator block 24 from the state machine 22 received signal PATTERN_CONTROL.

Ferner enthält die LBIST-Steuereinheit 20 einen Musteränderungs-Detektorblock 26, der die Bits empfängt, die durch die wie mit dem Datenbus DB2 verbundenen Abtastkanäle ausgegeben werden. Wie unten genauer beschrieben wird, untersucht der Musteränderungs-Detektorblock 26 diese Bits, um einen bestimmten Änderungstyp in den empfangenen Bits zu erfassen. Wenn diese Änderung erfasst wird, meldet der Musteränderungs-Detektorblock 26 an die Zustandsmaschine 22 ein Signal CHANGE_DETECTED, das die wie unten genauer beschriebene Methodik vorantreibt. Der bestimmte durch den Block 26 implementierte Mustererfassungstyp wird unten ebenfalls beschrieben, wobei angesichts dieser Diskussion auch eine bevorzugte Schaltungsimplementierung zur Erfassung eines solchen Musters erörtert wird.It also contains the LBIST control unit 20 a pattern change detector block 26 which receives the bits output by the scan channels connected as to the data bus DB 2 . As will be described in more detail below, the pattern change detector block examines 26 these bits to detect a particular type of change in the received bits. When this change is detected, the pattern change detector block reports 26 to the state machine 22 a CHANGE_DETECTED signal that advances the methodology described in more detail below. The particular through the block 26 Implemented pattern capture type is also described below, and in light of this discussion, a preferred circuit implementation for detecting such a pattern is also discussed.

3 veranschaulicht einen Ablaufplan eines bevorzugten Verfahrens 30 der Operation der LBIST-Steuereinheit 20 zur Bestimmung der Länge des längsten STUMPS-Abtastkanals im Abtastkern 12 der integrierten Schaltung 10. Wie aus der verbleibenden Diskussion hervorgeht, wird der Ablauf des Verfahrens 30 allgemein durch die Zustandsmaschine 22 mit zusätzlicher Funktionalität von den anderen Blöcken in 2 gesteuert. Das Verfahren 30 beginnt mit einem Schritt 32, in dem die Zustandsmaschine das PATTERN_CONTROL in einem ersten Zustand zum Mustergeneratorblock 24 meldet. Der Mustergeneratorblock 24 beginnt in Reaktion auf das Signal PATTERN_CONTROL, sein erstes von zwei Mustern von Bits auszugeben, wobei beispielhaft angenommen wird, dass dieses Muster sämtlich aus binären Nullen besteht. Diese Nullen werden somit mit dem Datenbus DB1 verbunden. Gleichzeitig meldet die Zustandsmaschine 22 das Signal MUX_CONTROL auf einen ersten Zustand, so dass jeder der Multiplexer M1 bis M4 die Nullen vom Datenbus DB1 mit den Eingängen der Abtastkanäle SC1 bis SC4 verbindet. Aus dem Vorangehenden ist klar, dass ein Muster sämtlich aus binären Nullen in das erste Element jedes der Abtastpfade SC1 bis SC4 (d. h: in die Elemente EC11, EC21, EC31 bzw. EC41) geschoben wird. Außerdem hält die Zustandsmaschine 22 während des Schritts 32 für eine ganze Zahl N von Taktzyklen dieselbe Steuerung aufrecht, so dass eine ganze Zahl N von Fällen des ersten Musters mit den Abtastkanälen verbunden wird, wodurch veranlasst wird, dass in jedem Abtastkanal jeder vorangehende Fall des ersten Musters in Richtung eines darauf folgenden Elements verschoben wird. Bei der bevorzugten Ausführungsform wird die ganze Zahl N als eine Zahl ausgewählt, die ausreichend größer ist als die, die als die Länge des längsten Abtastkanals realistisch erwartet werden könnte. Zum Beispiel wird daran erinnert, dass zuvor erwähnt wurde, dass Abtastkanäle typisch aus einem bis mehreren hundert Elementen bestehen. Ausgehend von diesen Zahlen wird N dementsprechend vorzugsweise auf eine größere Zahl gesetzt, so dass beispielhaft angenommen wird, dass N gleich 1000 ist. Dementsprechend wird daraufhin durch den Abschluss von Schritt 32 für 1000 Taktzyklen ein Muster sämtlich aus Nullen durch die Elemente aller Abtastkanäle im Abtastkern 12 geschoben. Da N ausreichend größer als der längste Abtastkanal im Abtastkern 12 ist, speichern darüber hinaus daraufhin durch den Abschluss von Schritt 32 alle Elemente in allen Abtastkanälen einen Wert einer binären Null. Nachfolgend wird das Verfahren 30 in Schritt 34 fortgesetzt. 3 illustrates a flowchart of a preferred method 30 the operation of the LBIST control unit 20 for determining the length of the longest STUMPS scan channel in the scan kernel 12 the integrated circuit 10 , As will be apparent from the remaining discussion, the procedure will proceed 30 generally by the state machine 22 with additional functionality from the other blocks in 2 controlled. The procedure 30 starts with one step 32 in which the state machine sets the PATTERN_CONTROL in a first state to the pattern generator block 24 reports. The pattern generator block 24 In response to the signal PATTERN_CONTROL, it begins to output its first of two patterns of bits, assuming, for example, that all of this pattern consists of binary zeroes. These zeros are thus connected to the data bus DB 1 . At the same time the state machine reports 22 the signal MUX_CONTROL to a first state, so that each of the multiplexers M1 to M4 connects the zeros of the data bus DB 1 with the inputs of the scan channels SC1 to SC4. From the foregoing, it will be understood that a pattern of all binary zeros is shifted into the first element of each of the scan paths SC1 to SC4 (i.e., elements EC1 1 , EC2 1 , EC3 1, and EC4 1, respectively). In addition, the state machine stops 22 during the step 32 for an integer number N of clock cycles, maintain the same control so that an integer number N of cases of the first pattern is connected to the scan channels, causing each preceding case of the first pattern to be shifted in the direction of a subsequent element in each scan channel , In the preferred embodiment, the integer N is chosen to be a number sufficiently larger than that which could realistically be expected as the length of the longest scan channel. For example, it is recalled that it has previously been mentioned that scan channels typically consist of one to several hundred elements. Accordingly, starting from these numbers, N is preferably set to a larger number, so that it is assumed by way of example that N is equal to 1000. Accordingly, the completion of step 32 for 1000 clock cycles, a pattern of all zeros through the elements of all scan channels in the scan kernel 12 pushed. Since N is sufficiently larger than the longest scan channel in the scan kernel 12 In addition, save by completing step 32 all elements in all scan channels have a value of binary zero. The following is the procedure 30 in step 34 continued.

In Schritt 34 löscht die Zustandsmaschine 22 den Wert von SCAN_COUNT im Zähler 23. Außerdem steuert die Zustandsmaschine 22 den Musteränderungs-Detektorblock 26 so, dass er das vom Datenbus DB2 empfangene Muster, d. h. das von allen Abtastkanälen SC1 bis SC4 ausgegebene Muster, zu bewerten beginnt. Insbesondere und aus Gründen, die unten klarer werden, beginnt der Musteränderungs-Detektorblock 26, die Daten auf dem Datenbus DB2 zu bewerten, um zu erfassen, wann sie ein zweites Muster von Bits darstellen, das sich von dem in Schritt 32 in die Abtastkanäle geladenen ersten Muster unterscheidet. In der bevorzugten Ausführungsform besteht das zweite Muster aus Bits, die komplementär zu dem ersten Muster sind, obgleich, wie später diskutiert wird, alternative Zugänge betrachtet werden. Auf jeden Fall beginnt der Musterdetektorblock 26 für das vorliegende Beispiel, bei dem das in Schritt 32 in die Abtastkanäle geladene erste Muster sämtlich binäre Nullen waren, daraufhin, die Daten auf dem Datenbus DB2 zu bewerten, um zu erfassen, wenn diese Daten ein zweites Muster sämtlich aus binären Nullen darstellen. Diesbezüglich wird angemerkt, dass eine Logikschaltungsimplementierung, die diese Erfassung erzielt, ein Mehrfacheingangs-Logik-UND-Gatter (wie es unter Verwendung mehrerer UND-Gatter gebildet ist) sein könnte, wobei die Ausgabe dieses Gatters das Signal CHANGE_DETECTED an die Zustandsmaschine 22 liefert. Wie im Gebiet bekannt ist, ändert ein solches Logikgatter seine Ausgabe nur dann von einem logischen Tief zu einem logischen Hoch, wenn alle Eingaben in das Gatter logische Hochs sind. Somit geht der Zustand des Signals CHANGE_DETECTED über und benachrichtigt die Zustandsmaschine 22 über die Änderung, wenn der Musteränderungsdetektor 26 erfasst, dass alle Ausgaben der Abtastkanäle SC1 bis SC4 hoch sind. Nochmals weiter wird angemerkt, dass die Verwendung eines UND- Gatters lediglich als eine logische Veranschaulichung erfolgt, während eine praktischere Implementierung die Verwendung eines logischen NAND-Gatters umfassen kann, da das logische NAND-Gatter unter Verwendung von weniger Transistoren als sein UND-Gatter-Gegenstück konstruiert werden kann.In step 34 clears the state machine 22 the value of SCAN_COUNT in the counter 23 , In addition, the state machine controls 22 the pattern change detector block 26 such that it starts to evaluate the pattern received by the data bus DB 2 , ie the pattern output by all the scan channels SC1 to SC4. In particular, and for reasons that will become clearer below, the pattern change detector block begins 26 to evaluate the data on the data bus DB 2 to detect when they represent a second pattern of bits different from that in step 32 differentiates into the first pattern loaded in the scan channels. In the preferred embodiment, the second pattern consists of bits that are complementary to the first pattern, although, as discussed later, alternative approaches are considered. In any case, the pattern detector block starts 26 for the present example, in which the in step 32 the first patterns loaded into the scan channels were all binary zeros, then to evaluate the data on the data bus DB 2 to detect when that data represents a second pattern all of binary zeroes. In this regard, it is noted that a logic circuit implementation achieving this detection is a multiple Gates AND gates (as formed using multiple AND gates), the output of this gate sending the signal CHANGE_DETECTED to the state machine 22 supplies. As is known in the art, such a logic gate only changes its output from a logic low to a logic high when all inputs to the gate are logic highs. Thus, the state of the CHANGE_DETECTED signal transitions and notifies the state machine 22 about the change when the pattern change detector 26 detects that all outputs of the scan channels SC1 to SC4 are high. It is further noted that the use of an AND gate is merely a logical illustration, whereas a more practical implementation may involve the use of a logical NAND gate, since the NAND logic gate is constructed using fewer transistors than its AND gates. Counterpart can be constructed.

In Schritt 36 meldet die Zustandsmaschine 22 das PATTERN_CONTROL in einem zweiten Zustand an den Mustergeneratorblock 24. Der Mustergeneratorblock 24 beginnt in Reaktion auf das Signal PATTERN_CONTROL, sein zweites der zwei Muster von Bits auszugeben; wie oben in Bezug auf Schritt 34 eingeführt wurde, wird daran erinnert, dass das zweite Muster in einer Ausführungsform aus Bits besteht, die komplementär zu dem ersten Muster sind, so dass dieses zweite Muster ausgehend von dem momentanen Beispiel sämtlich aus binären Einsen besteht. Diese Einsen werden somit mit dem Datenbus DB1 verbunden und somit über die Multiplexer M1 bis M4 an das erste Element jedes der Abtastpfade SC1 bis SC4 (d. h. in die Elemente EC11 bis EC41) übergeben. Außerdem inkrementiert die Zustandsmaschine 22 in Schritt 36 für diese erste Menge von binären Einsen, die mit den Abtastkanälen verbunden sind, den Wert SCAN_COUNT im Zähler 23. Ausgehend davon, dass an diesem Punkt nur eine Menge binärer Einsen mit den Abtastketten verbunden worden ist, wird angemerkt, dass der Wert von SCAN_COUNT nun gleich eins ist. Nachfolgend wird das Verfahren 30 mit Schritt 38 fortgesetzt.In step 36 reports the state machine 22 the PATTERN_CONTROL in a second state to the pattern generator block 24 , The pattern generator block 24 starts outputting its second of the two patterns of bits in response to the signal PATTERN_CONTROL; as above with respect to step 34 has been introduced, it is recalled that in one embodiment the second pattern consists of bits that are complementary to the first pattern, so that this second pattern all consists of binary ones, starting from the current example. These ones are thus connected to the data bus DB 1 and thus transferred via the multiplexers M1 to M4 to the first element of each of the scan paths SC1 to SC4 (ie to the elements EC1 1 to EC4 1 ). In addition, the state machine increments 22 in step 36 for this first set of binary ones connected to the scan channels, the value SCAN_COUNT in the counter 23 , Assuming that at this point only a set of binary ones has been connected to the scan chains, it is noted that the value of SCAN_COUNT is now equal to one. The following is the procedure 30 with step 38 continued.

Schritt 38 repräsentiert die Bestimmung durch den Musteränderungsdetektor 26, ob die Ausgabe der Abtastkanäle vollständig von dem ersten Muster (z. B. binäre Nullen) zu dem zweiten Muster (z. B. binäre Einsen) geändert worden ist. Falls diese Änderung nicht aufgetreten ist, kehrt das Verfahren 30 von Schritt 38 zu Schritt 36 zurück; falls sich andererseits die Musteränderung von binären Nullen zu binären Einsen geändert hat, wird das Verfahren 30 von Schritt 38 zu Schritt 40 fortgesetzt. Jede dieser Alternativen wird unten getrennt diskutiert.step 38 represents the determination by the pattern change detector 26 whether the output of the scan channels has been completely changed from the first pattern (eg, binary zeroes) to the second pattern (eg, binary ones). If this change did not occur, the procedure returns 30 from step 38 to step 36 back; on the other hand, if the pattern change has changed from binary zeros to binary ones, then the method becomes 30 from step 38 to step 40 continued. Each of these alternatives will be discussed separately below.

Es wird ein Beispiel veranschaulicht, bei dem das Verfahren 38 durch Anwenden der vorliegenden Anwendung des Verfahrens 30 auf die in 2 veranschaulichten Abtastkanäle den Ablauf von Schritt 38 zu Schritt 36 zurückgibt. Diesbezüglich wird angemerkt, dass bei jedem Fall von Schritt 38 die in Schritt 38 bewerteten Daten die mit dem Musteränderungs-Detektorblock 26 gekoppelten Daten, d. h. die im letzten Element jedes Abtastkanals (d. h. in den Elementen EC15, EC28, EC36 und EC44) gespeicherten Datenwerte, sind. Da diese Elemente zuvor (von Schritt 32) mit binären Nullen geladen wurden und da nur eine Menge binärer Einsen in die Elemente EC11, EC21, EC31 und EC41 hineingeschoben worden sind, sind ferner die Werte in den Elementen EC15, EC28, EC36 und EC44 alle immer noch gleich null, Im Ergebnis gibt das Signal CHANGE_DETECTED an diesem Punkt nicht an, dass das vom Musteränderungs-Detektorblock 26 empfangene Muster sämtlich binäre Einsen sind. Im Ergebnis kehrt der Ablauf des Verfahrens 30 zu Schritt 36 zurück.An example is illustrated in which the method 38 by applying the present application of the method 30 on the in 2 illustrated scan channels the process of step 38 to step 36 returns. In this regard, it is noted that in each case of step 38 the in step 38 evaluated data with the pattern change detector block 26 coupled data, ie the data values stored in the last element of each scan channel (ie in elements EC1 5 , EC2 8 , EC3 6 and EC4 4 ). Because these elements were previously (from step 32 ) have been loaded with binary zeroes, and since only a set of binary ones have been shunted into the elements EC1 1 , EC2 1 , EC3 1 and EC4 1 , the values in elements EC1 5 , EC2 8 , EC3 6 and EC4 4 are all As a result, the CHANGE_DETECTED signal at this point does not indicate that the pattern change detector block 26 received patterns are all binary ones. As a result, the procedure of the method returns 30 to step 36 back.

Wenn der Schritt 36 ein nachfolgendes Mal erreicht wird, führt er die gleiche Operation wie zuvor beschrieben aus. Um das Ergebnis dieser Operation zu verstehen, wird aber die Diskussion des Beispiels der vier Abtastkanäle im Abtastkern 12 aus 2 fortgesetzt. Genauer verursacht Schritt 36 an diesem Punkt in dem Beispiel, dass eine zweite Menge binärer Einsen in die ersten Elemente der Abtastkanäle SC1 bis SC4 abgetastet wird, wodurch die zuvor vorhandenen Werte in den Abtastkanälen verschoben werden. Im Ergebnis verschiebt diese zweite Menge binärer Einsen die erste Menge binärer Einsen (die in der vorangehenden Instanz von Schritt 36 in die ersten Elemente der Abtastkanäle abgetastet wurden) so, dass sie in jedem der Abtastkanäle zu dem zweiten Element fortschreiten. Somit speichern an diesem Punkt sowohl das erste als auch das zweite Element in jedem der Abtastkanäle SC1 bis SC4 die Werte binärer Einsen, während alle anderen Abtastkanalelemente binäre Nullen speichern. Außerdem wird SCAN_COUNT erneut inkrementiert und speichert somit nun einen Wert zwei. Wie zuvor beschrieben wurde, wird das Verfahren 30 mit Schritt 38 fortgesetzt, wenn der Schritt 36 abgeschlossen ist.When the step 36 is reached a subsequent time, he performs the same operation as previously described. To understand the result of this operation, however, the discussion of the example of the four scan channels in the scan kernel becomes 12 out 2 continued. Specifically causes step 36 at this point in the example, a second set of binary ones is sampled into the first elements of the scan channels SC1 through SC4, shifting the previously existing values in the scan channels. As a result, this second set of binary ones shifts the first set of binary ones (which in the previous instance of step 36 sampled into the first elements of the scan channels) so as to advance to the second element in each of the scan channels. Thus, at this point, both the first and second elements in each of the scan channels SC1 to SC4 store the values of binary ones, while all other scan channel elements store binary zeros. In addition, SCAN_COUNT is incremented again and thus now stores a value of two. As described above, the method becomes 30 with step 38 continued when the step 36 is completed.

Der Schritt 38 arbeitet wie zuvor beschrieben, wobei der Musteränderungsdetektor 26 bestimmt, ob das letzte Element in jedem der Abtastkanäle einen Wert von dem zweiten Muster (z. B. eine logische Eins) speichert. Wie in dem voran gehenden Absatz festgestellt wurde, speichert aber an dem momentanen Punkt des Beispiels jedes dieser letzten Elemente einen Wert einer binären Null. Somit ändert sich der Zustand von CHANGE_DETECTED nicht, wobei der Verfahrensablauf wieder zu Schritt 36 zurückkehrt.The step 38 operates as described above, wherein the pattern change detector 26 determines whether the last element in each of the scan channels stores a value from the second pattern (eg, a logical one). As noted in the previous paragraph, however, at the current point in the example, each of these last elements stores a binary zero value. Thus, the state of CHANGE_DETECTED does not change, with the procedure returning to step 36 returns.

Für den Fachmann auf dem Gebiet ist für das vorliegende Beispiel aus dem Obigen klar, dass die Schritte 36 und 38 zahlreiche weitere Male weiter wiederholt werden. Ferner wird diesbezüglich angemerkt, dass der Wert von SCAN_COUNT gleich vier ist, wenn der Schritt 36 viermal aufgetreten ist. Außerdem hat zu dieser Zeit eine binäre Eins das letzte Element im Abtastkanal SC4, d. h. das Element EC44, erreicht. Allerdings speichern ebenfalls zu dieser Zeit das Element am Ende des Abtastkanals SC1, die vier Elemente am Ende des Abtastkanals SC2 und die letzten zwei Elemente am Ende des Abtastkanals SC3 weiter die Werte einer binären Null. Im Ergebnis hat der Musteränderungs-Detektorblock 26, wenn nach dem vierten Auftreten des Schritts 36 der Schritt 38 erreicht wird, drei Eingaben einer binären Null und eine Eingabe einer binären Eins, wodurch keine Änderung in CHANGE_DETECTED verursacht wird. Folglich kehrt der Ablauf wieder zu Schritt 36 zurück.It will be apparent to those skilled in the art from the above that the steps 36 and 38 many more times be repeated. It is further noted in this regard that the value of SCAN_COUNT is equal to four when step 36 has occurred four times. In addition, at this time, a binary one has reached the last element in the scan channel SC4, ie the element EC4 4 . However, also at this time, the element at the end of scan channel SC1, the four elements at the end of scan channel SC2 and the last two elements at the end of scan channel SC3 further store the binary zero values. As a result, the pattern change detector block 26 if after the fourth occurrence of the step 36 the step 38 is reached, three inputs of a binary zero and a binary one input, causing no change in CHANGE_DETECTED. As a result, the process returns to step 36 back.

Weiter wird ein Verständnis der vorliegenden Ausführungsform dadurch erhalten, dass das fünfte, das sechste und das siebente Auftreten des Schritts 36 in dem vorliegenden Beispiel untersucht werden. Wenn der Schritt 36 ein fünftes Mal auftritt, speichern alle Elemente der Abtastkanäle SC1 und SC4 binäre Einsen. Dagegen speichern die letzten drei Elemente des Abtastkanals SC2 (d. h. EC26, EC27 und EC28) und das letzte Element des Abtastkanals SC3 (d. h. EC36) binäre Nullen. Somit kehrt das Verfahren 30 zu Schritt 36 zurück. Wenn der Schritt 36 ein sechstes Mal auftritt, speichern alle Elemente der Abtastkanäle SC1 und SC4 weiter binäre Einsen, während an diesem Punkt alle Elemente des Abtastkanals SC3 ebenfalls binäre Einsen speichern. Dagegen speichern die letzten zwei Elemente des Abtastkanals SC2 (d. h. EC27 und EC28) weiter binäre Nullen. Somit kehrt das Verfahren 30 für ein siebentes Auftreten dieses Schritts erneut zu Schritt 36 zurück, was dazu führt, dass eine binäre Eins das vorletzte Element des Abtastkanals SC2 erreicht, wobei das Verfahren 30 für ein achtes Auftreten dieses Schritts noch einmal zu Schritt 36 zurückkehrt.Further, an understanding of the present embodiment is obtained by the fifth, sixth, and seventh occurrences of the step 36 in the present example. When the step 36 occurs a fifth time, store all elements of the scan channels SC1 and SC4 binary ones. In contrast, the last three elements of scan channel SC2 (ie EC2 6 , EC2 7 and EC2 8 ) and the last element of scan channel SC3 (ie EC3 6 ) store binary zeroes. Thus, the process returns 30 to step 36 back. When the step 36 For a sixth time, all elements of the scan channels SC1 and SC4 continue to store binary ones, while at that point all elements of the scan channel SC3 also store binary ones. In contrast, the last two elements of scan channel SC2 (ie EC2 7 and EC2 8 ) continue to store binary zeros. Thus, the process returns 30 for a seventh occurrence of this step again to step 36 which causes a binary one to reach the penultimate element of the scan channel SC2, the method 30 for an eighth appearance of this step again to step 36 returns.

Das achte Auftreten von Schritt 36 übergibt erneut eine Menge binärer Einsen an die Eingänge aller Abtastkanäle, wobei ausgehend von den vorangehenden Zuständen dieser Elemente klar ist, dass dieses achte Auftreten dazu führt, dass eine binäre Eins das letzte Element des Abtastkanals SC2, d. h. das Element EC28, erreicht. Ferner haben die vorangehenden Auftritte des Schritts 36 ebenfalls verursacht, dass die Elemente alle anderen Abtastkanäle SC1, SC3 und SC4 ebenfalls binäre Einsen speichern. Somit übergeben an diesem Punkt alle vier Ausgaben des Abtastkerns 12 Werte einer binärer Eins an den Datenbus DB2 und somit an den Musteränderungsdetektor 26. Nachfolgend wird das Verfahren 30 noch einmal mit Schritt 38 fortgesetzt.The eighth appearance of step 36 again passes a set of binary ones to the inputs of all scan channels, it being clear from the preceding states of these elements that this eighth occurrence results in a binary one reaching the last element of scan channel SC2, ie element EC2 8 . Further, the previous appearances of the step 36 also causes the elements to also store all other scan channels SC1, SC3 and SC4 binary ones. Thus, at this point, all four outputs of the sample kernel pass 12 Values of a binary one on the data bus DB 2 and thus on the pattern change detector 26 , The following is the procedure 30 once again with step 38 continued.

Wenn in dem vorliegenden Beispiel und nach acht Auftritten des Schritts 36 der Schritt 38 erreicht wird, ist der Wert von SCAN_COUNT gleich acht, wobei der Datenbus DB2 sämtlich binäre Einsen an den Musteränderungsdetektor 26 übergibt. Der Musteränderungsdetektor 26 erfasst in Reaktion auf die vollständige Menge binärer Einsen, dass das zweite Muster erfasst worden ist. Es wird daran erinnert, dass diese Erfassung in dem vorliegenden Beispiel wegen der logischen UND-Operation stattfindet, die in Reaktion auf die Eingabe sämtlich logischer Hochs einen positiven Übergang in dem Signal CHANGE_DETECTED veranlasst. Dieser Signalübergang gibt dadurch an, dass von dieser Zeit an alle letzten Elemente in den Abtastkanälen das zweite Muster ausgeben, so dass das Verfahren 30 in Schritt 40 fortgesetzt wird.If, in the present example and after eight appearances of step 36, step 38 is reached, the value of SCAN_COUNT is equal to eight, and the data bus DB 2 is all binary ones to the pattern change detector 26 passes. The pattern change detector 26 detects, in response to the full set of binary ones, that the second pattern has been detected. It will be recalled that in the present example, this detection occurs because of the logical AND operation that causes a positive transition in the CHANGE_DETECTED signal in response to the input of all logic highs. This signal transition indicates that from this time all the last elements in the scan channels output the second pattern, so that the method 30 in step 40 will continue.

Schritt 40 repräsentiert den Abschluss des Verfahrens 30. An diesem Punkt ist der Wert von SCAN_COUNT gleich der Länge des längsten Abtastkanals im Abtastkern 12. Somit wird angemerkt, dass das Verfahren 30 durch Schritt 40 die Länge des längsten Abtastkanals elektronisch bestimmt hat. Im Ergebnis kann der Wert auf verschiedene Weise verwendet werden, wie es der Fachmann auf dem Gebiet wünscht. Zum Beispiel ist dieser Wert für zusätzliche BIST-Operationen erforderlich und wird in der bevorzugten Ausführungsform tatsächlich dazu verwendet, zu definieren, wie viel Mal die Abtastprüfdaten während der Abtastbetriebsart durch aufeinander folgende Elemente im Abtastkern 12 verschoben werden, d. h., die Anzahl der Verschiebungen, beginnend mit dem ersten Hereinschieben des Abtastprüfmusters in das erste Abtastelement in jedem Kanal und daraufhin fortsetzend mit den aufeinander folgenden Verschiebungen über aufeinander folgende Elemente der Abtastkanäle. Durch den Fachmann auf dem Gebiet können zusätzliche Verwendungen der Länge des längsten Abtastkanals ermittelt werden. Auf jeden Fall ist klar, dass die Länge des längsten Abtastkanals durch Schritt 40 automatisch bestimmt worden ist, ohne dass er in die LBIST-Steuereinheit 22 fest codiert zu werden braucht oder auf andere Weise in fester Form für diese Vorrichtung bereitgestellt zu werden braucht. Obgleich dies in 3 nicht gezeigt ist, wird schließlich angemerkt, dass das MUX_CONTROL in einen zweiten Zustand geschaltet wird, so dass die Multiplexer M1 bis M4 Daten vom XOR-Gatter-Block 16 an den Abtastkern 12 übergeben, wenn der längste Abtastkanal im Abtastkern 12 bestimmt worden ist und es erwünscht ist, LBIST-Operationen auszuführen.step 40 represents the completion of the procedure 30 , At this point, the value of SCAN_COUNT is equal to the length of the longest scan channel in the scan kernel 12 , Thus, it is noted that the method 30 by step 40 has electronically determined the length of the longest scan channel. As a result, the value can be used in various ways, as the person skilled in the art wishes. For example, this value is required for additional BIST operations, and in the preferred embodiment is actually used to define how many times the scan verify data during the scan mode by successive elements in the scan kernel 12 that is, the number of shifts, starting from the first pushing in of the Abtastprüfmusters in the first scanning element in each channel and then continuing with the successive shifts on successive elements of the scan channels. By those skilled in the art, additional uses of the length of the longest scan channel can be determined. In any case, it is clear that the length of the longest scanning channel by step 40 automatically determined without him in the LBIST control unit 22 needs to be hard-coded or otherwise provided in solid form for this device. Although this in 3 is not shown, it is finally noted that the MUX_CONTROL is switched to a second state, so that the multiplexers M1 to M4 data from the XOR gate block 16 to the sensing core 12 pass when the longest scanning channel in the scanning core 12 has been determined and it is desired to perform LBIST operations.

Aus dem Obigen ist klar, dass die obigen Ausführungsformen ein verbessertes Schaltungssystem und eine verbesserte Schaltungsmethodik liefern, durch die eine integrierte Schaltung automatisch den längsten Kanal in ihrem Abtastkern bestimmen kann. Ein solcher Zugang besitzt, insbesondere im Gegensatz zu den Nachteilen des Zugangs des Standes der Technik zur festen Codierung dieses Längenparameters in die integrierte Schaltung, zahlreiche Vorteile. Als ein Vorteil wird angemerkt, dass, während ein integrierter Schaltungsentwurf geändert wird, das vorliegende System früh in den Entwurf der Vorrichtung integriert werden kann, ohne dass es notwendig ist, den Entwurf anhand eines vorher vorhandenen fest codierten Längenparameters später neu zu entwerfen oder zu ändern. Als ein weiterer Vorteil kann das Verfahren 30 in verschiedenen LBIST-Steuereinheiten für verschiedene Schaltungsentwürfe verwendet werden, ohne dass anhand des Abtastkanals mit unterschiedlicher maximaler Länge in diesen Entwürfen irgendeine Änderung erforderlich ist. Nochmals weitere Vorteile können durch den Fachmann auf dem Gebiet ermittelt werden. Tatsächlich ist ein abermals weiterer Vorteil, dass, obgleich die vorliegenden Ausführungsformen ausführlich beschrieben worden sind, verschiedene Ersetzungen, Abwandlungen oder Änderungen an den oben dargelegten Beschreibungen vorgenommen werden könnten, ohne von dem wie durch die Ansprüche definierten Erfindungsumfang abzuweichen. Obgleich z. B. das Verfahren 30 verschiedene getrennte Schritte gezeigt hat, können einige dieser Schritte kombiniert werden oder in zusätzliche Teilschritte weiter unterteilt werden. Während das vorangehende Beispiel einen Fall darstellt, in dem das in Schritt 32 verwendete erste Muster sämtlich Nullen sind, während das in Schritt 36 (und in wiederholten Auftritten des Schritts 36) verwendete zweite Muster sämtlich Einsen sind, könnten diese Muster als ein weiteres Beispiel miteinander vertauscht sein, wodurch der Schritt 32 ein Muster sämtlich aus Einsen verwendet, während der Schritt 36 ein Muster sämtlich aus Nullen verwendet. Wie durch den Fachmann auf dem Gebiet ermittelt werden kann, würde die bestimmte Schaltungsanordnung zum Erfassen des letzteren Musters im Musteränderungs-Detektorblock 26 in diesem letzteren Fall natürlich eine Abwandlung erfordern. Obgleich die bevorzugte Ausführungsform ein erstes und ein zweites Muster verwendet, die alle der gleiche binäre Zustand sind, kann als ein nochmals weiteres Beispiel eine kompliziertere Implementierung die Verwendung anderer Muster umfassen und eine kompliziertere Erfassungsschaltung erfordern, um eine Zeit zu bestimmen, wann das zweite Muster vollständig alle Abtastkanäle im Abtastkern 12 durchlaufen hat. Als ein nochmals weiteres Beispiel können an den gezeigten Schaltungen zum Erreichen der BIST-Operationen verschiedene Änderungen vorgenommen werden – wobei z. B. anstelle des PRPG-Blocks 14 ein anderer Typ eines Mustergenerators verwendet werden kann und/oder anstelle des MISR 18 ein anderer Typ einer Antwortanalyseschaltung verwendet werden könnte. Somit veranschaulichen diese und weitere Beispiele weiter den durch die folgenden Ansprüche definierten Erfindungsumfang.From the above, it is clear that the above embodiments provide an improved circuit system and circuit methodology by which an integrated circuit can automatically determine the longest channel in its sensing core. Such access has, in particular in contrast to the disadvantages of the prior art access for hard coding this Length parameters in the integrated circuit, numerous advantages. As an advantage, it should be noted that while an integrated circuit design is changed, the present system may be early integrated with the device design without the need to later redesign or change the design based on a pre-existing hard-coded length parameter , As another advantage, the process can 30 may be used in various LBIST controllers for various circuit designs without requiring any change in these designs based on the different maximum length scan channel in these designs. Yet further advantages may be ascertained by those skilled in the art. Indeed, yet another advantage is that, although the present embodiments have been described in detail, various substitutions, alterations, or alterations could be made to the descriptions set forth above without departing from the scope of the invention as defined by the claims. Although z. B. the method 30 have shown different separate steps, some of these steps can be combined or further subdivided into additional sub-steps. While the preceding example illustrates a case in which the in step 32 used first patterns of all zeros while in step 36 (and in repeated appearances of the step 36 As a further example, if the second patterns used are all ones, these patterns could be interchanged as a further example, causing the step 32 a pattern all of ones used during the step 36 a pattern is used all zeros. As can be determined by those skilled in the art, the particular circuitry would be for detecting the latter pattern in the pattern change detector block 26 course, in this latter case, require a modification. Although the preferred embodiment uses a first and a second pattern, which are all the same binary state, as yet another example, a more complicated implementation may involve the use of other patterns and require a more complicated detection circuit to determine a time when the second pattern completely all scan channels in the scan core 12 has gone through. As yet another example, various changes may be made to the circuits shown to accomplish the BIST operations - e.g. B. instead of the PRPG block 14 another type of pattern generator may be used and / or instead of the MISR 18 another type of response analysis circuit could be used. Thus, these and other examples further illustrate the scope of the invention as defined by the following claims.

Claims (23)

Integrierte Schaltung, mit: einer Kombinatorik-Schaltungsanordnung (13); mehreren Abtastkanälen (SC1–SC4); wobei jeder der mehreren Abtastkanäle (SC1–SC4) eine Anzahl von Abtastelementen (EC11–EC45) umfasst; wobei für jeden der mehreren Abtastkanäle (SC1–SC4) mit einer Anzahl von Abtastelementen (EC11–EC44), die größer als ein Element ist, der Abtastkanal ein erstes Element in dem Abtastkanal und ein letztes Element in dem Abtastkanal umfasst; wobei für jeden der Abtastkanäle (SC1-SC4) mit einer Anzahl von Abtastelementen (EC11–EC44), die gleich einem Element ist, dieses eine Element sowohl ein erstes Element als auch ein letztes Element in dem Abtastkanal ist; und wobei ausgewählte Elemente der Abtastelemente (EC11–EC44) gekoppelt sind, um die Operation der Kombinatorik-Schaltungsanordnung (13) zu beeinflussen; dadurch gekennzeichnet, dass die integrierte Schaltung ferner umfasst: eine LBIST-Steuereinheit (20), die mit dem ersten Element (EC11, EC21, EC31, EC41) jedes der mehreren Abtastkanäle und mit dem letzten Element (EC15, EC28, EC36, EC44) jedes der mehreren Abtastkanäle verbunden ist, wobei die LBIST-Steuereinheit (20) umfasst einen Mustergenerator (24), um ein vorgegebenes Muster in das erste Element jedes der mehreren Abtastkanäle einzukoppeln; einen Musteränderungsdetektor (26), um das vorgegebene Muster in dem letzten Element jedes der mehreren Abtastkanäle zu erfassen; und eine Zustandsmaschine (22), die in Reaktion auf den Musteränderungsdetektor (26) dem Mustergenerator (24) ein Signal meldet, wobei die Zustandsmaschine (22) einen Zähler (23) enthält, der in Reaktion auf den Musteränderungsdetektor (26) inkrementiert wird, um die Anzahl von Abtastelementen in dem längsten der mehreren Abtastkanäle (SC1–SC4) zu zählen.Integrated circuit, comprising: combinatorial circuitry ( 13 ); a plurality of scan channels (SC1-SC4); wherein each of the plurality of scan channels (SC1-SC4) comprises a number of scan elements (EC1 1 -EC4 5 ); wherein for each of the plurality of scan channels (SC1-SC4) having a number of scan elements (EC1 1 -EC4 4 ) larger than an element, the scan channel comprises a first element in the scan channel and a last element in the scan channel; wherein for each of the scan channels (SC1-SC4) having a number of scan elements (EC1 1 -EC4 4 ) equal to one element, that one element is both a first element and a last element in the scan channel; and wherein selected elements of the sensing elements (EC1 1 -EC4 4 ) are coupled to perform the operation of the combinatorial circuitry (12). 13 ) to influence; characterized in that the integrated circuit further comprises: an LBIST control unit ( 20 ) connected to the first element (EC1 1 , EC2 1 , EC3 1 , EC4 1 ) of each of the plurality of scan channels and to the last element (EC1 5 , EC2 8 , EC3 6 , EC4 4 ) of each of the plurality of scan channels the LBIST control unit ( 20 ) comprises a pattern generator ( 24 ) to inject a predetermined pattern into the first element of each of the plurality of scan channels; a pattern change detector ( 26 ) to detect the predetermined pattern in the last element of each of the plurality of scan channels; and a state machine ( 22 ) in response to the pattern change detector ( 26 ) the pattern generator ( 24 ) reports a signal, the state machine ( 22 ) a counter ( 23 ) in response to the pattern change detector ( 26 ) is incremented to count the number of samples in the longest of the plurality of scan channels (SC1-SC4). Integrierte Schaltung nach Anspruch 1, die ferner eine Schaltungsanordnung umfasst, um vor der Operation der Schaltungsanordnung zum Einkoppeln eines vorgegebenen Musters in ein erstes Element jedes der mehreren Abtastkanäle alle Werte in allen Elementen jedes der mehreren Abtastkanäle auf einen vorgegebenen Zustand zu setzen.The integrated circuit of claim 1, further a circuit arrangement comprises before the operation of the circuit arrangement for coupling a predetermined pattern into a first element each the multiple scan channels all values in all elements of each of the multiple scan channels to one set predetermined state. Integrierte Schaltung nach Anspruch 2: bei der der vorgegebene Zustand einen ersten binären Zustand umfasst; und bei der das vorgegebene Muster einen zweiten binären Zustand umfasst, der zu dem ersten binären Zustand komplementär ist.Integrated circuit according to claim 2: in the the predetermined state comprises a first binary state; and at the predetermined pattern comprises a second binary state that belongs to the first binary State complementary is. Integrierte Schaltung nach Anspruch 3, bei der der vorgegebene Zustand eine binäre Null umfasst; und bei der das vorgegebene Muster eine binäre Eins umfasst.An integrated circuit according to claim 3, wherein the predetermined state is a binary zero includes; and wherein the predetermined pattern comprises a binary one. Integrierte Schaltung nach Anspruch 4, bei der der Musteränderungsdetektor (26) eine Schaltungsanordnung umfasst, um eine logische UND-Operation an Werten auszuführen, die von dem letzten Abtastelement (EC 15, EC28, EC36, EC44) in jedem der mehreren Abtastkanäle (SC1, SC2, SC3, SC4) ausgegeben werden.An integrated circuit according to claim 4, wherein the pattern change detector ( 26 ) comprises circuitry for performing a logical AND operation on values output from the last sampling element (EC 1 5 , EC 2 8 , EC 3 6 , EC 4 4 ) in each of the plurality of sampling channels (SC1, SC2, SC3, SC4) , Integrierte Schaltung nach Anspruch 5, ferner mit: einem Mustergenerator, um ein Muster aus Bits zu erzeugen; und einer Antwortanalyseschaltung, die so gekoppelt ist, dass sie einen Bit-Zustand von jedem der letzten Elemente der Abtastkanäle empfängt.The integrated circuit of claim 5, further comprising: one Pattern generator to generate a pattern of bits; and one A response analysis circuit coupled to receive a bit state of each receives the last elements of the scan channels. Integrierte Schaltung nach Anspruch 6, bei der der Mustergenerator einen Pseudozufallsmuster-Generator (14) umfasst, um ein Pseudozufallsmuster von Bits zu erzeugen; und ferner mit: einer Gatterschaltung (16), die mit dem Pseudozufallsmuster-Generator (14) gekoppelt ist, um das Pseudozufallsmuster von Bits zu entkorrelieren, um eine Ausgangsmenge von Prüfbits bereitzustellen; und einer Schaltungsanordnung (M1, M2, M3, M4), um während einer Prüfbetriebsart die Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen der Abtastkanäle zu koppeln.An integrated circuit according to claim 6, wherein the pattern generator generates a pseudo-random pattern generator ( 14 ) to generate a pseudorandom pattern of bits; and further comprising: a gate circuit ( 16 ) generated with the pseudo-random pattern generator ( 14 ) to decorrelate the pseudorandom pattern of bits to provide an output set of check bits; and circuitry (M1, M2, M3, M4) for coupling the output set of check bits to corresponding first elements of the scan channels during a test mode. Integrierte Schaltung nach Anspruch 7, bei der die Schaltungsanordnung (M1, M2, M3, M4) zum Koppeln der Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen der Abtastkanäle während einer Prüfbetriebsart auf die vorgegebene Anzahl von Abtastelementen in dem längsten der mehreren Abtastkanäle anspricht.An integrated circuit according to claim 7, wherein the Circuit arrangement (M1, M2, M3, M4) for coupling the output quantity of check bits with corresponding first elements of the scan channels during one test mode to the predetermined number of samples in the longest of the plurality scan channels responds. Integrierte Schaltung nach Anspruch 6, bei der die Antwortanalyseschaltung ein Mehrfacheingangssignatur-Register (18) umfasst.An integrated circuit according to claim 6, wherein the response analysis circuit comprises a multiple input signature register (12). 18 ). Integrierte Schaltung nach Anspruch 3, ferner mit: einem Mustergenerator, um ein Muster von Bits zu erzeugen; und einer Antwortanalyseschaltung, die so gekoppelt ist, dass sie einen Bit-Zustand von jedem der letzten Elemente der Abtastkanäle empfängt.The integrated circuit of claim 3, further comprising: one Pattern generator to generate a pattern of bits; and one A response analysis circuit coupled to receive a bit state of each receives the last elements of the scan channels. Integrierte Schaltung nach Anspruch 10, bei der der Mustergenerator einen Pseudozufallsmuster-Generator (14) enthält, um ein Pseudozufallsmuster von Bits zu erzeugen; und ferner mit einer Gatterschaltung (16), die mit dem Pseudozufallsmuster-Generator (14) gekoppelt ist und das Pseudozufallsmuster von Bits entkorreliert, um eine Ausgangsmenge von Prüfbits bereitzustellen; und einer Schaltungsanordnung (M1, M2, M3, M4), um während einer Prüfbetriebsart die Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen der Abtastkanäle zu koppeln.An integrated circuit according to claim 10, wherein the pattern generator generates a pseudo-random pattern generator ( 14 ) to generate a pseudorandom pattern of bits; and further comprising a gate circuit ( 16 ) generated with the pseudo-random pattern generator ( 14 ) and decorrelates the pseudorandom pattern of bits to provide an output set of check bits; and circuitry (M1, M2, M3, M4) for coupling the output set of check bits to corresponding first elements of the scan channels during a test mode. Integrierte Schaltung nach Anspruch 10, bei der die Antwortanalyseschaltung ein Mehrfacheingangssignatur-Register (18) umfasst.An integrated circuit according to claim 10, wherein the response analysis circuit comprises a multiple input signature register (10). 18 ). Integrierte Schaltung nach Anspruch 1, ferner mit einer Schaltungsanordnung, die alle Werte in allen Elementen jedes der mehreren Abtastkanäle vor der Operation der Schaltungsanordnung, um ein vorgegebenes Muster in ein erstes Element jedes der mehreren Abtastkanäle einzukoppeln, auf einen vorgegebenen Zustand setzt; wobei die Anzahl von Abtastelementen (EC11–EC44) im längsten der mehreren Abtastkanäle aus einer geschätzten ganzen Zahl M von Abtastelementen besteht; wobei die Schaltungsanordnung zum Setzen aller Werte eine Schaltungsanordnung umfasst, um den vorgegebenen Zustand in die ersten Elemente der Abtastkanäle aufeinander folgend eine ganzzahlige Anzahl X mal abzutasten; und wobei X größer als M ist.The integrated circuit of claim 1, further comprising circuitry for setting all values in all elements of each of the plurality of scan channels to a predetermined state prior to the operation of the circuitry to couple a predetermined pattern into a first element of each of the plurality of scan channels; wherein the number of sampling elements (EC1 1 -EC4 4 ) in the longest of the plurality of sampling channels consists of an estimated integer number M of sampling elements; wherein said means for setting all values comprises circuitry for successively sampling the predetermined state into the first elements of the scan channels an integer number of times X times; and where X is greater than M. Integrierte Schaltung nach Anspruch 13, bei der der vorgegebene Zustand eine binäre Null umfasst; und bei der das vorgegebene Muster eine binäre Eins umfasst.Integrated circuit according to claim 13, at the predetermined state comprises a binary zero; and at the predetermined pattern comprises a binary one. Integrierte Schaltung nach Anspruch 14, bei der der Musteränderungsdetektor (26) eine Schaltungsanordnung umfasst, um eine logische UND-Operation an Werten auszuführen, die von dem letzten Abtastelement (EC15, EC28, EC36, EC44) in jedem der mehreren Abtastkanäle (SC1, SC2, SC3, SC4) ausgegeben werden.An integrated circuit according to claim 14, wherein the pattern change detector ( 26 ) comprises circuitry for performing a logical AND operation on values output from the last sampling element (EC1 5 , EC2 8 , EC3 6 , EC4 4 ) in each of the plurality of sampling channels (SC1, SC2, SC3, SC4). Integrierte Schaltung nach Anspruch 15, ferner mit einem Mustergenerator, um ein Muster von Bits zu erzeugen; und einer Antwortanalyseschaltung, die so gekoppelt ist, dass sie einen Bitzustand von jedem der letzten Elemente der Abtastkanäle empfängt.The integrated circuit of claim 15, further comprising one Pattern generator to generate a pattern of bits; and one Response analysis circuit coupled to have a bit state from each of the last elements of the scan channels. Integrierte Schaltung nach Anspruch 16, bei der der Mustergenerator einen Pseudozufallsmuster-Generator (14) umfasst, um ein Pseudozufallsmuster von Bits zu erzeugen; und ferner mit: einer Gatterschaltung (16), die mit dem Pseudozufallsmuster-Generator (14) gekoppelt ist und das Pseudozufallsmuster von Bits entkorreliert, um eine Ausgangsmenge von Prüfbits bereitzustellen; und einer Schaltungsanordnung (M1, M2, M3, M4), um während einer Prüfbetriebsart die Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen der Abtastkanäle zu koppeln.An integrated circuit according to claim 16, wherein the pattern generator generates a pseudo-random pattern generator (16). 14 ) to generate a pseudorandom pattern of bits; and further comprising: a gate circuit ( 16 ) generated with the pseudo-random pattern generator ( 14 ) is coupled and the Pseudo-random pattern of bits decorrelated to provide an output set of check bits; and circuitry (M1, M2, M3, M4) for coupling the output set of check bits to corresponding first elements of the scan channels during a test mode. Integrierte Schaltung nach Anspruch 16, bei der die Antwortanalyseschaltung ein Mehrfacheingangssignatur-Register (18) umfasst.An integrated circuit according to claim 16, wherein the response analysis circuit comprises a multiple input signature register (16). 18 ). Integrierte Schaltung nach Anspruch 1, bei der ausgewählte Abtastelemente so gekoppelt sind, dass sie die Operation der Schaltungsanordnung zusätzlich zu der Kombinatorik-Schaltungsanordnung beeinflussen.An integrated circuit according to claim 1, wherein selected sensing elements are coupled so that they are the operation of the circuit additionally affect the combinatorial circuitry. Verfahren zum Betreiben einer integrierten Schaltung, die mehrere Abtastkanäle (SC1-SC4) besitzt, wovon jeder eine Anzahl von Abtastelementen (EC11–EC44) enthält, umfassend die folgenden Schritte: a) Einkoppeln eines vorgegebenen Musters in ein erstes Element (EC11–EC41) jedes der mehreren Abtastkanäle (SC1–SC4); wobei für jeden der mehreren Abtastkanäle (SC1–SC4) mit einer Anzahl von Abtastelementen, die größer als ein Element ist, der Abtastkanal ein erstes Element in dem Abtastkanal und ein letztes Element in dem Abtastkanal umfasst; wobei für jeden der mehreren Abtastkanäle mit einer Anzahl von Abtastelementen, die gleich einem Element ist, dieses eine Element sowohl das erste Element als auch das letzte Element in dem Abtastkanal ist; dadurch gekennzeichnet, dass das Verfahren ferner die folgenden Schritte umfasst: b) Inkrementieren eines Zählers (23); c) Erfassen des Musters im letzten Element (EC15, EC28, EC36, EC44) jedes der mehreren Abtastkanäle; d) Bestimmen, ob die erfassten Muster das vorgegebene Muster sind, und Wiederholen der Schritte a) bis d), falls sie nicht das vorgegebene Muster sind; e) Bestimmen der Anzahl von Abtastelementen im längsten der mehreren Abtastkanäle durch einen Zählwert des Zählers (23).A method of operating an integrated circuit having a plurality of scanning channels (SC1-SC4), each of which includes a number of sensing elements (EC1 1 -EC4 4 ), comprising the steps of: a) coupling a predetermined pattern into a first element (EC1 1 -EC4 1 ) each of the plurality of scan channels (SC1-SC4); wherein for each of the plurality of scan channels (SC1-SC4) having a number of scan elements larger than an element, the scan channel comprises a first element in the scan channel and a last element in the scan channel; wherein for each of the plurality of scan channels having a number of scan elements equal to one element, that one element is both the first element and the last element in the scan channel; characterized in that the method further comprises the steps of: b) incrementing a counter ( 23 ); c) detecting the pattern in the last element (EC1 5 , EC2 8 , EC3 6 , EC4 4 ) of each of the plurality of scan channels; d) determining whether the detected patterns are the predetermined pattern and repeating steps a) to d) if they are not the predetermined pattern; e) determining the number of sampling elements in the longest of the plurality of sampling channels by a counter value of the counter ( 23 ). Verfahren nach Anspruch 20, das ferner vor dem Schritt des Einkoppelns eines vorgegebenen Musters in ein erstes Element jedes der mehreren Abtastkanäle den Schritt des Setzens aller Werte in dem ersten Element (EC11–EC41) jedes der mehreren Abtastkanäle (SC1–SC4) auf einen vorgegebenen Zustand umfasst.The method of claim 20, further comprising the step of setting all the values in the first element (EC1 1 -EC4 1 ) of each of the plurality of scan channels (SC1-SC4) prior to the step of coupling a predetermined pattern to a first element of each of the plurality of scan channels includes a predetermined state. Verfahren nach Anspruch 21, das ferner den Schritt umfasst, bei dem während einer Prüfbetriebsart in Reaktion auf die vorgegebene Anzahl von Abtastelementen im längsten der mehreren Abtastkanäle eine Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen (EC11–EC41) der Abtastkanäle gekoppelt wird.The method of claim 21, further comprising the step of, during a test mode, coupling an output set of check bits to corresponding first elements (EC1 1 -EC4 1 ) of the scan channels in response to the predetermined number of samples in the longest of the plurality of scan channels. Verfahren nach Anspruch 22, das ferner den Schritt umfasst, bei dem während einer Abtastbetriebsart in Reaktion auf die vorgegebene Anzahl von Abtastelementen im längsten der mehreren Abtastkanäle, die gleich einer ganzen Zahl N ist, eine Ausgangsmenge von Prüfbits mit entsprechenden ersten Elementen der Abtastkanäle N-mal gekoppelt wird.The method of claim 22, further comprising the step includes, during which a sampling mode in response to the predetermined number of sampling elements in the longest the multiple scan channels, which is equal to an integer N, an initial set of check bits corresponding first elements of the scan channels N times is coupled.
DE60025789T 1999-12-20 2000-11-24 Logical Built-In Self Test (LBIST) Control circuits, systems and methods with automatic determination of the maximum scan chain length Expired - Lifetime DE60025789T2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17284599P 1999-12-20 1999-12-20
US172845P 1999-12-20
US09/696,326 US6654920B1 (en) 1999-12-20 2000-10-25 LBIST controller circuits, systems, and methods with automated maximum scan channel length
US696326 2000-10-25

Publications (2)

Publication Number Publication Date
DE60025789D1 DE60025789D1 (en) 2006-04-13
DE60025789T2 true DE60025789T2 (en) 2006-08-31

Family

ID=26868521

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60025789T Expired - Lifetime DE60025789T2 (en) 1999-12-20 2000-11-24 Logical Built-In Self Test (LBIST) Control circuits, systems and methods with automatic determination of the maximum scan chain length

Country Status (3)

Country Link
US (1) US6654920B1 (en)
EP (1) EP1113279B1 (en)
DE (1) DE60025789T2 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715105B1 (en) * 2000-11-14 2004-03-30 Agilent Technologies, Inc. Method for reducing stored patterns for IC test by embedding built-in-self-test circuitry for chip logic into a scan test access port
US20030074620A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Configurable asic memory bist controller employing multiple state machines
US20030074618A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Dual mode ASIC BIST controller
US6901543B2 (en) * 2001-10-12 2005-05-31 Sun Microsystems, Inc. Utilizing slow ASIC logic BIST to preserve timing integrity across timing domains
US6996760B2 (en) * 2001-10-12 2006-02-07 Sun Microsystems ASIC BIST employing stored indications of completion
US6981191B2 (en) * 2001-10-12 2005-12-27 Sun Microsystems, Inc. ASIC logic BIST employing registers seeded with differing primitive polynomials
US20030074619A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Memory bist employing a memory bist signature
US20030074616A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. ASIC BIST controller employing multiple clock domains
JP2003344500A (en) * 2002-05-29 2003-12-03 Nec Electronics Corp Macro test circuit
JP4274806B2 (en) * 2003-01-28 2009-06-10 株式会社リコー Semiconductor integrated circuit and scan test method
US7506210B1 (en) 2003-06-26 2009-03-17 Xilinx, Inc. Method of debugging PLD configuration using boundary scan
KR100594257B1 (en) * 2004-02-26 2006-06-30 삼성전자주식회사 System-on-chip having built-in self test circuits and self test method of the same
US7480843B1 (en) * 2004-09-29 2009-01-20 Xilinx, Inc. Configuration access from a boundary-scannable device
US7272761B2 (en) * 2004-11-04 2007-09-18 International Business Machines Corporation Method, system, and program product for controlling test data of a logic built-in self-test of an integrated circuit
US7272764B2 (en) * 2004-11-04 2007-09-18 International Business Machines Corporation Method, system, and program product for boundary I/O testing employing a logic built-in self-test of an integrated circuit
US7224638B1 (en) 2005-12-15 2007-05-29 Sun Microsystems, Inc. Reliability clock domain crossing
US7627065B2 (en) * 2005-12-21 2009-12-01 Sun Microsystems, Inc. Generating a clock crossing signal based on clock ratios
US20070266283A1 (en) * 2006-05-01 2007-11-15 Nec Laboratories America, Inc. Method and Apparatus for Testing an Integrated Circuit
TWI312075B (en) * 2006-11-30 2009-07-11 Ind Tech Res Inst Scan test data compression method and decoding apparatus for multiple-scan-chain designs
US7823035B2 (en) * 2007-05-15 2010-10-26 International Business Machines Corporation System and methods of balancing scan chains and inserting the balanced-length scan chains into hierarchically designed integrated circuits
US8205125B2 (en) * 2009-10-23 2012-06-19 Texas Instruments Incorporated Enhanced control in scan tests of integrated circuits with partitioned scan chains
US8856720B2 (en) 2013-01-03 2014-10-07 International Business Machines Corporation Test coverage of integrated circuits with masking pattern selection
US9052900B2 (en) 2013-01-29 2015-06-09 Oracle International Corporation Serdes fast retrain method upon exiting power saving mode
US9182445B2 (en) * 2013-05-06 2015-11-10 Broadcom Corporation Integrated circuit with toggle suppression logic
US9244756B1 (en) 2014-07-30 2016-01-26 International Business Machines Corporation Logic-built-in-self-test diagnostic method for root cause identification
US9798893B2 (en) 2015-01-29 2017-10-24 International Business Machines Corporation Secure format-preserving encryption of data fields
US9964591B2 (en) * 2016-04-19 2018-05-08 International Business Machines Corporation Implementing decreased scan data interdependence in on product multiple input signature register (OPMISR) through PRPG control rotation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2839950B1 (en) * 1978-09-14 1979-10-25 Ibm Deutschland Device for determining the length of any shift register
US4503537A (en) * 1982-11-08 1985-03-05 International Business Machines Corporation Parallel path self-testing system
US4959832A (en) * 1988-12-09 1990-09-25 International Business Machines Parallel pseudorandom pattern generator with varying phase shift
US5333139A (en) * 1992-12-30 1994-07-26 Intel Corporation Method of determining the number of individual integrated circuit computer chips or the like in a boundary scan test chain and the length of the chain
US5642362A (en) * 1994-07-20 1997-06-24 International Business Machines Corporation Scan-based delay tests having enhanced test vector pattern generation
US6442723B1 (en) * 1999-05-12 2002-08-27 International Business Machines Corporation Logic built-in self test selective signature generation

Also Published As

Publication number Publication date
EP1113279A3 (en) 2003-11-12
EP1113279B1 (en) 2006-02-01
EP1113279A2 (en) 2001-07-04
US6654920B1 (en) 2003-11-25
DE60025789D1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
DE60025789T2 (en) Logical Built-In Self Test (LBIST) Control circuits, systems and methods with automatic determination of the maximum scan chain length
DE60221836T2 (en) METHOD AND DEVICE FOR OPTIMIZED PARALLEL TESTING AND ACCESS TO ELECTRONIC CIRCUIT
DE102006059156B4 (en) Method for testing an integrated circuit chip with at least two circuit cores and integrated circuit chip and test system
DE60211659T2 (en) METHOD AND DEVICE FOR DIAGNOSIS OF FAILURES IN AN INTEGRATED CIRCUIT USING TYPES OF DESIGN FOR DEBUG (DFD) TECHNOLOGY
DE102006059158B4 (en) Integrated circuit chip with at least two circuit cores and associated method for testing
DE102006009224B4 (en) Selection of a test algorithm in a controller for built-in memory self-test
DE60225898T2 (en) MULTI-DETECTION DFT SYSTEM FOR DETECTING OR FINDING EXCEEDING CIRCUIT BREAKDOWN ERRORS DURING SELF-TESTING OR SCAN TESTING
DE4221748C2 (en) Bypass scan path and integrated circuit device with at least one such bypass scan path
DE60218498T2 (en) ELECTRONIC DEVICE
DE602004009284T2 (en) Systems and methods to process automatically generated test patterns
DE60309931T2 (en) CONNECTING MULTIPLE TEST ACCESS PORTS CONTROL UNITS THROUGH A RETAIL ACCESS PORT
EP0144078A2 (en) Method and arrangement using the scan-path technique to test a circuit
DE2349324A1 (en) METHOD AND DEVICE FOR TESTING FUNCTIONAL LOGICAL CIRCUITS
DE602004009329T2 (en) METHOD AND SYSTEM FOR SELECTIVELY MASKING TEST RESPONSES
DE112008000542T5 (en) Methods and apparatus for estimating a position of a stuck defect in a scan chain of a test object
DE102016116717A1 (en) Scan chain circuit that supports injection of a logical self-test pattern at runtime
DE102005026403B4 (en) A method of providing sample patterns to an electronic device
DE60306164T2 (en) METHOD AND CONTROL LOGIC FOR TESTING MULTIPLE TAPS (TEST ACCESS PORTS) FROM A SINGLE TAP
DE102021128331B3 (en) INTEGRATED CIRCUIT, TEST ARRANGEMENT AND METHOD OF TESTING AN INTEGRATED CIRCUIT
DE102005046588B4 (en) Apparatus and method for testing and diagnosing digital circuits
DE602004006236T2 (en) TESTING ELECTRONIC CIRCUITS
DE2902375A1 (en) LOGIC BLOCK FOR INTEGRATED DIGITAL CIRCUITS
EP1430320B1 (en) Electronic component and method for measuring its qualification
DE10338922B4 (en) Electrical diagnostic circuit and method for testing and / or diagnosis of an integrated circuit
DE602005005084T2 (en) TESTABLE INTEGRATED CIRCUIT

Legal Events

Date Code Title Description
8364 No opposition during term of opposition