DE602005003302T2 - Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen - Google Patents

Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen Download PDF

Info

Publication number
DE602005003302T2
DE602005003302T2 DE602005003302T DE602005003302T DE602005003302T2 DE 602005003302 T2 DE602005003302 T2 DE 602005003302T2 DE 602005003302 T DE602005003302 T DE 602005003302T DE 602005003302 T DE602005003302 T DE 602005003302T DE 602005003302 T2 DE602005003302 T2 DE 602005003302T2
Authority
DE
Germany
Prior art keywords
logic block
test
signature
logic
flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602005003302T
Other languages
English (en)
Other versions
DE602005003302D1 (de
Inventor
Venkat Chary Sunnyvale Mushirabad
Rajanatha San Jose Shettigara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tamiras Per Pte Ltd LLC
Original Assignee
Genesis Microchip Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Genesis Microchip Inc filed Critical Genesis Microchip Inc
Publication of DE602005003302D1 publication Critical patent/DE602005003302D1/de
Application granted granted Critical
Publication of DE602005003302T2 publication Critical patent/DE602005003302T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details

Description

  • 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.

Claims (18)

  1. Halbleitervorrichtung (101), umfassend: einen Logikblock (102), welcher eine Gruppe von Flip-Flops und Speichern aufweist, die mit einem Taktsignal (114) und einem Rücksetzsignal (115) verbunden sind; einen Mustergenerator (103), um einen Satz von Testsignalen zu erzeugen, um durch den Logikblock (102) verarbeitet zu werden; einen Signaturspeicher (104), um basierend auf einem Satz von Ausgaben, welche durch den Logikblock (102) bei einer Verarbeitung der Testsignale erzeugt werden, eine Testsignatur zu erzeugen; gekennzeichnet durch eine eingebaute Selbsttest-Logikschaltung (BIST-Logikschaltung) (105), um die Flip-Flops und Speicher zu initialisieren und einen Test des Logikblocks (102) zu initiieren, indem die folgende Sequenz durchgeführt wird: (a) Ausblenden des Taktsignals (114); (b) Aktivieren des Rücksetzsignals (115); (c) Wiederaufnehmen des Taktsignals (114), während das Rücksetzsignal (115) aktiv gehalten wird; (d) wieder Ausblenden des Taktsignals (114); und (e) Deaktivieren des Rücksetzsignals (115), wobei das Initialisieren der Flip-Flops und Speicher bewirkt, dass sie gleichzeitig trotz Veränderungen im Zeitverhalten oder Übertragungsverzögerungen des Rücksetzsignals (115) über den Flip-Flops und Speichern bekannte Werte speichern.
  2. Halbleitervorrichtung (101) nach Anspruch 1, wobei die BIST-Logikschaltung (105) weiter die Testsignatur mit einer Referenzsignatur vergleicht, wobei die Referenzsignatur das Ergebnis einer fehlerfreien Verarbeitung des Satzes von Taktsignalen durch den Logikblock (102) darstellt.
  3. Halbleitervorrichtung (101) nach Anspruch 2, wobei die Referenzsignatur berechnet wird, indem ein fehlerfreier Betrieb des Logikblocks (102) bezüglich des Satzes der Testsignale simuliert wird.
  4. Halbleitervorrichtung (101) nach Anspruch 1, wobei der Logikblock (102) einen Logikblock (102) eines Videodecoders zum Dekodieren von Videosignalen um fasst, und wobei der Mustergenerator (103) den Satz der Testsignale gemäß einem Standard, welcher ausgewählt ist aus der Gruppe bestehend aus NTSC, PAL, SECAM, Composite Video, S-Video und Component Video oder gemäß von nicht standardisierten Eingaben erzeugt, um eine Fehlerüberdeckung zu erhöhen.
  5. Halbleitervorrichtung (101) nach Anspruch 1, wobei der Signaturspeicher (104) eine zyklische Redundanzprüfung (CRC) umfasst, um die Testsignatur zu erzeugen, indem inkrementell die Gruppe von Ausgaben, welche durch den Logikblock (102) erzeugt wird, komprimiert wird.
  6. Halbleitervorrichtung (101) nach Anspruch 1, wobei die BIST-Logikschaltung (105) die Zeiten bestimmt, zu welchen der Signaturspeicher (104) den Satz der Ausgaben, welcher durch den Logikblock (102) erzeugt wird, liest.
  7. Halbleitervorrichtung (101) nach Anspruch 1, wobei der Logikblock (102) ein Speicherelement aufweist, wobei die BIST-Logikschaltung (105) darüber hinaus zur Initialisierung des Speicherelements dieses auf bekannte Werte setzt.
  8. Verfahren zum Testen eines Logikblocks (102), welcher eine Gruppe von Flip-Flops, welche mit einem Taktsignal (114) und einem Rücksetzsignal (115) verbunden sind, aufweist, wobei das Verfahren umfasst: Initialisieren (201) der Gruppe der Flip-Flops; Erzeugen (202) eines Satzes von Testsignalen, um durch den Logikblock (102) verarbeitet zu werden; und Erzeugen (203) einer Testsignatur basierend auf einem Satz von Ausgaben, welcher durch eine Verarbeitung der Testsignale durch den Logikblock (102) erzeugt wird; wobei das Initialisieren der Gruppe der Flip-Flops die folgende Sequenz umfasst: (a) Ausblenden des Taktsignals (114); (b) Aktivieren des Rücksetzsignals (115); (c) Wiederaufnehmen des Taktsignals (114), während das Rücksetzsignal (115) aktiv gehalten wird; (d) wieder Ausblenden des Taktsignals (114); und (e) Deaktivieren des Rücksetzsignals (115), und bewirkt, dass sie gleichzeitig trotz Veränderungen im Zeitverhalten oder Übertragungsverzögerungen des Rücksetzsignals über den Flip-Flops bekannte Werte speichern.
  9. Verfahren nach Anspruch 8, weiter umfassend: Vergleichen (204) der Testsignatur mit einer Referenzsignatur, wobei die Referenzsignatur das Ergebnis einer fehlerfreien Verarbeitung des Satzes der Testsignale durch den Logikblock (102) darstellt.
  10. Verfahren nach Anspruch 9, wobei die Referenzsignatur berechnet wird, indem ein fehlerfreier Betrieb des Logikblocks (102) bezüglich des Satzes der Testsignale simuliert wird.
  11. Verfahren nach Anspruch 8, wobei der Logikblock (102) einen Logikblock (102) eines Videodecoders zum Dekodieren von Videosignalen umfasst, und wobei der Satz der Testsignale gemäß einem Standard, welcher ausgewählt ist aus der Gruppe bestehend aus NTSC, PAL, SECAM, Composite Video, S-Video und Component Video erzeugt wird.
  12. Verfahren nach Anspruch 8, wobei das Erzeugen (203) der Testsignatur eine inkrementelle Komprimierung des Satzes der Ausgaben umfasst, welcher durch den Logikblock (102) erzeugt wird.
  13. Verfahren nach Anspruch 12, wobei die inkrementelle Komprimierung des Satzes der Testausgaben eine Verwendung eines linear rückgekoppelten Schieberegisters (LFSR) umfasst.
  14. Verfahren nach Anspruch 8, wobei das Erzeugen (202) eines Satzes von Testsignalen durch einen Mustergenerator (103) ausgeführt wird, welcher sich in derselben Halbleitervorrichtung wie der Logikblock (102) befindet.
  15. Verfahren nach Anspruch 8, wobei das Erzeugen (203) einer Testsignatur durch einen Signaturspeicher (104) ausgeführt wird, welcher sich in derselben Halbleitervorrichtung wie der Logikblock befindet.
  16. Verfahren nach Anspruch 8, wobei das Initialisieren (201) des Satzes der Flip-Flops durch eine eingebaute Selbsttestschaltung (105) (BIST-Logik) ausgeführt wird, welche sich in derselben Halbleitervorrichtung wie der Logikblock (102) befindet.
  17. Verfahren nach Anspruch 8, wobei der Logikblock (102) ein Speicherelement aufweist, darüber hinaus umfassend: Initialisieren des Speicherelements, indem es mit bekannten Werten gesetzt wird.
  18. Verfahren nach Anspruch 17, wobei das Setzen des Speicherelements die folgende Sequenz umfasst: (a) Ausblenden des Taktsignals (114); (b) Aktivieren des Rücksetzsignals (115); (c) Wiederaufnehmen des Taktsignals (114), während das Rücksetzsignal (115) aktiv gehalten wird; (d) wieder Ausblenden des Taktsignals (114); und (e) Deaktivieren des Rücksetzsignals (115).
DE602005003302T 2004-10-15 2005-09-21 Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen Active DE602005003302T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US61920104P 2004-10-15 2004-10-15
US619201P 2004-10-15
US11/141,763 US7398443B2 (en) 2004-10-15 2005-05-31 Automatic fault-testing of logic blocks using internal at-speed logic-BIST
US141763 2005-05-31

Publications (2)

Publication Number Publication Date
DE602005003302D1 DE602005003302D1 (de) 2007-12-27
DE602005003302T2 true DE602005003302T2 (de) 2008-03-06

Family

ID=35708890

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005003302T Active DE602005003302T2 (de) 2004-10-15 2005-09-21 Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen

Country Status (8)

Country Link
US (1) US7398443B2 (de)
EP (1) EP1647828B1 (de)
JP (1) JP5336692B2 (de)
KR (1) KR101268611B1 (de)
AT (1) ATE378608T1 (de)
DE (1) DE602005003302T2 (de)
SG (1) SG121944A1 (de)
TW (1) TWI370907B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200821606A (en) * 2006-07-10 2008-05-16 Asterion Inc Digital waveform generation and measurement in automated test equipment
KR20080019078A (ko) * 2006-08-22 2008-03-03 삼성전자주식회사 순환 중복 검사를 이용한 테스트 방법 및 이를 이용하는디지털 장치
TWI312076B (en) 2006-10-19 2009-07-11 Via Tech Inc Apparatus and related method for chip i/o test
TWI304889B (en) 2006-10-26 2009-01-01 Via Tech Inc Method and related apparatus for testing chip
US8675076B2 (en) * 2009-07-21 2014-03-18 Qualcomm Incorporated System for embedded video test pattern generation
US20110029827A1 (en) * 2009-07-29 2011-02-03 International Business Machines Corporation Method, apparatus, and design structure for built-in self-test
US9222971B2 (en) * 2013-10-30 2015-12-29 Freescale Semiconductor, Inc. Functional path failure monitor
US9665934B2 (en) * 2014-10-28 2017-05-30 Texas Instruments Incorporated Apparatus for detecting faults in video frames of video sequence
KR102549438B1 (ko) * 2016-09-27 2023-06-29 삼성전자주식회사 순차 회로, 이를 포함하는 스캔 체인 회로 및 집적 회로
US20190197929A1 (en) * 2017-12-26 2019-06-27 Novatek Microelectronics Corp. Driving apparatus of display panel and operation method thereof
CN111782448A (zh) * 2020-07-01 2020-10-16 长沙景嘉微电子股份有限公司 芯片自检测方法、装置、芯片、显示系统及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513318A (en) * 1982-09-30 1985-04-23 Allied Corporation Programmable video test pattern generator for display systems
US5416784A (en) 1991-10-28 1995-05-16 Sequoia Semiconductor Built-in self-test flip-flop with asynchronous input
JP3192225B2 (ja) * 1992-07-15 2001-07-23 松下電工株式会社 クロック信号・同期リセット信号発生回路
EP0642083A1 (de) * 1993-09-04 1995-03-08 International Business Machines Corporation Prüfschaltkreis und Verfahren zum Prüfen von Chipverbindungen
KR19990069337A (ko) * 1998-02-06 1999-09-06 윤종용 복합 반도체 메모리장치의자기 테스트 회로 및 이를 이용한 자기 테스트 방법
JP2001074811A (ja) * 1999-09-03 2001-03-23 Hitachi Ltd 半導体集積回路
US6684358B1 (en) * 1999-11-23 2004-01-27 Janusz Rajski Decompressor/PRPG for applying pseudo-random and deterministic test patterns
JP4883850B2 (ja) * 2001-06-29 2012-02-22 ルネサスエレクトロニクス株式会社 半導体装置
US20030074619A1 (en) 2001-10-12 2003-04-17 Dorsey Michael C. Memory bist employing a memory bist signature
US20030074618A1 (en) * 2001-10-12 2003-04-17 Dorsey Michael C. Dual mode ASIC BIST controller
JP2003302448A (ja) * 2002-04-09 2003-10-24 Kawasaki Microelectronics Kk テスト回路
US7305173B2 (en) * 2002-06-20 2007-12-04 Sony Corporation Decoding device and decoding method
US8621304B2 (en) * 2004-10-07 2013-12-31 Hewlett-Packard Development Company, L.P. Built-in self-test system and method for an integrated circuit

Also Published As

Publication number Publication date
JP5336692B2 (ja) 2013-11-06
KR20060092963A (ko) 2006-08-23
ATE378608T1 (de) 2007-11-15
KR101268611B1 (ko) 2013-05-29
TWI370907B (en) 2012-08-21
EP1647828B1 (de) 2007-11-14
US7398443B2 (en) 2008-07-08
TW200624843A (en) 2006-07-16
DE602005003302D1 (de) 2007-12-27
JP2006113058A (ja) 2006-04-27
SG121944A1 (en) 2006-05-26
EP1647828A1 (de) 2006-04-19
US20060107151A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
DE602005003302T2 (de) Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE602004009284T2 (de) Systeme und Verfahren um automatisch generiertes Testmuster zu verarbeiten
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE69834892T2 (de) Eingebetteter Logikanalysator
DE10244757B3 (de) Programmierung eines Speicherbausteins über ein Boundary Scan-Register
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE19952272B4 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE60023882T2 (de) System auf einem Chip mit reprogrammierbarem Testgerät, Fehlerbeseitiger und Busüberwachung
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap
DE10315248A1 (de) Eingebaute Selbsttestschaltung
DE102006024507A1 (de) Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE102009012768B4 (de) JTAG Nachrichtenbox
DE102020108216A1 (de) Verfahren und Vorrichtungen zum Durchführen von Design for Debug über eine Protokollschnittstelle
DE60309761T2 (de) Methode und Vorrichtung zum Testen von Hochgeschwindigkeits-Verbindungsschaltungen
DE60112723T2 (de) Lssd schnittstelle
WO2003027696A2 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE102009010886A1 (de) Erkennung der Verzögerungszeit in einem eingebauten Speicherselbsttest unter Anwendung eines Ping-Signals
EP3739479B1 (de) Verfahren zur fehlersuche in der programmlogik eines systems verteilter programmierbarer gatteranordnungen
DE60200289T2 (de) Übergangsanpassung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: TAMIRAS PER PTE. LTD., LLC, DOVER, DEL., US