DE602004009329T2 - Verfahren und system zum selektiven maskieren von testantworten - Google Patents

Verfahren und system zum selektiven maskieren von testantworten Download PDF

Info

Publication number
DE602004009329T2
DE602004009329T2 DE602004009329T DE602004009329T DE602004009329T2 DE 602004009329 T2 DE602004009329 T2 DE 602004009329T2 DE 602004009329 T DE602004009329 T DE 602004009329T DE 602004009329 T DE602004009329 T DE 602004009329T DE 602004009329 T2 DE602004009329 T2 DE 602004009329T2
Authority
DE
Germany
Prior art keywords
masking
circuit
test
mask
data
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
DE602004009329T
Other languages
English (en)
Other versions
DE602004009329D1 (de
Inventor
Hendrikus P. Vranken
Andreas Glowatz
Friedrich Hapke
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of DE602004009329D1 publication Critical patent/DE602004009329D1/de
Application granted granted Critical
Publication of DE602004009329T2 publication Critical patent/DE602004009329T2/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/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/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • 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/31719Security aspects, e.g. preventing unauthorised access during test
    • 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/318566Comparators; Diagnosing the device under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Testen einer integrierten Schaltung (IC) mit einem Kompaktor zum Komprimieren der Testantworten von einer unter Test stehenden Schaltung, die Teil einer IC ist, und mit einer Maskierungsschaltung, die zwischen die unter Test stehende Schaltung und dem Kompaktor zum Maskieren einer oder mehrerer der Testantworten von der unter Test stehenden Schaltung geschaltet ist.
  • Die vorliegende Erfindung bezieht sich auch auf ein Verfahren zum Testen einer IC.
  • Die Erfindung bezieht sich außerdem auf ein Verfahren zum Berechnen komprimierter Maskierungsdaten zum Maskieren von Testdaten von einer IC.
  • Es ist von Vorteil, Testantworten von einer IC zu komprimieren, da dies eine Reduzierung des Testdatenvolumens und der Testzeit ermöglicht. Die Werte einiger Testantworten können jedoch nicht von vorn herein bestimmt werden, während andere Testantworten drei Zustände annehmen oder unzuverlässig sein können. Diese unbekannten, drei Zustände annehmenden und unzuverlässigen Testantworten werden als 'X'-Testantworten bezeichnet und machen ein zuverlässiges Komprimieren der Testantworten sehr schwierig oder sogar unmöglich.
  • Produktionstests für ICs werden typischerweise mit automatisierten Testeinrichtungen (ATE) durchgeführt, die auch als IC-Tester bezeichnet werden. Eine ATE speichert Teststimuli und führt diese Stimuli der IC zu. Die anschließenden Antworten der IC werden dann von der ATE beobachtet oder ausgewertet. Die ATE vergleicht die beobachteten Antworten mit den erwarteten Antworten einer fehlerfreien IC. Dies ermöglicht es, zu bestimmen, ob die IC den Test bestanden oder nicht bestanden hat, und die Fehler zu diagnostizieren. Die ATE speichert die Teststimuli und die fehlerfreien Testantworten in ihrem Speicher.
  • Digitale ICs enthalten üblicherweise Abtastketten. Dieses impliziert, dass die Flip-Flops in der IC im Testbetrieb zu seriellen Schieberegistern konfiguriert werden können, d. h. zu Abtastketten (scan chains). Ein Test wird wiederholt folgendermaßen durchgeführt: (1) Einschieben eines Teststimulus in die Abtastketten der IC im Testbetrieb, (2) Betreiben der IC für eine Anzahl von Taktzyklen in ihrem Funktionsanwendungsmodus und (3) Ausschieben der Testantworten im Testbetrieb. Wenn die Testantworten ausgeschoben werden, werden üblicherweise neue Teststimuli eingeschoben.
  • Ständige Verbesserungen in der IC-Prozesstechnologie erlauben nach dem Moore-schen Gesetz eine exponentielle Zunahme der Anzahl von Transistoren in einer IC. Dementsprechend steigen die Testdatenvolumina ebenfalls exponentiell an. Neue IC-Prozesstechnologien führen zu neuen Fehlerarten, und zusätzliche Tests sind notwendig, um diese Fehler festzustellen, was wiederum zu einer Zunahme der Testdatenvolumina führt. Diese deutliche Zunahme von Testdatenvolumina schafft kritische Probleme in Bezug auf die Benutzung von ATEs und in Bezug auf die Testkosten. Die Testdatenvolumina können die Kapazität der Speicher der ATEs überschreiten und die Zeit zur Durchführung der Tests nimmt zu.
  • Lösungen ergeben sich durch Techniken der Testdaten-Kompression und Techniken der eingebauten Selbstprüfung (BIST = Built-In-Self-Test). Diese Techniken kompaktieren die Testantworten raum- und/oder zeitmäßig durch Benutzung spezieller Schaltungen zur Testanworten-Kompaktierung, wie zum Beispiel eines Multiple-Input Signature Registers (MISR) oder einer Space-Compaction Logik (SCL). Diese Kompaktierungs-Schaltungen können entweder auf dem Chip, nicht auf dem Chip, d. h. zum Beispiel auf der Testschaltung (load-board), oder in der ATE untergebracht sein. Die Kompaktierungs-Schaltung gibt kompaktierte Testantworten aus, die durch die ATE beobachtet und mit den erwarteten, kompaktierten Antworten einer fehlerfreien Schaltung verglichen werden. Somit muss nun die ATE nur die kompaktierten Testantworten speichern, was die Speichererfordernisse reduziert.
  • Ein Problem ist mit dem Stand der Technik verbunden und besteht darin, dass einige Testantworten unterdrückt oder maskiert werden müssen, bevor die Testantworten kompaktiert werden können. Dies ist der Fall bei Ternär-Zuständen (tri state) (Z), unbekannten (U) und unzuverlässigen Testantworten, d. h. 'X'-Antworten.
  • Ternär-Testantworten haben einen Hochimpedanz-Zustand (Z) und können z. B. von bi-direktionalen Eingang/Ausgang-Stiften herrühren.
  • Unbekannte Testantworten haben einen unbekannten Wert (U) und können z. B. von nicht initialisierten, eingebetteten Speichern, Mischsignal-Modulen und/oder widersprüchlichen oder schwebenden (floating) Bussen herrühren. Auch wenn der erste Stimulus in eine IC eingeschoben wird, können unbekannte Werte aus der IC ausgeschoben werden. Eine unbekannte Testantwort impliziert eine Testantwort, die entweder logisch niedrig (L), d. h. 0, logisch hoch (H), d. h. 1 oder Ternär-Zustand (Z) ist, aber ihre Antwort kann nicht bestimmt werden, bevor der Test durchgeführt ist.
  • Unzuverlässige Testantworten haben ein unzuverlässiges Resultat, das falsch sein kann. Dies kann zum Beispiel in Schaltungen mit Mehrfachtaktbereichen auftreten, in denen unzuverlässige Testantworten aufgrund von Taktverschiebungen auftreten können, wenn die Signalleitungen geprüft werden, die Taktbereichsgrenzen kreuzen.
  • Das Kompaktieren von Testantworten, die 'X'-Antworten enthalten, führt zu unzuverlässigen kompaktierten Testantworten, die nicht benutzt werden können, um zu bestimmen, ob die Schaltung in der IC den Test besteht oder nicht besteht, oder eine Diagnose der Fehler durchzuführen. Somit kann keine Kompaktierung der Testantworten für Schaltungen durchgeführt werden, die 'X'-Antworten erzeugt.
  • Ternär-Zustände, unbekannte und unzuverlässige Werte in Testantworten sollten entweder unterdrückt, d. h. maskiert, oder am Auftreten gehindert werden.
  • Eine Teillösung nach dem Stand der Technik besteht darin, unbekannte Testantworten innerhalb der Schaltung durch Hinzufügen geeigneter Design-for-Testability (DfT) Hardware zu klären. Zum Beispiel können Testpunkte in Signalleitungen mit unbekannten Werten eingefügt werden, die die Signalleitungen auf einen bekannten, fixierten Wert zwingen. Das Hinzufügen von DfT an die Schaltung zum Verhindern von unbekannten Werten erfordert jedoch eine, häufig manuelle, Modifikation der Schaltung. Dies kann in Fällen von 'hard cores' unmöglich sein, in denen nur das Schaltungslayout verfügbar ist, oder unerwünscht in Fällen, in denen die DfT-Hardware das Timing derart beeinträchtigt, dass die getestete Schaltung nicht mit der erforderlichen Frequenz betrieben werden kann.
  • Eine zu bevorzugende Lösung erfordert, dass alle ternären, unbekannten und unzuverlässigen Testantworten am Ausgang der IC maskiert werden, bevor sie in die Kompaktierungsschaltung gelangen. Dies kann mit einer X-Maskierungslogik (XML) erzielt werden. Die XML maskiert alle 'X'-Antworten, in denen 'X' entweder eine ternäre (Z), eine unbekannte (U) oder eine unzuverlässige Testantwort anzeigt. Das Maskieren impliziert, dass die 'X'-Antwort durch einen bekannten, festen Wert ersetzt wird, zum Beispiel ein logisches hoch (H). Ein Beispiel einer solchen Anordnung ist in der US-Patentanmeldung US-A-2003/0115521 beschrieben. Wird die XML auf dem Chip implementiert, sollte der zusätzliche Siliziumbereich für die XML idealerweise klein sein. Außerdem sollte die XML flexibel in der Weise sein, dass sie in Fällen verschiedener erzielter Testantworten benutzt werden kann, zum Beispiel aufgrund verschiedener Testmuster oder bei Konstruktionsänderungen. Der Betrieb der XML kann von der ATE gesteuert werden. In einem solchen Fall sollte die Menge der in der ATE gespeicherten Daten für die Steuerung der XML auch idealerweise klein sein. Darüber hinaus sollten die Bandbreitenanforderungen zum Transport dieser Daten von der ATE zur IC ebenfalls idealerweise gering sein. Leider wurden im Stand der Technik verschiedene XML-Implementierungen vorgeschlagen, die die vorher erwähnten Anforderungen nicht vollständig erfüllen.
  • Der Erfindung liegt die Aufgabe zugrunde, die Menge der Testdaten zu reduzieren.
  • In einem ersten Aspekt der Erfindung wird die Aufgabe dadurch gelöst, dass die Maskierungsschaltung darüber hinaus eine Dekompressionsschaltung zum Empfangen von komprimierten Maskierungsdaten von der Vorrichtung enthält und dekomprimierte Maskierungsdaten liefert.
  • In einer vorteilhaften Ausführungsform der vorliegenden Erfindung kann die Dekompressionsschaltung darüber hinaus ein Schieberegister mit linearem Feedback enthalten.
  • In einer anderen vorteilhaften Ausführungsform der vorliegenden Erfindung kann die Dekompressionsschaltung darüber hinaus einen Phasenschieber enthalten.
  • In einer weiteren vorteilhaften Ausführungsform der vorliegenden Erfindung kann die Dekompressionsschaltung darüber hinaus eine Gewichtungslogik enthalten.
  • In noch einer weiteren vorteilhaften Ausführungsform der vorliegenden Erfindung können die komprimierten Maskierungsdaten mindestens ein Steuersignal enthalten.
  • In noch einer weiteren vorteilhaften Ausführungsform der vorliegenden Erfindung ist das zumindest eine Steuersignal ein alles maskierendes (mask_all) Steuersignal.
  • In noch einer weiteren vorteilhaften Ausführungsform der vorliegenden Erfindung ist das zumindest eine Steuersignal ein die Maskierung aktivierendes (mask_enable) Steuersignal.
  • In einem zweiten Aspekt der vorliegenden Erfindung wird die Aufgabe dadurch gelöst, dass der Dekompressionsschaltung komprimierte Maskierungsdaten zugeführt werden, dass die komprimierten Maskierungsdaten dekomprimiert werden, um dekomprimierte Maskierungsdaten zu erzeugen, und dass Testantworten von der integrierten Schaltung abhängig von den dekomprimierten Maskierungsdaten maskiert werden.
  • In einem dritten Aspekt der vorliegenden Erfindung wird die Aufgabe dadurch gelöst, dass ein Satz von Gleichungen, die den Maskierungsdaten zugeordnet sind, erzeugt werden, und dass die Gleichungen gelöst werden, um die komprimierten Maskierungsdaten zu erhalten.
  • Für ein besseres Verständnis der Vorrichtung nach der Erfindung und um deutlicher zu zeigen, wie sie ausgeführt werden kann, wird nun in Form eines Beispiels auf die beigefügten Zeichnungen Bezug genommen.
  • 1 zeigt ein Beispiel einer X-Maskierungslogik (XML) nach der vorliegenden Erfindung,
  • 2 zeigt ein detaillierteres Beispiel einer X-Maskierungslogik (XML) nach der vorliegenden Erfindung und
  • 3 zeigt ein Beispiel eines Flussdiagramms einer automatische Testmustergeneratoreinrichtung (ATPG) zum Berechnen von XML-Steuersignalen.
  • 1 zeigt ein Beispiel einer X-Maskierungslogik (XML) nach der vorliegenden Erfindung. 1 enthält eine IC 10, die selbst eine zu prüfende Schaltung 14, die XML 18 und einen Kompaktor 22 aufweist. Die zu prüfende Schaltung 14 enthält n Abtastketten (scan chains) SC1 bis SCn, deren Ausgänge über die XML 18 mit dem Kompaktor 22 verbunden sind, um Testantworten von der zu prüfenden Schaltung 14 zu kompaktieren. Der Kompaktor 22 kann zum Beispiel durch ein Multiple-Input Signature Register (MISR) oder eine Space Compaction Logic (SCL) implementiert werden; solche Implementationen sind im Stand der Technik bekannt. Obwohl 1 zeigt, dass die XML 18 und der Kompaktor 22 als Teile in der IC 10 enthalten sind, können die XML 18 und/oder der Kompaktor 22 auch außerhalb des Chips zum Beispiel auf der Testschaltung (load-board) der automatischen Testeinrichtung (ATE) oder sogar innerhalb einer ATE (nicht gezeigt) selbst untergebracht sein.
  • Die XML 18 enthält ein Schieberegister mit linearem Feedback (LFSR) 26, einen Phasenschieber mit einer Gewichtungslogik 30 und eine Steuerlogik 34. Die XML 18 wird von der ATE unter Benutzung von Steuersignalen mask_all (maskiere alles) und mask_enable (Maskierung aktiviert) gesteuert. Die ATE aktualisiert in jedem Taktzyklus die logischen Zustände der XML 18 durch Eingangsanschlüsse, die die Signale m1 bis mq, d. h. die komprimierten Maskierungsdaten, liefern.
  • Gemäß der vorliegenden Erfindung ermöglicht die XML 18 eine Reduzierung der Menge der in der ATE zu speichernden Maskierungsdaten. Dementsprechend muss die ATE q + 2 Bits pro Taktzyklus speichern, die die Signale mask_all, mask_enable und m1 bis mq repräsentieren. Diese q + 2 Bits werden durch die XML 18 in eine Maske von n Ausgangsbits dekomprimiert, wobei q << n ist. Ohne XML 18 gemäß der vorliegenden Erfindung müsste die XML normalerweise eine n-Bit Maske für jeden Taktzyklus speichern, und n IC-Eingangsstifte wären erforderlich, um eine solche Maske von der ATE zur IC 10 zu übertragen. Bei der Benutzung der XML 18 gemäß der Erfindung hat die ATE den Vorteil, dass sie nur q + 2 Bits der XML 18-Daten speichern muss, die die Steuer- und Maskierungsdatensignale mask_all, mask_enable und m1 bis mq für jeden Taktzyklus repräsentieren, und nur q + 2 IC-Eingangsstifte sind erforderlich, um diese Daten von der ATE zur IC 10 zu übertragen.
  • 2 zeigt ein weiter detailliertes Beispiel einer X-Maskierungslogik (XML) nach der vorliegenden Erfindung.
  • Die als Beispiel dienende XML 18 der 2 zeigt: eine zu prüfende Schaltung 14, die vier Abtastketten SC1 bis SC4, ein 4-Bit-LFSR 26, einen Phasenschieber 30 und eine Steuerlogik 34 mit drei Stufen.
  • Das in 2 gezeigte LFSR 26 hat einen bekannten Aufbau und enthält ein Schieberegister sowie ein Feedback-Netzwerk aus XOR-Gates. Das LFSR 26, das die komprimierten Maskierungsdaten von der ATE empfängt, hat eine Breite von p Bits, d. h., dass sein Schieberegister enthält p Flip-Flops: in diesem Beispiel ist p = 4. Bei jedem Taktzyklus wird der Zustand des LFSR 26 partiell aktualisiert unter Benutzung von q Maskierungsdatenbits von der ATE, hierbei ist q ≤ p bei den Eingangssignalen m1 bis mq: in diesem Beispiel ist q = 1. Dieses Aktualisieren kann zum Beispiel durch Hinzufügen von XOR-Gates zu dem Schieberegister erfolgen, wobei der Eingang jedes von i XOR-Gates angeschlossen ist, ein entsprechendes Eingangssignal mi zu empfangen: hierbei ist 1 ≤ i ≤ q. Das LFSR 26 führt einen partiellen Dekompressionsvorgang aus, um die komprimierten Maskierungsdaten von der ATE zu dekomprimieren. Die partiell dekomprimierten Ausgangsdaten vom LFSR 26 werden als Eingangsdaten zum Phasenschieber 30 benutzt.
  • Der in 2 gezeigte Phasenschieber 30 ist ebenfalls von bekanntem Aufbau und enthält ein Netzwerk von XOR-Gates. Der Phasenschieber 30 führt einen weiteren Dekompressionsvorgang an den Daten von dem LFSR 26 durch und erzeugt n Ausgangssignale aus p Eingangssignalen, wobei p ≤ n ist, in diesem speziellen Beispiel ist n = 4. Der Phasenschieber 30 ist derart aufgebaut, dass die Ausgangssignale des Phasenschiebers unkorreliert sind, d. h. jedes Ausgangssignal hängt von einem unterschiedlichen Satz von Eingangssignalen ab. Es wird bemerkt, dass dem Phasenschieber 30 Gewichtungslogik (nicht gezeigt) hinzugefügt werden kann, die es ermöglicht, die Wahrscheinlichkeit zu erhöhen (biasing), dass ein bestimmtes Ausgangssignal eine logische 0 oder eine logische 1 ist. Die Gewichtungslogik enthält typischerweise eine gewisse Kombinationslogik, die wahlweise durch zusätzliche Eingangssignale von der ATE gesteuert werden kann.
  • Die n Ausgangssignale (in diesem speziellen Beispiel ist n = 4) des Phasenschiebers 30 werden als Eingangssignale für die Steuerlogik 34 benutzt.
  • Die erste Stufe 36 der Steuerlogik 34 enthält vier AND-Gates, die durch das Steuersignal mask_enable gesteuert werden und die Daten vom Phaseschieber 30 weiter dekomprimiert. Wenn mask_enable logisch 1 ist, sind die entsprechenden Ausgänge der AND-Gates gleich, spiegelbildlich, ihren entsprechend zugeordneten Ausgängen vom Phasenschieber 30. Wenn mask_enable logisch 0 ist, werden die Ausgänge aller AND-Gates auf eine logische 0 gezwungen, und deshalb wird die n-Bit Ausgangsmaske des Phasenschiebers 30 zu einer Ausgangsmaske, die alle eine logische 0 enthalten. Die zweite Stufe 38 der Steuerlogik 34 enthält vier OR-Gates, die durch das Steuersignal mask_all gesteuert werden und die Daten der ersten Stufe 36 weiter dekomprimiert. Wenn mask_all logisch 0 ist, sind die entsprechenden Ausgänge der OR-Gates gleich, spiegelbildlich, ihren entsprechend zugeordneten Ausgängen von der ersten Stufe 36 der Steuerlogik 34. Wenn mask_all logisch 1 ist, werden die Ausgänge aller OR-Gates auf eine logische 1 gezwungen, und deshalb wird die n-Bit-Maske von den Ausgängen der zweiten Stufe 38 der Steuerlogik durch eine n-Bit-Maske ersetzt, die alle logische 1 enthält.
  • Die dritte Stufe 40 der Steuerlogik 34 enthält vier OR-Gates, die operativ angeordnet sind, Ausgangssignale von den Abtastketten SC2 bis SC4 und die Ausgangssignale der zweiten Stufe 38 zu empfangen. Diese dritte Stufe 40 von OR-Gates modifiziert die IC-Testantworten von den Abtastketten SC2 bis SC4 mit der n-Bit-Maske von der zweiten Stufe 38 der Steuerlogik.
  • Die dritte Stufe 40 der Steuerlogik 34 ist immer notwendig, da diese die tatsächliche Maskierung durchführt.
  • Die dritte Stufe 40 wirkt als Maskierungsschaltung, die operativ die n-Bit-Maske von der zweiten Stufe 38 zusammen mit den entsprechenden n Ausgangssignalen über die n Abtastketten SC1 bis SCn von der zu prüfenden Schaltung 14 erhält. In einem ersten Beispiel, in dem ein Ausgangssignal von der zweiten Stufe 38 eine logische 1 ist und einem OR-Gate in der dritten Stufe 40 zugeführt wird, wird dann die entsprechende Testantwort von der entsprechenden Abtastkette durch eine logische 1 ersetzt, und die Testantwort wird als maskiert betrachtet. In einem zweiten Beispiel, in dem ein Ausgangssignal von der zweiten Stufe 38 eine logische 0 ist, passiert die entsprechende Testantwort das OR-Gate und wird deshalb nicht maskiert. Somit zeigt eine logische 1 in einer Maske an, dass die Testantwort der entsprechenden Abtastkette maskiert ist, und wohingegen eine logische 0 in einer Maske anzeigt, dass die Testantwort der entsprechenden Abtastkette nicht maskiert ist. Eine alternative Ausführungsform (nicht dargestellt) der dritten Stufe 40 der 2 würde darin bestehen, dass die OR-Gates durch AND-Gates ersetzt sind. Bei einer solchen Implementation der dritten Stufe 40 mit AND-Gates zeigt eine logische 0 in einer Maske an, dass die Testantwort der entsprechenden Abtastkette maskiert ist, und wohingegen eine logische 1 in einer Maske anzeigt, dass die Testantwort nicht maskiert ist. In einem solchen Fall sollte die dritte Stufe AND-Gates anstelle von OR-Gates enthalten. Somit sollte klar sein, dass die illustrierte Steuerlogik nur eine als Beispiel dienende Ausführung ist und alternative Implementationen mit anderen Arten von logischen Gates ebenfalls möglich sind.
  • Die erste Stufe 36 und/oder die zweite Stufe 38 der Steuerlogik 34 sind ebenso optional wie der Phasenschieber 30, einschließlich dessen zugeordnete Gewichtungslogik.
  • Die Steuerlogik 34 kann auch angepasst werden. Zum Beispiel kann das Steuersignal mask_all derart bearbeitet werden, dass es in zwei solche unabhängige Steuersignale aufgespalten wird. Diese beiden Steuersignale mask_all können dann derart benutzt werden, dass jedes einen Teil der Maskierung der Datenausgangssignale von den Abtastketten SC1 bis SCn steuert. Auf ähnliche Weise kann das Steuersignal mask_enable derart bearbeitet werden, dass es zum Beispiel in zwei unabhängige Steuersignale aufgespalten wird: Die beiden Steuersignale mask_enable können dann derart benutzt werden, dass jedes einen Teil der enable/disable-Maskierung der Datenausgangssignale von den Abtastketten SC1 bis SCn steuert.
  • Die Arbeitsweise der XML 18 wird nun in dem folgenden Beispiel im Detail beschrieben.
  • Das Beispiel der 2 illustriert eine XML 18 für eine zu prüfende Schaltung 14, die vier Abtastketten SC1 bis SC4 enthält. Die XML 18 enthält ein 4-Bit-LFSR 26, einen Phasenschieber 30 und eine dreistufige Steuerlogik.
  • Die Symbole x1, x2, x3 und x4 stellen Anfangswerte, d. h. logische Zustände, des LFSR 26 im Taktzyklus 1 dar. Der Zustand des LFSR 26 in nachfolgenden Taktzyklen kann in der Form der logischen Zustände des LFSR 26 zusätzlich zu dem Zustand des Eingangssignals m von der ATE ausgedrückt werden. Diese Ausdrücke können auf einfache Weise mittels symbolischer Simulation abgeleitet werden. Die logischen Zustände des LFSR 26 in den nächsten fünf Taktzyklen sind wie folgt, wobei LFSRi den Zustand des LFSR 26 im Taktzyklus i anzeigt und mi den Wert des Signals m im Taktzyklus i bedeutet.
    • LFSR1 = (x1, x2, x3, x4)
    • LFSR2 = (x3 ⊕ x4, x1, x2 ⊕ m1, x3)
    • LFSR3 = (x2 ⊕ x3 ⊕ m1, x3 ⊕ x4, x1 ⊕ m2, x2 ⊕ m1)
    • LFSR4 = (x1 ⊕ x2 ⊕ m1 ⊕ m2, x2 ⊕ x3 ⊕ m1,x3 ⊕ x4 ⊕ m3,x1 ⊕ m2)
    • LFSR5 = (x1 ⊕ x3 ⊕ x4 ⊕ m2 ⊕ m3, x1 ⊕ x2 ⊕ m1 ⊕ m2, x2 ⊕ x3 ⊕ m1 ⊕ m4, x3 ⊕ x4 ⊕ m3)
    • LFSR6 = (x2 ⊕ x4 ⊕ m1 ⊕ m3 ⊕ m4, x1 ⊕ x3 ⊕ x4 ⊕ m2 ⊕ m3, x1 ⊕ x2 ⊕ m1 ⊕ m2 ⊕ m5, x2 ⊕ x3 ⊕ m1 ⊕ m4)
  • In ähnlicher Weise können die Ausgangssignale des Phasenschiebers 30 ebenfalls in der Form der Symbole x1, x2, x3, x4 und mi ausgedrückt werden.
    • PS1 = (x1, x1 ⊕ x2, x3, x4)
    • PS2 = (x3 ⊕ x4, x1 ⊕ x3 ⊕ x4, x2 ⊕ m1, x3)
    • PS3 = (x2 ⊕ x3 ⊕ m1,x2 ⊕ x4 ⊕ m1, x1 ⊕ m2, x2 ⊕ m1)
    • PS4 = (x1 ⊕ x2 ⊕ m1 ⊕ m2, x1 ⊕ x3 ⊕ m2, x3 ⊕ x4 ⊕ m3, x1 ⊕ m2)
    • PS5 = (x1 ⊕ x3 ⊕ x4 ⊕ m2 ⊕ m3, x2 ⊕ x3 ⊕ x4 ⊕ m1 ⊕ m3, x2 ⊕ x3 ⊕ m1 ⊕ m4, x3 ⊕ x4 ⊕ m3)
    • PS6 = (x2 ⊕ x4 ⊕ m1 ⊕ m3 ⊕ m4, x1 ⊕ x2 ⊕ x3 ⊕ m1 ⊕ m2 ⊕ m4, x1 ⊕ x2 ⊕ m1 ⊕ m2 m5, x2 ⊕ x3 ⊕ m1 ⊕ m4)
  • Die Ausgänge des Phasenschiebers dienen als Maske. Diese Maske wird in der Steuerlogik weiter aktualisiert unter Benutzung der Eingangssignale mask_enable und mask_all, wie in Tabelle 1 angegeben.
    mask_all mask_enable
    0 0 keine Abtastkette ist maskiert
    0 1 Maskierung der Ausgangssignale von Abtastketten wird durch das LFSR und den Phasenschieber gesteuert
    1 0 alle Ausgangssignale von Abtastketten sind maskiert
    1 1 alle Ausgangssignale von Abtastketten sind maskiert
    Tabelle 1: Steuersignale
  • Es wird angenommen, dass die Testantworten der IC, die an den Ausgängen der Abtastketten SC1 bis SC4 in den obigen sechs Taktzyklen beobachtet werden, wie folgt sind:
    • R1 = (U, U, U, U)
    • R2 = (L, L, H, L)
    • R3 = (H, U, L, H)
    • R4 = (U, H, H, L)
    • R5 = (H, L, L, H)
    • R6 = (L, H, H, L)
  • R4 drückt aus, dass im Taktzyklus vier das Ausgangssignal der Abtastkette 1 SC1 ,U' ist, das Ausgangssignal der Abtastketten 2 und 3 SC2 bis SC3 ,H' ist und das Ausgangssignal der Abtastkette 4 SC4 ,L' ist.
  • Die unterstrichenen Testantworten sind diejenigen, die maskiert werden sollten. Dies ist der Fall der unbekannten Antworten ,U' in R1, R3 und R4 sowie der unzuverlässigen Antwort ,H' in der Abtastkette 3 SC3 in R6.
  • Die fett gedruckten Antworten zeigen ,wesentliche Antworten', an denen ein Fehlereffekt durch die ATE beobachtet werden kann. Die Antworten R1 bis R6 sind Antworten der fehlerfreien, geprüften Schaltung 14, wenn ein bestimmtes Testmuster angelegt wird. Das Testmuster kann das Vorhandensein bestimmter Fehler in der zu prüfenden Schaltung (CUT = circuit-under-test) 14 feststellen. Wenn ein solcher Fehler in der CUT 14 vorhanden ist, dann wird eine oder werden mehrere der wesentlichen Antworten einen unterschiedlichen Wert zeigen, und somit wird ein Fehler erkannt. Die wesentlichen Antworten sollten durch die XML 18 nicht maskiert werden.
  • Die verbleibenden Antworten, die weder unterstrichen noch fett gedruckt sind, sind solche, die entweder logisch niedrig ,L' oder logisch hoch ,H' sind. Dieses sind nicht-wesentliche Antworten, und an diesen Antworten wird kein Fehlereffekt für solche Fehler beobachtet, auf die das Testmuster zielt. Es kann jedoch der Fall sein, dass andere Fehler, auf die das aktuelle Testmuster nicht zielt, zu Fehlereffekten führt, die an diesen Antworten beobachtet werden können. Diese Fehler werden jedoch durch andere Muster erkannt. Somit können die nicht-wesentlichen Antworten maskiert werden, ohne die Fehlererfassung zu beeinträchtigen. Es wird dennoch bevorzugt, diese Antworten nicht zu maskieren, da mehrfaches Erkennen von Fehlern das Erfassen von Fehlern verbessert.
  • Alle Antworten in R1 sollten maskiert werden. Dies wird erreicht durch Einstellen des Steuersignals mask_all auf logisch 1 im Taktzyklus 1. In den Taktzyklen 2 bis 6 wird mask_all auf logisch 0 gestellt.
  • Keine Antworten müssen in R2 und R5 maskiert werden und somit wird das Steuersignal mask_enable in den Taktzyklen 2 und 5 auf logisch 0 eingestellt. In den verbleibenden Taktzyklen ist ein Maskieren erforderlich und mask_enable wird auf logisch 1 eingestellt.
  • In den verbleibenden Testantworten R3, R4 und R6 ist das folgende Maskieren erforderlich:
    • – R3,2, d. h. das Ausgangssignal der Abtastkette 2 im Vektor R3, ist unbekannt ,U' und sollte maskiert werden;
    • – Fehlereffekte können in R3,3, R4,3 und R6,2 beobachtet werden und somit sollten diese wesentlichen Testantworten nicht maskiert werden;
    • – R4,1 ist ebenfalls unbekannt ,U' und sollte maskiert werden;
    • – R6,3 ist eine unzuverlässige Antwort und sollte maskiert werden.
  • Diese Bedingungen können in Kombination mit den symbolischen Ausdrücken für die Maske benutzt werden, wie sie durch das Ausgangssignal des Phasenschiebers 30 gegeben sind. Das Resultat ist das folgende System von linearen Gleichungen.
    • R3,2: x2 ⊕ x4 ⊕ m1 = 1
    • R3,3: x1 ⊕ m2 = 0
    • R4,1: x1 ⊕ x2 ⊕ m1 ⊕ m2 = 1
    • R4,3: x3 ⊕ x4 ⊕ m3 = 0
    • R6,2: x1 ⊕ x2 ⊕ x3 ⊕ m1 ⊕ m2 ⊕ m4 = 0
    • R6,3: x1 ⊕ x2 ⊕ m1 ⊕ m2 ⊕ m5= 1
  • Ein solches System von linearen Gleichungen kann zum Beispiel auf einfache Weise durch Gauß'sche Elimination gelöst werden. Eine mögliche Lösung ist: x1 = 1, x2 = 0, x3 = 1, x4 = 0, m1 = 1, m2 = 1, m3 = 1, m4 = 0 und m5 = 0.
  • Einsetzen dieser Lösung in die symbolischen Gleichungen am Ausgang des Phasenschiebers 30 und Berücksichtigen der Werte der Steuersignale mask_enable und mask_all führt zu den folgenden Masken:
    • Maske1 = (1, 1, 1, 1)
    • Maske2 = (0, 0, 0, 0)
    • Maske3 = (0, 1, 0, 1)
    • Maske4 = (1, 1, 0, 0)
    • Maske5 = (0, 0, 0, 0)
    • Maske6 = (0, 0, 1, 0)
  • Die Testantworten am Eingang des Kompaktors 22 nach der Maskierung sind nun wie folgt (das Symbol ,m' bezeichnet eine maskierte Antwort):
    • R1' = (m, m, m, m) ⇒ (1, 1, 1, 1) ist der Eingang am Kompaktor
    • R2' = (L, L, H, L) ⇒ (0, 0, 1, 0)
    • R3' = (H, m, 1, m) ⇒ (1, 1, 0, 1)
    • R4' = (m, m, H, L) ⇒ (1, 1, 1, 0)
    • R5' = (H, L, L, H) ⇒ (1, 0, 0, 1)
    • R6' = (L, H, m, L) ⇒ (0, 1, 1, 0)
  • Folgendes ist zu beobachten:
    • – alle Antworten, die maskiert werden sollten, d. h. die unterstrichenen Antworten, sind tatsächlich maskiert;
    • – alle wesentlichen Antworten, die nicht maskiert werden sollten, d. h. die fett gedruckten Antworten, sind tatsächlich nicht maskiert; und
    • – einige nicht-wesentliche Antworten, die maskiert werden könnten, sind maskiert und diese sind durch das nicht unterstrichene Symbol ,m' angezeigt.
  • Das vorstehende Beispiel zeigt einen Weg der Berechnung der Werte für die Steuersignale der XML 18. Dieses Verfahren kann auf einfache Weise in einer automatischen Testmustergeneratoreinrichtung (ATPG) realisiert werden.
  • 3 zeigt ein Beispiel eines Flussdiagramms einer ATPG zum Berechnen der Steuersignale für die XML 18.
  • Die ATPG erzeugt ein Testmuster, das bestimmte Fehler erkennt, d. h. Zielfehler. Das Testmuster enthält Teststimuli und die entsprechenden Testantworten. Die ATPG analysiert als nächstes die Testantworten, um einerseits alle ternären, unbekannten und unzuverlässigen Antworten, die maskiert werden sollten, und andererseits die wesentlichen Antworten, die nicht maskiert werden sollten, zu identifizieren. Wesentliche Antworten sind diejenigen, die beobachtet werden sollten, um die Zielfehler zu erkennen.
  • Die Werte für die Signale mask_all und mask_enable werden durch identifizierende Antwortvektoren bestimmt, in denen entweder alle oder keine der Antworten maskiert werden sollten.
  • Das System von linearen Gleichungen, die aus der symbolischen Simulation des Betriebes der XML 18 abgeleitet werden, kann als nächstes gelöst werden, um die Steuereingangssignale für das LFSR 26 in der XML 18 zu bestimmen. Das System enthält Gleichungen für alle X-Antworten, die maskiert werden sollten, und zumindest eine wesentliche Antwort, die nicht maskiert werden sollte. Wenn die Gleichung lösbar ist, dann können zusätzliche wesentliche Antworten, die Fehlereffekte von zusätzlichen Zielfehlern zeigen, zu dem Gleichungssystem hinzugefügt werden, und das Gleichungssystem kann erneut gelöst werden. Dies wird solange wiederholt, bis alle wesentlichen Antworten dem Gleichungssystem hinzugefügt worden sind oder bis das Gleichungssystem nicht mehr lösbar ist. Die Reihenfolge des Hinzufügens der wesentlichen Antworten zu dem Gleichungssystem kann durch die Anzahl von Fehlern bestimmt werden, die bei jeder wesentlichen Antwort erkannt werden kann. Zuerst werden die wesentlichen Antworten zu dem Gleichungssystem hinzugefügt, die die meisten Fehler erkennen, usw.
  • Der letzte Schritt besteht darin, unter Ausnutzung der Testantworten nach der Maskierung eine Fehlersimulation auszuführen, um festzustellen, welche Fehler tatsächlich erkannt werden. Dieser Schritt ist notwendig, weil in dem Fall, dass das Gleichungssystem nicht gelöst werden konnte, einige wesentliche Antworten möglicherweise maskiert wurden. Die Zielfehler, die nicht erkannt wurden, werden durch die ATPG erneut als Ziel angesprochen, wenn nachfolgende Muster erzeugt werden.
  • 3 zeigt, wie die Steuersignale der XML 18 mit dem Testmuster berechnet werden können. Eine alternative Implementation besteht darin, die Steuersignale durch Lösen von linearen Gleichungen für nur einen Teil eines Testmusters oder für Mehrfachtestmuster zu berechnen.
  • Die Chance, dass das System von Gleichungen gelöst werden kann, ist größer, wenn die Anzahl der Gleichungen klein ist. Somit sollte die Anzahl von Testantworten, die maskiert und die nicht maskiert werden sollten, vorzugsweise so klein wie möglich gehalten werden. Aus diesem Grund ist es von Vorteil, Steuersignale mask_all und mask_enable zu haben, da diese es zulassen, vollständige Antwortvektoren zu maskieren oder nicht zu maskieren, und die entsprechenden Gleichungen nicht gelöst werden müssen. Auf ähnliche Weise ist es von Vorteil, die nicht-wesentlichen Antworten, an denen kein Zielfehlereffekt beobachtet werden kann, nicht zu betrachten. Diese nicht-wesentlichen Antworten können dem Gleichungssystem später hinzugefügt werden, nachdem alle wesentlichen Antworten hinzugefügt wurden, solange das System von Gleichungen immer noch lösbar ist.
  • Die vorgeschlagene XML 18, wie sie in dieser Erfindung beschrieben wurde, schafft eine effektive, flexible und billige Lösung zum Maskieren von X-Antworten. Die XML 18 erlaubt eine Reduzierung von Maskierungsdaten, die während der Testmustererzeugung in der ATPG erzeugt und in der ATE gespeichert werden müssen, und sie reduziert außerdem die Bandbreitenerfordernisse zum Transportieren der Maskierungsdaten von der ATE zur IC 10.
  • Die XML 18 kann eine große Anzahl von verschiedenen Masken erzeugen, die von der ATE gesteuert werden. Die Masken und die entsprechenden Steuersignale zum Steuern der XML 18 können während der Testmustererzeugung in der ATPG berechnet werden. Die XML 18 stützt sich auf ein dynamisches Wiedereinschreiben (reseeding) des Startmusters in das LFSR 26, wobei der Zustand des LFSR 26 in jedem Taktzyklus partiell vom ATE aktualisiert wird. Dieses schafft einen Weg, die Steuerdaten der XML 18 zu komprimieren. Für die zu prüfende Schaltung 14 mit n Abtastketten sind nur q Steuer-Bits pro Taktzyklus erforderlich zum Wiedereinschreiben (reseeding) des Startmusters in das LFSR 26, wobei q < n ist. Das LFSR 26, zusammen mit dem optionalen Phasenschieber mit der Gewichtungslogik 30, expandiert die q Eingänge zu einer n-Bit-Maske.
  • Die zusätzliche Steuerlogik erlaubt es, auf einfache Weise alle Abtastketten zu maskieren oder das Maskieren pro Taktzyklus zu verhindern.
  • Die Hardware des XML 18 ist einfach und erfordert nur eine kleine Silizium-Fläche, wenn sie auf einer IC 10 implementiert wird. Die XML 18 kann auch teilweise auf dem Chip und teilweise außerhalb des Chips implementiert werden. Die Anzahl von Steuersignalen zur Steuerung des Zustandes des LFSR 26, die Größe des LFSR 26, die Größe des Phasenschiebers und der Gewichtungslogik 30, und auch die Anzahl der sich auf mask_all und mask_enable beziehenden Steuersignale können für jedes Design unterschiedlich konfiguriert werden, abhängig von dem Profil der erwarteten X-Antworten.
  • Es wird bemerkt, dass die vorstehend beschriebenen Ausführungsformen die Erfindung erläutern und nicht beschränken, und der Fachmann wird in der Lage sein, viele alternative Ausführungsformen zu entwerten, ohne sich von dem Inhalt der Erfindung zu entfernen, wie sie in den beigefügten Ansprüchen definiert ist. Die Erfindung kann durch Hardware mit verschiedenen Elementen und durch einen geeignet programmierten Computer implementiert werden. In einem Anspruch, der verschiedene Mittel aufzählt, können verschiedene dieser Mittel durch ein und dasselbe Teil dieser Hardware erfüllt werden.

Claims (10)

  1. Vorrichtung zum Testen einer integrierten Schaltung (10) – mit einem Kompaktor (22) zum Komprimieren der Testantworten von einer unter Test stehenden Schaltung (14), die Teil einer integrierten Schaltung (10) ist, und – mit einer Maskierungsschaltung (18), die zwischen die unter Test stehende Schaltung und den Kompaktor (22) zum Maskieren einer oder mehrerer der Testantworten von der unter Test stehenden Schaltung (14) geschaltet ist, dadurch gekennzeichnet, dass die Maskierungsschaltung (18) darüber hinaus eine Dekompressionsschaltung (26, 30, 36, 38) zum Empfangen von komprimierten Maskierungsdaten (m1–mq) von der Vorrichtung enthält und dekomprimierte Maskierungsdaten an die Maskierungsschaltung (40) liefert.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Dekompression durch ein Schieberegister (26) mit linearem Feedback durchgeführt wird.
  3. Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Dekompression durch einen Phasenschieber (30) durchgeführt wird.
  4. Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Dekompression durch eine Gewichtungslogik durchgeführt wird.
  5. Vorrichtung nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die komprimierten Maskierungsdaten mindestens ein Steuersignal zum Steuern der Maskierungsschaltung (18) enthalten.
  6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass das mindestens eine Steuersignal ein alles maskierendes Steuersignal ist.
  7. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass das mindestens eine Steuersignal ein die Maske aktivierendes Steuersignal ist.
  8. Integrierte Schaltung – mit einer prüfbaren Schaltung (14), – mit einem Kompaktor (22) zum Komprimieren der Testantworten von der prüfbaren Schaltung (14) und – mit einer Maskierungsschaltung (18), die zwischen die prüfbare Schaltung (14) und den Kompaktor (22) geschaltet ist, zum Maskieren einer oder mehrerer der Testantworten von der prüfbaren Schaltung (14), dadurch gekennzeichnet, dass die Maskierungsschaltung (18) darüber hinaus eine Dekompressionsschaltung (26, 30, 36, 38) zum Empfangen von komprimierten Maskierungsdaten (m1–mq) von einer Testvorrichtung enthält und dekomprimierte Maskierungsdaten an die Maskenschaltung (40) liefert.
  9. Verfahren zum Testen einer integrierten Schaltung (10) mit den Schritten – Komprimieren von Testantworten von einer unter Test stehenden Schaltung (14), die Teil der integrierten Schaltung (10) ist, und – Maskieren einer oder mehrerer der Testantworten von der unter Test stehenden Schaltung (14), gekennzeichnet durch die weiteren Schritte: – Bereitstellen von komprimierten Maskierungsdaten, – Dekomprimieren der komprimierte Maskierungsdaten, um dekomprimierte Maskierungsdaten zu erzeugen und – Maskieren der Testantworten von der integrierten Schaltung (10) abhängig von den dekomprimierten Maskierungsdaten.
  10. Verfahren zum Erzielen von komprimierten Maskierungsdaten zur Benutzung in dem Verfahren nach Anspruch 9, gekennzeichnet durch die Schritte: – Erzeugen eines Satzes von Gleichungen, die den Maskierungsdaten zugeordnet sind und – Lösen der Gleichungen, um die komprimierten Maskierungsdaten zu erhalten.
DE602004009329T 2003-09-26 2004-09-20 Verfahren und system zum selektiven maskieren von testantworten Active DE602004009329T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP03103575 2003-09-26
EP03103575 2003-09-26
EP04102184 2004-05-18
EP04102184 2004-05-18
PCT/IB2004/051799 WO2005031378A1 (en) 2003-09-26 2004-09-20 Method and system for selectively masking test responses

Publications (2)

Publication Number Publication Date
DE602004009329D1 DE602004009329D1 (de) 2007-11-15
DE602004009329T2 true DE602004009329T2 (de) 2008-07-10

Family

ID=34395292

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004009329T Active DE602004009329T2 (de) 2003-09-26 2004-09-20 Verfahren und system zum selektiven maskieren von testantworten

Country Status (6)

Country Link
US (1) US7376873B2 (de)
EP (1) EP1671141B1 (de)
JP (1) JP2007506962A (de)
AT (1) ATE374951T1 (de)
DE (1) DE602004009329T2 (de)
WO (1) WO2005031378A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015110144A1 (de) * 2015-06-24 2016-12-29 Infineon Technologies Ag Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058869B2 (en) * 2003-01-28 2006-06-06 Syntest Technologies, Inc. Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits
EP1475644A1 (de) * 2003-04-29 2004-11-10 Koninklijke Philips Electronics N.V. Datenkompression
US7032148B2 (en) * 2003-07-07 2006-04-18 Syntest Technologies, Inc. Mask network design for scan-based integrated circuits
US7610527B2 (en) * 2005-03-16 2009-10-27 Nec Laboratories America, Inc. Test output compaction with improved blocking of unknown values
EP1946132B1 (de) 2005-11-04 2010-04-14 Nxp B.V. Verfahren und testvorrichtung zur prüfung integrierter schaltungen
CN101405609B (zh) 2006-02-17 2012-11-14 明导公司 多级测试响应压缩器
JP5034576B2 (ja) * 2006-05-02 2012-09-26 富士通株式会社 半導体集積回路、テストデータ生成装置およびlsi試験装置
US7788562B2 (en) * 2006-11-29 2010-08-31 Advantest Corporation Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data
WO2008096209A1 (en) * 2007-02-09 2008-08-14 Freescale Semiconductor, Inc. Device and method for testing a circuit
WO2008122937A1 (en) * 2007-04-05 2008-10-16 Nxp B.V. Testable integrated circuit and test data generation method
US7818643B2 (en) * 2008-02-20 2010-10-19 Nec Laboratories America, Inc. Method for blocking unknown values in output response of scan test patterns for testing circuits
US7979763B2 (en) * 2008-10-21 2011-07-12 Synopsys, Inc. Fully X-tolerant, very high scan compression scan test systems and techniques
US8103925B2 (en) * 2008-11-24 2012-01-24 Mentor Graphics Corporation On-chip logic to support compressed X-masking for BIST
US8112686B2 (en) * 2008-12-01 2012-02-07 Mentor Graphics Corporation Deterministic logic built-in self-test stimuli generation
US8898529B2 (en) 2010-05-19 2014-11-25 Universität Potsdam High performance compaction for test responses with many unknowns
US9448282B1 (en) * 2014-02-12 2016-09-20 Cadence Design Systems, Inc. System and method for bit-wise selective masking of scan vectors for X-value tolerant built-in self test
US9599673B2 (en) * 2014-10-15 2017-03-21 Freescale Semiconductor, Inc. Structural testing of integrated circuits
US9470754B1 (en) * 2015-06-11 2016-10-18 Cadence Design Systems, Inc. Elastic compression-optimizing tester bandwidth with compressed test stimuli using overscan and variable serialization
US11422186B1 (en) * 2019-06-20 2022-08-23 Synopsys, Inc. Per-shift X-tolerant logic built-in self-test
US11815555B2 (en) * 2019-09-06 2023-11-14 Siemens Industry Software Inc. Universal compactor architecture for testing circuits
US11320487B1 (en) * 2021-05-26 2022-05-03 Siemens Industry Software Inc. Programmable test compactor for improving defect determination
US11754624B1 (en) 2022-02-24 2023-09-12 Seagate Technology Llc Programmable scan chain debug technique

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2584172B2 (ja) * 1991-08-23 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション デイジタル試験信号発生回路
US5831992A (en) * 1995-08-17 1998-11-03 Northern Telecom Limited Methods and apparatus for fault diagnosis in self-testable systems
US6311299B1 (en) * 1999-03-01 2001-10-30 Micron Technology, Inc. Data compression circuit and method for testing embedded memory devices
US6557129B1 (en) * 1999-11-23 2003-04-29 Janusz Rajski Method and apparatus for selectively compacting test responses
US7095808B1 (en) * 2000-08-16 2006-08-22 Broadcom Corporation Code puncturing method and apparatus
US7032148B2 (en) * 2003-07-07 2006-04-18 Syntest Technologies, Inc. Mask network design for scan-based integrated circuits
US7210083B2 (en) * 2004-12-16 2007-04-24 Lsi Logic Corporation System and method for implementing postponed quasi-masking test output compression in integrated circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015110144A1 (de) * 2015-06-24 2016-12-29 Infineon Technologies Ag Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE102015110144B4 (de) * 2015-06-24 2018-04-05 Infineon Technologies Ag Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE102015110144B8 (de) * 2015-06-24 2018-06-28 Infineon Technologies Ag Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips

Also Published As

Publication number Publication date
US20070067688A1 (en) 2007-03-22
EP1671141A1 (de) 2006-06-21
DE602004009329D1 (de) 2007-11-15
EP1671141B1 (de) 2007-10-03
JP2007506962A (ja) 2007-03-22
WO2005031378A1 (en) 2005-04-07
ATE374951T1 (de) 2007-10-15
US7376873B2 (en) 2008-05-20

Similar Documents

Publication Publication Date Title
DE602004009329T2 (de) Verfahren und system zum selektiven maskieren von testantworten
DE60030480T2 (de) Gerät und verfahren zum selektiven verdichten von testergebnissen
DE69209404T2 (de) Selbsttest integrierter Schaltungen mit hybriden Mustern
DE68921269T2 (de) Integrierte Prüfschaltung.
DE2556822C2 (de) Monolithische hochintegrierte Halbleiterschaltung
DE19855488A1 (de) Testmustergenerator mit verbesserter Testsequenzverdichtung
DE3913219C2 (de)
DE69126848T2 (de) Integrierte Halbleiterschaltung
DE3130714A1 (de) &#34;testsystem fuer integrierte halbleiterschaltungselemente mit integration grossen massstabs&#34;
DE2555435A1 (de) Monolithische hochintegrierte halbleiterschaltung
DE4434927C2 (de) Verfahren zum Testen einer Schaltungsplatine
DE102006009224A1 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
DE4110151A1 (de) Integrierte halbleiter-schaltkreisvorrichtung mit abtastpfaden, die einzelne steuerbare umgehungen aufweisen
DE3702408C2 (de)
DE69017169T2 (de) Testen integrierter Schaltungen unter Verwendung von Taktgeberstössen.
DE102005026403B4 (de) Verfahren zum Liefern von Abtastmustern zu einer elektronischen Vorrichtung
DE69031291T2 (de) Testmethode, Testschaltung und integrierter Halbleiterschaltkreis mit Testschaltung
DE3832440A1 (de) Testschaltungseinrichtung
DE102015110144B4 (de) Chip und Verfahren zum Testen einer Verarbeitungskomponente eines Chips
DE69215090T2 (de) Verfahren und System zum Testen eines integrierten Schaltkreises mit Abfragedesign
DE3639577A1 (de) Logikbaustein zur erzeugung von ungleich verteilten zufallsmustern fuer integrierte schaltungen
DE102005026402A1 (de) Verfahren und Vorrichtungen zum Programmieren und Betreiben einer automatischen Testausrüstung
DE112006003430T5 (de) Prüfvorrichtung und Stiftelektronikkarte
EP0640919B1 (de) Prozessorschaltung mit Testeinrichtung
DE10338922B4 (de) Elektrische Diagnoseschaltung sowie Verfahren zum Testen und/oder zur Diagnose einer integrierten Schaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition