DE69333510T2 - Verfahren und Gerät zur Prüfsequenzgenerierung - Google Patents

Verfahren und Gerät zur Prüfsequenzgenerierung Download PDF

Info

Publication number
DE69333510T2
DE69333510T2 DE69333510T DE69333510T DE69333510T2 DE 69333510 T2 DE69333510 T2 DE 69333510T2 DE 69333510 T DE69333510 T DE 69333510T DE 69333510 T DE69333510 T DE 69333510T DE 69333510 T2 DE69333510 T2 DE 69333510T2
Authority
DE
Germany
Prior art keywords
timeframe
error
target
path
frontier
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.)
Expired - Fee Related
Application number
DE69333510T
Other languages
English (en)
Other versions
DE69333510D1 (de
Inventor
Toshinori Hosokawa
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69333510D1 publication Critical patent/DE69333510D1/de
Publication of DE69333510T2 publication Critical patent/DE69333510T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • (1) Sachgebiet der Erfindung
  • Diese Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Erzeugen einer Test-Sequenz bzw. Prüf-Sequenz, um einen Fehler in einer digitalen Schaltung zu testen.
  • (2) Beschreibung des in Bezug stehenden Stands der Technik
  • Die Anwendung einer LSI bei einer digitalen Schaltung ist heutzutage umfangreich geworden, wobei sie auf jedem Gebiet verwendet wird. Eine Technik zum Testen eines Fehlers in einer LSI ist von großer Wichtigkeit entsprechend dem Fortschritt des LSI geworden, da Signale darin nicht direkt beobachtbar und kontrollierbar sind.
  • Verschiedene Verfahren sind angegeben worden, um automatisch eine Test-Sequenz zum Testen eines Fehlers in einer digitalen Schaltung zu erzeugen. Allgemein wird das Vorhandensein eines Fehlers durch zuerst Eingeben einer geeigneten Eingangssequenz zu einem Eingangsanschluss einer Schaltung, die getestet werden soll, und dann durch Vergleichen des erhaltenen Ausgangs eines Ausgangsanschlusses der Schaltung mit einem erwarteten Ausgang geprüft. Diese Eingangssequenz ist die Test-Sequenz, die erzeugt wird, um jeden vermuteten Fehler zu erfassen.
  • Herkömmliche Test-Sequenz-Erzeugungsverfahren sind, zum Beispiel, in Kapitel 1, 1.4.2, „Stuck at Fault Testing", eines Referenz-Buchs, mit dem Titel „FAULT TOLERANT COMPUTIN: THEORY AND TECHNIQUES", Volume I, herausgegeben von PRENTICEHALL, Englewood Cliff, New Jersey, und „HITEC: A TEST GENERATION PACKAGE FOR SEQUENTIAL CIRCUITS" von T. Niemann und J. H. Patel, als eine Referenz der European Design Automation Conference, 1991, offenbart. Weitere Entwicklungen sind durch die folgenden Dokumente offenbart.
  • In der EP-A-0535573 wird, wenn ein System fehlschlägt, einen Schaltungs-Zustand einzustellen, der Schaltungs-Zustand als ein nicht zulässiger Zustand gespeichert. Auf diese Art und Weise wird ein Schaltungs-Zustand davor bewahrt, dass er mit dem nicht zulässigen Zustand zu dem Zeitpunkt einer Erzeugung einer darauf folgenden Test-Sequenz übereinstimmt. Demzufolge kann die Möglichkeit einer Erzeugung einer erfolg reichen Test-Sequenz erhöht werden und das System zur Erzeugung der Test-Sequenz kann eine höhere Fehlererfassung erreichen.
  • Anstelle einer Vorwärts-Fehlerpropagation, um sensitivierte Pfade zu erzeugen, schlägt Cheng in „The Back Algorithm for Sequential Test Generation" [Proceedings of the International Conference on Computer Design: VLSI in Computers and Processors, (ICCD), New York, 3.–5. Oktober 1998, No. -, 3. Oktober 1998, Institute of Electrical and Electronics Engineers, Seiten 66–69, XP000119185] einen modifizierten D-Algorithmus vor, der dazu verwendet wird, die sensitivierten Pfade rückwärts durch Einstellen der erforderlichen, sensitivierten Werte zu erzeugen.
  • Im Gegensatz zu früheren Maßnahmen zerlegen Gosh et al. in „Test Generation and Verification for Highly Sequential Circuits" (IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, Vol. 10, No. 5, 1. Mai 1991, New York, Seiten 652–667, XP000236537) das Problem einer sequenziellen Test-Erzeugung in drei Unterprobleme: kombinationsmäßige Test-Erzeugung; fehlerfreie Zustand-Einstellung; und fehlerfreie Zustand-Differenzierung. Zu Anfang werden, vor einer Test-Erzeugung, getrennte Summen von Produkt-Darstellungen der vollständigen und teilweisen EIN-Einstellungen und AUS-Einstellungen jedes der Flip-Flop-Eingänge und von primären Ausgängen der sequenziellen Schaltung, unter Verwendung des PODEM-Algorithmus, extrahiert. Schnelle Algorithmen für eine Zustand-Einstellung und eine Zustand-Differenzierung basierend auf dieser Darstellung werden beschrieben.
  • Ein neuer, deterministischer Test-Muster-Erzeugungs-Algorithmus für sequenzielle Schaltungen wird durch Heap et al. in „STarsS: A Target Switching Algorithm for Sequential Test Generation" (Digest of Papers of the 1991 IEEE VLSI Test Symposium, 15.–17. April, Atlantic City, Seiten 210–214, XP000573424) vorgestellt. Der STarS Algorithmus beginnt mit einem Erzeugen einer Test-Sequenz für einen spezifischen Soll-Fehler, allerdings protokolliert, wenn dieses Muster erzeugt wird, er den Satz von Fehlern, die auch diese Sequenz als Teil eines Tests verwenden. Ein Backtracking bzw. Rücksetzen wird durch Umschalten des Soll-Fehlers auf ein Element dieses Fehler-Satzes vermieden und Teilsequenzen werden erneut so oft wie möglich versucht.
  • Schließlich geben Razdan et al., in „An Interactive Sequential Test Pattern Generation System" (Proceedings of the 1989 International Test Conference, 29.–30. August, Washington DC, Seiten 38–46, XP000089928) ein Tool für eine automatische Test-Muster- Erzeugung an, das dem Designer ermöglicht, den Test-Erzeugungs-Prozess zu beeinflussen, und verwendet innovative Heuristiken und sequenzielle Grundstrukturen auf hohem Niveau.
  • Ein herkömmliches Verfahren zum Erzeugen einer Test-Sequenz ist im Detail wie folgt:
  • Ein Fehler, der erfasst werden soll, ist ein Stuck-at-Fault, was ein Modell-Fehler ist, angenommen basierend auf einer Schaltung, die getestet werden soll. Ein solcher Fehler verursacht einen Wert einer Signalleitung in der Schaltung, die auf entweder eine logische 0 oder eine logische 1 gelegt werden soll, was jeweils als ein „Stuck-at-0-Fault" und „Stuck-at-1-Fault" bezeichnet wird. Diese Stuck-at-Faults sind zuvor in einer Fehlertabelle registriert, die in 1 dargestellt ist, und zwar basierend auf einer Net-Liste der Schaltung. Die Tabelle enthält fünf Spalten, „Signalleitungen", die alle Signalleitungen in der Schaltung anzeigt, „Fehler", die entweder einen Stuck-at-0-Fault (s-a-0) oder einen Stuck-at-1-Fault (s-a-1) anzeigt, „Erfassung", die eine erfolgreiche Erfassung oder eine Erfassungsfähigkeit durch eine Test-Sequenz für einen anderen Fehler mit einer 1 anzeigt, „Prozess", die den Abschluss eines Test-Sequenz-Erzeugungsprozesses mit einer 1 anzeigt (es spielt keine Rolle, ob der Prozess erfolgreich ist oder nicht), und „redundante Fehler", die eine Redundanz anzeigt, d. h. eine nicht Erfassbarkeit eines Fehlers durch eine 1. Zum Beispiel ist s-a-0 in der Signalleitung „a" dahingehend befunden worden, nicht ein redundanter Fehler durch den Prozess zu sein, und eine Test-Sequenz ist erfolgreich erzeugt worden, wobei andererseits s-a-1 in der Signalleitung „c" dahingehend befunden worden ist, nicht ein redundanter Fehler zu sein, und die Erzeugung einer Test-Sequenz ist nicht erfolgreich gewesen.
  • Das herkömmliche Verfahren zum Erzeugen einer Test-Sequenz in einer sequenziellen Schaltung ist in der Form eines Flussdiagramms in 2 dargestellt.
  • In dem Flussdiagramm beginnt der Prozess zur Erzeugung einer Test-Sequenz am Schritt 401.
  • Im Schritt 402 wird beurteilt, ob irgendein Fehler, mit Ausnahme redundanter Fehler, für die eine Test-Sequenz noch nicht erzeugt worden ist (nachfolgend bezeichnet als ein nicht erfasster Fehler), und für die ein Test-Sequenz-Erzeugungsprozess bis jetzt nicht durchgeführt worden ist (nachfolgend bezeichnet als ein nicht bearbeiteter Fehler), vorhanden ist. Falls einer vorhanden ist, schreitet das System, das diesen Prozess ausführt, zu Schritt 403 fort, und ansonsten geht das System zu Schritt 408 über, um den Prozess zu beenden.
  • Im Schritt 403 wird, unter nicht erfassten und nicht bearbeiteten Fehlern, ein Fehler, für den eine Test-Sequenz erzeugt ist (nachfolgend bezeichnet als ein Soll-Fehler), ausgewählt, und gleichzeitig wird die entsprechende Reihe in der Spalte „Prozess" auf eine 1 gesetzt.
  • Im Schritt 404 wird ein Test-Muster für einen Soll-Fehler als ein primärer Schritt für die Testsequenz-Erzeugung, und zwar nur für die kombinationsmäßige Schaltung, um zu prüfen, ob der Fehler ein logisch unerfasster Fehler ist (nachfolgend bezeichnet als ein redundanter Fehler), erzeugt. Wenn der Soll-Fehler dahingehend befunden ist, dass er ein redundanter Fehler ist oder mehr Zeit erfordert, als zugelassen ist, um eine Test-Sequenz zu erzeugen, wird die entsprechende Reihe in der Spalte „redundanter Fehler" auf eine 1 gesetzt und das System geht zurück zu Schritt 402. Im Schritt 404 wird ein solcher nicht erfasster Fehler vor der Erzeugung der Test-Sequenz ausgeschlossen.
  • Im Schritt 405 wird eine Test-Sequenz für den Soll-Fehler, ausgewählt in dem Schritt 403, erzeugt, um die Effekte des Soll-Fehlers von der Fehlerstelle zu irgendeinem externen Ausgangs-Anschlussstift zu propagieren (nachfolgend bezeichnet als ein Fehler-Propagations-Prozess). Falls der Fehler-Propagations-Prozess erfolgreich ist, geht das System weiter zu Schritt 406, und ansonsten geht das System zurück zu Schritt 402, um den nächsten Soll-Fehler zu verarbeiten.
  • Im Schritt 406 wird eine Test-Sequenz erzeugt, um den Anfangszustand der Schaltung zu einem Zustand zu überführen, der auftrat, als der Fehler-Propagations-Prozess gerade abgeschlossen worden ist (nachfolgend bezeichnet als ein Zustand-Initialisierungs-Prozess). Falls der Prozess erfolgreich ist, dann geht das System weiter zu Schritt 407, und ansonsten geht das System zurück zu Schritt 402, um den nächsten Soll-Fehler zu bearbeiten. Der Anfangszustand kann irgendein Zustand sein; allerdings kann, allgemein, solange wie alle Flip-Flops (nachfolgend bezeichnet als FFs) in der Schaltung, die getestet werden soll, entweder in einem „don't care" Zustand oder in einem unbekannten Zustand vorliegen, eine Test-Sequenz, durch die ein Fehler-Test durchgeführt werden kann, in welchem Zustand auch immer sich die sequenzielle Schaltung befindet, erhalten werden. Tatsächlich kann, wenn die Schaltung in einem Zustand vorlag, der auf trat, als ein unmittelbar vorhergehender Fehler-Test gerade abgeschlossen worden ist, die Zeit, die für aufeinanderfolgende Fehler-Tests erforderlich ist, verkürzt werden.
  • Im Schritt 407 wird eine Fehler-Simulation mit der Test-Sequenz des Soll-Fehlers, ausgewählt im Schritt 403, durchgeführt, und die entsprechende Reihe in der Spalte „Erfassung" wird als eine 1 gesetzt. Mehr als ein Soll-Fehler kann erfasst werden, da alle Fehler in dem gemeinsamen Pfad gleichzeitig simuliert werden.
  • Im Schritt 408 endet der Prozess zur Erzeugung einer Test-Sequenz.
  • Der Fehler-Propagations-Prozess von Schritt 405, der auf einer REVERSE TIME PROCESSING (RTP) basiert, ist in Form eines Flussdiagramms in 3 dargestellt. Entsprechend einer RTP wird eine sequenzielle Schaltung, die logisch aus einer kombinationsmäßigen Schaltung und FFs besteht, als eine Reihe von kombinationsmäßigen Schaltungen, iteriert in einer Zeit-Sequenz, die noch logisch gleich zu der sequenziellen Schaltung sind, behandelt. In der Reihe von Schaltungen wird ein Pfad, der sich von einem externen Ausgang, der das Ziel des Soll-Fehlers ist, bis zu der Fehlerstelle erstreckt, heuristisch bestimmt und zurück nachvollzogen, und dann wird eine Eingangs-Sequenz für das Fehlersignal, um entlang des Pfads propagiert zu werden, durch den Fehler-Propagations-Prozess aufgefunden. Bei diesem Prozess wird ein Eingang für das Fehlersignal des Soll-Fehlers, um zu propagieren, an jeder iterierten, kombinationsmäßigen Schaltung gefunden (nachfolgend bezeichnet als ein Timeframe), das bedeutet, der Pfad wird aktiviert.
  • Genauer gesagt werden die nachfolgenden Schritte in jedem Timeframe so ausgeführt, wie dies in 3 dargestellt ist:
  • In dem Flussdiagramm beginnt die Fehler-Propagations-Verarbeitung am Schritt 601.
  • Im Schritt 602 wird beurteilt, ob ein Pfad, umfassend einen Soll-Fehler, sensitiviert worden ist oder nicht. Falls dies der Fall ist, dann wird der Fehler-Propagations-Prozess als ein Erfolg angesehen. Das System geht zu Schritt 605 über, und geht ansonsten zu Schritt 603 über.
  • Im Schritt 603 wird die Stelle eines Soll-Fehlers oder einer der Ausgänge der FFs entsprechend zu den Eingängen der kombinationsmäßigen Schaltung als eine D-Frontier ausgewählt. Dann wird die D-Frontier einem Fehler-Signal zugeordnet und dann wird das Fehler-Signal zu irgendeinem externen Ausgangs-Anschlussstift oder zu dem Eingang der D-Frontier, ausgewählt in einem unmittelbar vorhergehenden Timeframe (nachfolgend bezeichnet als Vorgabe-PPO), durch Zuordnen von Eingangswerten und Zustandswerten jeweils zu den externen Eingangs-Anschlussstiften und den Ausgängen der FFs, propagiert. Falls der Fehler-Propagations-Prozess erfolgreich ist, dann geht das System weiter zu Schritt 604, und ansonsten geht es zu Schritt 605.
  • In dem Schritt 604 werden die Zustandswerte, die so den externen Eingangs-Anschlussstiften zugeordnet sind, um den Fehler-Propagations-Pfad zu sensitivieren, als Test-Sequenz gespeichert, wobei das System dann zu Schritt 602 mit dem Eingang an FF weiter geht, dessen Ausgang die D-Frontier ist, als neue Vorgabe-PPO.
  • Im Schritt 605 endet der Fehler-Propagations-Prozess.
  • Der Zustand-Initialisierungs-Prozess von Schritt 406 ist in Form eines Flussdiagramms in 4 gezeigt. In diesem Prozess wird eine Eingangs-Sequenz basierend auf Zustandswerten, zugeordnet so, dass der Zustand-Übergang von einem Zustand, der dann auftrat, als der Fehler-Propagations-Prozess gerade abgeschlossen worden ist, beginnt (nachfolgend bezeichnet als ein Fehler-Anregungs-Zustand), was zurück zu dem Anfangs-Zustand führt, im Gegensatz zu dem Zustand-Übergang in einem tatsächlichen Fehler-Test.
  • In 4 beginnt der Zustand-Initialisierungs-Prozess am Schritt 501.
  • Im Schritt 502 wird beurteilt, ob der momentane Zustand der Schaltung mit dessen Anfangszustand übereinstimmt oder nicht. Falls sie übereinstimmend sind, dann geht das System weiter zu Schritt 505, um den Prozess zu beenden, und ansonsten geht das System weiter zu Schritt 503.
  • Im Schritt 503 wird der momentane Zustand durch Zuordnen von Zustandswerten zu den Ausgängen der externen Eingangs-Anschlussstifte und der FFs eingestellt. Falls die Einstellung erfolgreich ist, dann geht das System weiter zu Schritt 504, und ansonsten geht es zu Schritt 505 über, um den Prozess zu beenden.
  • Im Schritt 504 werden die Zustandswerte, die so zu den externen Eingangs-Anschlussstiften zugeordnet sind, als eine Test-Sequenz gespeichert, wogegen die Zustandswerte, die den Ausgängen der FFs zugeordnet sind, das bedeutet die Zustandswerte, die den momentanen Zustand eingestellt haben, als der momentane Zustand definiert. Dann geht das System zurück zu Schritt 502.
  • Im Schritt 505 endet der Zustand-Initialisierungs-Prozess.
  • Die Betriebsweise der Test-Sequenz-Erzeugung, die den vorstehend angegebenen Aufbau besitzt, wird nachfolgend beschrieben:
  • Zuerst wird ein Soll-Fehler unter nicht erfassten und nicht verarbeiteten Fehlern, dargestellt in der Fehler-Tabelle in 1, ausgewählt (Schritte 401403 in 2).
  • Dann wird ein Test-Muster für das binäre Schaltnetz in einer Schaltung, die getestet werden soll, erzeugt, um zu prüfen, ob der ausgewählte Soll-Fehler ein redundanter Fehler ist oder zusätzliche Zeit für den Prozess erforderlich ist. Die Schaltung, die getestet werden soll, ist in 5(a) dargestellt, und deren vereinfachtes Diagramm ist in 5(b) dargestellt. Da die Schaltung logisch in ein binäres Schaltnetz und FFs unterteilt werden kann, wird davon ausgegangen, dass die Eingänge des binären Schaltnetzes aus externen Eingangs-Anschlussstiften, die primäre Eingänge (nachfolgend bezeichnet als PIs) und pseudo-primäre Eingänge (nachfolgend bezeichnet als PPIs), ausgegeben von den FFs, sind, bestehen, wogegen die Ausgänge der kombinationsmäßigen Schaltung aus den externen Ausgangs-Anschlussstiften bestehen, die primäre Ausgänge (nachfolgend bezeichnet als POs) und pseudo-primäre Ausgänge, eingegeben zu den FFs (nachfolgend bezeichnet als PPOs), sind.
  • Ein Testmuster für das binäre Schaltnetz wird durch Zuordnen eines geeigneten Eingangs-Werts unter Verwendung der PIs und der PPIs der Eingänge ebenso wie der POs und der PPOs der Ausgänge des binären Schaltnetzes erzeugt, so dass das Fehler-Signal eines Soll-Fehlers zu irgendeinem Ausgang im Schritt 404 propagiert wird. Als Ergebnis schreitet, wenn die Test-Muster-Erzeugung erfolgreich ist, das System weiter zu Schritt 405, wogegen dann, wenn ein Soll-Fehler ein redundanter Fehler ist, eine 1 in der Spalte des „redundanten Fehlers" in der Fehler-Tabelle eingestellt wird, und das System geht zurück zu Schritt 402, um den nächsten Soll-Fehler auszuwählen.
  • Im Schritt 405 wird ein Prozess einer Fehler-Propagation ausgeführt, um eine Test-Sequenz für den Soll-Fehler zu erzeugen, wie dies in 6 dargestellt ist. Die Zeichnung enthält drei Timeframes 701, 702 und 703 in der sequenziellen Schaltung, die als erster, zweiter und dritter jeweils verarbeitet werden. Diese Timeframes entsprechen dem binären Schaltnetz, das entsprechend dem Zustand-Übergang der FFs, separiert von dem binären Schaltnetz, erweitert ist. (Als Referenz wird die Schaltung der 5(b) erweitert und ist in 7 dargestellt).
  • Obwohl nur drei Timeframes in 6 zur Vereinfachung dargestellt sind, sind im Gegensatz dazu zahlreiche Timeframes in einer tatsächlichen LSI erforderlich. Es sollte angemerkt werden, dass der Fehler-Propagations-Prozess umgekehrt von dem Timeframe 701 bis zu dem Timeframe 703 entgegen dem tatsächlichen Betrieb einer sequenziellen Schaltung fortschreitet. 6 enthält weiterhin einen externen Ausgangs-Anschlussstift 704 der sequenziellen Schaltung, einen Propagations-Pfad 705 eines Fehler-Signals in dem Timeframe 701, einen anderen Fehler-Propagations-Pfad 706 in dem Timeframe 702, FFs 707709, verwendet in dem Timeframe 701, FFs 710712, verwendet in dem Timeframe 702, und eine Fehlerstelle 713 für den Soll-Fehler „a".
  • Der Fehler-Propagations-Prozess, der in Form eines Flussdiagramms in 3 dargestellt ist, wird nachfolgend im Detail unter Bezugnahme auf 6 angegeben.
  • In dem ersten Timeframe 701 kann der Soll-Fehler 713 nicht aufgrund davon sensibilisiert werden, dass er zu POs kombinationsmäßig unerreichbar ist (Schritt 602 in 3), so dass der Ausgang von FF3 (709) heuristisch als ein D-Frontier ausgewählt ist. Der Fehler-Propagations-Pfad 705 wird so sensitiviert, um ein Fehler-Signal 703 zu FF3 (709) zuzuordnen, und es zu dem externen Ausgangs-Anschlussstift 704 zu propagieren. Mit anderen Worten werden Zustandswerte zu den externen Eingangs-Anschlussstiften und den FFs zugeordnet, um den Pfad, der von FF3 (709) bis zu dem externen Ausgangs-Anschlussstift 704 führt, zu sensitivieren (Schritt 603). Die Zustandswerte, die erfolgreich zugeordnet sind, werden als Test-Sequenz gespeichert, und der Eingang von FF3, dessen Eingang das D-Frontier ist, wird als ein neuer Soll-PPO eingestellt. Dann geht das System zurück zu Schritt 602 (Schritt 604). Da der Soll-Fehler bis zu diesem Punkt noch nicht sensitiviert worden ist, schreitet das System weiter zu Schritt 603 (Schritt 602).
  • In dem nächsten Timeframe 702 wird der Ausgang von FF3 (709), ausgewählt als ein D-Frontier in dem Timeframe 701, zu einem Soll-PPO gemacht, und FF2 (711) wird heuristisch als ein D-Frontier ausgewählt. Dann wird FF2 (711) einem Fehler-Signal zugeordnet und das Fehler-Signal wird zu dem Eingang von FF3 (709) als ein Soll-PPO durch Sensitivieren des Fehler-Propagations-Pfads 706 propagiert (Schritt 603). Der erfolgreich zugeordnete Zustandswert wird als eine Test-Sequenz gespeichert und der Eingang von FF2 wird als ein neuer Soll-PPO eingestellt (Schritt 604).
  • In dem nächsten Timeframe 703 wird der Ausgang von FF2 (711), ausgewählt in dem Timeframe 702 als ein D-Frontier, zu einem Soll-PPO gemacht. Es wird angenom men, dass ein Fehler-Signal nicht zu dem Eingang von FF2 (711) als das Soll-PPO propagiert werden kann, immer wenn ein D-Frontier ausgewählt ist (Schritt 603). Da der Fehler-Propagations-Prozess für den Fehler 713 demzufolge nicht erfolgreich ist, endet der Fehler-Propagations-Prozess (Schritt 604). Darauffolgend geht das System zurück zu Schritt 402 in 2 (Schritt 405), um den nächsten Soll-Fehler auszuwählen und um denselben Prozess zu wiederholen (Schritte 402405).
  • Andererseits werden, wenn das Fehler-Signal erfolgreich zu dem Soll-Fehler 713 in dem Timeframe 703 propagiert wird, die Zustandswerte, zugeordnet zu den externen Eingangs-Anschlussstiften in jedem Timeframe, als eine Test-Sequenz erzeugt. Allerdings befindet sich der Zustand jedes FF in einem Fehler-Anregungs-Zustand (in dem vorstehenden Fall entspricht er dem Zustandswert, der erfolgreich dem Timeframe 703 zugeordnet ist), so dass die Test-Sequenz, die so erzeugt ist, nur für den Fehler-Anregungs-Zustand effektiv ist. Deshalb ist ein Auffinden einer Sequenz, um den Anfangs-Zustand der Schaltung zu deren Fehler-Anregungs-Zustand zu überführen, erforderlich. Dies ist der Zustand-Initialisierungs-Prozess.
  • Die Betriebsweise des Zustand-Initialisierungs-Prozesses wird nachfolgend unter Bezugnahme auf 8 beschrieben.
  • In der Zeichnung bezeichnen die Bezugszeichen 801804 jeweils einen Zustand der Schaltung, 801 stellt einen Fehler-Anregungs-Zustand dar, 804 stellt einen Anfangs-Zustand dar. Verzweigungen 805808 zeigen die Möglichkeit von Übergängen jeweils von einem Zustand 802 zu einem Zustand 801, von einem Zustand 803 zu einem Zustand 802, von einem Zustand 801 zu einem Zustand 803 und von einem Zustand 804 zu einem Zustand 803 an.
  • An dem Punkt des Abschlusses des Fehler-Propagations-Prozesses ist der momentane Zustand der Zustand 801 (S1), der nicht mit dem Anfangs-Zustand übereinstimmt (Schritt 502 in 4). Deshalb wird der momentane Zustand eingestellt, das bedeutet die Zustände der externen Eingänge und der FFs werden so zugeordnet, dass der momentane Zustand übertragen werden kann. Hierbei wird angenommen, dass die Zuordnung des Zustands 802 (S2) zu den FFs eingestellt ist (Schritt 503). Der eingestellte Zustand wird als ein neuer, momentaner Zustand behandelt (S2) (Schritt 504).
  • Der momentane Zustand wird in derselben Art und Weise eingestellt und der Zustand S3 wird zu einem neuen, momentanen Zustand gemacht (Schritte 502504).
  • Bei der Einstellung des momentanen Zustands S3 kann der momentane Zustand S3 von irgendeinem der Zustände S1 und S4 übertragen werden. Wenn der eingestellte Zustand der Zustand S4 ist, ist die Zustand-Initialisierung erfolgreich. In diesem Fall kann eine Fehler-Test-Sequenz durch Kombinieren einer Eingangs-Sequenz, erhalten in einem vorherigen Fehler-Propagations-Prozess, und einer anderen Eingangs-Sequenz, zugeordnet in dem Zustand-Initialisierungs-Prozess, erhalten werden. Im Gegensatz dazu wird, wenn der eingestellte Zustand der Zustand S1 ist, die Zustand-Initialisierung nicht erfolgreich wiederholt, was zu einer Schleife eines Zustand-Übergangs führt, wobei niemals der Anfangs-Zustand erhalten wird.
  • Nachdem der Zustand-Initialisierungs-Prozess durchgeführt ist, wird eine Fehler-Simulation für den Soll-Fehler unter Verwendung der erhaltenen Test-Sequenz ausgeführt. Nachdem bestätigt ist, dass der Soll-Fehler durch die externen Ausgangs-Anschlussstifte erfassbar ist, wird die entsprechende Reihe in der Spalte „Erfassung" auf eine 1 gesetzt (Schritt 407 in 2). Dann geht das System zurück zu Schritt 402. Das vorstehende Verhalten wird weiter wiederholt, um den Test-Sequenz-Erzeugungs-Prozess für jeden Soll-Fehler auszuführen.
  • Schließlich wird der Test-Sequenz-Erzeugungs-Prozess in der Schaltung in 7 nachfolgend beschrieben. Das „X" markiert die Signalleitungen, die Soll-Fehler darstellen.
  • Ein erster Timeframe in dem Propagations-Prozess
  • Es wird angenommen, dass, da die Sensitivierung eines Pfads, der einen Soll-Fehler besitzt, mit einer „X" Markierung nicht abgeschlossen worden ist (Schritt 602 in 6), ein Ausgang Y2 von FF2 als ein D-Frontier ausgewählt wird (die erstere Hälfte von Schritt 603). In dem binären Schaltnetz werden die Zustandswerte, um den Pfad zwischen einem Eingangs-Signal y2 und einem externen Ausgangs-Anschlussstift 0 zu sensitivieren, wie folgt zugeordnet:
  • Zwei Eingänge (I, y2) eines UND-Gatters G2 müssen (1, D) für ein Fehler-Signal D sein, um zu dem externen Ausgangs-Anschlussstift 0 hin ausgegeben zu werden. In diesem Fall kann ein Eingang y1 „don't" nicht sicher sein (don't care). Dementsprechend wird ein Zustandswert (I, y2 x2) = (1, X, D) zugeordnet, (die letztere Hälfte von Schritt 603). Dieser Zustandswert (I, X, D) wird als Teil der Test-Sequenz gespeichert, und der Eingang y2 von FF2 (Schritt 604) wird zu einem neuen Soll-PPO gemacht.
  • Ein zweiter Timeframe in dem Propagations-Prozess
  • Es wird angenommen, dass ein Soll-Fehler mit einer „X" Markierung als ein D-Frontier ausgewählt worden ist (Schritt 602 und die erstere Hälfte von Schritt 603). In dem binären Schaltnetz werden die Zustandswerte, um einen Pfad zwischen dem Soll-Fehler und Y2 des Soll-PPO zu sensitivieren, wie folgt zugeordnet:
  • Zwei Eingänge eines ODER-Gatters G3 (der Ausgang von G1, y1) müssen (D, 0) für das Fehler-Signal D sein, um zu Y2 ausgegeben zu werden, und, zusätzlich, müssen zwei Eingänge des UND-Gatters G1 (I, Soll-Fehler) (1, D) sein. Deshalb wird ein Zustandswert (I, y1, y2) = (1, 0, 0) zugeordnet (die letztere Hälfte von Schritt 603).
  • Dieser Zustandswert (1, 0, 0) wird als Teil der Test-Sequenz gespeichert, und ein Eingang y1 von FF1 (Schritt 604) wird zu einem neuen Soll-PPO gemacht. Allerdings endet, da der Soll-Fehler sensitiviert worden ist (Schritt 602), der Propagations-Prozess (Schritt 605).
  • Zustand-Initialisierungs-Prozess
  • In Folge wird ein Zustand-Initialisierungs-Prozess durchgeführt. Falls angenommen wird, dass der Anfangs-Zustand (FF1, FF2) = (0, 0) ist, dann endet der Zustand-Initialisierungs-Prozess unmittelbar (Schritte 502 und 505 in 4).
  • Das Nachfolgende ist eine Beschreibung eines Falls, bei dem der Anfangs-Zustand (FF1, FF2) = (X, X) ist, und das bedeutet, er ist nicht sicher (don't care). Da der Anfangs-Zustand (X, X) und der momentane Zustand (0, 0) nicht miteinander übereinstimmen (Schritt 502), wird ein Zustandswert, um den momentanen Zustand einzustellen, zugeordnet.
  • Um FF1 (Y1 = 0) einzustellen, sollten die zwei Eingänge des UND-Gatters G1 (I, y2) (0, X) sein, und um FF2 (Y2 = 0) einzustellen, sollten die zwei Eingänge des ODER-Gatters G3 (der Ausgang von G1, y1) (0, 0) sein. In diesem Fall sollte y2 X sein. Deshalb stellt ein Zuordnen von I = 0 als den Eingangs-Wert den Zustand (0, 0) auf (Schritt 503).
  • Dieser Eingangs-Wert I = 0 wird als Teil der Test-Sequenz gespeichert und der eingestellte Zustand (0, X) wird zu dem momentanen Zustand gemacht (Schritt 504). Da er nicht mit dem Anfangs-Zustand übereinstimmt (Schritt 502), wird der momentane Zustand eingestellt.
  • Um FF1 (Y1 = 0) einzustellen, sollten zwei Eingänge eines UND-Gatters G1 (I, y1) (0, X) sein, und, um FF2 (Y2 = 0) einzustellen, sollten die zwei Eingänge des ODER- Gatters G3 (der Ausgang von G1, y1) (0, X) sein. In diesem Fall sollte y1 X sein, so dass ein Zuordnen von I = 0 als der Eingangs-Wert den Zustand (0, X) aufstellt (Schritt 503).
  • Dieser Eingangs-Wert I = 0 wird als Teil der Test-Sequenz gespeichert und der eingestellt Zustand (X, X) wird zu dem momentanen Zustand gemacht (Schritt 504). Da er mit dem Anfangs-Zustand übereinstimmt (Schritt 502), wird der Einstellungs-Prozess beendet (Schritt 505).
  • Darauffolgend wird eine Sequenz {0011} erhalten, die zu dem Eingangs-Signal I eingegeben werden sollte.
  • Allerdings verbleiben, gemäß dem Verfahren zum Erzeugen einer Test-Sequenz, das so beschrieben ist, viele Fehler unerfasst durch Fehlen irgendeiner eingerichteten Strategie für Prozesse einer nicht erfolgreichen Fehler-Propagation oder von Zustand-Initialisierungs-Prozessen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Hinblick auf die vorstehenden Umstände ist es eine Aufgabe dieser Erfindung, ein Verfahren und eine Vorrichtung zum Erzeugen einer Test-Sequenz zu schaffen, mit einer hohen Fehlererfassung, durch Verbessern der Chance eines erfolgreichen Fehler-Propagations-Prozesses.
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zum Erzeugen einer Test-Sequenz geschaffen, um einen angenommen Stuck-at-Fault in einer sequenziellen Schaltung, erweitert als eine Reihe von Timeframes, zu testen, wobei das Verfahren aufweist: Rückwärtsverfolgung in den Timeframes, um ein Fehlersignal des Stuck-at-Fault entlang eines Pfads, ausgewählt in einem Timeframe, zu propagieren, und Zuordnen eines Eingabewerts in dem Timeframe, um den Pfad zu sensibilisieren, wobei der Vorgang eines Rückwärtsverfolgens von einem ersten Timeframe beginnt, der einen Ausgangsanschlussstift enthält, der das Ziel des Stuck-at-Fault ist, bis zu einem Timeframe, der die Fehlerstelle enthält; Definieren, wenn ein Pfad, der nicht erfolgreich in einem Timeframe sensibilisiert ist, erfasst ist, mindestens eines Segments des Pfads als nicht zulässige Information, wobei sich der Pfad zwischen dem ersten Timeframe und dem Timeframe erstreckt, wo der Pfad so erfasst ist, dass er nicht erfolgreich sensibilisiert worden ist; und erneutes Starten eines anderen Rückverfolgungs-Vorgangs ohne Auswählen des Segments, das als nicht zulässige Information definiert ist.
  • Die nicht zulässige Information kann ein D-Frontier sein, eine Signalleitung anzeigend, ausgewählt in einem spezifizierten Timeframe, wobei die Signalleitung das Ziel eines Fehler-Signals, propagiert von einem unmittelbar vorhergehenden Timeframe, ist.
  • Der spezifizierte Timeframe kann ein Timeframe sein, bei dem ein Fehler-Propagations-Pfad zuerst sensitiviert wird.
  • Die nicht zulässigen Informationen können ein Satz eines D-Frontier und ein Ausgang eines Propagations-Pfads, ausgewählt in einem Timeframe unmittelbar vor einem Timeframe, die bearbeitet werden soll, sein, wobei der Ausgang hier als ein Soll-PPO bezeichnet wird, der Satz, der einen Propagations-Pfad in einem spezifizierten Timeframe anzeigt.
  • Die nicht zulässigen Informationen können einen Satz eines D-Frontier und eines Soll-PPO sein, wobei der Satz einen Propagations-Pfad in einem Timeframe unmittelbar vor dem Timeframe, wo die Propagation nicht erfolgreich gewesen ist, anzeigt.
  • Das Verfahren kann weiterhin einen ersten Schritt eines Zählens der Zahl von Fehler-Propagations-Prozessen, ausgeführt für jeden Soll-Fehler, für den eine Testsequenz erzeugt ist, und einen zweiten Schritt eines Beurteilens, ob die Zahl, die gezählt ist, über eine vorbestimmte Zahl hinausgeht, und dann Beenden der Testsequenzerzeugung, falls dies der Fall ist, aufweisen, wobei der erste Schritt aufweist: einen ersten Unterschritt eines Auswählens eines Soll-Fehlers unter einem von Soll-Fehlern, für die die Fehler-Propagations-Prozesse bis dahin noch nicht ausgeführt worden sind, und anderen Soll-Fehlern, für die die Fehler-Propagations-Prozesse dahingehend angesehen werden, dass sie bis dahin noch nicht ausgeführt worden sind, und für die Testsequenzen bis dahin noch nicht erzeugt sind; einen zweiten Unterschritt eines Auswählens, wenn ein D-Frontier, das einen Eingang eines Pfads anzeigt, der sensibilisiert werden soll, bereits als ein nicht zulässiges Frontier registriert ist, eines D-Frontier, ein anderes als das nicht zulässige Frontier, in einem Timeframe, wo ein Soll-Fehler zu einem externen Ausgangsanschlussstift hin propagiert ist, um einen Fehler-Propagations-Prozess auszuführen; einen dritten Unterschritt eines Beurteilens, ob die Fehler-Propagation in dem zweiten Schritt erfolgreich ist oder nicht; einen vierten Unterschritt eines Registrierens, wenn die Fehler-Propagation dahingehend beurteilt ist, dass sie nicht erfolgreich ist, des D-Frontier, ausgewählt in einem Timeframe, wo die Effekte eines Soll-Fehlers zu einem externen Ausgangsanschlussstift als das nicht zulässige D-Frontier des Soll-Fehlers propagiert sind; und einen fünften Unterschritt eines Ansehens von Fehlern, wenn der erste bis dritte Unterschritt für alle Soll-Fehler ausgeführt worden ist, für die die Fehler-Propagations-Prozesse nicht erfolgreich durchgeführt worden sind, ausgeführt als Fehler, für die Fehler-Propagations-Prozesse bis dahin noch nicht ausgeführt worden sind.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Vorrichtung zum Erzeugen einer Testsequenz geschaffen, um einen angenommenen Stuck-at-Fault in einer sequenziellen Schaltung, erweitert als eine Reihe von Timeframes, zu testen, wobei die Vorrichtung aufweist: eine Rückverfolgungseinrichtung zum Rückwärtsverfolgen in den Timeframes, um ein Fehlersignal des Stuck-at-Fault entlang eines Pfads, ausgewählt in einem Timeframe, zu propagieren, wobei ein Eingangswert in dem Timeframe zugeordnet wird, um den Pfad zu sensibilisieren, und der Rückverfolgungs-Vorgang von einem ersten Timeframe aus startet, der einen Ausgangsanschlussstift enthält, der das Ziel des Stuck-at-Fault ist, bis zu einem Timeframe, der die Fehlerstelle enthält; eine Definitionseinrichtung zum Definieren, wenn ein Pfad, nicht erfolgreich sensibilisiert in einem Timeframe, erfasst ist, mindestens eines Segments des Pfads als nicht zulässige Information, wobei sich der Pfad zwischen dem ersten Timeframe und dem Timeframe erstreckt, wo der Pfad dahingehend erfasst ist, dass er nicht erfolgreich sensibilisiert worden ist; eine Speichereinrichtung zum Speichern der nicht zulässigen Information entsprechend zu dem Fehlersignal; und eine Sperreinrichtung zum Verhindern, dass ein Pfad, definiert als nicht zulässige Information, ausgewählt wird, wenn die Rückverfolgungseinrichtung für einen anderen Fehler angesteuert wird.
  • Die nicht zulässigen Informationen können ein D-Frontier sein, eine Signalleitung anzeigend, ausgewählt in einem spezifizierten Timeframe, wobei die Signalleitung das Ziel eines Fehler-Signals ist, propagiert von einem unmittelbar vorhergehenden Timeframe aus.
  • Der spezifizierte Timeframe kann ein Timeframe sein, in dem ein Fehler-Propagations-Pfad zuerst erfasst ist.
  • Die nicht zulässigen Informationen können ein Satz eines D-Frontier und eines Soll-PPO sein, wobei der Satz einen Propagations-Pfad in einem spezifizierten Timeframe anzeigt.
  • Die nicht zulässigen Informationen können ein Satz eines D-Frontier und eines Soll-PPO sein, wobei der Satz einen Propagations-Pfad in einem Timeframe unmittelbar vor dem Timeframe anzeigt, wo die Propagation nicht erfolgreich gewesen ist.
  • Gemäß der Vorrichtung und dem Verfahren mit dem vorstehend angegebenen Aufbau wird, wenn ein Fehler-Propagations-Prozess für einen Soll-Fehler nicht erfolgreich ist, mindestens ein Segment eines Pfads, um die Effekte des Soll-Fehlers zu propagieren, als illegale Information gespeichert. Und der Fehler-Propagations-Prozess wird erneut für denselben Soll-Fehler ohne Auswählen der nicht zulässigen Informationen gestartet. Demzufolge wird die Chance eines erfolgreichen Fehler-Propagations-Prozesses erhöht, was zu der Verbesserung der Fehlererfassung führt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Aufgaben, Vorteile und Merkmale der Erfindung werden aus der nachfolgenden Beschreibung davon ersichtlich werden, die in Verbindung mit den beigefügten Zeichnungen vorgenommen wird, die eine spezifische Ausführungsform der Erfindung darstellen. In den Zeichnungen:
  • 1 zeigt eine Beispiel-Fehler-Tabelle für eine Schaltung, die getestet werden soll.
  • 2 zeigt ein Flussdiagramm eines herkömmlichen Verfahrens zum Erzeugen einer Test-Sequenz für ein binäres Schaltnetz.
  • 3 zeigt ein Flussdiagramm eines Fehler-Propagations-Prozesses in dem Verfahren der 2 basierend auf einem Reverse Time Process Verfahren.
  • 4 zeigt ein Flussdiagramm des Zustand-Initialisierungs-Prozesses in dem Verfahren der 2.
  • 5(a) stellt ein binäres Schaltnetz und Flip-Flops in der sequenziellen Schaltung dar, und 5(b) zeigt ein vereinfachtes Diagramm.
  • 6 zeigt eine operationsmäßige Darstellung des Fehler-Propagations-Prozesses in dem Verfahren der 2.
  • 7 zeigt ein Beispiel einer Test-Sequenz-Erzeugung in der Schaltung, dargestellt in 5(b).
  • 8 zeigt ein Beispiel von Zustand-Übergängen in einem Zustand-Initialisierungs-Prozess.
  • 9 zeigt ein Flussdiagramm eines Verfahrens zum Erzeugen einer Test-Sequenz für ein binäres Schaltnetz gemäß einer Ausführungsform 1 dieser Erfindung.
  • 10 zeigt eine Tabelle, die eine Gruppe von nicht zulässigen D-Frontiers in derselben Ausführungsform darstellt.
  • 11 zeigt ein Flussdiagramm eines Fehler-Propagations-Prozesses in derselben Ausführungsform.
  • 12 zeigt eine operationsmäßige Darstellung des Fehler-Propagations-Prozesses in derselben Ausführungsform.
  • 13 zeigt ein Flussdiagramm des Fehler-Propagations-Prozesses in einer Ausführungsform 2 dieser Erfindung.
  • 14 zeigt eine Tabelle, die eine Gruppe einer nicht zulässigen Kombination in derselben Ausführungsform darstellt.
  • 15 zeigt eine operationsmäßige Darstellung des Fehler-Propagations-Prozesses in derselben Ausführungsform.
  • 16 zeigt ein Flussdiagramm des Zustand-Initialisierungs-Prozesses von Ausführungsform 3 dieser Erfindung.
  • 17 zeigt eine Historik von Zustand-Übergängen in derselben Ausführungsform.
  • 18 zeigt eine operationsmäßige Darstellung des Zustand-Initialisierungs-Prozesses in derselben Ausführungsform.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Ausführungsform 1
  • Das Verfahren zum Erzeugen einer Test-Sequenz gemäß dieser Ausführungsform ist in einem Flussdiagramm in 9 dargestellt.
  • Fehler, die unter Verwendung dieser Test-Sequenz getestet werden sollen, sind dieselben wie solche, die in dem Stand der Technik beschrieben sind, und sind zuvor in einer Fehler-Tabelle registriert, wie dies in 1 dargestellt ist, und zwar für jede Signalleitung, basierend auf einer Netz-Liste der LSI, die getestet werden soll.
  • In 9 beginnt das Verfahren zum Erzeugen einer Test-Sequenz an einem Schritt 101.
  • Im Schritt 102 wird die maximale Zahl von Schleifen des Prozesses, die für nicht erfasste Fehler in Bezug auf die Fehler-Tabelle ausgeführt werden soll, eingestellt. Die Zahl wird unter Berücksichtigung der Komplexität oder der Größe einer Schaltung, die getestet werden soll, oder einer Zeit, die für den Prozess zugelassen wird, bestimmt. In den meisten Fällen ist 5 Mal angemessen.
  • Im Schritt 103 wird die Zahl des Prozesses auf Null initialisiert.
  • Im Schritt 104 wird beurteilt, ob der Prozess die maximale Zahl, eingestellt im Schritt 102, erreicht hat. Falls dies nicht der Fall ist, dann geht das System zu Schritt 105 weiter, und ansonsten geht das System zu Schritt 115 weiter.
  • Im Schritt 105 wird beurteilt, ob dort irgendein nicht erfasster oder nicht bearbeiteter Fehler, mit Ausnahme von redundanten Fehlern, in der Fehler-Tabelle, vorhanden ist. Falls dies nicht der Fall ist, geht das System weiter zu Schritt 106, und ansonsten geht es weiter zu Schritt 113.
  • Im Schritt 106 wird ein Soll-Fehler unter den nicht erfassten und nicht bearbeiteten Fehlern ausgewählt.
  • Im Schritt 107 wird ein Test-Muster für den ausgewählten Fehler erzeugt, und zwar als ein vorbereitender Schritt für die Erzeugung der Test-Sequenz, und zwar nur für das binäre Schaltnetz, um zu prüfen, ob er ein nicht erfasster Fehler ist oder nicht. Die Schritte 106 und 107 entsprechen jeweils den Schritten 403 und 404 in 2, den Stand der Technik zeigend.
  • Im Schritt 108 wird ein Fehler-Propagations-Prozess für den ausgewählten Soll-Fehler durchgeführt.
  • In den Schritten 109 und 110 werden ein Zustand-Initialisierungs-Prozess und ein Fehler-Simulations-Prozess jeweils durchgeführt. Diese Schritte entsprechen den Schritten 406 und 407 in 2.
  • Im Schritt 111 wird beurteilt, ob der Fehler-Propagations-Prozess, durchgeführt im Schritt 107, erfolgreich ist oder nicht. Falls er es ist, geht das System zurück zu Schritt 105, und ansonsten geht das System zu Schritt 112 weiter.
  • In dem Schritt 112 wird ein D-Frontier, ausgewählt in einem Timeframe, wo die Effekte des Soll-Fehlers zu irgendeinem externen Ausgangs-Anschlussstift propagiert sind, als eine nicht zulässige D-Frontier-Gruppe, dargestellt in 10, registriert. Die Figur enthält drei Spalten: „Signalleitungen", die Soll-Fehler-Stellen, die erfasst werden sollen, anzeigend, „Fehler", die Typen der Fehler anzeigend, und „D-Frontier", die D-Frontiers anzeigend, die gesperrt sind, um sie auszuwählen. In dieser Ausführungsform werden die nichtzulässigen D-Frontiers für jeden Fehler registriert.
  • Im Schritt 113 werden nicht erfasste Fehler in der Fehler-Tabelle, mit Ausnahme von redundanten Fehlern, als nicht verarbeitete Fehler behandelt. Mit anderen Worten werden Fehler entsprechend zu „0" in der Spalte „Erfassung" und zu anderen als „1" in der Spalte „redundante Fehler" zu „0" in der Spalte von „Prozess" gemacht. Dementsprechend werden Fehler, für die eine Test-Sequenz-Erzeugung erfolgreich vorgenommen worden ist, erneut im Schritt 106 ausgewählt.
  • Im Schritt 114 zählt das System die Zahl des Test-Sequenz-Erzeugungs-Prozesses für nicht erfasste Fehler mit 1.
  • Im Schritt 115 endet der Prozess der Erzeugung der Test-Sequenz.
  • Der Fehler-Propagations-Prozess von Schritt 108 ist im Detail in dem Flussdiagramm in 11 angegeben.
  • Das Flussdiagramm enthält zusätzliche Schritte 14031405, entsprechend zu denen Fehler, registriert in der nicht zulässigen D-Frontier-Gruppe, von den auszuwählenden Objekten eines D-Frontiers in dem Timeframe mit der Nr. k ausgeschlossen werden. Dementsprechend wird ein D-Frontier, ein anderes als solche, die dahingehend erfasst sind, dass sie nicht erfolgreich zuvor propagiert worden sind, in dem Timeframe der Nr. k, in und nach dem zweiten Fehler-Propagations-Prozess ausgewählt.
  • Im Schritt 1402 wird beurteilt, ob ein Pfad, umfassend einen Soll-Fehler, sensitiviert worden ist oder nicht. Falls dies der Fall ist, dann ist der Prozess erfolgreich, und das System geht zu Schritt 1409 über, um den Prozess zu beenden, und ansonsten geht das System weiter zu Schritt 1403.
  • Im Schritt 1403 wird beurteilt, ob ein Timeframe, das verarbeitet werden soll, der k (= 1. in dieser Ausführungsform) Timeframe ist oder nicht. Falls dies der Fall ist, dann geht das System weiter zu Schritt 1404, und ansonsten geht das System zu Schritt 1406 über.
  • Im Schritt 1404 wird die Soll-Fehler-Stelle oder einer der Ausgänge von FFs (d. h. die Eingänge des binären Schaltnetzes) als ein D-Frontier ausgewählt. Bei der Auswahl wird auf die nicht zulässige D-Frontier-Gruppe so Bezug genommen, um ein Auswählen solcher, registriert als nicht zulässige D-Frontiers für den entsprechenden Fehler, zu vermeiden.
  • Im Schritt 1405 wird das ausgewählte D-Frontier temporär gespeichert.
  • Im Schritt 1406 wird die Soll-Fehler-Stelle oder einer der Ausgänge der FFs als ein D-Frontier in derselben Art und Weise wie im Schritt 603 in 3 ausgewählt.
  • Im Schritt 1407 wird ein Fehler-Signal dem ausgewählten D-Frontier in einem Timeframe, das getestet werden soll, zugeordnet, Eingangs-Werte und Zustandswerte werden jeweils den externen Eingangs-Anschlussstiften und den Ausgängen der FFs zugeordnet, um das Fehler-Signal zu einem Soll-PPO zu propagieren (das bedeutet, um den Fehler-Propagations-Pfad zu sensitivieren). Falls die Fehler-Propagation erfolgreich ist, dann geht das System weiter zu Schritt 1408, und ansonsten geht das System zu Schritt 1409, um den Prozess zu beenden. Eine solche Pfad-Sensitivierung ist dieselbe wie die letztere Hälfte von Schritt 602 in 3.
  • Im Schritt 1408 werden die Eingangs-Werte, zugeordnet zu den externen Eingangs-Anschlussstiften im Schritt 1407, als ein Teil einer Test-Sequenz gespeichert, und das System geht zurück zu Schritt 1402 mit dem Eingang von D-Frontier als ein neuer Soll-PPO.
  • Die Betriebsweise der vorstehenden Test-Sequenz-Erzeugung dieser Ausführungsform wird nachfolgend unter Bezugnahme auf 12 beschrieben, wo entsprechende Bauelemente mit den entsprechenden Bezugszeichen in Bezug auf 6 bezeichnet sind. Das Bezugszeichen 1001 stellt die nicht zulässige D-Frontier-Gruppe für einen Soll-Fehler 713 dar, und 10021004 sind Fehler-Propagations-Pfade, jeweils von Timeframes 701703 in dem zweiten Propagations-Prozess.
  • Zuerst wird die maximale Zahl des Fehler-Propagations-Prozesses auf 5 in dieser Ausführungsform eingestellt (Schritt 102 in 9), und eine Variable i zum Kontrollieren der Zahl wird auf Null initialisiert (Schritt 103). Dann wird beurteilt, ob die Variable i die maximale Zahl erreicht hat. Falls dies der Fall ist, dann geht das System weiter zu Schritt 115, um den Prozess zu beenden, und ansonsten geht es weiter zu Schritt 105 (Schritt 104).
  • Die darauf folgenden Schritte 105107 sind dieselben wie die Schritte 402404 in 2, so dass die Beschreibung weggelassen wird.
  • Falls ein Test-Muster erfolgreich im Schritt 107 erzeugt ist, wird ein Fehler-Propagations-Prozess ausgeführt, um eine Test-Sequenz für einen Soll-Fehler zu erzeugen (Schritt 108).
  • In einem ersten (i = 0) Fehler-Propagations-Prozess wird angenommen, dass der Prozess für den Soll-Fehler 713 ausgeführt wird, wie dies unter Bezugnahme auf 6 beschrieben ist. Die Unterschiede in der Betriebsweise werden nur nachfolgend erläutert.
  • In einem ersten Timeframe (Schritt 1403) ist ein D-Frontier, das nicht in der nicht zulässigen D-Frontier-Gruppe registriert worden ist, ausgewählt. Allerdings ist dort kein Fehler, registriert zu der ersten Zeit, vorhanden, so dass FF3 ähnlich wie im Schritt 1404 in 11 ausgewählt wird. Das D-Frontier, das so ausgewählt ist, wird temporär gespeichert (Schritt 1405). Falls das System fehlschlägt, den Propagations-Pfad in dem dritten Timeframe entsprechend so wie im Stand der Technik zu sensitivieren, wird der Abschluss des Fehler-Propagations-Prozesses geprüft (Schritt 111). Wenn der Prozess nicht erfolgreich ist, wird das D-Frontier 709, das temporär gespeichert ist, zu der nicht zulässigen D-Frontier-Gruppe 101 des Soll-Fehlers 713 registriert (Schritt 112).
  • Hiernach wird der vorstehende Prozess für jeden nicht verarbeiteten Fehler in Bezug auf die Fehler-Tabelle ausgeführt (der Prozess von Schritt 105 zu entweder Schritt 111 oder Schritt 112 wird wiederholt, wobei ein D-Frontier in dem Timeframe der Nr. k (= 1. in dieser Ausführungsform) als ein nicht zulässiges D-Frontier für jeden Fehler registriert wird, für den der Propagations-Prozess nicht erfolgreich gewesen ist.
  • Nach dem Abschluss des Prozesses zum Erzeugen einer Test-Sequenz für jeden nicht verarbeiteten Fehler wird entschieden, dass dort kein unverarbeiteter Fehler vorhanden ist (Schritt 105). Dementsprechend werden Fehler entsprechend zu „0" in der Spalte „Prozess" und andere als „1" in der Spalte „Redundanz-Fehler" auf „0" in der Spalte „ Prozess" eingestellt (Schritt 113), was zulässt, dass Fehler, für die der Prozess nicht erfolgreich gewesen ist, erneut ausgewählt werden. Die Variable i, die die Zahl des Test-Sequenz-Erzeugungs-Prozesses, die bis hier wiederholt ist, darstellt, aufwärts mit 1 gezählt (Schritt 114), und das System geht zurück zu Schritt 105.
  • In einem zweiten (i = 2) Fehler-Propagations-Prozess wird der Fehler 713, für den der Prozess nicht erfolgreich gewesen ist, wenn i = 1 gilt, erneut als ein Soll-Fehler ausgewählt (Schritt 106), und der Prozess wird wie folgt ausgeführt, nachdem das Test-Muster für das binäre Schaltnetz erzeugt ist (Schritt 107):
  • In dem Prozess in dem Timeframe 701, der der erste Timeframe ist (Schritt 1403), gibt die Referenz zu der nicht zulässigen D-Frontier-Gruppe 1001 FF3 dahingehend frei, um von den auszuwählenden Objekten beseitigt zu werden (709), und als ein Ergebnis wird FF1 (707) heuristisch als ein D-Frontier ausgewählt (1404) und temporär gespeichert (Schritt 1405). Dies sensitiviert den Fehler-Propagations-Pfad 1002 bis zu dem externen Ausgangs-Anschlussstift 704 (Schritt 1407) und gestaltet FF1 so (707), dass es der Soll-PPO ist (Schritt 1408).
  • In einem zweiten Timeframe 702 wird FF3 (712) als ein D-Frontier ausgewählt (Schritte 1403 und 1406), und ein Fehler-Propagations-Pfad 1003 wird sensitiviert (Schritt 1407), um die Effekte des Fehlers zu FF1 (707) des Soll-PPO zu propagieren, um dadurch FF3 (712) zu dem Soll-PPO zu machen (Schritt 1408).
  • In einem dritten Timeframe 703 wird die Fehler-Stelle 713 als ein D-Frontier ausgewählt (Schritte 1403 und 1406), und ein Fehler-Propagations-Pfad 1004 wird sensitiviert (Schritt 1407), um die Effekte des Fehlers von der Fehler-Stelle 713 zu FF3 (712) des Soll-PPO zu propagieren. Da der Soll-Fehler sensitiviert worden ist (Schritt 1402), geht das System weiter zu einem Zustand-Initialisierungs-Prozess, der nicht beschrieben ist, da er derselbe wie derjenige des in Bezug stehenden Stands der Technik ist.
  • Wie zuvor erläutert ist, wird, gemäß dieser Ausführungsform, in dem Fall, dass ein Prozess für eine Fehler-Propagation nicht erfolgreich in einer Test-Sequenz, erzeugt dazu, einen Soll-Fehler zu testen, vorgenommen worden ist, ein D-Frontier, ausgewählt in einem k (= 1 in dieser Ausführungsform) Timeframe, der die Effekte dieses Soll-Fehlers zu externen Ausgangs-Anschlussstiften propagiert, zu der Gruppe von nicht zulässigen D-Frontiers registriert. Zusätzlich wird eine Test-Sequenz, die nicht erfolgreich für einen Soll-Fehler erzeugt ist, erneut generiert. Demzufolge kann eine Signalleitung, die zu der Gruppe der nicht zulässigen D-Frontiers für den Soll-Fehler gehört, von den auszuwählenden Objekten eines D-Frontiers in einem Timeframe eliminiert werden, wo die Effekte des Soll-Fehlers zu den externen Ausgangs-Anschlussstiften propagiert werden, wenn die Test-Sequenz erneut erzeugt wird. Demzufolge wird ein Fehler-Propagations-Pfad flexibel geändert, so dass die Chancen eines Erfolgs beim Erzeugen einer Test-Sequenz für einen Soll-Fehler erhöht werden. Als Folge kann eine Test-Sequenz für einen Soll-Fehler mit einer hohen Fehlererfassung erzeugt werden.
  • Ausführungsform 2
  • Das Verfahren zum Erzeugen einer Test-Sequenz dieser Ausführungsform ist im Wesentlichen dasselbe wie dasjenige der 2 für den in Bezug stehenden Stand der Technik, mit der Ausnahme des Fehler-Propagations-Prozesses. Dementsprechend wird der Fehler-Propagations-Prozess ausschließlich wie folgt beschrieben:
  • In 13 beginnt der Fehler-Propagations-Prozess am Schritt 301.
  • Im Schritt 302 wird beurteilt, ob ein Soll-Fehler erfasst ist oder nicht. Falls dies der Fall ist, dann geht das System zu Schritt 308 weiter, um den Prozess zu beenden, und ansonsten geht das System zu Schritt 303 weiter.
  • Im Schritt 303 wird entweder der Soll-Fehler oder einer der Ausgänge der FFs als ein D-Frontier ausgewählt. Dann wird ein Test-Muster, das ein Fehler-Signal zu dem Soll-PPO propagiert, erzeugt. Falls dieser Prozess nicht erfolgreich ist, dann geht das System zu Schritt 306, und ansonsten geht es zu Schritt 304 weiter. Allerdings wird ein Satz eines D-Frontiers, das zu der Gruppe des nicht zulässigen Satzes gehört, und der Soll-PPO von den auszuwählenden Objekten eliminiert.
  • Im Schritt 304 wird der Satz des Soll-PPO und das D-Frontier temporär gespeichert.
  • Im Schritt 305 wird, falls das D-Frontier, ausgewählt im Schritt 303, der Eingang eines FF ist, dessen Ausgang zu einem neuen Soll-PPO gemacht.
  • Im Schritt 306 wird der Satz des D-Frontier, ausgewählt im Schritt 304, und der Soll-PPO zu der Gruppe des nicht zulässigen Satzes hinzugefügt. Ein Beispiel einer solchen Gruppe eines nicht zulässigen Satzes ist in 14 dargestellt.
  • Im Schritt 307 wird die Test-Sequenz, die bis hier erzeugt ist, insgesamt gelöscht, und das System geht zurück zu Schritt 302.
  • Im Schritt 308 wird die Gruppe des nicht zulässigen Satzes gelöscht und der Fehler-Propagations-Prozess endet.
  • Der Betrieb der vorstehenden Erzeugung einer Test-Sequenz dieser Ausführungsform wird nachfolgend unter Bezugnahme auf 15 beschrieben, wo entsprechende Bauelemente mit den entsprechenden Bezugszeichen in Bezug auf 6 bezeichnet sind.
  • In 15 stellt das Bezugszeichen 1201 die Gruppe des nicht zulässigen Satzes, dargestellt in 14, dar, und Leitungen 1202 und 1203 sind jeweils Fehler-Propagations-Pfade in den Timeframe 702 und 703 jeweils.
  • Bei der Test-Sequenz-Erzeugung für den D-Frontier 713 wird, falls angenommen wird, dass der Fehler-Propagations-Prozess in dem Timeframe 703 nicht erfolgreich ist, wie dies zuvor beschrieben ist (Schritt 303 in 13), ein Satz eines D-Frontiers, das der Ausgang von FF2 (711) ist, in dem Timeframe 702 unmittelbar vor dem Timeframe 703, wo der Prozess nicht erfolgreich ist, und ein Soll-PPO, der der Eingang von FF3 (709) ist, zu der Gruppe 1201 des nicht zulässigen Satzes registriert (Schritt 306).
  • Darauf folgend geht das System zurück zu dem ersten Timeframe 701, um den Prozess erneut nach Löschen der gesamten Sequenz, erzeugt bis hier, für den Soll-Fehler 713 durchzuführen (Schritt 307), und wählt das D-Frontier 709 in dem Timeframe 701 aus. Dann wird der Fehler-Propagations-Pfad 705 sensitiviert, um die Effekte des Soll-Fehlers „b" (713) zu den externen Ausgangs-Anschlussstiften zu propagieren (Schritte 302 und 303), und es speichert temporär den Satz des D-Frontier 709 und des externen Ausgangs-Anschlussstiftes PO (Schritt 304), was den Fehler-Propagations-Pfad 705 anzeigt, wobei der Eingang eines FF, dessen Ausgang das D-Frontier ist, zu dem nächsten Soll-PPO gemacht wird (Schritt 305).
  • In dem Timeframe 702 wird, als Folge der Referenz der Elemente (D-Frontier 711 und Soll-PPO 709) in der Gruppe des nicht zulässigen Satzes 1201, festgestellt, dass das D-Frontier 709 das Soll-PPO ist. Dementsprechend wird FF2 (711) von den Auswahlobjekten eliminiert und FF1 (710) wird als ein D-Frontier ausgewählt. Und der Fehler-Propagations-Pfad 1202, der sich bis zu FF3 (709) des Soll-PPO erstreckt, wird sensitiviert (Schritte 302305).
  • Dann wird der Fehler-Propagations-Prozess in dem Timeframe 703 ausgeführt und die Fehler-Stelle 713 wird als das D-Frontier ausgewählt. Der Fehler-Propagations-Pfad 1203 wird sensitiviert, um die Effekte des Fehlers von der Fehler-Stelle 713 zu FF1 (710) des Soll-PPO zu propagieren (Schritte 302305). Da der Soll-Fehler dementsprechend sensitiviert worden ist, behandelt das System den Fehler-Propagations-Prozess als Erfolg und geht zu dem Zustand-Initialisierungs-Prozess über (Schritt 302).
  • Obwohl im Schritt 307 vorstehend die Test-Sequenz, die bis hier erzeugt ist, insgesamt gelöscht wird, und der Fehler-Propagations-Prozess für den ersten Timeframe gestartet wird, kann er erneut von einem Frame vor dem Timeframe gestartet werden, wo der Prozess nicht erfolgreich gewesen ist, da der Pfad in einem unmittelbar vorhergehenden Timeframe dahingehend verhindert wird, verarbeitet zu werden.
  • Wie zuvor beschrieben ist, wird, gemäß dieser Ausführungsform, in dem Fall, dass ein Fehler-Propagations-Prozess nicht erfolgreich in der Test-Sequenz, erzeugt dazu, einen Soll-Fehler zu testen, vorgenommen worden ist, ein Satz eines D-Frontier und eines Soll-PPO, ausgewählt in einem Timeframe unmittelbar vor dem Timeframe, wo der Prozess nicht erfolgreich gewesen ist, als eine Gruppe eines nicht zulässigen Satzes registriert. Zusätzlich wird die Test-Sequenz, die bis hier erzeugt ist, insgesamt oder teilweise gelöscht und erneut von dem Beginn an oder der Mitte an erzeugt. Demzufolge kann irgendein Satz, der zu der Gruppe des nicht zulässigen Satzes gehört, von den Auswahlobjekten eines D-Frontier in einem Timeframe eliminiert werden. Demzufolge wird ein Fehler-Propagations-Pfad flexibel geändert, wodurch die Chancen eines Erfolgs beim Erzeugen einer Test-Sequenz für einen Soll-Fehler erhöht werden. Als eine Folge kann eine Test-Sequenz für einen Soll-Fehler mit einer hohen Fehlererfassung erzeugt werden.
  • Ausführungsform 3
  • Das Verfahren zum Erzeugen einer Test-Sequenz dieser Ausführungsform ist im Wesentlichen dasselbe wie 2, mit der Ausnahme des Zustand-Initialisierungs-Prozesses. Dementsprechend wird der den Zustand initialisierende Prozess ausschließlich wie folgt beschrieben:
  • In 16 beginnt der Zustand-Initialisierungs-Prozess am Schritt 201.
  • Im Schritt 202 wird beurteilt, ob der momentane Zustand der Schaltung bzw. des Schaltnetzes mit seinem Anfangs-Zustand übereinstimmt oder nicht. Falls sie übereinstimmen, dann geht das System weiter zu Schritt 208, und ansonsten geht das System weiter zu Schritt 203.
  • In dem Schritt 203 wird der momentane Zustand durch Zuordnen von Werten zu den externen Eingangs-Anschlussstiften und den FFs eingestellt, um so nicht in den Zustand überzugehen, der zu der Gruppe des nicht zulässigen Zustands, registriert im Schritt 206, gehört.
  • Im Schritt 204 wird der eingestellte Zustand zu der Historik von Zustand-Übergängen hinzugefügt. Ein Beispiel einer solchen Historik ist in 17 dargestellt, wo jeder Zustand durch einen Zustand-Namen und einen Zustandswert jedes FF, das den Zustand darstellt, dargestellt werden kann.
  • In dem Schritt 205 wird beurteilt, ob dort mehr als ein Zustand, eingestellt im Schritt 203, in der Historik vorhanden ist. Falls dies der Fall ist, geht das System weiter zu Schritt 206, und ansonsten geht das System zu Schritt 207 über.
  • Im Schritt 206 wird der eingestellte Zustand von der Historik gelöscht und zu der Gruppe des nicht zulässigen Zustands registriert. Wenn dort zwei identische Zustände in der Historik vorhanden sind, bedeutet dies, dass eine Schleife eines Zustand-Übergangs gebildet wird. Deshalb wird der Zustand, der später eingestellt ist, als ein nicht zulässiger Zustand definiert, wodurch der Zustand-Initialisierungs-Prozess davor bewahrt wird, in eine Schleife überzugehen.
  • Im Schritt 207 wird der eingestellte Zustand als der momentane Zustand behandelt.
  • Im Schritt 208 wird die Gruppe des nicht zulässigen Zustands gelöscht.
  • Im Schritt 209 wird der Zustand-Initialisierungs-Prozess beendet.
  • Die Betriebsweise der Test-Sequenz-Erzeugung dieser Ausführungsform wird nachfolgend unter Bezugnahme auf 18 beschrieben:
  • 18(a) stellt eine Historik 1101 der Zustand-Übergänge in einem Fall dar, dass dort zwei identische Zustände während des Zustand-Initialisierungs-Prozesses eines Schaltnetzes, das dahingehend getestet werden soll, dass es die Zustand-Übergänge besitzt, dargestellt in 8, vorhanden sind. 13(b) stellt eine Historik 1102 in einem Fall dar, dass, von den zwei identischen Zuständen, der später zugeordnete Zustand von der Historik 1101 gelöscht worden ist. 13(c) stellt eine Historik 1103 in einem Fall dar, dass der Zustand-Initialisierungs-Prozess der Schaltung bzw. des Schaltnetzes erfolgreich durchgeführt ist.
  • Das Nachfolgende ist eine Beschreibung der Erzeugung einer Test-Sequenz-Überführung von dem Anfangs-Zustand 804 zu dem Fehler-Anregungs-Zustand 801 in 8:
  • Zuerst wird der Fehler-Anregungs-Zustand 801 zu der Historik der Zustand-Übergänge registriert (Schritt 201). Dann wird der Fehler-Anregungs-Zustand 801 eingestellt, um den Zustand 802 zu erhalten (Schritt 203), der zu der Historik registriert wird (Schritt 204). Da der Zustand 802 weder der Anfangs-Zustand ist, noch dort zwei identische Zustände in der Historik vorhanden sind (Schritt 205), wird der eingestellte Zustand als der momentane Zustand definiert (Schritt 207), und der Zustand 802 wird eingestellt (Schritte 202 und 203). In derselben Art und Weise werden die Zustände 803 und 801 eingestellt und zu der Historik registriert.
  • An diesem Punkt besitzt die Historik 1101 zwei der Zustände 801 (205, 18(a)), so dass der Zustand 801, der später registriert ist, davon gelöscht wird und zu der Gruppe der nicht zulässigen Zustände registriert wird (Schritt 206, 18(b)).
  • Der Zustand 804 wird durch Einstellen des Zustands 803 erneut erhalten, um zu vermeiden, dass er in dem nicht zulässigen Zustand 801 vorliegt (Schritt 203), und wird in der Historik registriert (Schritt 204, 13(c)). Hierbei sind keine identischen Zustände in der Historik 1103 vorhanden (Schritt 205). Weiterhin ist, da der Zustand 804 gleich zu dem Anfangs-Zustand ist (Schritt 202), der Zustand-Initialisierungs-Prozess erfolgreich und wird beendet.
  • Gemäß dieser Ausführungsform wird die Historik der Zustand-Übergänge gespeichert, wenn der Zustand-Initialisierungs-Prozess der Erzeugung der Test-Sequenz eines Soll-Fehlers durchgeführt wird. Wenn dabei zwei identische Zustände in der Historik vorhanden sind, wird der Zustand, der später zugeordnet ist, davon gelöscht und als ein nicht zulässiger Zustand registriert, so dass er nicht zu einem nicht zulässigen Zustand übergehen wird. Demzufolge werden die Chancen eines Erfolgs in dem Zustand-Initialisierungs-Prozess erhöht, und, als Folge, kann eine Test-Sequenz für einen Soll-Fehler mit einer hohen Fehler-Überdeckung erzeugt werden.
  • Obwohl die vorliegende Erfindung vollständig anhand von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben worden ist, sollte angemerkt werden, dass verschiedene Änderungen und Modifikationen für Fachleute auf dem betreffenden Fachgebiet ersichtlich werden, ohne den Schutzumfang der vorliegenden Erfindung zu verlassen, wie er durch die beigefügten Ansprüche bestimmt ist.

Claims (12)

  1. Verfahren zum Generieren einer Testsequenz, um einen angenommen Stuck-at-Fault in einer sequenziellen Schaltung, erweitert als eine Reihe von Timeframes (701, 702, 703), zu testen, wobei das Verfahren aufweist: Rückwärtsverfolgung (108, 405) in den Timeframes (701, 702, 703), um ein Fehlersignal des Stuck-at-Fault entlang eines Pfads (705, 1002, 1003, 1004, 1202, 1203), ausgewählt in einem Timeframe (701, 702, 703), zu propagieren, und Zuordnen eines Eingabewerts in dem Timeframe, um den Pfad zu sensibilisieren, wobei der Vorgang eines Rückwärtsverfolgens von einem ersten Timeframe (701) beginnt, der einen Ausgangsanschlussstift (704) enthält, der das Ziel des Stuck-at-Fault ist, bis zu einem Timeframe (703), der die Fehlerstelle (713) enthält; Definieren (112, 306), wenn ein Pfad, der nicht erfolgreich in einem Timeframe sensibilisiert ist, erfasst ist, mindestens eines Segments des Pfads als nicht zulässige Information, wobei sich der Pfad zwischen dem ersten Timeframe (701) und dem Timeframe erstreckt, wo der Pfad so erfasst ist, dass er nicht erfolgreich sensibilisiert worden ist; und erneutes Starten eines anderen Rückverfolgungs-Vorgangs ohne Auswählen des Segments, das als nicht zulässige Information definiert ist.
  2. Verfahren nach Anspruch 1, wobei die nicht zulässige Information ein D-Frontier (1001) ist, das eine Signalleitung anzeigt, die in einem spezifizierten Timeframe ausgewählt ist, wobei die Signalleitung das Ziel eines Fehlersignals ist, das von einem unmittelbar vorhergehenden Timeframe aus propagiert ist.
  3. Verfahren nach Anspruch 2, wobei der spezifizierte Timeframe ein Timeframe (701, 702, 703) ist, in dem ein Fehler-Propagationspfad zuerst sensibilisiert ist.
  4. Verfahren nach Anspruch 1, wobei die nicht zulässige Information ein Satz (1201) eines D-Frontier und eines Ausgangs eines Propagationspfads, ausgewählt in einem Timeframe unmittelbar vor einem Timeframe, der verarbeitet werden soll, ist, wobei der Ausgang nachfolgend als ein Soll-PPO bezeichnet wird, wobei der Satz (1201) einen Propagationspfad in einem spezifizierten Timeframe anzeigt.
  5. Verfahren nach Anspruch 1, wobei die nicht zulässige Information ein Satz (1201) eines D-Frontier und eines Soll-PPO ist, wobei der Satz (1201) einen Propagationspfad in einem Timeframe unmittelbar vor dem Timeframe anzeigt, wo die Propagation nicht erfolgreich gewesen ist.
  6. Verfahren nach Anspruch 1, das weiterhin aufweist: einen ersten Schritt eines Zählens (114) der Zahl von Fehler-Propagations-Prozessen, ausgeführt für jeden Soll-Fehler, für den eine Testsequenz erzeugt ist (106); und einen zweiten Schritt eines Beurteilens (104), ob die Zahl, die gezählt ist, über eine vorbestimmte Zahl hinausgeht, und dann Beenden (115) der Testsequenzerzeugung, falls dies der Fall ist; wobei der erste Schritt weiterhin aufweist: einen ersten Unterschritt eines Auswählens (106) eines Soll-Fehlers unter einem von Soll-Fehlern, für die die Fehler-Propagations-Prozesse bis dahin noch nicht ausgeführt worden sind, und anderen Soll-Fehlern, für die die Fehler-Propagations-Prozesse dahingehend angesehen werden, dass sie bis dahin noch nicht ausgeführt worden sind, und für die Testsequenzen bis dahin noch nicht erzeugt sind; einen zweiten Unterschritt eines Auswählens, wenn ein D-Frontier, das einen Eingang eines Pfads anzeigt, der sensibilisiert werden soll, bereits als ein nicht zulässiges Frontier registriert ist, eines D-Frontier, ein anderes als das nicht zulässige Frontier, in einem Timeframe, wo ein Soll-Fehler zu einem externen Ausgangsanschlussstift (704) hin propagiert ist, um einen Fehler-Propagations-Prozess auszuführen; einen dritten Unterschritt eines Beurteilens (111), ob die Fehler-Propagation in dem zweiten Schritt erfolgreich ist oder nicht; einen vierten Unterschritt eines Registrierens (112), wenn die Fehler-Propagation dahingehend beurteilt ist (111), dass sie nicht erfolgreich ist, des D-Frontier, ausgewählt in einem Timeframe, wo die Effekte eines Soll-Fehlers zu einem externen Ausgangsanschlussstift (704) als das nicht zulässige D-Frontier des Soll-Fehlers propagiert sind; und einen fünften Unterschritt eines Ansehens (113, 105) von Fehlern, wenn der erste bis dritte Unterschritt für alle Soll-Fehler ausgeführt worden sind, für die die Fehler-Propagations-Prozesse nicht erfolgreich durchgeführt worden sind, ausgeführt als Fehler, für die Fehler-Propagations-Prozesse bis dahin noch nicht ausgeführt worden sind.
  7. Verfahren nach Anspruch 1, das weiterhin aufweist: einen ersten Schritt eines Vorsehens eines Fehler-Propagations-Prozesses (405) zu einem Soll-Fehler in einem Timeframe; einen zweiten Schritt eines Speicherns (304) eines Propagationspfads, ausgewählt in einem Timeframe, unmittelbar vor einem Timeframe, der in dem ersten Schritt verarbeitet wird, als ein Satz einer Signalleitung, die einen Ausgang des Pfads anzeigt (der Ausgang wird nachfolgend als ein Soll-PPO bezeichnet), und eines D-Frontier, das den Eingang davon anzeigt; einen dritten Schritt eines Beurteilens (303), ob der Fehler-Propagations-Prozess in dem ersten Schritt erfolgreich ist oder nicht, und Ausführen des ersten Schritts für den nächsten Timeframe, falls er erfolgreich ist, und ansonsten Registrieren (306) eines Satzes des Soll-PPO und des D-Frontier, gespeichert in dem zweiten Schritt, als ein nicht zulässiger Pfad; einen vierten Schritt eines Löschens (307) von der Testsequenz, wenn der Fehler-Propagations-Prozess in dem ersten Schritt nicht erfolgreich ist, mindestens eines Segments, das bereits an und nach einem Frame vor dem Timeframe erzeugt ist, wo der Fehler-Propagations-Prozess nicht erfolgreich ist; und einen fünften Schritt eines erneuten Startens (301) des ersten Schritts von dem Timeframe an entsprechend zu dem Segment, das ohne Auswählen eines Satzes (1201) des D-Frontier und des Soll-PPO, registriert als der nicht zulässige Pfad, gelöscht ist.
  8. Vorrichtung zum Generieren einer Testsequenz, um einen angenommenen Stuck-at-Fault in einer sequenziellen Schaltung, erweitert als eine Reihe von Timeframes, zu testen, wobei die Vorrichtung aufweist: eine Rückverfolgungseinrichtung zum Rückwärtsverfolgen in den Timeframes, um ein Fehlersignal des Stuck-at-Fault entlang eines Pfads, ausgewählt in einem Timeframe, zu propagieren, wobei ein Eingangswert in dem Timeframe zugeordnet wird, um den Pfad zu sensibilisieren, und der Rückverfolgungs-Vorgang von einem ersten Timeframe (701) aus startet, der einen Ausgangsanschlussstift (704) enthält, der das Ziel des Stuck-at-Fault ist, bis zu einem Timeframe (703), der die Fehlerstelle (713) enthält; eine Definitionseinrichtung zum Definieren, wenn ein Pfad, nicht erfolgreich sensibilisiert in einem Timeframe, erfasst ist, mindestens eines Segments des Pfads als nicht zulässige Information, wobei sich der Pfad zwischen dem ersten Timeframe (701) und dem Timeframe erstreckt, wo der Pfad dahingehend erfasst ist, dass er nicht erfolgreich sensibilisiert worden ist; eine Speichereinrichtung zum Speichern der nicht zulässigen Information entsprechend zu dem Fehlersignal; und eine Sperreinrichtung zum Verhindern, dass ein Pfad, definiert als nicht zulässige Information, ausgewählt wird, wenn die Rückverfolgungseinrichtung für einen anderen Fehler angesteuert wird.
  9. Vorrichtung nach Anspruch 8, wobei die nicht zulässige Information ein D-Frontier ist, das eine Signalleitung anzeigt, ausgewählt in einem spezifizierten Timeframe, wobei die Signalleitung das Ziel eines Fehlersignals ist, das von einem unmittelbar vorherigen Timeframe aus propagiert ist.
  10. Vorrichtung nach Anspruch 9, wobei der spezifizierte Timeframe ein erster Timeframe ist, in dem ein Fehler-Propagationspfad zuerst sensibilisiert ist.
  11. Vorrichtung nach Anspruch 8, wobei die nicht zulässige Information ein Satz (1201) eines D-Frontier und eines Soll-PPO ist, wobei der Satz (1201) einen Propagationspfad in einem spezifizierten Timeframe anzeigt.
  12. Vorrichtung nach Anspruch 8, wobei die nicht zulässige Information ein Satz (1201) eines D-Frontier und eines Soll-PPO ist, wobei der Satz (1201) einen Propagationspfad in einem Timeframe unmittelbar vor dem Timeframe anzeigt, wo die Propagation nicht erfolgreich gewesen ist.
DE69333510T 1992-03-27 1993-03-26 Verfahren und Gerät zur Prüfsequenzgenerierung Expired - Fee Related DE69333510T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7075792 1992-03-27
JP7075792 1992-03-27

Publications (2)

Publication Number Publication Date
DE69333510D1 DE69333510D1 (de) 2004-06-17
DE69333510T2 true DE69333510T2 (de) 2005-08-18

Family

ID=13440705

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69333510T Expired - Fee Related DE69333510T2 (de) 1992-03-27 1993-03-26 Verfahren und Gerät zur Prüfsequenzgenerierung
DE69333806T Expired - Fee Related DE69333806T2 (de) 1992-03-27 1993-03-26 Verfahren und Gerät zur Prüfsequenzgenerierung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69333806T Expired - Fee Related DE69333806T2 (de) 1992-03-27 1993-03-26 Verfahren und Gerät zur Prüfsequenzgenerierung

Country Status (3)

Country Link
US (1) US5410552A (de)
EP (2) EP0562886B1 (de)
DE (2) DE69333510T2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602856A (en) * 1993-04-06 1997-02-11 Nippon Telegraph And Telephone Corporation Test pattern generation for logic circuits with reduced backtracking operations
US5559811A (en) * 1994-09-14 1996-09-24 Lucent Technologies Inc. Method for identifying untestable and redundant faults in sequential logic circuits.
US5566187A (en) * 1994-09-14 1996-10-15 Lucent Technologies Inc. Method for identifying untestable faults in logic circuits
JP3212228B2 (ja) * 1994-10-17 2001-09-25 富士通株式会社 試験プログラム作成装置における試験プログラム自動作成方法
US5862149A (en) * 1995-08-29 1999-01-19 Unisys Corporation Method of partitioning logic designs for automatic test pattern generation based on logical registers
JPH09145800A (ja) * 1995-11-17 1997-06-06 Nec Corp テストパターン生成方式
US6141630A (en) * 1997-08-07 2000-10-31 Verisity Design, Inc. System and method for automated design verification
US6865706B1 (en) * 2000-06-07 2005-03-08 Agilent Technologies, Inc. Apparatus and method for generating a set of test vectors using nonrandom filling
DE10144455A1 (de) * 2001-09-10 2003-04-03 Infineon Technologies Ag Verfahren zur Prüfung eines Abbilds einer elektrischen Schaltung
US6941497B2 (en) * 2002-01-15 2005-09-06 Agilent Technologies, Inc. N-squared algorithm for optimizing correlated events
US7685485B2 (en) * 2003-10-30 2010-03-23 Altera Corporation Functional failure analysis techniques for programmable integrated circuits
JP4418310B2 (ja) * 2004-06-29 2010-02-17 富士通株式会社 テストパターン生成方法およびテストパターン生成プログラム
DE102010062553A1 (de) * 2010-12-07 2012-06-14 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum effizienten Durchführen von Systemtestläufen
JP2022187741A (ja) * 2021-06-08 2022-12-20 富士通株式会社 解析プログラム、解析方法及び解析装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1381413A (en) * 1972-06-21 1975-01-22 Ibm Methods of testing asynchronous sequential circuits
US4204633A (en) * 1978-11-20 1980-05-27 International Business Machines Corporation Logic chip test system with path oriented decision making test pattern generator
FR2573887B1 (fr) * 1984-11-26 1992-09-04 Nec Corp Procede de generation de configurations de test pour dispositifs a reseaux logiques
US4937826A (en) * 1988-09-09 1990-06-26 Crosscheck Technology, Inc. Method and apparatus for sensing defects in integrated circuit elements
US4996689A (en) * 1989-02-01 1991-02-26 Vlsi Technology, Inc. Method of generating tests for a combinational logic circuit
JPH0587885A (ja) * 1991-09-30 1993-04-06 Matsushita Electric Ind Co Ltd 検査系列生成方法

Also Published As

Publication number Publication date
US5410552A (en) 1995-04-25
EP1132749A3 (de) 2002-02-27
DE69333806D1 (de) 2005-06-09
EP0562886B1 (de) 2004-05-12
DE69333806T2 (de) 2005-10-06
DE69333510D1 (de) 2004-06-17
EP0562886A3 (en) 1996-11-06
EP1132749B1 (de) 2005-05-04
EP1132749A2 (de) 2001-09-12
EP0562886A2 (de) 1993-09-29

Similar Documents

Publication Publication Date Title
DE69333510T2 (de) Verfahren und Gerät zur Prüfsequenzgenerierung
DE2729053C2 (de) Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit
DE19536203A1 (de) Fehlerdiagnoseverfahren für eine sequentielle Schaltung
DE69717824T2 (de) Verfahren und vorrichtung zum software-test
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE2349324A1 (de) Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen
DE19729163A1 (de) System und Verfahren zur Abtaststeuerung einer programmierbaren Sicherungsschaltung in einer integrierten Schaltung
DE2556822A1 (de) Monolithische hochintegrierte halbleiterschaltung
US6751767B1 (en) Test pattern compression method, apparatus, system and storage medium
EP0580663B1 (de) Verfahren zur verifikation datenverarbeitender systeme
DE69017169T2 (de) Testen integrierter Schaltungen unter Verwendung von Taktgeberstössen.
DE102004058753A1 (de) Verifizierung von Integrierte-Schaltung-Tests unter Verwendung einer Testsimulation und einer Integrierte-Schaltungs-Simulation mit einem simulierten Ausfall
DE10393176T5 (de) Verfahren zum Evaluieren eines kernbasierten Systems auf einem Chip
DE68927984T2 (de) Logikschaltung mit einer Prüffunktion
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
Wu et al. An efficient diagnosis-aware ATPG procedure to enhance diagnosis resolution and test compaction
DE3854636T2 (de) Automatischer Prüfprozess für logische Geräte.
DE60204535T2 (de) Optimierungsverfahren einer Prüfsequenz für digitale integrierte Schaltungen
US5548715A (en) Analysis of untestable faults using discrete node sets
DE19748016A1 (de) Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen
DE60318795T2 (de) Prüfung von integrierten Schaltungen
US6334199B1 (en) Method of generating test patterns for a logic circuit, a system performing the method, and a computer readable medium instructing the system to perform the method
DE69411259T2 (de) Automatisches Entwurfsverfahren für digitale elektronische Schaltkreise
DE3422287C2 (de)
DE69829593T2 (de) Verfahren einer prüfsequenz-erzeugung

Legal Events

Date Code Title Description
8325 Change of the main classification

Ipc: G01R 313183

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee