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.