DE10200833A1 - Gerät und Verfahren für eine Teststimuliverdichtung - Google Patents
Gerät und Verfahren für eine TeststimuliverdichtungInfo
- Publication number
- DE10200833A1 DE10200833A1 DE10200833A DE10200833A DE10200833A1 DE 10200833 A1 DE10200833 A1 DE 10200833A1 DE 10200833 A DE10200833 A DE 10200833A DE 10200833 A DE10200833 A DE 10200833A DE 10200833 A1 DE10200833 A1 DE 10200833A1
- Authority
- DE
- Germany
- Prior art keywords
- test
- test stimuli
- stimuli
- essential
- subsets
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318335—Test pattern compression or decompression
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31919—Storing and outputting test patterns
- G01R31/31921—Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Basierend auf dem Konzept einer Minimierung wurde ein Verfahren einer statischen Verdichtung für eine digitale Schaltung entwickelt. Das Verdichtungsverfahren ist eine Kombination von zwei Hauptprozeduren: eine für die Auswahl wesentlicher Teststimuli und die andere für die Eliminierung redundanter Teststimuli und ist effektiv beim Minimieren einer beliebigen Menge von Teststimuli, ohne irgendwelche der Teststimulie zu modifizieren.
Description
Die vorliegende Erfindung bezieht sich allgemein auf
das Testen digitaler Schaltungen und insbesondere auf ein
Gerät zur Verdichtung von Teststimuli und ein Verfahren da
für.
Um die Produktion zuverlässiger Digital/Computersysteme
sicherzustellen, werden Teststimuli erzeugt, um die Systeme
zu testen. Für eine digitale Schaltung kann ein Teststimu
lus ein einzelnes Eingabemuster oder eine Sequenz von Ein
gabemustern sein, die eine initialisierende Teilsequenz,
eine aktivierende oder sensibilisierende Teilsequenz und
eine Fortpflanzungsteilsequenz umfaßt. In einigen Fällen
ist die sensibilisierende Teilsequenz die gleiche wie die
Fortpflanzungsteilsequenz. Im folgenden wird auch der Aus
druck "Testvektor" verwendet, um einen allgemeinen Teststi
mulus für eine digitale Schaltung zu repräsentieren, und
der Ausdruck "Testmenge" wird verwendet, um eine Menge von
Testvektoren zu repräsentieren.
Eine wichtige Aufgabe einer Testerzeugung besteht dar
in, eine signifikante Fehlerüberdeckung mit den erzeugten
Testvektoren für die zu testende Schaltung zu erzielen. Die
Erzeugungsalgorithmen sind derart, dass, da es notwendig
ist, sich auf eine Fehlerüberdeckung zu konzentrieren, sie
Sätze oder Mengen von Testvektoren mit Redundanzen erzeu
gen. Diese Redundanzen sind nicht einfach zu detektieren
und haben eine große Menge von Testvektoren zur Folge.
Die Kosten einer Anwendung der großen Menge von Test
vektoren sind hoch, da die Kosten einer Testanlage mit ih
rer Speicherkapazität zusammenhängen. Folglich hat die Zahl
von Testvektoren Auswirkungen auf die Kosten eines Tests,
der bei der Produktion und Wartung zuverlässiger Digi
tal/Computersysteme unabdingbar ist. Speicherkapazität ist
einer der Hauptfaktoren, die die Kosten einer Testanlage
bestimmen. Großer Speicher bedeutet hohe Kosten. Falls eine
verfügbare Testanlage nicht genug Speicherkapazität zum La
den aller Testvektoren aufweist, besteht dann die Notwen
digkeit, die Testanlage während einer Testanwendung auf die
zu testende Schaltung mehr als einmal zu laden. Mehr Test
vektoren, als im Speicher der Testanlage enthalten sein
können, verlangen eine Speicheraktualisierung (ein erneutes
Laden einer Teilmenge der Testvektoren) während einer Test
anwendung. Ein erneutes Laden der Testanlage während eines
Tests verlängert die Testanwendungstest (TAT) signifikant.
Sogar eine einzige Speicheraktualisierung führt zu einem
großen Sprung in der Testanwendungszeit. Die lange Testan
wendungszeit hat Einfluß auf die Markteinführungszeit der
hergestellten IC-(integrierte Schaltungs-)Produkte.
Aus dem vorhergehenden ist evident, daß kleine Testmen
gen wünschenswert sind, um Testkosten zu reduzieren und die
Markteinführungszeit der zuverlässigen Systeme zu verkür
zen. Folglich besteht die Notwendigkeit, eine kleine Zahl
von Testvektoren beizubehalten. Reduzieren der Zahl der
Testvektoren ohne der Fehlerüberdeckung zu schaden, wird
Testverdichtung genannt. Testverdichtungsalgorithmen soll
ten Wege finden, ohne Verringern einer Fehlerüberdeckung
kleine Testmengen zu erreichen. Mit anderen Worten, die Al
gorithmen sollten Zahlen von Testvektoren niedrig halten,
während eine möglichst hohe Fehlerüberdeckung beibehalten
wird.
Zwei Typen von Verdichtungstechniken existieren - eine
dynamische und eine statische Verdichtung. Dynamische Tech
niken versuchen, die Zahl von Testvektoren zu reduzieren,
während sie gerade erzeugt werden. Oft erfordert eine dyna
mische Verdichtung die Modifikation des Testgenerators.
Statische Techniken trachten andererseits danach, die Zahl
der schon erzeugten Testvektoren zu reduzieren. Folglich
ist eine statische Verdichtung ein Nachverarbeitungsschritt
zur Testerzeugung. Statische Techniken sind daher von den
Testerzeugungsalgorithmen unabhängig und erfordern keine
Modifikationen der Algorithmen. Selbst wenn eine dynamische
Verdichtung während einer Testerzeugung verwendet wird,
kann außerdem eine statische Verdichtung die Größe der er
zeugten Testmenge weiter reduzieren. Dies legt nahe, daß
eine statische Verdichtung beim Reduzieren der Größe von
Testsätzen und daher der nachfolgenden Testkosten effekti
ver ist.
Hsiao et al. haben in ihrer Arbeit über Verfahren einer
Testsequenzverdichtung für sequentielle Schaltungen in den
folgenden Dokumenten berichtet.
(1) M. S. Hsiao und T. Chakradhar, "Partitioning and
reordering techniques for static test sequence compaction
of sequential circuits," Proc. of the 7th IEEE Asian Test
Symposium, S. 452-457, 1998.
(2) M. S. Hsiao und S. T. Chakradhar, "State relaxation based subsequence removal for fast static compaction in se quential circuits," Proc. of Design, Automation, and Test in Europe Conf., S. 577-582, 1998.
(3) M. S. Hsiao, E. M. Rudnick und J. H. Patel, "Fast algorithms for static compaction of sequential circuit test vectors," Proc. of IEEE VLSI Test Symposium, S. 188-195, 1997.
Ihre Verfahren trachten danach, die Sequenzen zu ver kürzen. Pomeranz et al. haben ein Verfahren einer effizien ten Speicherung von Testantworten im folgenden Dokument vorgeschlagen.
(4) I. Pomeranz und S. M. Reddy, "On test compaction objectives for combinational and sequential circuits," Proc. of IEEE International Conference on VLSI Design, S. 279-284, 1998.
Kajihara et al. und Hamzaoglu et al. haben über ihre Arbeit über eine Testmusterverdichtung für Verknüpfungs schaltungen in den folgenden Dokumenten berichtet.
(5) S. Kajihara und K. Saluja, "On test pattern compac tion using random pattern fault simulation," Proc. of IEEE International Conference on VLSI Design, S. 464-469, 1998.
(6) I. Hamzaoglu und J. H. Patel, "Test set compaction algorithms for combinational circuits," Proc. of ACM Inter national Conference on CAD, S. 283-289, 1997.
(2) M. S. Hsiao und S. T. Chakradhar, "State relaxation based subsequence removal for fast static compaction in se quential circuits," Proc. of Design, Automation, and Test in Europe Conf., S. 577-582, 1998.
(3) M. S. Hsiao, E. M. Rudnick und J. H. Patel, "Fast algorithms for static compaction of sequential circuit test vectors," Proc. of IEEE VLSI Test Symposium, S. 188-195, 1997.
Ihre Verfahren trachten danach, die Sequenzen zu ver kürzen. Pomeranz et al. haben ein Verfahren einer effizien ten Speicherung von Testantworten im folgenden Dokument vorgeschlagen.
(4) I. Pomeranz und S. M. Reddy, "On test compaction objectives for combinational and sequential circuits," Proc. of IEEE International Conference on VLSI Design, S. 279-284, 1998.
Kajihara et al. und Hamzaoglu et al. haben über ihre Arbeit über eine Testmusterverdichtung für Verknüpfungs schaltungen in den folgenden Dokumenten berichtet.
(5) S. Kajihara und K. Saluja, "On test pattern compac tion using random pattern fault simulation," Proc. of IEEE International Conference on VLSI Design, S. 464-469, 1998.
(6) I. Hamzaoglu und J. H. Patel, "Test set compaction algorithms for combinational circuits," Proc. of ACM Inter national Conference on CAD, S. 283-289, 1997.
Sie haben Verfahren einer statischen Verdichtung entwi
ckelt, die darauf zugeschnitten sind, mit früher vorge
schlagenen Verfahren zum Erzeugen von kompakten Tests zu
sammenzuarbeiten.
Digitale Systeme verwenden sowohl sequentielle als auch
Verknüpfungsschaltungen. Verschiedene Testpakete verwenden
auch verschiedene Testerzeugungsalgorithmen. Daher besteht
für eine allgemeine digitale Schaltung der Bedarf an einem
allgemeinen Verfahren einer statischen Testverdichtung, de
ren Effektivität von jedem Testerzeugungsalgorithmus voll
ständig unabhängig ist.
Eine Aufgabe der vorliegenden Erfindung ist, ein Gerät
für eine Teststimuliverdichtung, das zum Testen einer all
gemeinen digitalen Schaltung verwendbar ist, und ein Ver
fahren dafür zu schaffen.
Das Verdichtungsgerät gemäß der vorliegenden Erfindung
enthält eine Auswahlvorrichtung, eine Eliminierungsvorrich
tung und eine Ausgabevorrichtung und führt eine Verdichtung
einer Menge von Teststimuli für eine digitale Schaltung
durch.
Die Auswahlvorrichtung wählt wesentliche Teststimuli
aus Teilmengen des Satzes oder der Menge von Teststimuli
aus. Ein Fehler in der digitalen Schaltung, der durch einen
wesentlichen Teststimulus detektierbar ist, ist durch kei
nen anderen Teststimulus in einer gegebenen Teilmenge von
Teststimuli detektierbar. Die Eliminierungsvorrichtung eli
miniert redundante Teststimuli aus Teilmengen von Teststi
muli nach der Auswahl wesentlicher Teststimuli aus jeder
Teilmenge. Die Ausgabevorrichtung gibt eine verdichtete
Menge mit den ausgewählten wesentlichen Teststimuli aus.
Jede zur Auswahlvorrichtung geschickte Teilmenge ist die
Obermenge der nächsten Teilmenge, die zur Auswahlvorrich
tung geschickt werden soll.
Fig. 1 zeigt das Prinzip eines Teststimuli-Verdich
tungsgeräts gemäß der vorliegenden Erfindung;
Fig. 2 zeigt eine Überdeckungstabelle einer Testmenge;
Fig. 3 zeigt eine partielle Überdeckungstabelle der
Testmenge;
Fig. 4 zeigt ein Flußdiagramm eines Verdichtungsprozes
ses;
Fig. 5 zeigt ein Flußdiagramm eines Prozesses in der
ersten Phase;
Fig. 6 zeigt den ersten Teil eines Flußdiagramms eines
Prozesses in der zweiten Phase;
Fig. 7 zeigt den zweiten Teil des Flußdiagramms des
Prozesses in der zweiten Phase;
Fig. 8 zeigt die anfängliche Vektor-auf-Fehler-
Abbildung;
Fig. 9 zeigt eine aktualisierte Vektor-auf-Fehler-
Abbildung;
Fig. 10 zeigt eine weiter aktualisierte Vektor-auf-
Fehler-Abbildung;
Fig. 11 zeigt ein Beispiel einer digitalen Schaltung;
Fig. 12 zeigt eine Testmenge für die digitale Schal
tung;
Fig. 13 zeigt eine Zusammenfassung der partiellen Über
deckungstabelle;
Fig. 14 zeigt ein Modell mit behaftetem Fehler;
Fig. 15 zeigt ein Verzögerungsfehlermodell;
Fig. 16 zeigt die Konfiguration eines Informationsver
arbeitungsgerätes; und
Fig. 17 zeigt Aufzeichnungsmedien.
Die Ausführungsformen der vorliegenden Erfindung werden
im folgenden durch Verweisen auf die beigefügten Zeichnun
gen ausführlich beschrieben.
Fig. 1 zeigt das Prinzip eines Teststimuli-Verdich
tungsgerätes gemäß der vorliegenden Erfindung. Das Verdich
tungsgerät enthält eine Auswahlvorrichtung D1, eine Elimi
nierungsvorrichtung D2 und eine Ausgabevorrichtung D3 und
führt eine Verdichtung einer Menge von Teststimuli für eine
digitale Schaltung durch.
Die Auswahlvorrichtung D1 wählt wesentliche Teststimuli
unter Teilmengen der Menge von Teststimuli aus. Ein Fehler
in der digitalen Schaltung, der durch einen wesentlichen
Teststimulus detektierbar ist, ist durch keinen anderen
Teststimulus in einer gegebenen Teilmenge von Teststimuli
detektierbar. Die Eliminierungsvorrichtung D2 eliminiert
redundante Teststimuli aus Teilmengen von Teststimuli nach
der Auswahl der wesentlichen Teststimuli aus jeder Teilmen
ge. Die Ausgabevorrichtung D3 gibt eine verdichtete Menge
mit den ausgewählten wesentlichen Teststimuli aus.
Wenn die Menge von Teststimuli (oder die Teilmenge von
Teststimuli von der Eliminierungsvorrichtung D2) gegeben
ist, wählt die Auswahlvorrichtung D1 die gegenwärtig iden
tifizierbare Menge wesentlicher Teststimuli unter den gege
benen Teststimuli aus und läßt sie zur Ausgabevorrichtung
D3 und die verbleibenden Teststimuli zur Eliminierungsvor
richtung D2 durch. Die Eliminierungsvorrichtung D2 elimi
niert die gegenwärtig identifizierbare Menge redundanter
Teststimuli, die in der Teilmenge von Teststimuli enthalten
sind, die von der Auswahlvorrichtung D1 empfangen wurde,
und leitet die verbleibenden Teststimuli zur Auswahlvor
richtung D1 zurück. Diese Prozedur setzt sich fort, bis
keine Teststimuli übrig sind. Die Ausgabevorrichtung D3
gibt dann die wesentlichen Teststimuli, die von der Aus
wahlvorrichtung D1 empfangen wurden, als die verdichtete
Menge von Teststimuli aus.
Gemäß solch einem Verdichtungsgerät werden verschiedene
Hierarchien wesentlicher Teststimuli, die für die Detektion
aller durch die ursprüngliche Testmenge detektierbaren Feh
ler unabdingbar sind, aus der gegebenen Testmenge extra
hiert. Da dieses Verdichtungsverfahren von dem Testerzeu
gungsalgorithmus vollkommen unabhängig ist, ist es beim
Durchführen statischer Verdichtungen von Teststimuli effek
tiv, die durch einen beliebigen Erzeugungsalgorithmus er
zeugt wurden.
Die Auswahlvorrichtung D1 und die Eliminierungsvorrich
tung D2 in Fig. 1 entsprechen z. B. einer Kombination der
CPU (zentralen Verarbeitungseinheit) 51 und des Speichers
52, die in Fig. 16 dargestellt sind, welche später be
schrieben wird. Die Ausgabevorrichtung D3 in Fig. 1 ent
spricht z. B. der Kombination der CPU 51 und des Speichers
52, der Ausgabevorrichtung 54 oder der Netzwerkverbindungs
vorrichtung 57, die in Fig. 16 dargestellt sind. Die we
sentlichen Teststimuli entsprechen den im folgenden be
schriebenen Testvektoren.
In den folgenden Ausführungsformen wird die Aufgabe der
statischen Verdichtung einer Menge von Teststimuli (Test
vektoren) als ein Problem einer minimalen Überdeckung for
muliert. In der Tat findet das Verdichtungsgerät die mini
male Teilmenge der ursprünglichen Teilmenge, die alle Feh
ler detektieren (überdecken oder erfassen) kann, die in der
Zielschaltung detektierbar sind, durch die ursprüngliche
Testmenge, ohne irgendeinen der Testvektoren zu modifizie
ren. Das von dem Verdichtungsgerät verwendete Verfahren ist
eine intelligente Kombination von zwei Hauptprozeduren: ei
ne für die Auswahl von wesentlichen Testvektoren und die
andere für die Eliminierung von redundanten Testvektoren.
Das Verdichtungsgerät verwendet eine Datenstruktur, die
es möglich macht, Speicher verbrauchende Matrizen zu ver
meiden, die mit dem Konzept einer minimalen Erfassung ver
bunden sind, wodurch eine effiziente Laufzeit sicherge
stellt wird. Um sicherzustellen, daß die Lösung des Mini
mierungsproblems die minimale Testmenge ist, wird bei der
Eliminierung von redundanten Testvektoren ein Sortieralgo
rithmus verwendet. Das Grundkonzept der statischen Verdich
tung lautet wie folgt:
Definition 1:
Die Menge aller Fehler, FMenge, die in der Schaltung C durch eine Menge T von Testvektoren detek tierbar sind, bildet die Überdeckung von TMenge. Eine die Überdeckung von FMenge durch TMenge darstellende Tabelle wird die Überdeckungstabelle von TMenge genannt.
Definition 1:
Die Menge aller Fehler, FMenge, die in der Schaltung C durch eine Menge T von Testvektoren detek tierbar sind, bildet die Überdeckung von TMenge. Eine die Überdeckung von FMenge durch TMenge darstellende Tabelle wird die Überdeckungstabelle von TMenge genannt.
Definition 2:
Der Fehler f in der Schaltung C sei durch ei nen ersten Testvektor tep einer Testmenge TMenge detektierbar. Falls kein anderer Testvektor von TMenge f detektiert, ist dann tep ein wesentlicher Vektor von TMenge, und der Fehler f ist ein wesentlicher Fehler von C bezüglich TMenge.
Der Fehler f in der Schaltung C sei durch ei nen ersten Testvektor tep einer Testmenge TMenge detektierbar. Falls kein anderer Testvektor von TMenge f detektiert, ist dann tep ein wesentlicher Vektor von TMenge, und der Fehler f ist ein wesentlicher Fehler von C bezüglich TMenge.
Das Konzept einer minimalen Überdeckung ist ein wohlbe
kannter Algorithmus, der in einer Logikoptimierung oft ver
wendet wird. Der Algorithmus weist einen Nachteil insofern
auf, als er großen Speicherplatz erfordert.
Man berücksichtige, daß die Menge T = {t1, t2, t3, t4, t5,
t6, t7} von Testvektoren alle behafteten Fehler auf Lei
tungen L1, L2, L3, L4, L5, L6 überdeckt, welche einen Teil ei
ner Schaltung C bilden. Die entsprechende Fehlermenge sei F
= (f1, f2, f3, f4, . . ., f11, f12), und die Überdeckungstabelle
von T sei wie in Fig. 2 dargestellt. In dieser Überde
ckungstabelle gibt das Symbol "×" im Schnittpunkt der Reihe
ti und der Spalte fj an, daß ein Vektor ti einen Fehler fj
unter der Einzelfehlerannahme (fj ist der einzige Fehler in
der zu testenden Schaltung) detektiert. Aus der Tabelle
kann man erkennen, daß t3, t5, t6, t7 wesentliche Vektoren
von T entsprechend den wesentlichen Fehlern f9, f10, f11, f12
sind. Wenn t3, t5, t6, t7 aus T entfernt werden und alle Feh
ler, die sie überdecken, aus der ursprünglichen Überdeckung
F entfernt werden, haben wir die in Fig. 3 dargestellte Si
tuation. Keiner der in F übrigen Fehler (f1 und f3) ist be
züglich der aktualisierten Testmenge T = {t1, t2, t4} we
sentlich.
Wenn die verbleibenden Testvektoren t1, t2, t4 in T auf
ihre Überdeckung der verbleibenden Fehler (in dieser Rei
henfolge) geprüft werden, wird festgestellt, daß t4 redun
dant ist. Wenn der identifizierte redundante Testvektor t4
gelöscht wird, wird f3 ein wesentlicher Fehler bezüglich T
= {t1, t2}, und t2 wird der entsprechende wesentliche Vek
tor. Auswählen des wesentlichen Vektors t2 aus T und Ent
fernen der durch ihn detektierbaren Fehler aus der Menge F
= {f1, f3} leert F. Der verbleibende Testvektor t, in T wird
somit ebenfalls gelöscht. Folglich ist nun die verdichtete
Testmenge CT = {t2, t3, t5, t6, t7} ohne die Vektoren t1, t4.
Im wesentlichen besteht dieses Verfahren darin, eine
statische Verdichtung durch einige wenige Wiederholungen
der Auswahl wesentlicher Vektoren und Löschen identifizier
ter redundanter Vektoren auszuführen. Dieser Nutzen des
Verdichtungsverfahrens wird wie folgt dargestellt.
Lemma 1:
Mit Verweis auf eine gegebene Menge von Feh lern in einer Schaltung C weist eine beliebige Testmenge T ohne wesentliche Vektoren mindestens einen Testvektor t auf, der bezüglich der Menge T = T\{t} redundant ist.
Mit Verweis auf eine gegebene Menge von Feh lern in einer Schaltung C weist eine beliebige Testmenge T ohne wesentliche Vektoren mindestens einen Testvektor t auf, der bezüglich der Menge T = T\{t} redundant ist.
Beweis:
Man nehme an, daß bei einem Zyklus der Wieder holung die Testvektoren τ1, τ2, . . ., τi, . . ., τN; übrig sind. Man nehme an, daß es keine wesentlichen Vektoren in den verbleibenden Testvektoren gibt. Folglich ist jeder Fehler in der Überdeckung einer Menge der verbleibenden Testvek toren, der durch den Vektor τj detektierbar ist, auch durch einen anderen Vektor τk (d. h. k ≠ j) in der gleichen Menge detektierbar. Folglich ist zumindest τj redundant. Q. E. D.
Man nehme an, daß bei einem Zyklus der Wieder holung die Testvektoren τ1, τ2, . . ., τi, . . ., τN; übrig sind. Man nehme an, daß es keine wesentlichen Vektoren in den verbleibenden Testvektoren gibt. Folglich ist jeder Fehler in der Überdeckung einer Menge der verbleibenden Testvek toren, der durch den Vektor τj detektierbar ist, auch durch einen anderen Vektor τk (d. h. k ≠ j) in der gleichen Menge detektierbar. Folglich ist zumindest τj redundant. Q. E. D.
Lemma 1 zeigt, daß im Prozeß einer wiederholten Anwen
dung einer Auswahl wesentlicher Vektoren und des Löschens
redundanter Vektoren keine Situation einer Systemverklem
mung auftritt, bei der es weder wesentliche Vektoren noch
redundante Vektoren gibt.
Eine Verarbeitung der verbleibenden Daten, wie früher
(mit Fig. 3) erläutert wurde, kann zu einer nicht-minimalen
Lösung führen. Falls z. B. t2 zufällig nur f3 detektiert und
t4 zufällig f1 zusätzlich zu f3 detektiert, würden dann t1
und t2 ausgewählt werden, t4 als redundant zurücklassend. In
diesem Fall wird der Prozeß nur einen Vektor, t4, eliminie
ren. Im Hinblick darauf wird die folgende Verarbeitung
durchgeführt, um eine minimale Lösung für das statische
Verdichtungsproblem sicherzustellen.
Zuerst wird eine Teilmenge von Teststimuli identifi
ziert, die eine gegebene Menge von Fehlern optimal über
deckt. Zweitens werden ein oder mehr Teststimuli, die von
den identifizierten Teststimuli verschieden sind, als die
redundanten Teststimuli eliminiert.
Nach der Auswahl jeder Menge wesentlicher Vektoren ist
der erste der verbleibenden n Testvektoren, die zurückzube
halten sind, der eine, der die größte Zahl der verbleiben
den Fehler in der Menge F detektiert. Der zweite, zurückzu
behaltende Vektor ist derjenige, der die größte Zahl der
Fehler in der Menge S = F\C1 detektiert; wo C1 die Menge von
Fehlern in F ist, die durch den ersten zurückbehaltenen
Vektor detektierbar sind. Im allgemeinen ist der zurückzu
behaltende i-te Vektor derjenige, der die größte Zahl der
Fehler in der Menge S = F\Γ detektiert; wo
ist
und Cj die Menge von Fehlern in F ist, die durch den zu
rückbehaltenen j-ten Vektor detektierbar sind. Diese Verar
beitung setzt sich fort, bis Γ = F nach dem k-ten zurückbe
haltenen Vektor gilt. An dieser Stelle werden die restli
chen (n-k) Vektoren gelöscht, und ein anderer Zyklus be
ginnt mit der Auswahl der nächsten Hierarchie von wesentli
chen Vektoren.
Eine direkte Anwendung des minimalen Überdeckungsalgo
rithmus ist mit einer Matrix für die Überdeckungstabelle
von Testvektoren verbunden. Für praktische Schaltungen wird
dies eine große Menge an Speicher erfordern, die nicht zur
Verfügung stehen kann. Folglich wird diese Situation eine
Beschränkung der Anwendbarkeit des Verfahrens auf prakti
sche Schaltungen auferlegen. Um dieses Problem zu umgehen,
wird der zweidimensionale Datenraum einer Matrix auf den
besser verwaltbaren eindimensionalen Datenraum reduziert.
Dies wird wie folgt erreicht.
Zuerst wird jedem Fehler ein Zähler zugeordnet. Jeder
Zähler gibt die Zahl von Testvektoren an, durch die der
entsprechende Fehler detektierbar ist. Eine Simulation der
Zielschaltung wird mit der ursprünglichen Testmenge durch
geführt. Für jeden Testvektor werden detektierbare Fehler
von den primären Ausgaben aus zurückverfolgt. Jedesmal wenn
ein Fehler verfolgt wird, wird der dem Fehler zugeordnete
Zähler inkrementiert. Die Testvektoren werden ebenfalls auf
die Fehler abgebildet.
In dieser Simulation kann ein in den folgenden Dokumen
ten dargestelltes Verfahren angewendet werden. Dieses Ver
fahren erleichtert die Extraktion von Information über Feh
ler, die durch die ursprüngliche Testmenge überdeckt wer
den, ohne eine repetitive Fehlersimulation durchzuführen.
(7) K.O. Boateng, H. Takahashi und Y. Takamatsu, "Di
agnosing delay faults in combinational circuits under the
ambiguous delay model," IEICE Transaction on Information
and Systems, Bd. E82-D, Nr. 12, S. 1563-1571, Dez. 1999.
(8) K.O. Boateng, H. Takahashi und Y. Takamatsu, "Mul tiple gate delay fault diagnosis using test-pairs for mar ginal delays," IEICE Transaction on Information and Sys tems, Bd. E81-D, Nr. 7, S. 706-715, Juli 1998.
(9) N. Yanagida, H. Takahashi und Y. Takamatsu, "Multi ple fault diagnosis by sensitizing input pairs", IEEE De sign & Test of Computers, Bd. 12, Nr. 3, S. 44-52, Sept. 1995.
(8) K.O. Boateng, H. Takahashi und Y. Takamatsu, "Mul tiple gate delay fault diagnosis using test-pairs for mar ginal delays," IEICE Transaction on Information and Sys tems, Bd. E81-D, Nr. 7, S. 706-715, Juli 1998.
(9) N. Yanagida, H. Takahashi und Y. Takamatsu, "Multi ple fault diagnosis by sensitizing input pairs", IEEE De sign & Test of Computers, Bd. 12, Nr. 3, S. 44-52, Sept. 1995.
Alle Fehler mit einem Zähler = 1 sind wesentliche Feh
ler, und die jeweiligen Testvektoren, die auf sie abbil
deten, bilden die wesentlichen Vektoren. Jedes Mal wenn ein
wesentlicher Vektor ausgewählt wird, werden alle Fehler,
die er detektiert, aus der Fehlermenge entfernt. Jedesmal
wenn ein redundanter Testvektor identifiziert wird, wird
auch der Zähler jedes Fehlers in der aktualisierten Fehler
menge, auf die er abgebildet wird, dekrementiert.
Fig. 4 zeigt einen Prozeß der statischen Verdichtung,
der von dem Verdichtungsgerät durchgeführt wird. Dieser
Prozeß weist zwei Phasen auf. In der ersten Phase werden
Simulationen durchgeführt, und eine Fehlerverfolgung wird
ausgeführt, um die Vektor-auf-Fehler-Abbildung einzurichten
(Schritt S1). Während einer Fehlerverfolgung wird ein In
krementieren des Fehlerzählers durchgeführt. In der zweiten
Phase werden der Prozeß einer Auswahl wesentlicher Vektoren
und der Prozeß eines Löschens redundanter Vektoren durchge
führt (Schritt S2).
Fig. 5 zeigt einen Prozeß, der in der ersten Phase
durchgeführt wird. Zuerst führt das Verdichtungsgerät Simu
lationen durch, um die Vektor-auf-Fehler-Abbildung einzu
richten, und inkrementiert Zähler, während die Fehler, de
nen sie zugeordnet sind, verfolgt werden (Schritt S11). Als
nächstes legt das Verdichtungsgerät alle Testvektoren in
die Menge T_Menge und alle verfolgten Fehler in die Menge
F_Menge (Schritt S12). Das Verdichtungsgerät setzt dann je
de der Mengen CT_Menge, T1_Menge und F\C1_Menge auf die leere
Menge {} (Schritt S13). Der Prozeß im Schritt S11 ist
nicht notwendig, wenn das ähnliche Ergebnis aus einer Test
erzeugung erhalten wird.
Fig. 6 und 7 zeigen einen Prozeß, der in der zweiten
Phase durchgeführt wird. Zuerst findet das Verdichtungs
gerät alle gegenwärtigen wesentlichen Fehler (Schritt S21
in Fig. 6) und identifiziert ihre entsprechenden wesentli
chen Vektoren (Schritt S22). Als nächstes läßt das Verdich
tungsgerät alle durch die identifizierten wesentlichen Vek
toren detektierbaren Fehler aus F_Menge fallen (Schritt
S23) und überträgt die identifizierten wesentlichen Vekto
ren von T_Menge in CT_Menge (Schritt S24). Ob F_Menge leer
ist, wird danach geprüft (Schritt S25).
Falls F_Menge leer ist, löscht das Verdichtungsgerät
alle Testvektoren in T_Menge als redundante Testvektoren
und beendet den Prozeß. Falls F_Menge nicht leer ist, fin
det das Verdichtungsgerät in T_Menge den Testvektor rt mit
der größten Überdeckung von Fehlern in F_Menge (Schritt
S26), legt rt in T1_Menge (Schritt S27) und überträgt alle
Fehler in F_Menge, die durch rt detektierbar sind (über
deckt werden), in F\C1_Menge (Schritt S28). Ob F_Menge leer
ist, wird danach wieder geprüft (Schritt S29).
Falls F_Menge nicht leer ist, werden die Prozesse in
und nach Schritt S26 wiederholt. Falls F_Menge leer ist,
dekrementiert dann das Verdichtungsgerät für jeden noch in
T-Menge verbleibenden Testvektor τ den Zähler des Fehlers
in F\C1_Menge, der durch τ detektierbar ist (Schritt S30 in
Fig. 7). Als nächstes löscht das Gerät alle Testvektoren,
die in T_Menge verbleiben, als redundante Testvektoren
(Schritt S31). Das Verdichtungsgerät leert dann F\C1_Menge in
F_Menge (Schritt S32) und T1_Menge in T_Menge (Schritt S33)
und wiederholt die Prozesse in und nach Schritt S21 in Fig.
6. Gemäß solch einem Verdichtungsprozeß wird die verdichte
te Testmenge am Ende einer Verdichtung in CT_Menge gespei
chert.
Nach dem Prozeß der ersten Phase werden die Daten der
Überdeckungstabelle, die in Fig. 2 dargestellt ist, wie in
Fig. 8 gezeigt organisiert. In dieser Datenstruktur geben
T_Menge = {t1, t2, t3, t4, t5, t6, t7}, F_Menge {f1, f2, f3,
f4, . . ., f11, f12} und Pfeile von jedem Testvektor in T_Menge
auf Fehler in F_Menge an, daß sie die Fehler überdeckt.
Zähler = 1 ist das Kriterium für die Identifizierung we
sentlicher Fehler und daher wesentlicher Vektoren, und die
Pfeile von wesentlichen Vektoren sind in dicken Linien dar
gestellt.
T_Menge, F_Menge und Zähler werden z. B. jeweils in ein
dimensionalen Arrays gespeichert, und ein Pfeil von einem
Testvektor zu einem Fehler wird durch eine Zeiger-Informa
tion wie z. B. einen entsprechenden Index des Arrays von
F_Menge repräsentiert. Der Testvektor ist somit dem Fehler
zugeordnet.
Nach Auswählen gegenwärtiger wesentlicher Vektoren,
Fallenlassen aller Fehler, die sie überdecken, und Aktuali
sieren von T_Menge und F_Menge ist die neu aktualisierte
Abbildung in Fig. 9 dargestellt. Die verbleibenden Testvek
toren können in der Reihenfolge t1 → t2 → t4 geprüft wer
den, um zu untersuchen, wie viele der verbleibenden Fehler
durch jeden Detektor detektierbar sind. Dies führt zur
Identifizierung von t2 als dem Testvektor mit der größten
Überdeckung. Ein Übertragen von t2 in T1_Menge und f1 und f3
in F\C1_Menge leert F_Menge. Daher werden t1 und t4 gelöscht,
und die Zähler von f1 und f3 (die durch t1 und t4 detektier
baren Fehler) werden dekrementiert. Die aktualisierte
T_Menge und F_Menge werden wie in Fig. 10 dargestellt auf
gezeichnet, und t2 ist als ein auszuwählender wesentlicher
Vektor übrig. Auswählen von t2 und Fallenlassen der Fehler
in F_Menge, die durch t2 detektierbar sind, führen zum Lee
ren von F_Menge. Daher ergibt die verdichtete Testmenge
CT_Menge = {t2, t3, t5, t6, t7}.
Fig. 11 zeigt ein konkretes Beispiel der zu testenden
Schaltung. Eine Testmenge für die Schaltung ist in Fig. 12
dargestellt. Muster von 16 Testvektoren sind in einer 3-
wertigen Logik ausgedrückt, wo "2" die unbekannte Logik
repräsentiert. Im folgenden wird Fti verwendet, um die Menge
von Fehlern zu symbolisieren, die durch den Testvektor ti
(i = 1, 2, . . ., 16) detektiert werden, und ein α-behafteter
Fehler (α = 0, 1) bei einer Leitung L (L = 1, 2, 3, . . .,
36, 37, 38) wird als L/α repräsentiert.
Ft1 = {1/1; 2/0; 5/0; 6/1; 9/0; 13/1; 15/0; 16/0; 17/0;
18/1; 19/0; 24/1; 25/0; 26/0; 27/0; 29/1; 30/1; 32/1; 33/1;
34/1; 36/1; 38/0}
Ft2 = {1/0; 5/0; 6/0; 13/0; 14/0; 15/0; 16/0; 17/1;
18/1; 19/1; 21/1; 24/1; 25/1; 29/0; 32/0}
Ft3 = {2/1; 4/1; 10/1; 15/1; 18/0; 24/0; 25/0; 29/1;
32/1}
Ft4 = {2/0; 5/0; 10/0; 15/0; 16/0; 18/1; 24/1}
Ft5 = {2/1; 3/1; 4/0; 5/0; 8/1; 9/1; 11/1; 14/1; 15/0;
16/0; 17/0; 18/1; 19/0; 22/1; 24/1; 25/0; 27/1; 29/1; 30/0;
32/1; 34/0; 35/0; 36/0; 37/0; 38/1}
Ft6 = {1/0; 2/1; 3/0; 4/0; 5/0; 6/0; 9/1; 11/0; 13/0;
14/0; 15/0; 16/0; 17/1; 18/1; 19/1; 21/1; 22/1; 24/1; 25/1;
27/1; 29/0; 30/0; 32/0; 35/0; 36/0; 37/0; 38/1}
Ft7 = {4/0; 5/0; 15/0; 16/0; 18/1; 24/1; 36/0; 37/0;
38/1}
Ft8 = {5/1; 16/1; 18/0; 24/0; 25/0; 29/1; 32/1}
Ft9 = {5/0; 15/0; 16/0; 18/1; 24/1}
Ft10 = {5/1; 16/1; 18/0; 24/0; 25/0; 29/1; 32/1; 38/0}
Ft11 = {1/0; 2/0; 3/1; 5/0; 6/0; 8/0; 12/1; 13/0; 14/0;
15/0; 16/0; 17/1; 18/1; 19/1; 20/1; 21/1; 24/1; 25/1; 26/1;
29/0; 30/0; 32/0; 35/0; 36/0; 37/0; 38/1}
Ft12 = {1/1; 2/1; 4/0; 5/0; 6/1; 9/1; 13/1; 15/0; 16/0;
17/0; 18/1; 19/0; 22/1; 24/1; 25/0; 27/1; 29/1; 30/0; 32/1;
34/0; 36/0; 37/0; 38/1}
Ft13 = {1/1; 2/0; 5/0; 6/1; 9/0; 13/1; 15/0; 16/0; 17/0;
18/1; 19/0; 24/1; 25/0; 26/0; 27/0; 29/1; 30/1; 32/1; 33/1;
34/1; 36/1; 38/0}
Ft14 = {1/0; 2/0; 3/1; 5/0; 6/0; 8/0; 12/1; 13/0; 14/0;
15/0; 16/0; 17/1; 18/1; 19/1; 20/1; 21/1; 24/1; 25/1; 26/1;
29/0; 30/0; 32/0; 35/0; 36/0; 37/0; 38/1}
Ft15 = {1/0; 2/0; 3/0; 5/0; 6/0; 7/0; 9/0; 12/0; 13/0;
14/0; 15/0; 16/0; 17/1; 18/1; 19/1; 21/1; 24/1; 25/1; 26/0;
27/0; 28/0; 29/0; 30/1; 31/1; 32/0; 35/1; 37/1; 38/0}
Ft16 = {5/1; 16/1; 18/0; 24/0; 25/0; 29/1; 32/1; 38/0}
Bei der Anfangsstufe der zweiten Phase, die in Fig. 6
dargestellt ist, werden t3, t4, t5, t6, t15 als wesentliche
Vektoren identifiziert. Nach Auswählen der wesentlichen
Vektoren und Fallenlassen aller Fehler, die sie detektie
ren, sind die verbleibenden Daten wie in Fig. 13 darge
stellt. F_Menge = {1/1; 5/1; 6/1; 8/0; 12/1; 13/1; 16/1;
20/1; 26/1; 33/1; 34/1; 36/1} am Beginn des Prozesses zur
Eliminierung redundanter Vektoren und die Vektoren t1, t2,
t7, t8, t9, t10, t11, t12, t13, t14, t16 detektieren 6, 0, 0, 2,
0, 2, 4, 3, 6, 4 bzw. 2 der verbleibenden Fehler. t1 wird
zuerst als rt1 mit C1 = (1/1; 6/1; 13/1, 33/1; 34/1; 36/1)
ausgewählt. F_Menge\C1 = (5/1; 8/0; 12/1; 16/1; 20/1; 26/1}
und Vektoren t2, t7, t8, t9, t10, t11, t12, t13, t14, t16 detektie
ren 0, 0, 2, 0, 2, 4, 0, 0, 4 bzw. 2 der verbleibenden Feh
ler. Als nächstes wird t11 als rt2 mit C2 = {8/0; 12/1; 20/1;
26/1} ausgewählt. Nun detektieren F_Menge\(C1∪C2) = {5/1;
16/1} und Vektoren t2, t7, t8, t9, t10, t12, t13, t14, t16 0, 0,
2, 0, 2, 0, 0, 0 bzw. 2 der verbleibenden Fehler. t8 wird
als rt3 mit C3 = {5/1; 16/1} ausgewählt. Bei dieser Stufe
ist F_Menge (C1∪C2∪C3) = { }; folglich ist C1∪C2∪C3 =
F_Menge. Jeder der restlichen Vektoren t2, t7, t9, t10, t12,
t13, t14, t16 wird gelöscht nach einem Dekrementieren der De
tektionszähler aller Fehler, die er überdeckt, und der ge
genwärtige Prozeß einer Eliminierung redundanter Vektoren
endet.
Alle Fehler in der F_Menge = {1/1; 5/1; 6/1; 8/0; 12/1;
13/1; 16/1; 20/1; 26/1; 33/1; 34/1; 36/1} wurden wesent
lich, und daher bilden rt1 = t1, rt2 = t11 und rt3 = t8 die
zweite Hierarchie wesentlicher Vektoren. Ein Addieren die
ser drei Vektoren zu der früheren Menge wesentlicher Vek
toren ergibt die Menge {t1, t3, t4, t5, t6, t8, t11, t15} aus
acht Vektoren, die alle die Fehler überdecken, die durch
die ursprüngliche Testmenge aus 16 Vektoren detektierbar
sind. Folglich halbiert der Verdichtungsprozeß die Testmen
ge, während sichergestellt wird, daß sich die Fehlerüberde
ckung nicht ändert.
Selbst wenn die oben beschriebenen Beispiele das Modell
mit behaftetem Fehler verwenden, kann der Verdichtungspro
zeß der vorliegenden Erfindung auf andere Fehlermodelle an
gewendet werden. Die Größe eines Teststimulus für eine Ver
knüpfungsschaltung hängt vom Testmodell ab. Im folgenden
werden zur Veranschaulichung die Modelle mit behaftetem
Fehler und Verzögerungsfehler verwendet.
Fig. 14 veranschaulicht das Modell mit behaftetem Feh
ler. Ein 0-behafteter Fehler am Ausgang eines UND-Gatters
G1 wird ungeachtet des Eingabemusters einen Ausgabewert 0
veranlassen. Um den Fehler zu detektieren, wird ein einzi
ges Eingabemuster "1, 1", das versucht, die Ausgabe auf ei
ne logische 1 zu setzen, angewendet. Falls die erwartete
logische 1 am Ausgang beobachtet wird, existiert kein Feh
ler. Auf der anderen Seite wird die Existenz des Fehlers
bestätigt, falls der ausgegebene Logikwert 0 ist. Um einen
behafteten Fehler zu testen, ist somit ein Teststimulus mit
einem Eingabemuster notwendig.
Fig. 15 veranschaulicht das Verzögerungsfehlermodell.
Ein Verzögerungsfehler ist die Situation, bei der der Ef
fekt von Änderungen, die am Eingang eines Gatters auftre
ten, eine längere Zeit in Anspruch nimmt als die erwartete,
um sich zum Ausgang fortzupflanzen. Unter dem Übergangsver
zögerungsfehlermodell werden Verzögerungsfehler durch Über
gang und Zeitsteuerung ausgedrückt. Zwei Fehler, langsames
Abfallen und langsames Ansteigen, sind dem Gatterausgang
zugeordnet. Um den Fehler langsames Ansteigen am Ausgang
eines UND-Gatters G2 zu detektieren, wird zuerst die Ausga
be durch das erste Eingabemuster auf die "niedrige" Logik
(logische 0) eingestellt, in diesem Fall "0, 1". Als nächs
tes wird ein Versuch unternommen, die Ausgabelogik auf
"hoch" zu ändern (um einen Anstieg von 0 auf 1 zu veranlas
sen), zu einer gewissen Zeit (δ Einheiten) nach der Anwen
dung des zweiten Eingabemusters "1, 1". Falls die Ausgabe
logik sich in 1 ändert (δ Einheiten nach der Anwendung des
zweiten Eingabemusters), existiert der Fehler nicht. An
dernfalls wird der Verzögerungsfehler detektiert. Um den
einzelnen Fehler zu testen, ist hier ein aus einem Paar
Eingabemuster bestehender Teststimulus notwendig.
Um das Verdichtungsverfahren auf eine sequentielle
Schaltung anzuwenden, wird eine Sequenz aus initialisieren
den, sensibilisierenden und Fortpflanzungsteilsequenzen als
einzelner Teststimulus betrachtet.
Auf diese Weise ist das Verdichtungsgerät der vorlie
genden Ausführungsformen unter Verwendung eines Informati
onsverarbeitungsgerätes (Computer) wie in Fig. 16 gezeigt
konfiguriert. Das in Fig. 16 dargestellte Informationsver
arbeitungsgerät umfaßt eine CPU (zentrale Verarbeitungsein
heit) 51, einen Speicher 52, eine Eingabevorrichtung 53,
eine Ausgabevorrichtung 54 und eine externe Speichervor
richtung 55, eine Medientreibervorrichtung 56, eine Netz
werkverbindungsvorrichtung 57, die durch einen Bus 58 mit
einander verbunden sind.
Der Speicher 52 enthält einen ROM (Nurlesespeicher),
RAM (Direktzugriffsspeicher) etc. und speichert ein Pro
gramm und Daten, die im Verdichtungsprozeß verwendet wer
den. Die CPU 51 führt einen notwendigen Prozeß durch Aus
führen eines den Speicher 52 verwendenden Programms durch.
Die Eingabevorrichtung 53 kann z. B. eine Tastatur, eine
Zeigervorrichtung, ein Berührungsfeld etc. sein und wird
beim Eingeben einer Anweisung von einem Benutzer und einer
Information verwendet. Die Ausgabevorrichtung 54 kann z. B.
eine Anzeige, ein Drucker, ein Lautsprecher etc. sein und
wird beim Ausgeben einer Anfrage an den Benutzer und eines
Prozeßergebnisses verwendet.
Die externe Speichervorrichtung 55 kann z. B. eine Mag
netplattenvorrichtung, eine Optikplattenvorrichtung, eine
Vorrichtung für eine magnetooptische Platte, eine Bandvor
richtung etc. sein. Das Informationsverarbeitungsgerät
speichert das Programm und Daten in der externen Speicher
vorrichtung 55 und lädt sie wie notwendig in den Speicher
52, um sie zu verwenden.
Die Medientreibervorrichtung 56 treibt ein tragbares
Speichermedium 59 und greift auf die gespeicherten Inhalte
zu. Das tragbare Speichermedium 59 kann ein beliebiges com
puterlesbares Speichermedium wie z. B. eine Speicherkarte,
eine Diskette, eine CD-ROM (Compaktdisk-Nurlesespeicher),
eine optische Platte, eine magnetooptische Platte etc.
sein. Der Benutzer speichert das Programm und die Daten im
tragbaren Speichermedium 59 und lädt sie wie notwendig in
den Speicher 52, um sie zu verwenden.
Die Netzwerkverbindungsvorrichtung 57 ist mit einem
Kommunikationsnetzwerk wie z. B. einem LAN (Lokalbereichs
netzwerk) etc. verbunden und wandelt Daten für die Nach
richtenübertragung um. Das Informationsverarbeitungsgerät
empfängt das Programm und die Daten wie notwendig über die
Netzwerkverbindungsvorrichtung 57 von einer anderen Vor
richtung und lädt sie in den Speicher 52, um sie zu verwen
den.
Fig. 17 zeigt computerlesbare Speichermedien, die das
Informationsverarbeitungsgerät mit einem Programm und Daten
versehen können. Das Programm und die Daten, die im tragba
ren Speichermedium 59 oder einer Datenbank 61 eines Servers
60 gespeichert sind, werden in den Speicher 52 geladen. Zu
dieser Zeit erzeugt der Server 60 ein Fortpflanzungssignal
zum Fortpflanzen des Programms und der Daten und überträgt
das Signal über ein beliebiges Übertragungsmedium im Netz
werk zum Informationsverarbeitungsgerät. Die CPU 51 führt
dann das Programm unter Verwendung der Daten aus und führt
einen notwendigen Prozeß durch.
Gemäß der vorliegenden Erfindung wird durch Konfigurie
ren einer statischen Verdichtung von Teststimuli als Prob
lem einer minimalen Überdeckung eine vom Testerzeugungsal
gorithmus unabhängige Teststimuliverdichtung realisiert.
Diese Verdichtung ist für Teststimuli effektiv, die durch
einen beliebigen Erzeugungsalgorithmus für eine allgemeine
digitale Schaltung erzeugt werden.
Claims (13)
1. Gerät, das eine Verdichtung einer Menge von Teststi
muli für eine digitale Schaltung durchführt, aufweisend:
eine Auswahlvorrichtung (D1), die wesentliche Teststi muli aus Teilmengen der Menge von Teststimuli auswählt, wo bei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detektiert, welcher durch keinen an deren Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
eine Eliminierungsvorrichtung (D2), die redundante Teststimuli aus Teilmengen von Teststimuli nach Auswahl we sentlicher Teststimuli aus jeder Teilmenge eliminiert; und
eine Ausgabevorrichtung (D3), die eine verdichtete Men ge mit den ausgewählten wesentlichen Teststimuli ausgibt.
eine Auswahlvorrichtung (D1), die wesentliche Teststi muli aus Teilmengen der Menge von Teststimuli auswählt, wo bei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detektiert, welcher durch keinen an deren Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
eine Eliminierungsvorrichtung (D2), die redundante Teststimuli aus Teilmengen von Teststimuli nach Auswahl we sentlicher Teststimuli aus jeder Teilmenge eliminiert; und
eine Ausgabevorrichtung (D3), die eine verdichtete Men ge mit den ausgewählten wesentlichen Teststimuli ausgibt.
2. Gerät nach Anspruch 1, worin
die Ausgabevorrichtung eine Teilmenge minimaler Größe
der Menge von Teststimuli, welche Fehler überdeckt, die
durch die Menge von Teststimuli detektierbar sind, ohne
Teststimuli in der Teilmenge minimaler Größe zu modifizie
ren, als die verdichtete Menge ausgibt.
3. Gerät nach Anspruch 1, worin
die Auswahlvorrichtung die Auswahl wesentlicher Test
stimuli aus Teilmengen von verbleibenden Teststimuli nach
Eliminierung redundanter Teststimuli aus den Teilmengen
hierarchisch wiederholt und die Ausgabevorrichtung die ver
dichtete Menge mit den ausgewählten wesentlichen Teststimu
li ausgibt.
4. Gerät nach Anspruch 1, worin
die Eliminierungsvorrichtung eine Teilmenge von Test
stimuli identifiziert, die eine gegebene Menge von Fehlern
optimal überdeckt, und einen oder mehrere, von den identi
fizierten Teststimuli verschiedene Teststimuli als die red
undanten Teststimuli eliminiert.
5. Gerät nach Anspruch 1, ferner aufweisend
eine Speichervorrichtung (52), die eine Information der Menge von Teststimuli, eine Information von Fehlern, welche die Menge von Teststimuli überdeckt, und eine Zeiger-Infor mation speichert, die jedem Teststimulus den durch einen entsprechenden Teststimulus detektierbaren Fehlern zuord net,
worin die Auswahlvorrichtung und Eliminierungsvorrich tung durch Verweisen auf die in der Speichervorrichtung ge speicherte Information eine Auswahl bzw. Eliminierung durchführen.
eine Speichervorrichtung (52), die eine Information der Menge von Teststimuli, eine Information von Fehlern, welche die Menge von Teststimuli überdeckt, und eine Zeiger-Infor mation speichert, die jedem Teststimulus den durch einen entsprechenden Teststimulus detektierbaren Fehlern zuord net,
worin die Auswahlvorrichtung und Eliminierungsvorrich tung durch Verweisen auf die in der Speichervorrichtung ge speicherte Information eine Auswahl bzw. Eliminierung durchführen.
6. Gerät nach Anspruch 5, ferner aufweisend
eine Simulationsvorrichtung (51 und 52), die eine Simu lation an der digitalen Schaltung mit der Menge von Test stimuli durchführt, um die Fehler zu verfolgen, welche die Menge von Teststimuli überdeckt,
worin die Speichervorrichtung eine Zählerinformation speichert, die jedem Fehler zugeordnet ist und die Zahl von Teststimuli angibt, durch die ein entsprechender Fehler de tektierbar ist, die Simulationsvorrichtung die Zählerinfor mation inkrementiert, wenn der entsprechende Fehler während der Simulation verfolgt wird und die Auswahlvorrichtung ei nen Teststimulus, der einen Fehler mit einer Zählerinforma tion von Eins überdeckt, als einen wesentlichen Teststimu lus auswählt.
eine Simulationsvorrichtung (51 und 52), die eine Simu lation an der digitalen Schaltung mit der Menge von Test stimuli durchführt, um die Fehler zu verfolgen, welche die Menge von Teststimuli überdeckt,
worin die Speichervorrichtung eine Zählerinformation speichert, die jedem Fehler zugeordnet ist und die Zahl von Teststimuli angibt, durch die ein entsprechender Fehler de tektierbar ist, die Simulationsvorrichtung die Zählerinfor mation inkrementiert, wenn der entsprechende Fehler während der Simulation verfolgt wird und die Auswahlvorrichtung ei nen Teststimulus, der einen Fehler mit einer Zählerinforma tion von Eins überdeckt, als einen wesentlichen Teststimu lus auswählt.
7. Gerät nach Anspruch 1, worin
das Gerät eine Verdichtung der Menge von Teststimuli
durchführt, durch die Fehler eines Modells mit behaftetem
Fehler detektierbar sind.
8. Gerät nach Anspruch 1, worin
das Gerät eine Verdichtung der Menge von Teststimuli
durchführt, durch die Fehler eines Verzögerungsfehlermo
dells detektierbar sind.
9. Gerät nach Anspruch 1, worin
das Gerät eine Verdichtung der Menge von Teststimuli
durchführt, indem eine Sequenz von initialisierenden, sen
sibilisierenden und Fortpflanzungsteilsequenzen als ein
einzelner Teststimulus betrachtet wird.
10. Computerlesbares Aufzeichnungsmedium (52, 55, 59
und 61), das ein Programm für einen Computer speichert, der
eine Verdichtung einer Menge von Teststimuli für eine digi
tale Schaltung durchführt, welches Programm den Computer
veranlaßt durchzuführen:
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
11. Fortpflanzungssignal, das ein Programm zu einem
Computer fortpflanzt, der eine Verdichtung einer Menge von
Teststimuli für eine digitale Schaltung durchführt, welches
Programm den Computer veranlaßt durchzuführen:
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
12. Verfahren zum Verdichten einer Menge von Teststimu
li für eine digitale Schaltung, umfassend:
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
Auswählen wesentlicher Teststimuli aus Teilmengen der Menge von Teststimuli, wobei ein wesentlicher Teststimulus ein Teststimulus ist, der zumindest einen Fehler detek tiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detektierbar ist;
Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl wesentlicher Teststimuli aus jeder Teilmenge; und
Ausgeben einer verdichteten Menge mit den ausgewählten wesentlichen Teststimuli.
13. Gerät, das eine Verdichtung einer Menge von Test
stimuli für eine digitale Schaltung durchführt, aufweisend:
Auswahlmittel (D1) zum Auswählen wesentlicher Teststi muli aus Teilmengen der Menge von Teststimuli, wobei ein wesentliche Teststimulus ein Teststimulus ist, der zumin dest einen Fehler detektiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detek tierbar ist;
Eliminierungsmittel (D2) zum Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl we sentlicher Teststimuli aus jeder Teilmenge; und
Ausgabemittel (D3) zum Ausgeben einer verdichteten Men ge mit den ausgewählten wesentlichen Teststimuli.
Auswahlmittel (D1) zum Auswählen wesentlicher Teststi muli aus Teilmengen der Menge von Teststimuli, wobei ein wesentliche Teststimulus ein Teststimulus ist, der zumin dest einen Fehler detektiert, der durch keinen anderen Teststimulus in einer der Teilmengen von Teststimuli detek tierbar ist;
Eliminierungsmittel (D2) zum Eliminieren redundanter Teststimuli aus Teilmengen von Teststimuli nach Auswahl we sentlicher Teststimuli aus jeder Teilmenge; und
Ausgabemittel (D3) zum Ausgeben einer verdichteten Men ge mit den ausgewählten wesentlichen Teststimuli.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001168951A JP2002365346A (ja) | 2001-06-05 | 2001-06-05 | テスト刺激コンパクション装置および方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE10200833A1 true DE10200833A1 (de) | 2002-12-12 |
Family
ID=19011085
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10200833A Withdrawn DE10200833A1 (de) | 2001-06-05 | 2002-01-10 | Gerät und Verfahren für eine Teststimuliverdichtung |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7260793B2 (de) |
| JP (1) | JP2002365346A (de) |
| DE (1) | DE10200833A1 (de) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7000141B1 (en) * | 2001-11-14 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Data placement for fault tolerance |
| US8769361B2 (en) * | 2003-10-07 | 2014-07-01 | Advantest (Singapore) Pte Ltd | Cost estimation for device testing |
| US7137083B2 (en) * | 2004-04-01 | 2006-11-14 | Verigy Ipco | Verification of integrated circuit tests using test simulation and integrated circuit simulation with simulated failure |
| US7970594B2 (en) * | 2005-06-30 | 2011-06-28 | The Mathworks, Inc. | System and method for using model analysis to generate directed test vectors |
| US20070260926A1 (en) * | 2006-04-13 | 2007-11-08 | International Business Machines Corporation | Static and dynamic learning test generation method |
| US8180142B2 (en) * | 2008-12-02 | 2012-05-15 | International Business Machines Corporation | Test fail analysis on VLSI chips |
| US9401222B1 (en) | 2015-11-23 | 2016-07-26 | International Business Machines Corporation | Determining categories for memory fail conditions |
| CN115184055B (zh) * | 2022-06-28 | 2023-05-12 | 中国人民解放军海军航空大学 | 一种分级测试性优化的测试集确定方法及系统 |
| WO2024199654A1 (en) * | 2023-03-29 | 2024-10-03 | Advantest Corporation | Test apparatus and method for operating a test apparatus |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5340644A (en) * | 1990-10-05 | 1994-08-23 | Hercules Incorporated | Organosilicon compositions |
| US5523374A (en) * | 1992-12-03 | 1996-06-04 | Hercules Incorporated | Curable and cured organosilicon compositions |
| DE19530095A1 (de) | 1995-08-16 | 1997-02-20 | Martin Engwicht | Zugriff-Überwachendes-Hilfsmittel auf Speichereinheiten |
| US5726996A (en) | 1995-09-18 | 1998-03-10 | Nec Usa, Inc. | Process for dynamic composition and test cycles reduction |
| US5762996A (en) * | 1996-04-15 | 1998-06-09 | Lucas; Daniel R. | Silicone balloon catheter |
| US5771243A (en) * | 1997-02-07 | 1998-06-23 | Etron Technology, Inc. | Method of identifying redundant test patterns |
| US6223316B1 (en) | 1998-05-27 | 2001-04-24 | Nec Usa, Inc. | Vector restoration using accelerated validation and refinement |
| US6256505B1 (en) * | 1998-05-28 | 2001-07-03 | Ericsson Lnc. | GSM transceiver unit equipped for time of arrival measurements |
| US6212667B1 (en) * | 1998-07-30 | 2001-04-03 | International Business Machines Corporation | Integrated circuit test coverage evaluation and adjustment mechanism and method |
| US6467058B1 (en) | 1999-01-20 | 2002-10-15 | Nec Usa, Inc. | Segmented compaction with pruning and critical fault elimination |
| US6810372B1 (en) * | 1999-12-07 | 2004-10-26 | Hewlett-Packard Development Company, L.P. | Multimodal optimization technique in test generation |
| US7103816B2 (en) * | 2001-01-23 | 2006-09-05 | Cadence Design Systems, Inc. | Method and system for reducing test data volume in the testing of logic products |
| US6782501B2 (en) * | 2001-01-23 | 2004-08-24 | Cadence Design Systems, Inc. | System for reducing test data volume in the testing of logic products |
-
2001
- 2001-06-05 JP JP2001168951A patent/JP2002365346A/ja active Pending
- 2001-11-06 US US09/985,768 patent/US7260793B2/en not_active Expired - Fee Related
-
2002
- 2002-01-10 DE DE10200833A patent/DE10200833A1/de not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002365346A (ja) | 2002-12-18 |
| US20020184587A1 (en) | 2002-12-05 |
| US7260793B2 (en) | 2007-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3689228T2 (de) | Verfahren zur Modellierung und zur Fehlersimulation von komplementären Metalloxidhalbleiterschaltungen. | |
| DE60106799T2 (de) | Probabilistische Diagnose, inbesondere für eingebettete Fernanwendungen | |
| DE68925121T2 (de) | Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät | |
| DE69114183T2 (de) | System zur Reduzierung von Prüfdatenspeichern. | |
| DE4497149B4 (de) | Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung | |
| DE10392497T5 (de) | Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung | |
| DE19903633A1 (de) | Implementierung von Boolescher Erfüllbarkeit mit nichtchronologischer Rückwärtsverarbeitung in rekonfigurierbarer Hardware | |
| DE69107476T2 (de) | Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher. | |
| DE69021788T2 (de) | Anordnung und Verfahren zur Analyse von Fehlimpulssignalen in einem Logiksimulator. | |
| DE3685711T2 (de) | Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen. | |
| DE60005670T2 (de) | Aktualisierung der platzierung während der technologieabbildung | |
| DE19950821A1 (de) | Bewertungssystem für integrierte Halbleiterschaltungen | |
| DE69532307T2 (de) | Ausdrucks-Propagierung für hierarchisches Netzlisten | |
| DE112020006021T5 (de) | Auf maschinelles lernen basierendes verfahren und vorrichtung für die berechnung und verifizierung von verzögerungen des entwurfs integrierter schaltungen | |
| DE112017007656T5 (de) | Verschobene aktualisierung von datenbank-hashcode in einer blockchain | |
| EP0580663B1 (de) | Verfahren zur verifikation datenverarbeitender systeme | |
| DE19536203A1 (de) | Fehlerdiagnoseverfahren für eine sequentielle Schaltung | |
| DE19814415A1 (de) | Logikanalyse-Untersystem in einem Zeitscheibenemulator | |
| DE19860597A1 (de) | Teilungs- und Umordnungsverfahren zum statischen Verdichten von Prüffolgen für sequentielle Schaltungen | |
| DE10200833A1 (de) | Gerät und Verfahren für eine Teststimuliverdichtung | |
| DE60012735T2 (de) | Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem | |
| DE69533567T2 (de) | Vorrichtung und Verfahren zum Auffinden von False-Timing-Paths in digitalen Schaltkreisen | |
| DE60204535T2 (de) | Optimierungsverfahren einer Prüfsequenz für digitale integrierte Schaltungen | |
| DE60208062T2 (de) | Digitales system und entsprechendes verfahren zur fehlererkennung | |
| DE10255142A1 (de) | Diagnose von Datenpaketübertragungs-Fehlern unter Verwendung von Einschränkungen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8139 | Disposal/non-payment of the annual fee |