-
Die
vorliegende Erfindung betrifft im Allgemeinen einen Hardwaretest
und insbesondere einen automatischen mit Geschwindigkeit ablaufenden Test
auf Fehler von logischen Blöcken
bzw. Logikblöcken,
wobei BIST-(Built-In Self Test)-Logikschaltungen
(eingebaute Selbsttestlogikschaltungen) eingesetzt werden.
-
Ein
Testen von digitalen Logikblöcken
wird im Allgemeinen ausgeführt,
indem eine Vorrichtung zum automatischen Testen (ATE) und Scan-Ketten
in dem digitalen Logikblock eingesetzt werden. Obwohl dieser Ansatz
funktioniert, werden die Tests mit Geschwindigkeiten bzw. Taktraten
durchgeführt,
welche langsamer als die vorgesehene Betriebsgeschwindigkeit des
digitalen Logikblocks unter Test sind. Daher wird eine Logik, welche
bei Geschwindigkeit oder bei einer erwünschten Geschwindigkeit einen
Fehler erzeugt, aber bei geringen Geschwindigkeiten den Test besteht,
nicht erfasst. Darüber
hinaus testen solche Tests im Allgemeinen nicht die Makro-Schnittstelle
zu der digitalen Logik. Da die Schnittstellen zwischen den Makros
und der Logik im Allgemeinen individuell getestet werden, können Anschlussfehler daher
nicht erfasst werden. Des Weiteren ermöglicht eine komplexe ATE-Schnittstelle
keinen geeigneten Test eines Chips im Feld durch einen Außendienstingenieur.
-
Die
US-5416784 diskutiert eine
BIST-Architektur, bei welcher ein Stimulus-Generator mit einer Schaltung unter
Test gekoppelt ist und Testmuster erzeugt. Ein Antwortkomprimierer
sammelt Antworten von der Schaltung unter Test und komprimiert diese, um
eine Kenngröße auszubilden,
welche als eine Signatur bezeichnet wird.
-
Dementsprechend
wird ein System und ein Verfahren benötigt, um bei Geschwindigkeit
einen gesamten Logikblock zu testen, wobei eine einfache ATE-Schnittstelle eingesetzt
wird.
-
Erfindungsgemäß wird eine
Halbleitervorrichtung, wie sie in dem beigefügten Anspruch 1 definiert ist,
bereitgestellt. Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Testen eines Logikblockes, wie es in dem beigefügten Anspruch 8 definiert ist,
bereitgestellt.
-
Um
die vorab stehenden und andere Aufgaben zu lösen, wird erfindungsgemäß ein System
und ein Verfahren bereitgestellt, um automatisch einen Logikblock
und die Schnittstellen einer Halbleitervorrichtung (eines Chips)
auf Fehler zu testen, wobei innerhalb des Chips eine mit Geschwindigkeit
arbeitende BIST-Logikschaltung
eingesetzt wird. Einer Initialisierung von inneren Speicherelementen,
wie z.B. von Flip-Flops oder statischen Direktzugriffsspeichern
(SRAMs), folgend werden Gruppen von Testsignalen erzeugt, um durch
den Logikblock verarbeitet zu werden. Die Ausgabe des Logikblocks
wird in einer Testsignatur gesammelt bzw. gespeichert und mit einer
Referenzsignatur verglichen, um Fehler zu erfassen. Das Testen kann
auf einer ATE durchgeführt werden,
wobei ein einfacher Testvektor eingesetzt wird, und kann von einem
Außendienstingenieur
auf der aktuellen Baugruppe, welche den Chip umfasst, durchgeführt werden.
Der ATE-Vektor ist einfach, da es nur notwendig ist, die BIST-Logikschaltung
anzusteuern, ohne sich mit externen Einschränkungen bezüglich eines Zeitverhaltens
zu beschäftigen.
-
Erfindungsgemäße Ausführungsformen
werden im Folgenden beispielhaft mit Bezug auf die beigefügten Zeichnungen
beschrieben.
-
1 ist
ein Blockdiagramm, welches eine integrierte Schaltung eines Videodecoders
gemäß einer
erfindungsgemäßen Ausführungsform
darstellt;
-
2 ist
eine schematische Darstellung einer Gruppe von Flip-Flops mit einem
Eingangstaktbaum und Rücksetzleitungen
gemäß einer
erfindungsgemäßen Ausführungsform;
-
3 ist
eine Darstellung von Zeitverläufen, welche
eine Initialisierung von Flip-Flops
gemäß einer
erfindungsgemäßen Ausführungsform
darstellt;
-
4 ist
eine Darstellung von Zeitabläufen, welche
eine Initialisierung von Speichern gemäß einer erfindungsgemäßen Ausführungsform
darstellt; und
-
5 ist
ein Flussplan, welcher ein Verfahren darstellt, um einen Logikblock
gemäß einer
erfindungsgemäßen Ausführungsform
bei Geschwindigkeit auf Fehler zu testen.
-
In
der folgenden Beschreibung werden zahlreiche spezielle Details dargelegt,
damit die vorliegende Erfindung vollständig verstanden werden kann.
Es ist jedoch klar, dass der Fachmann die vorliegende Erfindung
ohne einige oder alle diese speziellen Details ausführen kann.
In anderen Fällen
sind ein gut bekannter Hard- Ware-Entwurf,
ein Betrieb einer Hardware und Testprozesse nicht im Detail beschrieben
worden, um die vorliegende Erfindung nicht unnötig zu verschleiern.
-
Dementsprechend
werden ein System und ein Verfahren bereitgestellt, um die Logik
und die Schnittstellen einer Halbleitervorrichtung (eines Chips)
automatisch auf Fehler zu testen, wobei eine mit Geschwindigkeit
arbeitende BIST („Built-In
Self Test")-Logikschaltung
(eingebaute Selbsttestlogikschaltung) innerhalb des Chips eingesetzt
wird. Die Erfindung ermöglicht,
dass ein Test auf einer ATE unter Verwendung eines einfachen Testvektors
ausgeführt
wird. Sie ermöglicht
auch, dass ein Außendienstingenieur
Tests auf einer Systemebene auf der aktuellen Baugruppe, welche
den Chip umfasst, ausführt, wann
immer ein Zweifel über
die Funktionalität
des Chips auftritt. Der ATE-Vektor ist einfach, da er nur die BIST-Logikschaltung ansteuern
muss, ohne sich mit Einschränkungen
bezüglich
eines externen Zeitverhaltens zu beschäftigen, da sich die BIST-Logikschaltung
innerhalb des Chips befindet.
-
Im
Folgenden wird die Erfindung im Zusammenhang mit einem Test eines
Logikblocks eines Videodecoders beschrieben. Diese Ausführungsform ist
jedoch beispielhaft, und es sollte klar sein, dass die Technik zum
Test irgendeines Typs von digitalen Logikblöcken, wie z.B. Audiodecodern,
digitalen Signalprozessoren (DSPs) und anderen Daten-Pipes, eingesetzt
werden kann.
-
1 ist
ein Blockdiagramm, welches eine integrierte Schaltung eines Videodecoders
gemäß einer
erfindungsgemäßen Ausführungsform
darstellt. Eine integrierte Schaltungsbaugruppe 101 (hier
im Folgenden auch als ein "Chip" bezeichnet) umfasst einen
Videodecoderlogikblock 102, welcher eine funktionelle Logik
bereitstellt, um ein Video decodierende Vorgänge auf digitalen Eingangssignalen 109 durchzuführen. Die
digitalen Eingangssignale 109 werden von entsprechenden
analogen Eingangssignalen 110 des Chips 101 durch
einen oder mehrere Analog-Digital-Wandler 106 gewandelt.
-
Ein
Mustergenerator 103 ist vorhanden, um Testsignale 112 für den Videodecoder 102 bereitzustellen.
Ein Multiplexer 108 multiplext vorzugsweise gewandelte
Eingangssignale 110 und Testsignale 112, welche
durch den internen Mustergenerator 103 erzeugt werden.
Ein Signaturspeicher 104 ist vorhanden, um den Ausgang
des Videodecoders 102 wie auch irgendwelche erwünschten
Signale innerhalb des Videodecoders 102 zu den erwünschten
Zeiten abzuspeichern. Eine BIST- Logikschaltung 105 innerhalb
des Chips 101 ist vorhanden, um den Mustergenerator 103,
den Videodecoder 102 und den Signaturspeicher 104 und/oder
andere Teile des Chips (wie z.B. die PLL 113) zur Koordinierung
der Tests zu programmieren. Die BIST-Logikschaltung 105 programmiert
den Mustergenerator 103, um Testsignale zu erzeugen, welche
Rahmenbedingungen und seltene Fälle
umfassen, um so viel von der Funktionalität des Videodecoders 102 auszuüben und
zu testen, wie es erwünscht
ist, um dadurch die Wahrscheinlichkeit einer Erfassung von logischen
Fehlern, wie z.B. von Stuck-At-Fehlern in den Gattern, und von Laufzeitfehlern,
zu erhöhen.
-
Um
einen deterministischen Satz von Werten von Ausgaben 111 des
Videodecoders abhängig
von einem vorgegebenen Satz von Werten von Eingängen 112, welche durch
den Mustergenerator 103 erzeugt sind, zu erzeugen, werden
logische Rückkopplungselemente,
wie z.B. Flip-Flops und Speicher, innerhalb des Videodecoders 102 zuerst
initialisiert. Der Videodecoder 102 kann als eine Daten-Pipe betrachtet werden.
Eine Initialisierung wird erzielt, indem der Videodecoder 102 in
einen Zustand getrieben wird, wo solche Flip-Flops und Speicher
zu Beginn der Pipe beschrieben werden und in dem wiederholt Rücksetzsignale
für diese
Elemente erzeugt werden, wodurch bewirkt wird, dass sie bekannte Werte
annehmen. Eine wiederholte Anwendung dieser Technik bewirkt, dass
auch eine Logik weiter unten in der Pipe auch deterministische Werte
annimmt. Dies wird fortgesetzt, bis alle erforderlichen Flip-Flops
und Speicher initialisiert sind. Es sei angemerkt, dass rücksetzbare
Flip-Flops anstelle der nicht rücksetzbaren
Flip-Flops in dem
Videodecoder 102 eingesetzt werden können, um diese Technik anzuwenden.
-
Um
einen Versatz des Eingangstaktsignals 114 (welches z.B.
durch einen Phasenregelkreis 113 erzeugt wird) handhaben
zu können,
können,
wie es schematisch in 2 dargestellt ist, einige der Flip-Flops 116 ihre
Taktsignale 114 durch eine Gruppe von Puffern 117 empfangen,
welche einen Pufferbaum ausbilden, wobei die Zweige des Pufferbaums in
die entsprechenden Flip-Flops 116 führen. Für die Flip-Flops 116,
welche durch den Pufferbaum erreicht werden, stellt der Pufferbaum
ein bekanntes Zeitfenster bereit, währenddessen alle diese Flip-Flops 116 eine
Taktflanke sehen. Wenn die Takte jedoch über einen Pufferbaum mit den
Flip-Flops 116 verbunden sind, aber die Rücksetzleitungen 115 nicht über einen
Pufferbaum zu den Flipflops 116 befördert werden und stattdessen
direkt angelegt sind, (wie es oft in einem Logikblock der Fall ist),
können die
Taktflanken unterschiedliche Flip-Flops 116 zu unterschiedlichen
Zeiten erreichen. Darüber
hinaus kann ein bestimmtes Flip-Flop 116 das Rücksetzsignal 115 manchmal
vor der Taktflanke und manchmal nach der Taktflanke empfangen. Da
das Rücksetzsignal 115 im
Allgemeinen während
eines Einschaltens angelegt wird, ergeben sich möglicherweise unterschiedliche
Flip-Flop-Werte für
unterschiedliche Anschaltfälle.
-
Obwohl
eine Scan-Kette eingesetzt werden könnte, um die Flip-Flops mit
bekannten Werten zu versehen, kann die Robustheit eines Zeitverhaltens von
Scan-Ketten Schwierigkeiten
bereiten. Daher ist es wünschenswert,
eine Initialisierung der Flip-Flop-Werte in dem Funktionsmodus des
Videodecoders 102 anzugehen, ohne Scan-Ketten einzubeziehen.
Ein einfaches Aufbringen eines Rücksetzsignals
bewerkstelligt keine geeignete Initialisierung der Flip-Flops, da
das Rücksetzsignal
notwendigerweise nicht alle Flip-Flops auf derselben Taktflanke erreicht.
Dies bewirkt, dass einige Flip-Flops ein oder mehrere Taktzyklen
vor anderen Flip-Flops
zurückgesetzt
werden, wobei die Flip-Flops, welche früher zurückgesetzt worden sind, möglicherweise,
zum Beispiel auf Grund einer Rückkopplungslogik,
ihre Werte ändern,
während
andere Flip-Flops zurückgesetzt
werden. Zum Beispiel hängt
bei einigen Teilblöcken
der Logik, welche eine Rückkopplung
umfassen, wie z.B. denjenigen, welche Filter mit einer unendlichen
Impulsantwort (IIR) umfassen, der Ausgang nicht nur von momentanen
Eingängen,
sondern auch von vorherigen Werten der Ausgänge ab.
-
Um
dies anzugehen, blendet die BIST-Logikschaltung 105 das
Taktsignal 114 aus, wie es schematisch in 3 gemäß einer
erfindungsgemäßen Ausführungsform
dargestellt ist. Ein Ausblenden des Taktsignals 114 trennt
es von dem Rücksetzsignal 115,
so dass Ungenauigkeiten bei dem Zeitverhalten einer Aktivierung
des Rücksetzsignals 115 oder
Verzögerungen
in der Weiterleitung des Rücksetzsignals 115 nicht
bewirken, dass das Rücksetzsignal 115 verschiedene
Elemente zu verschiedenen Taktzyklen erreicht. Dies verhindert,
dass unbekannte Werte in bereits zurückgesetzte Speicher oder Flip-Flops
weitergeleitet werden.
-
Das
Taktsignal 114 wird über
wenige Taktzyklen 118 ausgeblendet, während denen das Rücksetzsignal 115 aktiviert
wird (für
das in 3 dargestellte Beispiel ist aktiv gleich niedrig).
Das Taktsignal 114 wird für das Rücksetzsignal 115 lang
genug ausgeblendet, um es zu all den Elementen zu führen, welche
unter Verwendung des Rücksetzsignals 115 zu
initialisieren sind. Während
das Rücksetzsignal 115 aktiv
gehalten wird, wird der Takt 114 für eine Anzahl von Zyklen 119 wiederaufgenommen,
wodurch diejenigen Elemente, welche durch das Rücksetzsignal 115 erreicht
werden, zurückgesetzt
werden. In unserem Beispiel ist herausgefunden worden, dass 4 von
20 Taktzyklen korrekt arbeiten, und dies kann für den bestimmten Logikblock
unter Test eingestellt werden. Das Taktsignal 114 wird
dann wieder für
wenige Taktzyklen 120 ausgeblendet, während denen das Rücksetzsignal 115 deaktiviert
wird, wodurch all den zurückgesetzten
Elementen ermöglicht
wird, bei der nächsten
Taktflanke ein nicht aktives Rücksetzsignal 115 zu
empfangen.
-
Eine
praktische obere Grenze bei der Anzahl von Taktzyklen, welche benötigt werden,
um die Logikblöcke
vollständig
zu initialisieren, kann unter Verwendung eines Softwaresimulators
bestimmt werden, welcher den Betrieb des Logikblocks 102 simuliert.
Unbekannte Bitwerte von Flip-Flops oder Speichern in dem Simulator
können
als "unbekannt" oder "nicht initialisiert" bezeichnet werden
und durch den Logikblock 102 propagiert werden, bis sie
durch bekannte Werte ersetzt werden. Die Anzahl der Taktzyklen kann
erhöht
werden, bis es keine unbekannten Werte mehr gibt, und die sich ergebende
Anzahl von Taktzyklen kann dann verwendet werden, um den Logikblock 102 zu
testen.
-
Zusätzlich zu
einer Initialisierung von Flip-Flops werden Speicher beschrieben,
so dass sie vor einem Test bekannte Werte annehmen. In einem Videodecoder 102 werden
die meisten Speicher nicht für
einen Direktzugriff sondern als Verzögerungsglieder verwendet, wobei
ein Speicherelement, welches n Speicherstellen umfasst, als ein
n-Verzögerungsglied
dient. Die Eingaben zu solch einem n-Verzögerungsglied
wandern sequenziell über
die n Speicherzellen, wobei jede Eingabe bereit steht, nach einer Verzögerung von
n Verschiebungen ausgelesen zu werden. Um ein n-Verzögerungsglied
in einen bekannten Zustand mit einem bekannten Satz von Werten zu
bringen, werden daher insgesamt n bekannte Werte in das n-Verzögerungsglied
eingeführt.
-
Da
ein bestimmtes n-Verzögerungsglied
einen Eingang von einem Flip-Flop aufnehmen kann, dessen Wert jede
m Taktzyklen aktualisiert wird, werden n·m Taktzyklen benötigt, um
solch ein n-Verzögerungsglied
in einen bekannten Zustand zu bringen. Um dies zu erreichen blendet
die BIST-Logikschaltung 105 das Eingangstaktsignal 114 für wenige
Taktzyklen 121 aus, während
denen das Rücksetzsignal 115 aktiv
wird, wie es schematisch in 4 gemäß einer
erfindungs gemäßen Ausführungsform
dargestellt ist. Während
das Rücksetzsignal 115 aktiv
gehalten wird, wird der Takt 114 für n·m Taktzyklen 122 wiederaufgenommen,
um die Eingänge
zu dem n-Verzögerungsglied
zurückzusetzen
und dadurch das n-Verzögerungsglied
zu setzen. Das Taktsignal 114 wird dann wieder für wenige
Taktzyklen 123 ausgebledet, während denen das Rücksetzsignal 115 deaktiviert
wird, wodurch all den zurückgesetzten Elementen
ermöglicht
wird, bei der nächsten
Taktflanke ein nicht aktives Rücksetzsignal 115 zu
empfangen. Dieser Prozess kann wiederholt werden (wie er in 4 dargestellt
ist), um n-Verzögerungsglieder weiter
unten in der Pipe zu setzen. Wie bei der Initialisierung der Flip-Flops
kann eine Softwaresimulation eingesetzt werden, um eine geeignete
Anzahl für eine
Darstellung der theoretischen n·m-Figur zu bestimmen wie
auch die Werte zu bestimmen, welche am Ende einer solchen Initialisierung
in den n-Verzögerungsgliedern
gespeichert sind.
-
Nachdem
die Flip-Flops und Speicher initialisiert sind, aktiviert die BIST-Logikschaltung 105 den Mustergenerator 103.
Der Mustergenerator 103 umfasst vorzugsweise ein oder mehrere
Register, welche durch die BIST-Logikschaltung 105 programmiert
werden können,
um einen Betriebsmodus des Mustergenerators 103 darzustellen
und eine Gruppe von zu erzeugenden Testsignalen auszuwählen. Die Signale 112,
welche durch den Mustergenerator erzeugt werden, können Standards,
wie z.B. NTSC (National Television Standards Committee), PAL (Phase
Alternation Line), SECAM (Systeme Electronique Couleur avec Memoire),
Composite-Video (Farbbild-Austauschsynchronsignal), S-Video („Separate”-Video),
Component-Video, oder einen anderen ähnlichen Standard aufweisen.
Der Mustergenerator kann auch nicht standardisierte Signale, (wie z.B.
Zufallssignale, Pseudozufallssignale oder andere nicht vorhersagbare
Signale) erzeugen, welche die Testüberdeckung erhöhen können. Es
sei angemerkt, dass abhängig
von der bestimmten Form des Eingangssignals einige Teile des Videodecoders 102 ungetestet
bleiben können,
da nicht jeder Teil des Videodecoders 102 beim Dekodieren
jedes Eingangssignals 109 eingreift. Daher erzeugt der
Mustergenerator 103, um den Videodecoder 102 vollständig zu testen,
geeignete Signalmuster, um so viele Abschnitte und Funktionalitäten des
Videodecoders wie erwünscht
einzubinden und zu testen. Es sei angemerkt, dass, da Videodecoder
im Allgemeinen einige innere Logik aufweisen, damit Testsignale
auf einer Anzeige bereitgestellt werden, der erfindungsgemäße Mustergenerator 103 kein
umfangreiches Gatteroverhead bezüglich
des Tests aufweisen muss.
-
Eine
ATE oder ein anderer externer Mechanismus kann eingesetzt werden,
um die BIST-Logikschaltung 105 anzusteuern und ein Testen
des Videodecoders 102 zu initiieren, wobei eine Betriebsart spezifiziert
wird, welche von einer Gruppe von Betriebsarten ausgewählt wird,
welche für
den Videodecoder 102 verfügbar ist. Die BIST-Logikschaltung 105 programmiert
den Mustergenerator 103, um einen Satz von Testdaten für den Videodecoder 102 zu erzeugen,
programmiert den Videodecoder 102, um ihn in einer erwünschten
Betriebsart zu betreiben, um die erzeugten Testdaten zu verarbeiten,
und programmiert den Signaturspeicher 104, um die Ausgabe
von dem Videodecoder 102 zu speichern. Die BIST-Logikschaltung 105 programmiert
den Mustergenerator 103, den Videodecoder 102,
den PLL 113 und den Signaturspeicher 104, indem
sie mit ihnen über
den Bus 107 entsprechend ihren Programmschnittstellen (wie
z.B. einer Gruppe von Registern zur Entgegennahme von Anweisungen
und Eingaben und optional zur Anzeige von Ausgaben) kommuniziert.
-
Der
Signaturspeicher 104 verwendet einen CRC-(zyklischen Redundanzprüfungs) Mechanismus,
um die gesamte Ausgabe des Decoders in einer Signatur zu sammeln.
Im Wesentlichen werden die Ausgabewerte des Videodecoders 102 in
einem einzigen Wert komprimiert, welcher als die "Testsignatur" bezeichnet wird
(oder alternativ in einer Gruppe von Werten komprimiert). Die CRC
stellt sicher, dass sich die Testsignatur von einer korrekten Referenzsignatur
auch bei einer geringen Änderung
(wie z.B. einer Änderung
von einem Bit) der Ausgabe des Decoders 102 unterscheidet.
Die BIST-Logikschaltung 105 bestimmt die tatsächlichen
Zeiten, zu welchen der Signaturspeicher 104 die aufeinanderfolgenden Ausgaben
des Videodecoders 102 liest. Am Ende eines Testes ist der
endgültige
Wert (die Signatur), welche in dem CRC-Ausgangsregister gespeichert
ist, eine Funktion der Folge von Ausgaben, welche während des
Tests durch den Videodecoder 102 erzeugt wurden.
-
Wenn
ein bestimmter Test vorgegeben ist, kann eine Referenzsignatur,
welche eine fehlerfreie Verarbeitung durch den Videodecoder 102 darstellt, unter
Verwendung einer Softwaresimulation berechnet werden. Die BIST-Logikschaltung 105 kann
bewirken, dass die endgültigen
Werte in ein Register geschrieben werden, welches dann gelesen und
mit den Werten, welche durch die Softwaresimulation vorhergesagt
sind, verglichen wird. Eine Übereinstimmung
zeigt einen guten Chip (d.h. ein korrektes Funktionieren des Logikblocks)
an, während
eine fehlerhafte Übereinstimmung
einen Fehler in dem Logikblock des Videodecoders 102 anzeigt.
Es sei angemerkt, dass eine fehlerhafte Übereinstimmung der Signatur
einen Fehler in dem Logikblock unter Test anzeigt und keinen Bug
in dem zu Grunde liegenden Algorithmus, welcher durch den Logikblock ausgeführt wird,
da die Referenzsignatur erhalten wird, indem der Logikblock simuliert
wird. Es sollte auch klar sein, dass die Bits, welche durch das
CRC in einer Testsignatur gesammelt werden, zusätzlich zu dem direkten Ausgang 111 des
Videodecoders 102 jegliche anderen internen Signalleitungen
des Videodecoders 102 umfassen können. Dies ermöglicht einen
Test von bestimmten Unterblöcken
oder ein Eingrenzen von Fehlern in bestimmten Bereichen des Videodecoders 102.
-
5 ist
ein Flussdiagramm, welches ein Verfahren zum Testen von Fehlern
bei Geschwindigkeit eines Logikblocks gemäß einer erfindungsgemäßen Ausführungsform
darstellt. Bei Schritt 201 werden die Flip-Flops und Speicher
des Logikblocks 102 initialisiert. Bei Schritt 202 steuert
die interne BIST-Logiksteuerung derart an, dass Testsignale erzeugt
werden, um durch den Logikblock 102 verarbeitet zu werden.
Bei Schritt 203 wird eine Testsignatur von der Ausgabe
des Logikblocks 102 erzeugt. Schließlich wird bei Schritt 204 die
Testsignatur mit einer Referenzsignatur verglichen, um zu entscheiden,
ob der Logikblock 102 den Test bestanden hat oder nicht.
-
Obwohl
die Erfindung im Zusammenhang mit einem Logikblock eines Videodecoders
beschrieben worden ist, sollte klar sein, dass sie auch eingesetzt
werden kann, um andere Typen von Logikblöcken zu testen, welche eine
Gruppe von Eingangssignalen aufnehmen und deterministisch eine Gruppe von
Ausgangssignalen erzeugen. Beispiele von solchen Logikblöcken umfassen
Audiodecoder, DSPs und andere Daten-Pipes.
-
Ein
Vorteil der vorliegenden Erfindung ist die Fähigkeit, ein Testen auf Fehler
eines Logikblocks bei einer vorgesehenen Betriebsgeschwindigkeit
des Logikblocks ohne den Einsatz einer komplexen ATE zur Zuführung des
Takts und der Testdaten in der richtigen Phase durchzuführen.
-
Ein
anderer Vorteil der vorliegenden Erfindung ist die Fähigkeit,
einen vorgegebenen Logikblock im Feld zu testen. Ein Logikblock,
welcher in einen Chip eingebaut ist und einen Teil einer integrierten
Schaltungsbaugruppe ausmacht, kann durch einen Außendienstingenieur
getestet werden, indem einfach der Chip derart umprogrammiert wird,
dass eine Testbetriebsart eingegeben wird, wobei Kosten ver mieden
werden, welche sonst anfallen, um die Baugrube oder den Chip zu
einem Tester mit einer komplexen oder spezialisierten Testvorrichtung
zu bringen.
-
Ein
anderer Vorteil der vorliegenden Erfindung ist die Fähigkeit,
mehr Gatter und Makros (wie z.B. Speicher und PLLs) zu testen, als
wenn ein Scan-Ketten-Testverfahren
eingesetzt wird. Einige Logikblöcke
umfassen aufgrund eines auf Scan-Ketten basierenden Testansatzes
Multiplexer, welche zwei Arten einer Eingabe in einen Speicher führen: eine
Eingabe umfasst eine Gruppe von Gattern, um einen Abschnitt der
Funktionalität
des Logikblocks bereitzustellen, während die andere Eingabe eine Gruppe
von Gattern umfasst, um eine Testeingabe für den Speicher zu erzeugen.
Da ein typischer auf Scan-Ketten basierender Ansatz die Gatter und
die Speicher getrennt testet, werden die Multiplexer nicht getestet
und können
Stuck-At-Fehler oder andere Fehler, welche die Funktionalität des Logikblocks umfassen,
aufweisen. Im Gegensatz dazu testet die vorliegende Erfindung den
Logikblock in einem vollen Funktionsbetrieb und als Ganzes, was
Fehler zum Vorschein bringt, welche unentdeckt bleiben würden, wenn
Abschnitte des Logikblocks getrennt getestet werden.
-
Ein
anderer Vorteil der vorliegenden Erfindung ist die Bereitstellung
einer einfachen ATE-Schnittstelle. Da nahezu alles intern innerhalb des
Chips abläuft
und die BIST-Logikschaltung den Chip steuert, indem die Takt- und
die Rücksetzleitungen
ausgeblendet werden, wird die ATE-Schnittstelle einfach gehalten
und stellt eine Möglichkeit
bereit, die BIST-Logikschaltung einfach zu programmieren, um Testbetriebsarten
auszuwählen,
die Tests durchzuführen
und die Testergebnisse zu sammeln.
-
Ein
anderer Vorteil der vorliegenden Erfindung ist, dass anders als
bei anderen BIST-Logikschaltungsansätzen die bereitgestellten Testfälle nicht
zufällig
sind, sondern derart entworfen sind, dass so viele Merkmale des
Logikblockss, wie es erwünscht
ist, getestet werden. Diese Möglichkeit
erhöht
die Wahrscheinlichkeit Stuck-At-Fehler in den meisten Gattern zu
erfassen.
-
Die
vorab beschriebenen erfindungsgemäßen Ausführungsformen sind als Abbildungen
und Beschreibungen vorhanden. Sie sollen die Erfindung, welche genau
beschrieben ist, nicht einschränken. Andere
Variationen und Ausführungsformen
sind im Licht der vorab genannten Lehren möglich, und daher soll der Umfang
der Erfindung nicht durch diese detaillierte Beschreibung, sondern
nur durch die folgenden Ansprüche,
einschränkt
sein.