DE69230479T2 - Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu - Google Patents
Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazuInfo
- Publication number
- DE69230479T2 DE69230479T2 DE69230479T DE69230479T DE69230479T2 DE 69230479 T2 DE69230479 T2 DE 69230479T2 DE 69230479 T DE69230479 T DE 69230479T DE 69230479 T DE69230479 T DE 69230479T DE 69230479 T2 DE69230479 T2 DE 69230479T2
- Authority
- DE
- Germany
- Prior art keywords
- flip
- flop
- test pattern
- flops
- state
- 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
Links
- 238000012360 testing method Methods 0.000 title claims description 182
- 238000000034 method Methods 0.000 title claims description 136
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 119
- 238000005070 sampling Methods 0.000 description 96
- 230000007704 transition Effects 0.000 description 37
- 230000000694 effects Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 17
- 230000007547 defect Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000001172 regenerating effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318586—Design for test with partial scan or non-scannable parts
-
- 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/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
- G01R31/318547—Data generators or compressors
-
- 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/318392—Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
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
- Die vorliegende Erfindung betrifft eine Vorrichtung zum Erzeugen eines Prüfmusters und ein Verfahren dafür, und eine Vorrichtung zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung einer integrierten Schaltung (nachfolgend als IC bezeichnet) mit einer Mehrzahl von Speicherelementen und ein Verfahren dazu.
- Fig. 18 zeigt ein Flip-Flop mit einer in einem konventionellen IC verwendeten Abtastfunktion.
- In Fig. 18 umfasst das Flip-Flop ein Verzögerungs-Flip-Flop-Element FF zum Speichern eines logischen Wertes eines Bits und einen Auswähler SEL. Wenn ein durch einen externen Anschluss T3 an einen Auswahl-Steuerungsanschluss CONT des Auswählers SEL angelegtes Steuerungssignal einen niedrigen Pegel aufweist oder wenn ein normaler Modus eingestellt ist, durchläuft ein an einen ersten Eingabeanschluss T1 angelegtes Signal den Auswähler SEL zu dem Flip-Flop-Element FF und wird davon durch einen ersten Ausgangsanschluss T11 ausgegeben. Wenn andererseits das durch den externen Anschluss T3 an den Auswahl-Steuerungs- Anschluss CONT des Auswählers SEL angelegte Steuerungssignal einen hohen Pegel aufweist oder wenn ein Abtast-Modus eingestellt ist, wird ein an einen zweiten Eingangsanschluss T2 angelegtes Signal durch den Auswähler SEL zu dem Flip-Flop-Element FF geleitet und wird davon durch einen zweiten Ausgangsanschluss T12 ausgegeben. Insbesondere wenn das in Fig. 18 gezeigte Flip-Flop in ein Abtast-Flip-Flop umgewandelt ist, wird das an den zweiten Eingangsanschluss T2 angelegte Signal durch den Auswähler SEL und das Flip-Flop-Element FF geleitet und wird durch den zweiten Ausgangsanschluss T12 ausgegeben.
- Allgemein ausgedrückt nimmt bei einem konventionellen IC, wenn ein normales Flip-Flop in ein Flip-Flop mit einem sogenannten Abtast-Aufbau (nachfolgend als Abtast-Flip-Flop bezeichnet) umgewandelt wird, die Abmessung des 1C zu, da eine zusätzliche Dimension des Abtast-Flip-Flop zu der ursprünglichen Abmessungen hinzugefügt wird. Daher ist es erforderlich, ein Verfahren zum Auswählen von in Abtast-Flip-Flops umzuwandelnden Flip-Flops bereitzustellen, so dass eine Anzahl von darin umzuwandelnden Flip-Flops einen kleinstmöglichen Wert bekommt, oder so, dass eine höhere Fehlerabdeckung erhalten werden kann.
- Ein konventionelles Verfahren zum Auswählen von in Abtast-Flip-Flops umzuwandelnden Flip-Flops ist in einer Referenz offenbart (nachfolgend als erste Referenz bezeichnet) von Kwang-ting Cheng et al. "A Partial Scan Method for Sequential Circuits with Feedback", IEEE Transactions on Computers, Band 39, Nr. 4, Seiten 544 bis 548, April 1990. Dessen konventionelles Verfahren wird unten anhand der Fig. 3, 15 und 16 beschrieben.
- Fig. 3 zeigt eine Teilschaltung eines konventionellen IC.
- In Fig. 3 umfasst die Teilschaltung des IC zusammengefasste Teilschaltungen 301 und 302, Verzögerungs-Flip-Flops (nachfolgend als Flip-Flops bezeichnet) 303, 304 und 305, welche zwischen den Ausgangsanschlüssen der zusammengefassten Teilschaltung 301 und den Eingangsanschlüssen der zusammengefassten Teilschaltung 302 angeschlossen sind, und Flip-Flops 306, 307, 308, welche zwischen den Ausgangsanschlüssen der zusammengefassten Teilschaltung 302 und Eingangsanschlüssen der zusammengefassten Teilschaltung 301 angeschlossen sind. Weiterhin sind externe Eingangsleitungen 310, 311 und 312 an die anderen Eingangsanschlüsse der zusammengefassten Teilschaltung 301 angeschlossen und externe Ausgangsleitungen 313, 314 und 315 sind an die anderen Ausgangsanschlüsse der zusammengefassten Teilschaltung 302 angeschlossen. Daher weist die Teilschaltung, wie aus Fig. 3 deutlich wird, einen Rückkopplungsschleifenaufbau darin auf. Insbesondere sind in der in Fig. 3 gezeigten Teilschaltung des IC
- (a) eine erste Schleife, in welcher ein Ausgangsanschluss des Flip-Flop 303 durch die zusammengefasste Teilschaltung 302, das Flip-Flop 306 und die zusammengefasste Teilschaltung 301 an einen Eingangsanschluss des Flip-Flop 303 angeschlossen ist;
- (b) eine zweite Schleife, in welcher ein Ausgangsanschluss des Flip-Flop 304 durch die zusammengefasste Teilschaltung 302, das Flip-Flop 307 und die zusammengefasste Teilschaltung 301 an einen Eingangsanschluss des Flip-Flop 304 angeschlossen ist; und
- (c) eine dritte Schleife, in welcher ein Ausgangsanschluss des Flip-Flop 305 durch die zusammengefasste Teilschaltung 302, das Flip-Flop 308 und die zusammengefasste Teilschaltung 301 an einen Eingangsanschluss des Flip-Flop 305 angeschlossen ist.
- Fig. 15 ist ein Flussdiagramm eines durch eine konventionelle Prüfmuster-Erzeugungsvorrichtung ausgeführten Prüfmuster-Erzeugungsvorgangs.
- In Fig. 15 wird zuerst in dem Schritt 1602 ein Schaltungsaufbau einer sequentiellen Logikschaltung eines zu prüfenden IC untersucht und dann wird beurteilt, ob eine komplizierte oder große Rückkopplungsschleife in der sequentiellen Logikschaltung vorhanden ist oder nicht, basierend auf der Verbindungs-Beziehung zwischen den Flip-Flops. Danach werden die die Rückkopplungsschleife bildenden Flip-Flops in Schritt 1603 in Abtast-Flip-Flops umgewandelt und dann wird ein Prüfmuster in dem Schritt 1604 für eine Teilschaltung erzeugt, in welcher die Flip-Flops in Schritt 1603 in Abtast-Flip-Flops umgewandelt wurden.
- Wenn der Prüfmuster-Erzeugungsvorgang für die in Fig. 3 gezeigte Teilschaltung des IC ausgeführt wird, werden drei Schleifen der oben erwähnten ersten, zweiten und dritten Schleifen in dem Schritt 1602 erfasst und dann wird beurteilt, dass die die Schleifen bildenden Flip-Flops 303 bis 305 entsprechend abzutasten sind. Danach wurden die Flip-Flops 303 bis 305 in dem Schritt 1603 in Abtast-Flip-Flops 1701 bis 1703 umgewandelt, wie in Fig. 16 gezeigt. Schließlich wird in dem Schritt 1604 ein Prüfmuster für eine Teilschaltung erzeugt, in weicher die Flip-Flops 303 bis 305 in dem Schritt 1603 in Abtast-Flip-Flops 1701 bis 1703 umgewandelt wurden.
- Da die Flip-Flops, welche die Möglichkeit von Problemen aufweisen, die durch Erzeugen eines Prüfmusters bewirkt werden können, als die abzutastenden Flip- Flops nur aus dem Schaltungsaufbau der Teilschaltung ausgewählt werden, kann der Bediener jedoch bei der konventionellen Prüfmuster-Erzeugungsvorrichtung nicht beurteilen, ob sämtliche der ausgewählten Flip-Flops bei der Erzeugung des Prüfmusters praktisch in Abtast-Flip-Flops umgewandelt werden müssen oder nicht. Da Flip-Flops, welche keine Wirkung auf die Verbesserung der Fehlerabdeckung nach Erzeugen des Prüfmusters haben, unter den in der konventionellen Vorrichtung abgetasteten Flip-Flops vorhanden sind, nimmt daher die Anzahl der abzutastenden Flip-Flops zu und die oben erwähnte zusätzliche Ausdehnung der abgetasteten Flip-Flops nimmt zu.
- Weiterhin wird bei der konventionellen Vorrichtung, wenn die Anzahl der abgetasteten Flip-Flops nach Erzeugung eines Prüfmusters zunimmt, das erzeugte Prüfmuster bereits ungültig. Daher kann die konventionelle Prüfmuster-Erzeugungsvorrichtung in der Praxis nicht verwendet werden.
- Die PROCEEDINGS OF THE INTERNATIONAL TEST CONFERENCE, NASHVILLE, USA, 28. bis 31. Oktober 1991, IEEE, Seiten 166 bis 173, ABRAMOVICI M. et al. "THE BEST FLIP-FLOPS TO SCAN" offenbart einen Algorithmus zum Auswählen der Flip-Flops einer sequentiellen Schaltung, die zur Teilabtastungs- Schaltungsprüfung zu verwenden ist, um eine maximale Fehlerabdeckung eines Satzes gegebener, blockierender Fehler zu erhalten.
- Das Dokument EP-A-408 018 offenbart ein Verfahren und eine Vorrichtung zum Ausführen einer automatisierten Prüfmustererzeugung (ATPG, Automated Test Pattern Generation) für eine Digitalschaltung mit einer Mehrzahl peripherer Speicherregister, wobei die peripheren Speicherregister einzeln für die Verwendung in einer Abtastkette auswählbar sind.
- Eine Aufgabe der vorliegenden Erfindung ist es daher, eine Vorrichtung zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen anzugeben, welche in der Lage ist, eine Anzahl abzutastender Speicherelemente zu verringern und eine höhere Fehlerabdeckung zu erreichen.
- Eine weitere Aufgabe der Erfindung ist es, eine Vorrichtung anzugeben, welche in der Lage ist, ein Prüfmuster für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen nach Bearbeiten eines Prüfmusters neu zu erzeugen, wenn Abtast-Speicherelemente nach Erzeugen des Prüfmusters zu der ursprünglichen sequentiellen Logikschaltung hinzugefügt wurden.
- Eine weitere Aufgabe der Erfindung ist es, eine Vorrichtung anzugeben, die in der Lage ist, ein Prüfmuster für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen neu zu erzeugen, die in der Lage ist, die Kosten der Prüfbarkeit des IC zu verringern.
- Noch eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen anzugeben, welche in der Lage ist, eine Anzahl von abzutastenden Speicherelementen zu verringern und eine höhere Fehlerabdeckung zu erreichen.
- Noch eine weitere Aufgabe der Erfindung ist es, ein Verfahren anzugeben, das in der Lage ist, ein Prüfmuster für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen nach Bearbeiten eines Prüfmusters neu zu erzeugen, wenn Abtast-Speicherelemente neu zu der ursprünglichen sequentiellen Logikschaltung nach Erzeugen des Prüfmusters hinzugefügt wurden.
- Noch eine weitere Aufgabe der Erfindung ist es, ein Verfahren anzugeben, das in der Lage ist, ein Prüfmuster für eine sequentielle Logikschaltung eines IC mit einer Mehrzahl von Speicherelementen neu zu erzeugen, das in der Lage ist, die Kosten für die Prüfbarkeit des IC zu verringern.
- Wenigstens eine der vorstehenden Aufgaben wird durch die vorliegende Erfindung verwirklicht, wie in den beigefügten Ansprüchen definiert.
- Um die vorstehend erwähnte Aufgabe zu verwirklichen, ist gemäß einem Aspekt der vorliegenden Erfindung eine Vorrichtung zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung mit einer Mehrzahl von Speicherelementen vorgesehen, wobei jedes Speicherelement einen logischen Wert von einem Bit speichert, logische Werte von Bits der Mehrzahl der Speicherelemente durch einen Status dargestellt sind, wobei die Vorrichtung umfasst:
- eine erste Eingangswert-Erzeugungseinrichtung zum Erzeugen einer Kombination erster externer Eingangswerte, so dass ein Übergangsvorgang von einem zweiten Zustand der Mehrzahl der Speicherelemente zu einem ersten Zustand davon ausgeführt wird;
- eine erste Zustands-Erzeugungseinrichtung zum Erzeugen eines dritten Zustandes, der sich von dem zweiten Zustand um eine vorbestimmte natürliche Anzahl von Bits unterscheidet;
- eine zweite Eingangswert-Erzeugungseinrichtung zum Erzeugen einer Kombination von zweiten, externen Eingangswerten, so dass ein Übergangsvorgang von einem dritten Zustand der Mehrzahl der Speicherelemente zu dem ersten Zustand davon ausgeführt wird;
- eine zweite Zustands-Erzeugungseinrichtung zum Erzeugen eines vierten Zustands, der sich von den ersten bis dritten Zuständen unterscheidet;
- eine dritte Eingabewert-Erzeugungseinrichtung zum Erzeugen einer Kombination von dritten externen Eingabewerten, so dass ein Übergangsvorgang von einem vierten Zustand der Mehrzahl der Speicherelemente zu deren ersten Zustand ausgeführt wird;
- eine erste Einstelleinrichtung zum Einstellen des vierten Zustands als den ersten Zustand;
- eine Speichereinrichtung zum Speichern der Daten der Speicherelemente entsprechend den Bits verschiedener Zustände zwischen den zweiten und dritten Zuständen;
- eine zweite Einstelleinrichtung zum Einstellen des dritten Zustands als den ersten Zustand;
- eine Abtast-Anforderungsgrad-Erhöhungseinrichtung zum Erhöhen des Grades der Anforderung eines Abtastvorgangs für jedes der Speicherelemente, deren Daten in der Speichereinrichtung gespeichert wurden;
- eine Abtast-Speicherelement-Auswähleinrichtung zum Auswählen von abzutastenden Speicherelementen basierend auf dem Grad der Anforderung des Abtastvorgangs;
- eine Abtast-Umwandlungseinrichtung zum Umwandeln der durch die Abtast- Speicherelemente-Auswähleinrichtung ausgewählten Speicherelemente in Abtast- Speicherelemente; und
- eine Prüfmuster-Erzeugungseinrichtung zum Erzeugen eines Prüfmusters für die sequentielle Logikschaltung, wenn die durch die Abtast-Speicherelement-Auswähleinrichtung ausgewählten Speicherelemente durch die Abtast-Umwandlungseinrichtung in Abtast-Speicherelemente umgewandelt sind.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Vorrichtung vorgesehen zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung einschließlich einer Mehrzahl von Speicherelementen, wobei jedes Speicherelement einen logischen Wert von einem Bit speichert, logische Werte aus Bits der Mehrzahl von Speicherelementen durch einen Status dargestellt werden, wobei die Vorrichtung umfasst:
- eine Eingangswert-Erzeugungseinrichtung zum Erzeugen einer Kombination externer Eingangswerte, so dass Wirkungen eines Fehlers der sequentiellen Logikschaltung deren externe Ausgangsanschlüsse erreichen;
- eine Speicherelemente-Auswähleinrichtung zum Auswählen von Speicherelementen, deren Zustände verändert werden müssen, damit die Wirkungen des Fehlers der sequentiellen Logikschaltung deren externe Ausgangsanschlüsse erreichen;
- eine Speichereinrichtung zum Speichern der durch die Speicherelemente-Auswähleinrichtung ausgewählten Speicherelemente;
- eine Abtast-Anforderungsgrad-Erhöhungseinrichtung zum Erhöhen eines Grades der Anforderung eines Abtastvorgangs für jedes der Speicherelemente, wobei deren Daten in der Speichereinrichtung gespeichert wurden;
- eine Abtast-Speicherelement-Auswähleinrichtung zum Auswählen von abzutastenden Speicherelementen basierend auf dem Grad der Anforderung des Abtastvorganges;
- eine Abtast-Umwandlungseinrichtung zum Umwandeln der durch die Abtast- Speicherelemente-Auswähleinrichtung ausgewählten Speicherelemente in Abtast- Speicherelemente; und
- eine Prüfmuster-Erzeugungseinrichtung zum Erzeugen eines Prüfmusters für die sequentielle Logikschaltung, wenn die durch eine Abtast-Speicherelement-Auswähleinrichtung ausgewählten Speicherelemente durch die Abtast-Umwandlungseinrichtung in Abtast-Speicherelemente umgewandelt sind.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist eine Vorrichtung zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung mit einer Mehrzahl von Speicherelementen vorgesehen, mit:
- einer Berechnungseinrichtung zum Berechnen jeder Prüfbarkeit der sequentiellen Logikschaltung, wenn jedes einer Mehrzahl von Speicherelementen in ein Abtast- Speicherelement umgewandelt ist;
- einer Prüfbarkeits-Auswähleinrichtung zum Auswählen der Minimal-Prüfbarkeit aus den durch die Berechnungseinrichtung berechneten Prüfbarkeiten;
- einer Speicherelement-Auswähleinrichtung zum Auswählen eines Speicherelementes entsprechend der durch die Prüfbarkeits-Auswähleinrichtung ausgewählten Minimal-Prüfbarkeit;
- einer Abtast-Umwandlungseinrichtung zum Umwandeln der durch die Speicherelement-Auswähleinrichtung ausgewählten Speicherelemente in Abtast-Speicherelemente; und
- einer Prüfmuster-Erzeugungseinrichtung zum Erzeugen eines Prüfmusters für die sequentielle Logikschaltung, wenn die durch die Abtast-Speicherelement-Auswähleinrichtung ausgewählten Speicherelemente durch die Abtast-Umwandlungseinrichtung in Abtast-Speicherelemente umgewandelt sind.
- Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung ist eine Vorrichtung vorgesehen zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung einschließlich einer Mehrzahl von Speicherelementen, wobei jedes Speicherelement einen logischen Wert von einem Bit speichert, logische Werte aus Bits der Mehrzahl der Speicherelemente durch einen Zustand dargestellt werden, wobei die Vorrichtung umfasst:
- eine Fehlerauswähleinrichtung zum Auswählen eines Fehlers aus einer Mehrzahl von Fehlern der sequentiellen Logikschaltung;
- eine erste Prüfmuster-Erzeugungseinrichtung zum Erzeugen eines ersten Prüfmusters für den durch die Fehlerauswähleinrichtung ausgewählten Fehler;
- eine Status-Speichereinrichtung zum Speichern des Status der Mehrzahl der Speicherelemente, wenn die abzutastenden Speicherelemente abgetastet werden, und wenn die abzutastenden Speicherelemente nicht abgetastet werden in dem Fall, dass das Prüfmuster durch die Prüfmuster-Erzeugungseinrichtung erzeugt wird;
- eine Abtast-Speicherelement-Auswähleinrichtung zum Auswählen eines abzutastenden Speicherelementes aus den abzutastenden Speicherelementen in dem Fall, dass das Prüfmuster durch die Prüfmuster-Erzeugungseinrichtung erzeugt wird;
- eine Abtast-Umwandlungseinrichtung zum Umwandeln des durch die Speicherelement-Auswähleinrichtung ausgewählten Speicherelementes in ein Abtast-Speicherelement; und
- eine zweite Prüfmuster-Erzeugungseinrichtung zum Erzeugen eines zweiten Prüfmusters für die sequentielle Logikschaltung, wenn die durch die Abtast-Speicherelement-Auswähleinrichtung ausgewählten Speicherelemente durch die Abtast- Umwandlungseinrichtung in Abtast-Speicherelemente umgewandelt sind, basierend auf deren in der Speichereinrichtung gespeicherten Zuständen.
- Gemäß noch einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erzeugen eines Prüfmusters für eine sequentielle Logikschaltung einschließlich einer Mehrzahl von Speicherelementen vorgesehen, wobei jedes Speicherelement einen logischen Wert von einem Bit speichert, logische Werte von Bits der Mehrzahl der Speicherelemente durch einen Zustand dargestellt werden, wobei das Verfahren die Schritte beinhaltet:
- Erzeugen einer Kombination erster externer Eingangswerte, so dass ein Übergangsvorgang von einem zweiten Zustand der Mehrzahl der Speicherelemente zu einem ersten Zustand davon ausgeführt wird;
- Erzeugen eines dritten Zustandes, der sich von dem zweiten Zustand durch eine vorbestimmte, natürliche Anzahl von Bits unterscheidet;
- Erzeugen einer Kombination zweiter, externer Eingangswerte, so dass ein Übergangsvorgang von einem dritten Zustand der Mehrzahl der Speicherelemente zu deren erstem Zustand ausgeführt wird;
- Erzeugen eines vierten Zustandes, der von den ersten bis dritten Zuständen abweicht;
- Erzeugen einer Kombination von dritten externen Eingangswerten, so dass ein Übergangsvorgang von einem vierten Zustand der Mehrzahl der Speicherelemente in deren ersten Zustand ausgeführt wird;
- Setzen des vierten Zustands als den ersten Zustand;
- Speichern der Daten von Speicherelementen entsprechend Bits der unterschiedlichen Zustände zwischen den zweiten und dritten Zuständen in der Speichereinrichtung;
- Einstellen des dritten Zustands als den ersten Zustand;
- Erhöhen des Grades der Anforderung eines Abtastvorgangs für jedes der Speicherelemente, wobei deren Daten in der Speichereinrichtung gespeichert wurden;
- Auswählen von abzutastenden Speicherelementen basierend auf dem Grad der Anforderung des Abtastvorgangs;
- Umwandeln der ausgewählten Speicherelemente in Abtast-Speicherelemente; und
- Erzeugen eines Prüfmusters für die sequentielle Logikschaltung, wenn die ausgewählten Speicherelemente in Abtast-Speicherelemente umgewandelt werden.
- Diese und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung in Verbindung mit deren bevorzugten Ausführungsformen anhand der beigefügten Zeichnungen deutlich, in welchen gleiche Teile durch gleiche Bezugszeichen bezeichnet sind. Dabei zeigen:
- Fig. 1 ein Flussdiagramm einer durch eine Prüfmuster-Erzeugungsvorrichtung einer ersten bevorzugten, erfindungsgemäßen Ausführungsform ausgeführte Haupt-Routine;
- Fig. 2a und 2b Flussdiagramme eines Prüfmuster-Erzeugungsvorganges eines in Fig. 1 gezeigten Unterroutinenschrittes 103;
- Fig. 3 ein vereinfachtes Blockschaltbild einer teilweisen, sequentiellen Logikschaltung eines ersten Beispiels eines konventionellen IC;
- Fig. 4a bis 4g Zustandsübergangsdiagramme, welche interne Zustände in dem konventionellen IC zeigen;
- Fig. 5 ein vereinfachtes Blockschaltbild der in Fig. 3 gezeigten, teilweisen, sequentiellen Logikschaltung des ersten Beispieles des IC, wenn ein Flip- Flop 306 in ein Abtast-Flip-Flop 501 umgewandelt wird;
- Fig. 6 ein Zustands-Übergangsdiagramm, welches die inneren Zustände des in Fig. 5 gezeigten 1C zeigt;
- Fig. 7a und 7b Flussdiagramme eines Prüfmuster-Erzeugungsvorganges einer modifizierten, bevorzugten Ausführungsform des in Fig. 1 gezeigten Unterroutinen- Schrittes 103;
- Fig. 8 ein vereinfachtes Blockschaltbild einer teilweisen, sequentiellen Logikschaltung eines zweiten Beispieles eines IC;
- Fig. 9a bis 9e vereinfachte Blockschaltbilder des zweiten Beispieles des IC, welche Änderungen in den Zuständen der in Fig. 8 gezeigten Schaltung zeigen;
- Fig. 10 ein Flussdiagramm einer durch eine Prüfmuster-Erzeugungsvorrichtung einer zweiten, erfindungsgemäßen bevorzugten Ausführungsform ausgeführten Haupt-Routine;
- Fig. 11 ein Flussdiagramm eines Abtast-Flip-Flop-Auswählvorganges einer durch eine Prüfmuster-Erzeugungsvorrichtung einer dritten, bevorzugten, erfindungsgemäßen Ausführungsform ausgeführten Unterroutine;
- Fig. 12 ein vereinfachtes Blockschaltbild einer Prüfmuster-Erzeugungsvorrichtung einer vierten, bevorzugten, erfindungsgemäßen Ausführungsform;
- Fig. 13 ein Flussdiagramm einer durch die Prüfmuster-Erzeugungsvorrichtung der vierten, bevorzugten Ausführungsform ausgeführten Haupt-Routine;
- Fig. 14a bis 14c vereinfachte Blockschaltbilder teilweiser, sequentieller Logikschaltungen, welche einen durch die Prüfmuster-Erzeugungsvorrichtung der vierten, bevorzugten Ausführungsform ausgeführten Prüfmuster-Erzeugungsvorgang zeigen;
- Fig. 15 ein Flussdiagramm einer durch eine konventionelle Prüfmuster-Erzeugungsvorrichtung ausgeführten Haupt-Routine;
- Fig. 16 ein vereinfachtes Blockschaltbild einer teilweisen, sequentiellen Logikschaltung eines IC, welches einen durch die konventionelle Prüfmuster- Erzeugungsvorrichtung ausgeführten Prüf-Erzeugungsvorgang zeigt;
- Fig. 17 ein vereinfachtes Blockschaltbild der in Fig. 1 gezeigten, ersten, bevorzugten Ausführungsform einer Prüfmuster-Erzeugungsvorrichtung; und
- Fig. 18 ein vereinfachtes Blockschaltbild, welches ein Verzögerungs-Flip-Flop mit einer Abtastfunktion zeigt, das in der konventionellen Vorrichtung und in den Vorrichtungen der bevorzugten Ausführungsformen verwendet wird.
- Die erfindungsgemäßen, bevorzugten Ausführungsformen werden unten anhand der beigefügten Zeichnungen beschrieben.
- In der Beschreibung werden zum Prüfen einer sequentiellen Schaltung eines IC erforderliche Kosten als Prüfbarkeits-Kosten bezeichnet und die Kosten der Prüfbarkeit beinhalten Kosten einer Steuerbarkeit zum Erzeugen eines Prüfmusters, das zum Einstellen logischer Werte von Signalleitungen innerhalb einer sequentiellen Schaltung auf gewünschte Werte erforderlich ist, und Kosten einer Beobachtbarkeit zum Erzeugen eines zum Beobachten logischer Werte auf Signalleitungen innerhalb der sequentiellen Schaltung an externen Ausgangsanschlüssen erforderlichen Prüfmusters, etc. In den bevorzugten Ausführungsformen werden unten Fälle beschrieben, in welchen die Kosten der Prüfbarkeit nur die Kosten der Steuerbarkeit beinhalten. Weiterhin umfassen in den bevorzugten Ausführungsformen sequentielle Logikschaltungen von ICs zusammengefasste Teilschaltungen und eine Mehrzahl von Verzögerungs-Flip-Flops, wobei jedes Flip-Flop einen logischen Wert von einem Bit speichert, wobei logische Werte von Bits aus einer Mehrzahl von Flip-Flops durch einen Zustand dargestellt werden, z. B. wie in den Zustands-Übergangsdiagrammen der Fig. 4a bis 4 g und 6 gezeigt.
- Fig. 17 zeigt eine Prüfmuster-Erzeugungsvorrichtung einer erfindungsgemäßen, ersten, bevorzugten Ausführungsform.
- In Fig. 17 ist eine Mikroprozessoreinheit (MPU) 2 an eine Tastatur 1 zum Eingeben von Schaltungsinformationen einer sequentiellen Logikschaltung eines zu prüfenden IC, eine Speichereinheit 5 und einen Signalgenerator 6 angeschlossen. Die Mikroprozessoreinheit 2 umfasst nicht nur eine Einrichtung 3 zum Untersuchen der unter Verwendung der Tastatur 1 eingegebenen Schaltungsinformation und Speichern der Schaltungs-Verbindungsinformation, Daten einer Prüfbarkeit und durch die oben erwähnte Untersuchung erzeugten Zwischendaten, sondern ebenfalls eine Einrichtung 4 zum Erzeugen eines Prüfmusters für die sequentielle Logikschaltung des zu prüfenden IC, basierend auf der Schaltungs-Verbindungs-Information, den Daten der Prüfbarkeit und den Zwischendaten und Ausgeben derselben zu dem Signalgenerator 6. Schließlich erzeugt der Signalgenerator 6 elektrische Signale des Prüfmusters in einer vorbestimmten, verfügbaren Form und gibt diese zu der sequentiellen Logikschaltung des zu prüfenden IC aus.
- Fig. 1 ist ein Flussdiagramm einer durch die Prüfmuster-Erzeugungsvorrichtung der in Fig. 17 gezeigten, ersten bevorzugten Ausführungsform ausgeführten Haupt- Routine.
- In Fig. 1 wird zuerst in Schritt 102 eine Fehlerliste einschließlich sämtlicher Flip- Flops in fehlerhaften Zuständen innerhalb der sequentiellen Logikschaltung des zu prüfenden IC erstellt, und dann wird in dem Schritt 103 ein Prüfmuster-Erzeugungsvorgang einer in den Fig. 2a und 2b gezeigten Unterroutine in Schritt 103 ausgeführt. Insbesondere werden in dem Schritt 103 Prüfmuster für die in der Fehlerliste festgelegten, entsprechenden Fehler erzeugt, elektrische Signale der Prüfmuster werden von dem Signalgenerator 6 an die sequentielle Logikschaltung angelegt und dann wird eine Fehlerabdeckung erfasst. Danach wird in dem Schritt 104 beurteilt, ob die erfasste Fehlerabdeckung größer als eine vorbestimmte Schwellwert-Fehlerabdeckung Rth von, z. B. 95% ist.
- Wenn die erfasste Fehlerabdeckung größer als die vorbestimmte Schwellwert- Fehlerabdeckung Rth ist (JA in Schritt 104), wird das Prüfmuster, welches zuletzt in dem Schritt 103 erzeugt wurde, als das für die sequentielle Logikschaltung zu verwendende Prüfmuster eingestellt und die Haupt-Routine zum Erzeugen der Prüfmustererzeugung wird beendet. Wenn andererseits die erfasste Fehlerabdeckung gleich oder kleiner als die vorbestimmte Schwellwert-Fehlerabdeckung Rth ist (NEIN in Schritt 104), geht der Programmablauf über zu Schritt 105.
- In dem Schritt 105 wird ein Abtast-Flip-Flop-Auswählvorgang einer Unter-Routine ausgeführt. Hier wird insbesondere ein Flip-Flop mit der maximalen Steuerbarkeit aus einem oder mehreren Flip-Flops mit dem maximalen Abtast-Anforderungsgrad ausgewählt, wobei der Abtast-Anforderungsgrad einen Grad darstellt, mit welchem ein Flip-Flop in ein Abtast-Flip-Flop umzuwandeln oder abzutasten ist. Danach wird das in dem Schritt 105 ausgewählte Flip-Flop in dem Schritt 106 in ein Abtast-Flip- Flop umgewandelt und dann wird in Schritt 107 eine unerfasste Fehlerliste einschließlich Flip-Flops erstellt, deren Fehler noch nicht erfasst wurden. Danach geht der Programmablauf zurück zu dem Schritt 103 und dann wird dort ein Prüfmuster für die Flip-Flops erzeugt, deren Fehler in Schritt 107 nicht erfasst wurden.
- Die Fig. 2a und 2b sind Flussdiagramme des Prüfmuster-Erzeugungsvorgangs des in Fig. 1 gezeigten Unter-Routinen-Schrittes 103. In den Fig. 2a und 2b bezeichnet A einen ersten Zustand, B bezeichnet einen zweiten Zustand, in welchen ein erster Zustand A überführt wird, SI bezeichnet einen Anfangszustand, SO bezeichnet einen Endzustand, SI' bezeichnet einen um 1 Bit von dem Anfangszustand SI verschiedenen Zustand und C bezeichnet einen vollständig von dem Anfangszustand SI, dem letzten Zustand SO und dem Zustand SI' verschiedenen Zustand.
- In Fig. 2a wird zuerst in dem Schritt 202 beurteilt, ob ein unerfasster Fehler vorhanden ist. Wenn kein unerfasster Fehler (NEIN in Schritt 202) vorhanden ist, kehrt der Programmablauf zurück zu der Hauptroutine. Wenn andererseits einer oder mehrere unerfasste Fehler vorhanden sind (JA in dem Schritt 202) wird ein unerfasster Fehler in Schritt 203 ausgewählt und dann wird in dem Schritt 204 ein Fehlerausbreitungsvorgang ausgeführt, so dass Wirkungen des ausgewählten Fehlers zu den externen Ausgangsanschlüssen ausgebreitet werden können.
- Danach wird in dem Schritt 204A beurteilt, ob der Fehlerausbreitungsvorgang beendet ist oder nicht, oder ob die Wirkungen des ausgewählten Fehlers zu den externen Ausgangsanschlüssen fortgesetzt wurden. Wenn der Fehlerfortsetzungsvorgang nicht beendet ist (NEIN in Schritt 204A) geht der Programmablauf zurück zu dem Schritt 202. Andernfalls ist der Fehlerfortsetzungsvorgang beendet (JA in Schritt 204A), der Programmablauf geht weiter zu dem Schritt 205. In dem Schritt 205 wird der letzte Zustand SO auf den ersten Zustand A gesetzt und der Anfangszustand SI wird auf den zweiten Zustand B gesetzt.
- Danach geht entsprechend Fig. 2b der Programmablauf über zu dem Schritt 206 und der erste Zustand A wird dann unter Verwendung des zweiten Zustandes B (= dem Anfangszustand SI) beurteilt, es wird nämlich eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass ein Übergangsvorgang von dem zweiten Zustand B (= dem Anfangszustand SI) zu dem ersten Zustand A ausgeführt wird. Weiterhin wird in dem Schritt 206A beurteilt, ob der Übergangsvorgang in dem Schritt 206 beendet ist oder nicht. Wenn der Übergangsvorgang in dem Schritt 206 beendet ist (JA in dem Schritt 206A) geht der Programmablauf zurück zu dem Schritt 202. Wenn andererseits der Übergangsvorgang von Schritt 206 nicht beendet ist (NEIN in Schritt 206A) geht der Programmablauf zu Schritt 207.
- In dem Schritt 207 wird der erste Zustand A unter Verwendung des zweiten Zustandes B (= dem Zustand SI') beurteilt. Insbesondere wird der sich um ein Bit von dem Anfangszustand SI unterscheidende Zustand SI' erzeugt, der Zustand SI' wird für den zweiten Zustand B gesetzt und eine Kombination von externen Eingangswerten oder ein externes Prüfmuster wird erzeugt, so dass ein Übergangsvorgang von dem zweiten Zustand B (= dem Zustand SI') zu dem ersten Zustand A ausgeführt wird. Dann wird in dem Schritt 207A beurteilt, ob der Vorgang in dem Schritt 207 beendet ist. Wenn der Vorgang in dem Schritt 207 nicht beendet ist (NEIN in Schritt 207A), geht der Programmablauf über zu dem Schritt 210. Wenn andererseits der Vorgang in Schritt 207 beendet ist (JA in Schritt 207A) geht der Programmablauf über zu dem Schritt 208 und dann wird ein Vorgang zum Aufzeichnen in der Speichereinheit 5 ausgeführt, nämlich Daten von Flip-Flups entsprechend Bits unterschiedlicher Zustände zwischen dem Zustand SI' und dem Anfangszustand SI. Nach Beendigung des Vorganges in Schritt 208 wird der um ein Bit von dem Anfangszustand SI verschiedene Zustand SI' in dem ersten Zustand A in Schritt 209 gesetzt und dann geht der Programmablauf zurück zu dem Schritt 206.
- In dem Schritt 210 wird der von dem Anfangszustand SI, dem Endzustand SO und dem Zustand SI' vollständig verschiedene dritte Zustand C erzeugt, und dann wird eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass ein Übergangsvorgang von dem Zustand C zu dem ersten Zustand A ausgeführt wird. Insbesondere wird ein Vorgang ausgeführt zum Beurteilen des ersten Zustandes A unter Verwendung des Zustandes C. Danach wird in dem Schritt 210A beurteilt, ob der Vorgang in Schritt 210 beendet ist. Wenn der Vorgang in Schritt 210 beendet ist (JA in Schritt 210A) wird der Zustand C in den ersten Zustand A in dem Schritt 211 gesetzt und der Programmablauf geht dann zurück zu dem Schritt 206. Wenn andererseits der Vorgang in Schritt 210 nicht beendet ist (NEIN in Schritt 210A) geht der Programmablauf über zu dem Schritt 212.
- Wie oben beschrieben, wird der Vorgang der Schritte 204 bis 211 für einen in Schritt 203 ausgewählten Fehler ausgeführt. In dem Vorgang von Schritt 204 ist ein Prüfmuster zum Übermitteln der Wirkungen des Fehlers zu den externen Ausgangsanschlüssen erforderlich. Weiterhin wird in dem Vorgang der Schritte 206 und 210 ein weiteres Prüfmuster erzeugt, welches zum Übergang von einem Zustand zu einem anderen Zustand erforderlich ist, und dann, wenn der Vorgang in Schritt 206 beendet ist (JA in Schritt 206A), wird das Prüfmuster für einen in Schritt 203 ausgewählten Fehler erzeugt und dann wird der Vorgang in Schritt 202 ausgeführt. Dann wird das durch Verbinden der in Schritt 204, 206 und 210 erzeugten Prüfmuster erhaltene Prüfmuster ein Prüfmuster für den einen in Schritt 203 ausgewählten Fehler.
- Es ist anzumerken, dass, wenn die Verarbeitungszeit der in den Fig. 2A und 2B gezeigten Unter-Routine größer als ein vorbestimmtes Zeitlimit ist, ein Unterbrechungsvorgang (nicht dargestellt) ausgeführt wird, und dann der Programmablauf zu dem Schritt 212 übergeht. In dem Schritt 212 wird eins zu dem Abtast-Anforderungsgrad des Flip-Flops addiert, welches zuletzt in dem Schritt 208 aufgezeichnet wurde, und dann geht der Programmablauf zurück zu dem Schritt 202 in Fig. 2a.
- Die Fig. 4a bis 4 g sind Zustandsübergangsdiagramme, welche interne Speicherzustände in dem konventionellen IC zeigen. In den Fig. 4a bis 4g stellen Zahlen innerhalb der Ellipsen 401 bis 409 logische Zustände oder logische Ausgangswerte der Flip-Flops 303 bis 308 dar, der Anfangszustand SI von 101 101 stellt z. B. dar, dass die Zustände der Flip-Flops 303 bis 308 1, 0, 1, 1, 0 und 1 sind.
- In den Fig. 4a bis 4g bezeichnet 401 den Anfangszustand SI vor der Eingabe von Signalen eines Prüfmusters, 409 bezeichnet einen internen Zustand der Flip-Flops 303 bis 308 nach Übergang durch Anlegen von Signalen oder dem Prüfmuster an die externen Eingangsanschlüsse und 408 bezeichnet den letzten Zustand SO, wenn die Fehlerfortsetzung in Schritt 204 beendet ist.
- Fig. 5 zeigt die teilweise sequentielle Logikschaltung des ersten Beispiels des in Fig. 3 gezeigten IC, wenn das Flip-Flop 306 in ein Abtast-Flip-Flop 501 umgewandelt ist.
- Fig. 6 ist ein Zustandsübergangsdiagramm, welches interne Zustände des in Fig. 5 gezeigten IC zeigt. In Fig. 6 stellen Zahlen innerhalb der Ellipsen 401 bis 408 Zustände der Flip-Flops 303, 304, 305, 501, 307 und 308 dar. Weiterhin bezeichnet 401 den Anfangszustand SI vor der Eingabe der Signale des Prüfmusters, 402 bis 407 bezeichnen interne Zustände der Flip-Flops 303, 304, 305, 501, 307 und 308 nach Übergang durch Anlegen von Signalen des Prüfmusters an die externen Eingangsanschlüsse und 408 bezeichnet den letzten Zustand SO, wenn die Fehlerfortsetzung in Schritt 204 beendet wurde.
- Ein Beispiel einer Wirkung der in Fig. 1 gezeigten Prüfmuster-Erzeugungsvorrichtung wird unten anhand der Fig. 1 bis 6 und 17 beschrieben.
- In Fig. 1 wird zuerst in Schritt 102 eine Fehlerliste einschließlich sämtlicher Flip- Flops in Fehlerzuständen innerhalb der sequentiellen Logikschaltung des zu prüfenden IC erstellt und dann wird in Schritt 103 der Prüfmuster-Erzeugungsvorgang der in den Fig. 2a und 2b gezeigten Unter-Routine in Schritt 103 ausgeführt.
- In Fig. 2a wird in der Unter-Routine als erstes in Schritt 202 beurteilt, ob ein unerfasster Fehler vorhanden ist oder nicht. Wenn kein unerfasster Fehler vorhanden ist (NEIN in Schritt 202) wird der Prüfmuster-Erzeugungsvorgang beendet, und der Programmablauf kehrt dann zu der Hauptroutine zurück. Wenn andererseits ein oder mehrere unerfasste Fehler (JA in Schritt 202) vorhanden sind, wird ein unerfasster Fehler in Schritt 203 ausgewählt und dann wird in Schritt 204 ein Fehlerfortsetzungsvorgang ausgeführt, so dass Wirkungen des ausgewählten Fehlers sich zu den externen Ausgangsanschlüssen fortsetzen können.
- Danach wird in dem Schritt 204A beurteilt, ob der Fehlerfortsetzungsvorgang beendet ist, oder die Wirkungen des ausgewählten Fehlers sich bis zu den externen Ausgangsanschlüssen fortgesetzt haben. Wenn der Fehlerfortsetzungsvorgang nicht beendet ist (NEIN in Schritt 204A) geht der Programmablauf zurück zu dem Schritt 202. Andernfalls ist der Fehlerfortsetzungsvorgang beendet (JA in Schritt 204A) und der Programmablauf geht weiter zu Schritt 205. In dem Schritt 205 wird der letzte Zustand SO für den ersten Zustand A gesetzt und der Anfangszustand SI wird für den zweiten Zustand B gesetzt.
- Danach beinhalten die in Fig. 2b gezeigten Schritte 206 bis 211 einen Vorgang zum Erzeugen eines Prüfmusters zum Übergang von dem Anfangszustand 401 von der Eingabe der Signale des Prüfmusters zu dem letzten Zustand 408, welcher in Schritt 204 erhalten wird.
- In Fig. 2b wird in Schritt 206 eine Kombination externer Eingabewerte oder ein externes Prüfmuster erzeugt, so dass ein Übergangsvorgang von dem Anfangszustand 401 zu dem letzten Zustand 408 ausgeführt wird, wie in Fig. 4a gezeigt. Weiterhin wird in dem Schritt 206A beurteilt, ob der Übergangsvorgang in Schritt 206 beendet ist. Wenn der Übergangsvorgang in Schritt 206 beendet ist (JA in Schritt 206A) geht der Programmablauf zurück zu Schritt 202. Wenn andererseits der Übergangsvorgang 206 nicht beendet ist (NEIN in Schritt 206A) geht der Programmablauf über zu Schritt 207.
- In dem Fall der Annahme, dass der Übergangsvorgang in dem in Fig. 4a gezeigten Schritt 206 nicht beendet ist (NEIN in Schritt 206A) geht der Programmablauf jetzt über zu Schritt 207 und dort wird dann eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass ein Übergangsvorgang von dem Zustand 409, der sich von dem Anfangszustand 401 um ein Bit unterscheidet, zu dem letzten Zustand 408 ausgeführt wird, wie in Fig. 4b gezeigt. In dem Schritt 207 wird dieser Vorgang wiederholt ausgeführt mit sämtlichen von dem Anfangszustand 401 um ein Bit verschiedenen Zuständen, bis der Vorgang von Schritt 207 beendet ist. Wenn der Vorgang in Schritt 207 nicht beendet ist (NEIN in Schritt 207A) geht der Programmablauf über zu Schritt 210.
- In Schritt 210 wird, wie in Fig. 4c gezeigt, ein Zustand C, 407, der vollständig von dem Anfangszustand 401, dem End-Zustand 408 und dem Zustand SI', welcher sich von dem Anfangszustand 401 um ein Bit unterscheidet, verschieden ist, in den zweiten Zustand B gesetzt, und dann wird eine Kombination externer Eingabewerte oder ein externes Prüfmuster erzeugt, so dass ein Übergangsvorgang von dem ersten Zustand C, 407 zu dem letzten Zustand 408 ausgeführt wird. Der Vorgang von Schritt 210 wird bezogen auf sämtliche der Zustände 407, welche als der zweite Zustand B auswählbar sind, wiederholt ausgeführt, bis dieser Vorgang beendet ist. Wenn der Vorgang in Schritt 210 beendet ist (JA in Schritt 210A) geht der Programmablauf über zu Schritt 206.
- In Schritt 206, wie in Fig. 4d gezeigt, wird eine Kombination aus externen Eingangswerten erzeugt, so dass ein Übergangsvorgang von dem Anfangszustand 401 zu dem ersten Zustand 407 ausgeführt wird. Wenn der Vorgang des Schrittes 206 nicht beendet ist (NEIN in Schritt 206A) geht der Programmablauf über zu Schritt 207 und dort werden externe Eingabewerte erzeugt, so dass ein Übergangsvorgang von dem Zustand 406, der um ein Bit von dem Anfangszustand 401 verschieden ist, zu dem Endzustand 407 ausgeführt wird. Wenn andererseits der Vorgang in Schritt 206 beendet ist (JA in Schritt 206A) geht der Programmablauf über zu Schritt 208 und dort werden die Daten des Flip-Flop 305 entsprechend einem Bit eines unterschiedlichen Zustandes zwischen dem Anfangszustand 401 und dem Zustand 406 aufgezeichnet.
- Nachdem der Vorgang der Schritte 206 bis 211 wiederholt ausgeführt ist, wird weiterhin eine Kombination externer Eingangswerte für einen Übergang von einem Zustand 403 zu einem Zustand 404 und ebenfalls einem weiteren Übergang von dem Zustand 402 zu dem Zustand 403 erhalten. Danach, wenn der Zustand 402 für den gegenwärtigen Zustand gesetzt ist und sämtliche Vorgänge der Schritte 206, 207 und 210 nicht beendet sind, resultierend im Anhalten der Erzeugung des Prüfmusters, geht der Programmablauf über zu dem Schritt 212, und dann wird Eins zu dem Abtast-Anforderungsgrad des Flip-Flops 306 addiert, der schließlich in dem Vorgang in Schritt 208 aufgezeichnet wird. Der Grund, warum der Abtast- Anforderungsgrad des Flip-Flop 306, der schließlich in dem Vorgang in Schritt 208 aufgezeichnet wird, erhöht wird, ist der folgende.
- Wenn der Vorgang in Schritt 210 nicht beendet ist, resultierend im Anhalten der Erzeugung des Prüfmusters, werden zwei Flip-Flops 305 und 306 als Flip-Flops in dem Vorgang in Schritt 208 aufgezeichnet. Wenn das Flip-Flop 305 in ein Abtast- Flip-Flop umgewandelt ist, kann ein Zustandsübergang in einer Folge von dem Anfangszustand 401 über die Zustände 406 und 407 zu dem letzten Zustand 408 ausgeführt werden, und dann kann ein Prüfmuster erzeugt werden. Wenn andererseits das Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt ist, kann leicht ein Zustandsübergang in einer Reihenfolge von dem Anfangszustand 401 durch die Zustände 404, 405, 406 und 407 zu dem letzten Zustand 408 ausgeführt werden, und dann kann ein Prüfmuster erzeugt werden. Um einen Fehler, infolge dessen der Vorgang in Schritt 210 nicht beendet wird, zu erfassen, ist es daher erforderlich, jedes einzelne der Flip-Flops 305 und 306 in ein Abtast-Flip-Flop umzuwandeln. Wie jedoch aus Fig. 4 g deutlich wird, kann in dem Fall, dass ein weiterer Fehler in dem Zustand 410 erfasst wird und ein Übergang von dem Zustand 405 zu dem Zustand 410 leicht ausführbar ist, wenn das Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt wird, ein Zustandsübergang in einer Reihenfolge von dem Zustand 401 durch die Zustände 404 und 405 zu dem Zustand 410 ausgeführt werden. Es ist jedoch schwierig, einen Zustandsübergang direkt von dem Zustand 401 zu dem Zustand 410 auszuführen, auch wenn das Flip-Flop 305 in ein Abtast-Flip-Flop umgewandelt ist, und die Schwierigkeit der Prüfung kann nicht weiter abgesenkt werden. Daher wird in dem Fall, dass der Vorgang in Schritt 210 nicht beendet ist, resultierend im Anhalten der Erzeugung des Prüfmusters, vorteilhaft ein Verfahren zum Erhöhen des Abtast-Anforderungsgrades des zuletzt in dem Schritt 208 aufgezeichneten Flip-Flops verwendet, das sich von einem Verfahren der Erhöhung des Abtast-Anforderungsgrades jedes in Schritt 208 aufgezeichneten Flip-Flop unterscheidet.
- In Fig. 2a wird, wenn erkannt wird, dass kein unerfasster Fehler vorhanden ist (NEIN in Schritt 202), der Vorgang zum Erzeugen des Prüfmusters beendet und der Programmablauf geht dann zurück zu dem Schritt 104 der in Fig. 1 gezeigten Hauptroutine. Dann wird in Schritt 104 beurteilt, ob die erfasste Fehlerabdeckung größer als die vorbestimmte Schwellwert-Fehlerabdeckung Rth ist. In der vorliegenden, bevorzugten Ausführungsform wird die Fehlerabdeckung bevorzugt auf einen größeren Wert als die Fehlerabdeckung der konventionellen Vorrichtung eingestellt.
- Wenn die erfasste Fehlerabdeckung gleich oder kleiner als die vorbestimmte Schwellwert-Fehlerabdeckung Rth ist (NEIN in Schritt 104) geht der Ablauf über zu dem Schritt 105 und dort wird dann der Abtast-Flip-Flop-Auswählvorgang der Unter-Routine ausgeführt. Insbesondere ist dort ein Flip-Flop mit der maximalen Steuerbarkeit aus einem oder mehreren Flip-Flops mit dem maximalen Abtast- Anforderungsgrad ausgewählt. Der Grund, warum dort ein Flip-Flop mit der maximalen Steuerbarkeit aus einem oder mehreren Flip-Flops mit dem maximalen Abtast-Anforderungsgrad ausgewählt ist, ist der folgende. Da es schwieriger ist, das Flip-Flop allgemein auf einen gewünschten Wert zu setzen, wenn die Steuerbarkeit größer wird, kann die Steuerbarkeit der sequentiellen Logikschaltung des IC merklich verbessert werden oder verringert durch Umwandeln des Flip-Flops mit der relativ großen Steuerbarkeit in ein Abtast-Flip-Flop.
- In diesem Fall wird jetzt, wenn die Abtast-Anforderungsgrade der Flip-Flops 303 bis 308 0, 1, 4, 9, 0 und 9 sind und die Steuerbarkeit der Flip-Flops 303 bis 308, gespeichert in der Speichereinheit 5 nach Berechnen derselben durch die in Fig. 17 gezeigte Einrichtung 3 112, 423, 3982, 1306, 45 und 1196 sind, das Flip-Flop 306 in dem Schritt 105 ausgewählt.
- Danach wird das in Schritt 105 ausgewählte, eine Flip-Flop in Schritt 106 in ein Abtast-Flip-Flop umgewandelt. In Fig. 5 zeigt die Teilschaltung der sequentiellen Logikschaltung des IC, wenn das Flip-Flop 306 in das Abtast-Flip-Flop 501 umgewandelt wurde. Danach wird eine unerfasste Fehlerliste einschließlich Flip-Flops, Fehlern, welche in dem Schritt 107 nicht erfasst wurden, erstellt, und dann wird in Schritt 103 ein Prüfmuster für die in Fig. 5 gezeigte, sequentielle Logikschaltung erzeugt, bei welcher das Flip-Flop 306 basierend auf der unerfassten Fehlerliste in das Abtast-Flip-Flop 501 umgewandelt wird. Danach geht der Programmablauf über zu dem Schritt 104 der in Fig. 1 gezeigten Hauptroutine. Wenn die erfasste Fehlerabdeckung größer als die vorbestimmte Schwellwert-Fehlerabdeckung Rth ist (JA in Schritt 104) wird das Prüfmuster, welches schließlich in Schritt 103 erzeugt wurde, als das für die sequentielle Logikschaltung zu verwendende Prüfmuster gesetzt und dann wird die Hauptroutine zum Erzeugen der Prüfmustererzeugung beendet.
- Weiterhin erzeugt der Signalgenerator 6 Signale der durch den oben erwähnten Vorgang erzeugten Prüfmuster und gibt sie in einer für die Anwendung bei der sequentiellen Logikschaltung geeigneten Form zu der zu prüfenden, sequentiellen Logikschaltung aus. Es ist anzumerken, dass Fig. 6 einen Übergang des internen Zustands der in Fig. 5 gezeigten, sequentiellen Logikschaltung zeigt, wenn ein in Fig. 4 gezeigter Fehler bewirkt wird.
- Tabelle 1 zeigt ein Ergebnis einer Simulation der konventionellen Prüfmuster- Erzeugungsvorrichtung und Tabelle 2 ein Ergebnis einer Simulation der Prüfmuster- Erzeugungsvorrichtung der ersten bevorzugten Ausführungsform, welche durch die vorliegenden Erfinder ausgeführt wurde. Die in den Simulationen verwendeten Schaltungen s400, s713 und s5378, sind Benchmark-Schaltungen, beschrieben in einer zweiten Referenz von F. Brglez et al., "Combinational Profiles of Sequential Benchmark Circuit", Proceeding International Symposium Circuit and Systems, Seite 1929 bis 1934, Mai 1989.
- Wie aus dem Vergleich zwischen den Tabellen 1 und 2 deutlich wird, kann in der Prüfmuster-Erzeugungsvorrichtung die größere Fehlerabdeckung als diejenige der konventionellen Vorrichtung mit kleineren Anzahlen von Abtast-Flip-Flops als bei der konventionellen Vorrichtung erhalten werden.
- In der ersten, bevorzugten Ausführungsform wird oben ein Beispiel im Fall der Umwandlung eines Flip-Flop in ein Abtast-Flip-Flop beschrieben. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt, zwei oder mehr Flip-Flops können ausgewählt sein, und sie können dann in Abtast-Flip-Flops umgewandelt werden.
- Weiterhin wird in der ersten, bevorzugten Ausführungsform in Schritt 207 der um ein Bit von dem Anfangszustand verschiedene Zustand beurteilt. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Ein von dem Anfangszustand um zwei oder mehr Bits verschiedener Zustand kann beurteilt werden.
- Fig. 7a und 7b sind Flussdiagramme eines Prüfmuster-Erzeugungsvorganges eines Unterroutinen-Schrittes 103a einer modifizierten, ersten, bevorzugten Ausführungsform des in Fig. 1 gezeigten Unterroutinen-Schrittes 103.
- In Fig. 7a wird zuerst in dem Schritt 702 beurteilt, ob ein unerfasster Fehler vorhanden ist oder nicht. Wenn kein unerfasster Fehler vorhanden ist (NEIN in Schritt 702) kehrt der Programmablauf zu der Hauptroutine zurück. Wenn andererseits ein oder mehrere unerfasste Fehler vorhanden sind (JA in Schritt 702) wird ein unerfasster Fehler in Schritt 703 ausgewählt und dann werden Wirkungen des ausgewählten, unerfassten Fehlers in Schritt 704 bewirkt. Dann wird in Schritt 704A beurteilt, ob der Vorgang in Schritt 704 beendet ist oder nicht. Wenn der Vorgang in Schritt 704 nicht beendet ist (NEIN in Schritt 704A) geht der Programmablauf zurück zu Schritt 702. Wenn andererseits der Vorgang in Schritt 704 beendet ist (JA in Schritt 704A) geht der Programmablauf über zu Schritt 705 von Fig. 7b.
- In Fig. 7b wird in Schritt 705 eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass Wirkungen des ausgewählten Fehlers die externen Ausgangsanschlüsse in dem gegenwärtigen Schaltungszustand erreichen. Dann wird in Schritt 705A beurteilt, ob der Vorgang in Schritt 705 beendet ist. Wenn der Vorgang in Schritt 705 beendet ist (JA in Schritt 705A) geht der Programmablauf zurück zu Schritt 702. Wenn andererseits der Vorgang in Schritt 705 nicht beendet ist (NEIN in Schritt 705A) geht der Programmablauf über zu Schritt 706.
- In Schritt 706 wird beurteilt, ob Wirkungen des Fehlers erfasst werden können, wenn ein Flip-Flop in dem gegenwärtigen Schaltungszustand in ein Abtast-Flip-Flop umgewandelt wird, oder nicht. Wenn die Wirkungen des Fehlers erfasst werden können (JA in Schritt 707) wird das durch den Vorgang in Schritt 707 erhaltene Flip-Flop in der Speichereinheit 5 aufgezeichnet und der Programmablauf geht dann über zu Schritt 708. Wenn andererseits die Wirkungen des Fehlers nicht erfasst werden können (NEIN in Schritt 707) werden in Schritt 708 externe Eingangswerte oder ein externes Prüfmuster erzeugt, so dass die Wirkungen des Fehlers wenigstens ein Flip-Flop in dem gegenwärtigen Schaltungszustand erreichen.
- Wenn der Vorgang in Schritt 708 beendet ist (JA in Schritt 708A) wird das Flip- Flop, welches die Wirkungen des Fehlers in dem Schritt 708 erreicht hat, in der Speichereinheit 5 in Schritt 709 aufgezeichnet, der gegenwärtige Schaltungszustand wird basierend auf dem durch den Vorgang in Schritt 708 erhaltenen Ergebnis in einen neuen Schaltungszustand aktualisiert und der Programmablauf geht dann zurück zu dem Schritt 705. Wenn andererseits der Vorgang in Schritt 708A nicht beendet ist (NEIN in Schritt 708A) wird Eins zu dem Abtast-Anforderungsgrad des zuerst in den Schritten 707 und 709 aufgezeichneten Flip-Flop addiert und der Programmablauf geht dann zurück zu dem Schritt 702.
- Fig. 8 zeigt eine teilweise, sequentielle Logikschaltung eines zweiten Beispiels eines IC.
- In Fig. 8 umfasst die teilweise, sequentielle Logikschaltung eine zusammengefasste Teilschaltung und vier Flip-Flops 806 bis 809, die jeweils zwischen den Ausgangsanschlüssen und den Eingangsanschlüssen der zusammengefassten Teilschaltung 801 angeschlossen sind. In Fig. 8 bezeichnet 810 einen in der zusammengefassten Teilschaltung 801 bewirkten Fehler.
- Die Fig. 9a bis 9e sind vereinfachte Blockschaltbilder des zweiten Beispiels des IC, welche Änderungen in dessen Schaltungszustand zeigen. In den Fig. 9d und 9e bezeichnet (D) eine Wirkung eines Fehlers.
- Ein Beispiel des Prüfmuster-Erzeugungsvorgangs einer modifizierten, ersten, bevorzugten Ausführungsform wird anhand von Fig. 7a, 7b, 8 und 9a bis 9e beschrieben.
- In Fig. 7a wird in Schritt 702 zuerst in dem Prüfmuster-Erzeugungsvorgang des Unterroutinen-Schrittes 103a beurteilt, ob ein unverarbeiteter Fehler vorhanden ist oder nicht. Wenn kein unverarbeiteter Fehler vorhanden ist (NEIN in Schritt 702) kehrt der Programmablauf zu der Hauptroutine zurück. Wenn andererseits ein oder mehrere unverarbeitete Fehler vorhanden sind (JA in Schritt 702), wird ein unverarbeiteter Fehler in Schritt 703 ausgewählt und dann werden Wirkungen des ausgewählten, unverarbeiteten Fehlers in Schritt 704 ausgelöst. Wenn der Vorgang in Schritt 704 nicht beendet ist (NEIN in Schritt 704A) geht der Programmablauf zurück zu Schritt 702. Wenn andererseits der Vorgang in Schritt 704 beendet ist (JA in Schritt 704A), geht der Programmablauf über zu Schritt 705 in Fig. 7b.
- Jetzt wird in dem Fall, dass der Vorgang in Schritt 704 resultierend in einem in Fig. 9a gezeigten Schaltungszustand beendet ist, in Fig. 7b in Schritt 705 eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass Wirkungen des ausgewählten Fehlers so gestaltet werden, dass sie die externen Ausgangsanschlüsse in dem gegenwärtigen Schaltungszustand erreichen. Wenn der Vorgang in Schritt 705 beendet ist (JA in Schritt 705A) geht der Programmablauf zurück zu Schritt 702. Wenn andererseits der Vorgang in Schritt 705 nicht beendet ist (NEIN in Schritt 705A) geht der Programmablauf über zu Schritt 706.
- Jetzt wird in dem Fall, dass keine externen Eingangswerte auf den Eingangssignalleitungen 802 und 803 vorhanden sind (NEIN in Schritt 705A), so dass die Wirkungen des Fehlers 810 die externen Ausgangsanschlüsse des in Fig. 9a gezeigten Schaltungszustandes erreicht haben, in Schritt 706 beurteilt, ob die Wirkung des Fehlers 810 die externen Ausgangsanschlüsse durch Ändern des Zustands eines Flip-Flop unter den Flip-Flops 806 bis 809 erreicht hat oder nicht. In diesem Beispiel wird jetzt, wenn der Zustand des Flip-Flop 808 von 0 zu 1 geändert ist, wie in Fig. 9b gezeigt, in Schritt 706 beurteilt, dass Wirkungen (D) des Fehlers 810 den externen Ausgangsanschluss 804 erreicht haben, wenn die externen Eingangswerte der Eingangssignalleitungen 802 und 803 Eins und Null sind. Bei JA in Schritt 706 wird das Flip-Flop 808 in Schritt 707 aufgezeichnet und dann wird in Schritt 708 eine Kombination externer Eingangswerte oder ein externes Prüfmuster erzeugt, so dass die Wirkungen (D) des Fehlers 810 wenigstens ein Flip-Flop erreichen können.
- In dem Fall der Annahme, dass, wie in Fig. 9c gezeigt, die Wirkungen (D) des Fehlers 810 das Flip-Flop 806 erreicht haben, wenn die externen Eingangswerte auf den externen Signaleingangsleitungen 802 und 803 l und 1 sind, wird das Flip- Flop 806 in Schritt 709 aufgezeichnet und dann wird der in Fig. 8 gezeigte Schaltungszustand in Fig. 9d nach der Verarbeitung von Schritt 708 gezeigt, welcher als ein gegenwärtiger Zustand bezeichnet wird.
- Anschließend, wenn der Vorgang in Schritt 705 nicht beendet ist (NEIN in Schritt 705A) wird der Zustand des Flip-Flops 809 von Eins zu Null geändert, wie in Fig. 9e gezeigt, und dann wird in Schritt 706 beurteilt, dass die Wirkungen (D) des Fehlers 810 den externen Ausgangsanschluss 805 erreicht haben, wenn die externen Eingangswerte auf den Signalleitungen 802 und 803 Null und Eins sind. Danach wird in Schritt 707 das Flip-Flop 809 aufgezeichnet.
- In diesem Beispiel geht jetzt in einem Fall der Annahme, dass die Wirkungen (D) des Fehlers 810 nicht sämtliche Flip-Flops in Schritt 708 erreicht haben, der Programmablauf über zu Schritt 711. In Schritt 711 wird Eins zu dem Abtast- Anforderungsgrad des Flip-Flop 808 addiert, das zuerst aus den in den Schritten 707 und 709 aufgezeichneten Flip-Flops 806, 808 und 809 aufgezeichnet wird.
- Wenn kein unverarbeiteter Fehler (NEIN in Schritt 702) vorhanden ist, wird der Unterroutinenschritt 103a beendet und der Programmablauf geht über zu Schritt 104 der in Fig. 1 gezeigten Hauptroutine.
- In der modifizierten ersten, bevorzugten Ausführungsform wird der Vorgang der Schritte 704 bis 711 für einen in Schritt 703 ausgewählten Fehler ausgeführt. Der Vorgang in Schritt 704 ist vorgesehen zum Erzeugen des Prüfmusters, welches zum Bewirken der Wirkungen des ausgewählten Fehlers erforderlich ist, wobei das zum Erzeugen der Wirkungen des Fehlers erforderliche Prüfmuster wenigstens einen der externen Ausgangsanschlüsse in Schritt 705 erreicht, und das Prüfmuster, welches zum Erzeugen der Wirkungen des Fehlers erforderlich ist, die wenigstens ein Flip-Flop in der sequentiellen Logikschaltung erreichen, wird erzeugt. Wenn der Vorgang in Schritt 705 beendet ist (JA in Schritt 705A) wird die Prüfmustererzeugung für einen in Schritt 703 ausgewählten Fehler beendet und der Programmablauf geht dann über zu Schritt 702. Dann wird das durch Verbinden der in den Schritten 704, 705 und 708 erzeugte Prüfmuster ein Prüfmuster für den in Schritt 703 ausgewählten einen Fehler.
- In Fig. 1 wird in Schritt 104 in Fig. 1 beurteilt, ob die erfasste Fehlerabdeckung größer als die vorbestimmte Schwellwert-Fehlerabdeckung Rth ist. Wenn die erfasste Fehlerabdeckung gleich oder kleiner als die vorbestimmte Schwellwert- Fehlerabdeckung Rth ist (NEIN in Schritt 104) geht der Programmablauf über zu dem Schritt 105, und dort wird dann der Abtast-Flip-Flop-Auswählvorgang der Unterroutine ausgeführt. Insbesondere wird dort ein Flip-Flop mit der maximalen Steuerbarkeit aus einem oder mehreren Flip-Flops mit dem maximalen Abtast- Anforderungsgrad ausgewählt.
- Wenn der Abtast-Anforderungsgrad der Flip-Flops 806 bis 809 in diesem Beispiel jetzt 1, 6, 2 und 6 ist und die in der Speichereinheit 5 gespeicherten Steuerbarkeiten der Flip-Flops 806 bis 809 323, 112, 24 und 811 sind, wird das Flip-Flop 809 in Schritt 105 ausgewählt.
- In der modifizierten, ersten bevorzugten Ausführungsform ist das ausgewählte Flip- Flop ein Flip-Flop, das in dem Prüfmuster-Erzeugungsvorgang sicher abgetastet wird, welcher sich von demjenigen in der konventionellen Vorrichtung unterscheidet. Wenn das ausgewählte Flip-Flop in ein Abtast-Flip-Flop umgewandelt wird und das Prüfmuster erzeugt wird, kann die Fehlerabdeckung sicher verbessert werden, resultierend in der Entfernung jedes nutzlosen Abtast-Flip-Flops.
- Danach wird der Vorgang der Schritte 106, 107, 103 und 104 in einer Weise ausgeführt, die mit derjenigen der ersten Ausführungsform vergleichbar ist.
- Fig. 10 ist ein Flussdiagramm einer durch eine Prüfmuster-Erzeugungsvorrichtung einer zweiten, bevorzugten Ausführungsform gemäß der vorliegenden Erfindung ausgeführten Haupt-Routine.
- In Fig. 10 werden zuerst in Schritt 1002 vorbestimmte Abschluss-Bedingungen gesetzt und in Schritt 1003 wird beurteilt, ob ein von den Abtast-Flip-Flops abweichendes, unverarbeitetes Flip-Flop vorhanden ist. Wenn ein oder mehrere unverarbeitete Flip-Flops vorhanden sind (JA in Schritt 1003) wird in Schritt 1004 ein unverarbeitetes Flip-Flop ausgewählt und in Schritt 1005 wird dann eine Steuerbarkeit sämtlicher Flip-Flops innerhalb der sequentiellen Logikschaltung unter der Annahme errechnet, dass das ausgewählte Flip-Flop in ein Abtast-Flip-Flop umgewandelt ist. Danach geht der Programmablauf über zu Schritt 1003.
- Wenn andererseits kein unverarbeitetes Flip-Flop vorhanden ist (NEIN in Schritt 1003) wird in Schritt 1006 ein Flip-Flop ausgewählt und das ausgewählte Flip-Flop wird in ein Abtast-Flip-Flop umgewandelt. Danach wird in Schritt 1007 beurteilt, ob die in Schritt 1002 gesetzten, vorbestimmten Abschlussbedingungen erfüllt werden. Wenn die vorbestimmten Abschlussbedingungen nicht erfüllt werden (NEIN in Schritt 1007) geht der Programmablauf über zu dem Schritt 1003. Wenn andererseits die vorbestimmten Abschlussbedingungen erfüllt werden (JA in Schritt 1007) geht der Programmablauf über zu Schritt 1008 und ein Prüfmuster wird erzeugt. Dann wird der Prüfmuster-Vorgang der Hauptroutine der zweiten, bevorzugten Ausführungsform beendet.
- Ein Beispiel einer Wirkungsweise der Prüfmuster-Erzeugungsvorrichtung der zweiten, bevorzugten Ausführungsform wird unten anhand von Fig. 10 beschrieben.
- In Fig. 10 werden zuerst die vorbestimmten Abschlussbedingungen in Schritt 1002 gesetzt. Die vorbestimmten Abschlussbedingungen können einen vorbestimmten, oberen Schwellwert der Fehlerabdeckung und eine vorbestimmte Schwellwertanzahl einer oberen Begrenzung von Abtast-Flip-Flops beinhalten. Insbesondere kann eine der vorbestimmten Abschlussbedingungen sein, dass die Fehlerabdeckung größer als ein vorbestimmter Wert ist, und eine weitere davon kann sein, dass die Anzahl der Abtast-Flip-Flops größer als ein vorbestimmter Wert ist. In der vorliegenden, bevorzugten Ausführungsform wird die Schwellwertanzahl der oberen Begrenzung der Abtast-Flip-Flops auf drei gesetzt.
- Danach wird in Schritt 1003 beurteilt, ob ein anderes unverarbeitetes Flip-Flop als das Abtast-Flip-Flop vorhanden ist. In diesem Beispiel sind jetzt die Flip-Flops 806 bis 809 in der sequentiellen Logikschaltung in Fig. 8 gezeigt und sie sind unverarbeitete Flip-Flops. Daher geht der Programmablauf über zu dem Schritt 1004, ein Flip-Flop wird aus den verarbeiteten Flip-Flops 806 bis 809 ausgewählt. In diesem Beispiel wird jetzt in dem Fall der Annahme, dass z. B. das Flip-Flop 806 ausgewählt ist, in Schritt 1005 eine Summe von Steuerbarkeiten sämtlicher Flip-Flops 807 bis 809, außer den Abtast-Flip-Flops innerhalb der sequentiellen Logikschaltung, unter der Annahme, dass das ausgewählte Flip-Flop 806 in ein Abtast-Flip- Flop umgewandelt wurde, berechnet. In diesem Beispiel ist die Summe der Steuerbarkeiten davon 3122.
- Danach geht der Programmablauf über zu dem Schritt 1003, es wird beurteilt, ob ein oder mehrere unverarbeitete Flip-Flops vorhanden sind. Jetzt sind die Flip-Flops 807 bis 809 nicht verarbeitet und dann wird z. B. das Flip-Flop 807 in dem Schritt 1004 ausgewählt. Danach wird in dem Schritt 1005 eine Summe der Steuerbarkeiten sämtlicher anderen Flip-Flops 806, 808 und 809, die nicht das unverarbeitete Flip-Flop 807 sind, errechnet, und es wird angenommen, dass in diesem Beispiel die Summe der Steuerbarkeiten 2068 ist. Der Vorgang der Schritt 1003 bis 1005 wird wiederholt für die Flip-Flops 808 und 809 in einer Weise ausgeführt, die mit der obigen vergleichbar ist. Jetzt wird angenommen, dass die Summen der in dem Schritt 1005 errechneten Steuerbarkeiten 1063 und 2760 sind.
- Da kein unverarbeitetes Flip-Flop in der Schaltung in Schritt 1003 vorhanden ist (NEIN in Schritt 1003) geht der Programmablauf danach über zu dem Schritt 1006. Einer der Gründe, warum die Prüfmustererzeugung für einen Fehler nicht beendet wird, ist, dass es schwierig ist, logische Werte auf den Signalleitungen innerhalb der Schaltung zu steuern. Um ein solches Problem zu lösen ist es erforderlich, insbesondere das Flip-Flop herauszufinden, welches die Steuerbarkeit der Flip-Flops verbessern kann, und das gefundene Flip-Flop wird in ein Abtast-Flip-Flop umgewandelt. In diesem Fall können die logischen Werte der Nicht-Abtast-Flip-Flops leicht mit einer relativ geringen Anzahl von Abtast-Flip-Flops gesteuert werden, resultierend in einer Verbesserung in der Fehlerabdeckung und Verringerung der Fehlerabdeckung.
- Daher wird ein Flip-Flop mit der Minimal-Steuerbarkeit aus den Flip-Flops mit der in dem Schritt 1005 berechneten Steuerbarkeit ausgewählt. In dem Fall, dass nur ein Flip-Flop aus den Flip-Flops 806 bis 809 in ein Abtast-Flip-Flop umgewandelt wird, sind die Summen der Steuerbarkeiten der anderen Flip-Flops 3022, 2068, 1063 und 2760. Daher wird in diesem Fall das Flip-Flop 808 in ein Abtast-Flip-Flop umgewandelt und der Programmablauf geht dann über zu dem Schritt 1007.
- In dem Schritt 1007 wird beurteilt, ob die Anzahl der Abtast-Flip-Flops gleich oder größer als ein vorbestimmter Einstellwert ist oder nicht. Jetzt ist jedoch nur ein Abtast-Flip-Flop vorhanden (NEIN in Schritt 1007). Daher geht der Programmablauf über zu dem Schritt 1003. Da dort andere als die Abtast-Flip-Flops als unverarbeitete Flip-Flops 806, 807 und 809 vorhanden sind, wird in dem Schritt 1004 das Flip-Flop 806 ausgewählt. Danach wird in dem Schritt 1005 eine Summe der Steuerbarkeiten sämtlicher Flip-Flops 807 und 809, die nicht Abtast-Flip-Flops sind, berechnet, und dann wird in diesem Beispiel angenommen, dass die Summe 968 ist.
- Danach wird der Vorgang von Schritt 1003 bis 1005 für jedes der Flip-Flops 807 und 809 in einer mit der obigen vergleichbaren Weise ausgeführt und dann wird in diesem Beispiel angenommen, dass in Schritt 1005 die Summen der Steuerbarkeiten 1901 und 1103 sind. Da die Summen der Steuerbarkeiten der anderen Flip-Flops, wenn eines der Flip-Flops 806, 807 und 809 in ein Abtast-Flip- Flop umgewandelt wird, 968, 1901 und 1103 sind, wird das Flip-Flop 806 in Schritt 1106 in ein Abtast-Flip-Flop umgewandelt.
- In dem Schritt 1007 sind zwei Abtast-Flip-Flops vorhanden und die Anzahl der Abtast-Flip-Flops ist nicht gleich oder größer als der vorbestimmte Einstellwert von drei (NEIN in Schritt 1007). Daher geht der Programmablauf über zu dem Schritt 1003 und der Vorgang der Schritte 1003 bis 1006 wird in einer mit der obigen vergleichbaren Weise ausgeführt. Dann wird das Flip-Flop 809 ausgewählt und wird in dem Schritt 1006 in ein Abtast-Flip-Flop umgewandelt. Danach sind drei Flip-Flops in Schritt 1007 vorhanden und die Anzahl der Abtast-Flip-Flops ist gleich oder größer als der vorbestimmte Einstellwert von drei (JA in Schritt 1007). Dementsprechend geht der Programmablauf über zu dem Schritt 1008 und dann wird ein Prüfmuster erzeugt. Die Hauptroutine der Prüfmustererzeugung ist beendet.
- Tabelle 3 zeigt ein Ergebnis einer durch den vorliegenden Erfinder ausgeführten Simulation und die Schaltungen s400 und s713, welche bei der Simulation verwendet werden, sind die in der oben erwähnten, zweiten Referenz beschriebenen Benchmark-Schaltungen.
- Wie aus dem Vergleich zwischen Tabelle 3 der zweiten bevorzugten Ausführungsform und Tabelle 1 der konventionellen Vorrichtung deutlich wird, können bei der zweiten, bevorzugten Ausführungsform Fehlerabdeckungen gleich oder größer als diejenigen der konventionellen Vorrichtung mit kleineren Anzahlen der Abtast-Flip- Flops als denjenigen der konventionellen Vorrichtung erhalten werden.
- Fig. 11 ist ein Flussdiagramm eines Flip-Flop-Auswählvorgangs eines Unterroutinenschrittes 105a, ausgeführt durch eine Prüfmuster-Erzeugungsvorrichtung einer erfindungsgemäßen, dritten, bevorzugten Ausführungsform. Insbesondere ist der Flip-Flop-Auswählvorgang in Schritt 105 ein modifizierter Vorgang von Schritt 105 der in Fig. 1 gezeigten ersten, bevorzugten Ausführungsform. Die anderen Vorgänge sind die gleichen wie die in Fig. 1 gezeigten.
- In Fig. 11 wird zuerst eine Liste mit Flip-Flops in Schritt 1102 erstellt, von denen jedes den maximalen Abtast-Anforderungsgrad aufweist, und dann wird in dem Schritt 1103 beurteilt, ob die Anzahl Nff der Flip-Flops innerhalb der Liste größer als Eins ist oder nicht. Wenn Nff = 1 (NEIN in Schritt 1103) geht der Programmablauf über zu dem Schritt 1107 und dann wird ein Flip-Flop aus der erstellten Liste ausgewählt, so dass die Summe der Steuerbarkeiten der gesamten Schaltung die kleinste ist, wenn das ausgewählte eine Flip-Flop ein Abtast-Flip-Flop ist. Danach geht der Programmablauf zurück zu der Hauptroutine. Wenn andererseits Nff > - 1 (JA in Schritt 1103) ist, wird in Schritt 1104 beurteilt, ob ein oder mehrere unverarbeitete Flip-Flops in der erstellten Liste vorhanden sind oder nicht.
- Wenn wenigstens ein unverarbeitetes Flip-Flop innerhalb der Liste vorhanden ist (JA in Schritt 1104) wird ein unverarbeitetes Flip-Flop in dem Schritt 1105 ausgewählt und dann wird in dem Schritt 1106 die Summe der Steuerbarkeiten der entsprechenden Flip-Flops in der Schaltung, wenn das ausgewählte eine Flip-Flop in ein Abtast-Flip-Flop umgewandelt ist, errechnet. Danach geht der Programmablauf zurück zu dem Schritt 1104. Wenn andererseits kein unverarbeitetes Flip- Flop innerhalb der Liste vorhanden ist (NEIN in Schritt 1104) geht der Programmablauf über zu dem Schritt 1107.
- Ein Beispiel einer Wirkung der dritten bevorzugten Ausführungsform wird unten anhand von Fig. 11 beschrieben.
- In Fig. 11 wird zuerst eine Liste von Flip-Flops mit dem maximalen Abtastanforderungsgrad basierend auf der Information der Abtastanforderungsgrade der entsprechenden Flip-Flops erstellt, welche durch den in Fig. 1 gezeigten Prüfmuster- Erzeugungsvorgang in Schritt 103 erhalten wurden. In diesem Beispiel beinhaltet jetzt in dem Fall der Annahme, dass die Abtast-Anforderungsgrade der entsprechenden Flip-Flops 303 bis 308 0, 1, 4, 9, 0 und 9 sind, die in dem Schritt 1102 erstellte Liste die Flip-Flops 306 und 308, von denen jedes den maximalen Abtast- Anforderungsgrad von Neun aufweist. Danach wird in dem Schritt 1103 beurteilt, ob die Anzahl Nff der Flip-Flops in der erstellten Liste größer als Eins ist oder nicht.
- Da in diesem Beispiel Nff > - 1 ist, geht der Programmablauf über zu dem Schritt 1104 und dann wird in dem Schritt 1104 beurteilt, ob ein oder mehrere unverarbeitete Flip-Flops innerhalb der erstellten Liste vorhanden sind oder nicht. In diesem Beispiel sind zwei unverarbeitete Flip-Flops 306 und 308 vorhanden. Daher wird in dem Schritt 1105 eines der Flip-Flops 306 aus den Flip-Flops 306 und 308 ausgewählt und dann wird in dem Schritt 1106 die Summe der Steuerbarkeiten der entsprechenden Flip-Flops in der Schaltung, wenn das ausgewählte Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt ist, errechnet, resultierend in der Summe von 1812.
- Danach geht der Programmablauf zurück zu dem Schritt 1104 und dann wird beurteilt, ob wenigstens ein unverarbeitetes Flip-Flop in der Liste vorhanden ist oder nicht. Da in diesem Beispiel das unverarbeitete Flip-Flop 308 vorhanden ist (JA in Schritt 1104) wird das Flip-Flop 308 in dem Schritt 1105 ausgewählt und dann wird in dem Schritt 1106 die Summe der Steuerbarkeiten der entsprechenden Flip-Flops in der Schaltung, wenn das ausgewählte Flip-Flop 308 in ein Abtast-Flip- Flop umgewandelt ist, errechnet, resultierend in der Summe von 3127.
- Danach geht der Programmablauf zurück zu dem Schritt 1104 und es wird beurteilt, ob wenigstens ein unverarbeitetes Flip-Flop in der Liste vorhanden ist oder nicht. Da in diesem Beispiel kein unverarbeitetes Flip-Flop mehr vorhanden ist (NEIN in Schritt 1104) geht der Programmablauf über zu dem Schritt 1107. Dort wird das eine Flip-Flop 306 aus den Flip-Flops 306 und 308 innerhalb der erstellten Liste ausgewählt, da die Summe der Steuerbarkeiten der gesamten Schaltung die kleinste ist, wenn das ausgewählte Flip-Flop 306 ein Abtast-Flip-Flop ist. Wenn das Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt ist, kann insbesondere die Steuerbarkeit der gesamten Schaltung höchstmöglich verbessert werden und kann höchstmöglich verringert werden. Danach geht der Programmablauf zurück zu dem Schritt 104 der Hauptroutine und der in Fig. 1 gezeigte Vorgang wird in einer mit derjenigen der ersten bevorzugten Ausführungsform vergleichbaren Weise ausgeführt.
- Die Merkmale der dritten bevorzugten Ausführungsform beinhalten den Vorgang in Schritt 1107. Der Grund, warum der Vorgang in Schritt 1107 in dem Abtast-Flip- Flop-Auswählvorgang des Unterroutinenschrittes 105a vorgesehen ist, ist der folgende.
- Eine Aufgabe sämtlicher bevorzugten Ausführungsformen gemäß der vorliegenden Erfindung, welche in der Beschreibung beschrieben sind, ist es, den Aufwand der Steuerbarkeit des IC zu verringern oder zu verbessern. Allgemein ausgedrückt, wenn ein Flip-Flop mit der maximalen Steuerbarkeit in ein Abtast-Flip-Flop umgewandelt ist, kann der Aufwand der Steuerbarkeit davon nicht mehr verbessert werden. Wenn ein Flip-Flop in ein Abtast-Flip-Flop umgewandelt wird, auch wenn der Aufwand der Steuerbarkeit des Flip-Flop selbst nicht so groß ist, ergibt sich eine Möglichkeit zum Verbessern oder Verringern des Aufwandes der Steuerbarkeit der gesamten Schaltung des IC. Wenn eine Mehrzahl von Flip-Flops abzutasten sind, kann daher die Ausführung des in Fig. 11 gezeigten Vorgangs der Abtast-Flip- Flop-Auswähl zu der Verbesserung oder Verringerung des Aufwandes der Steuerbarkeit des IC beitragen.
- Tabelle 4 zeigt ein Ergebnis einer durch die vorliegende Erfindung ausgeführten Simulation und die in der Simulation verwendeten Schaltungen s400 und s713 sind die bei der oben erwähnten, zweiten Referenz beschriebenen Benchmark-Schaltungen.
- Wie aus dem Vergleich zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 1 der konventionellen Vorrichtung deutlich wird, können in der zweiten bevorzugten Ausführungsform Fehlerabdeckungen gleich oder größer als diejenigen der konventionellen Vorrichtung mit kleineren Anzahlen von Abtast-Flip- Flops als denjenigen in der konventionellen Vorrichtung erhalten werden.
- Wie weiterhin aus dem Vergleich zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 2 der ersten bevorzugten Ausführungsform deutlich wird, können in der dritten bevorzugten Ausführungsform Fehlerabdeckungen wenigstens gleich oder größer denjenigen der ersten bevorzugten Ausführungsform erhalten werden.
- Weiterhin, wie aus dem Vergleich zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 3 der zweiten bevorzugten Ausführungsform deutlich wird, kann in der dritten bevorzugten Ausführungsform die gleiche Fehlerabdeckung wie diejenige der zweiten bevorzugten Ausführungsform mit kleineren Anzahlen von Abtast-Flip-Flops als diejenigen der zweiten bevorzugten Ausführungsform erhalten werden.
- Daher kann die vorliegende, bevorzugte Ausführungsform die beste Leistungsfähigkeit aus der ersten bis dritten bevorzugten Ausführungsform und dem Stand der Technik erhalten.
- Es ist anzumerken, dass der Unterroutinenschritt 105a der dritten bevorzugten Ausführungsform auf die erste bevorzugte Ausführungsform anwendbar ist.
- Fig. 12 ist ein vereinfachtes Blockschaltbild einer Prüfmuster-Erzeugungsvorrichtung einer erfindungsgemäßen, vierten, bevorzugten Ausführungsform und Fig. 12 entspricht einer Einrichtung 4 zum Erzeugen des Prüfmusters der in Fig. 17 gezeigten ersten, bevorzugten Ausführungsform.
- In Fig. 12 umfasst die Prüfmuster-Erzeugungsvorrichtung einen Prüfmustergenerator 1201, eine Speichereinheit 1202 zum Speichern von Daten der durch den Prüfmustergenerator 1201 in einem normalen Modus erzeugten Daten, eine Speichereinheit 1203 zum Speichern von Daten von Stati der entsprechenden Flip- Flops, während das Prüfmuster durch den Prüfmustergenerator 1201 erzeugt wird, einen Prüfmustergenerator 1204 zum Bearbeiten und Erzeugen eines Prüfmusters einschließlich eines Prüfmusters in einem Abtastmodus basierend auf dem Prüf muster in dem Normalmodus, gespeichert in der Speichereinheit 1202, und den in der Speichereinheit 1203 gespeicherten Stati der entsprechenden Flip-Flops und eine Speichereinheit 1205 zum Speichern von Daten des Prüfmusters in dem durch den Prüfmuster-Editierer 1204 erzeugten Abtastmodus.
- Fig. 13 ist ein Flussdiagramm einer durch die Prüfmuster-Erzeugungsvorrichtung der vierten bevorzugten Ausführungsform ausgeführten Hauptroutine.
- In Fig. 13 wird zuerst in dem Schritt 1312 eine vorbestimmte Abschlussbedingung gesetzt. In der vorliegenden, bevorzugten Ausführungsform können die Abschlussbedingungen eine Bedingung einer oberen Begrenzung von abzutastenden Flip-Flops beinhalten. Die vorbestimmte Abschlussbedingung beinhaltet einen vorbestimmten oberen Schwellwert der Fehlerabdeckung und eine vorbestimmte Schwellwertanzahl einer oberen Beschränkung von Abtast-Flip-Flops. Insbesondere kann eine der vorbestimmten Abschlussbedingungen sein, dass die Fehlerabdeckung größer als ein vorbestimmter Wert ist, und eine weitere der vorbestimmten Abschlussbedingungen kann sein, dass die Anzahl der Abtast-Flip-Flops größer als ein vorbestimmter Wert ist.
- Danach wird in dem Schritt 1313 beurteilt, ob ein unverarbeiteter Fehler in der Schaltung vorhanden ist oder nicht. Wenn wenigstens ein unverarbeiteter Fehler vorhanden ist (JA in Schritt 1313) geht der Programmablauf über zu dem Schritt 1314 und dann wird ein unverarbeiteter Fehler ausgewählt und ein Prüfmuster wird bezogen auf den ausgewählten, unverarbeiteten Fehler erzeugt. Danach werden in dem Schritt 1315 die Stati der gespeicherten logischen Werte der abzutastenden Flip-Flops innerhalb der Schaltung, wenn die Flip-Flops abgetastet und ausgegeben werden, aufgezeichnet, die Flip-Flops werden in den oben erwähnten Abtastmodus und in den oben erwähnten normalen Modus gesetzt. Der Programmablauf geht dann zurück zu dem Schritt 1313.
- Wenn andererseits kein unverarbeiteter Fehler vorhanden ist (NEIN in Schritt 1313) wird in dem Schritt 1316 beurteilt, ob die vorbestimmten Abschlussbedingungen, die in dem Schritt 1323 eingestellt werden, erfüllt sind. Bei NEIN in dem Schritt 1316 wird ein Flip-Flop ausgewählt und das ausgewählte Flip-Flop wird in dem Schritt 1317 in ein Abtast-Flip-Flop umgewandelt und der Programmablauf geht dann zurück zu dem Schritt 1313. Andererseits wird bei JA in dem Schritt 1316 ein Prüfmuster in dem Schritt 1318 basierend auf den Stati der Flip-Flops in dem Normalmodus und in dem Abtastmodus, gespeichert in den Speichereinheiten 1202 und 1203, erzeugt, und dann ist der Prüfmuster-Erzeugungsvorgang der vierten, bevorzugten Ausführungsform abgeschlossen.
- Die Fig. 14a bis 14c sind vereinfachte Blockschaltbilder von Teilen sequentieller Logikschaltungen, welche den durch die Prüfmuster-Erzeugungsvorrichtung der vierten, bevorzugten Ausführungsform ausgeführten Prüfmuster-Erzeugungsvorgang zeigen. Fig. 14a zeigt einen Zustand der sequentiellen Logikschaltung, wenn das Flip-Flop 807 in ein Abtast-Flip-Flop 1403 umgewandelt wird, während der Prüfmuster-Erzeugungsvorgang für die in Fig. 8 gezeigte, sequentielle Logikschaltung ausgeführt wird, Fig. 14b zeigt einen Zustand der sequentiellen Logikschaltung in der nächsten Stufe und Fig. 14c zeigt einen Zustand der sequentiellen Logikschaltung, wenn das Flip-Flop 808 zusätzlich nach der Umwandlung in das Abtast-Flip-Flop 1403 in ein Abtast-Flip-Flop 1404 umgewandelt wird.
- Tabelle 5 zeigt Stati der entsprechenden Flip-Flops zu einem Zeitpunkt vor dem Abtastvorgang und zu einem anderen Zeitpunkt nach dem Abtastvorgang und Tabelle 6 zeigt externe Prüf-Eingangswerte oder ein externes Prüfmuster, erzeugt in dem Schritt 1317. In Tabelle 6 bezeichnet MS einen Signalwert auf einer Modus- Auswähl-Signalleitung. In den Fig. 14a bis 14c und in Tabelle 6 bezeichnet 1401 eine Abtast-Eingangs-Signalleitung, 1402 bezeichnet eine Abtast-Ausgangs-Signalleitung, 802 und 803 bezeichnen externe Eingangs-Signalleitungen und 804 und 805 bezeichnen externe Ausgangs-Signalleitungen.
- Ein Beispiel einer Wirkungsweise des für die in Fig. 8 gezeigte, sequentielle Logikschaltung durch die Vorrichtung der vierten, bevorzugten Ausführungsform ausgeführten Prüfmuster-Vorgangs wird unten anhand der Fig. 13 und 14a bis 14c beschrieben.
- In Fig. 13 werden zuerst die vorbestimmten Abschlussbedingungen in dem Schritt 1312 gesetzt. In der vorliegenden, bevorzugten Ausführungsform beinhalten die Abschlussbedingungen eine Bedingung einer oberen Beschränkung von abzutastenden Flip-Flops.
- Die Verarbeitung der Schritte 1313 bis 1315 ist vorgesehen zum Erzeugen eines Prüfmusters. Zuerst wird in dem Schritt 1313 beurteilt, ob ein unverarbeiteter Fehler innerhalb der in Fig. 8 gezeigten Schaltung vorhanden ist oder nicht. Wenn wenigstens ein unverarbeiteter Fehler vorhanden ist (JA in Schritt 1313) geht der Programmablauf über zu dem Schritt 1314 und dann wird ein unverarbeiteter Fehler ausgewählt und ein Prüfmuster wird, bezogen auf den ausgewählten, unverarbeiteten Fehler, erzeugt. Danach geht der Programmablauf über zu dem Schritt 1315 und dann werden, wenn Abtasteingang und Abtastausgang für das Abtast-Flip-Flop angefordert werden, in der Speichereinheit 1203 die Stati sämtlicher Flip-Flops einschließlich der Abtast-Flip-Flops zu einem Zeitpunkt vor dem Abtastvorgang oder dem Vorgang in dem Abtast-Modus und zu einem anderen Zeitpunkt nach dem Abtast-Vorgang aufgezeichnet. Da die Zustände der Nicht- Abtast-Flip-Flops sich nicht ändern, werden die gleichen logischen Werte aufgezeichnet wie die Stati der Nicht-Abtast-Flip-Flops zu einem Zeitpunkt vor dem Abtastvorgang und zu einem anderen Zeitpunkt nach dem Abtast-Vorgang. Da in der in Fig. 8 gezeigten Schaltung kein Abtast-Flip-Flop vorhanden ist, geht der Programmablauf in diesem Beispiel über zu dem Schritt 1313.
- Der Vorgang der Schritte 1313 bis 1315 wird erneut ausgeführt, und wenn kein unverarbeiteter Fehler vorhanden ist (NEIN in Schritt 1313) geht der Programmablauf über zu dem Schritt 1316 und dann wird beurteilt, ob die vorbestimmten Abschlussbedingungen erfüllt sind oder nicht. Da kein Abtast-Flip-Flop vorhanden ist (NEIN in Schritt 1316) geht in diesem Fall der Programmablauf über zu dem Schritt 1317. In dem Schritt 1317 wird ein Flip-Flop ausgewählt und das ausgewählte Flip-Flop wird in ein Abtast-Flip-Flop umgewandelt. In diesem Beispiel wird das Flip-Flop 807 ausgewählt und in das Abtast-Flip-Flop 1403 umgewandelt.
- Danach wird der Vorgang der Schritte 1313 bis 1315 für die in Fig. 14a gezeigte, sequentielle Logikschaltung erneut ausgeführt. In dem Schritt 1315 werden beide Stati des in dem Normalmodus und in dem Abtastmodus abzutastenden Flip-Flop 1403 in der Speichereinheit 1203 aufgezeichnet und weiterhin werden in der Speichereinheit 1203 beide Stati der Nicht-Abtast-Flip-Flops 806, 808 und 809 in dem Normalmodus und in dem Abtastmodus aufgezeichnet.
- In diesem Beispiel sind, wenn das Abtast-Flip-Flop 1403 eingelesen wird, oder in den Abtastmodus gesetzt ist, so dass der Zustand dessen sich von Null zu Eins zu einem Zeitpunkt ti ändert, die Stati der anderen Nicht-Abtast-Flip-Flops 806, 808 und 809 0, 0 und 1. In diesem Fall, wenn der Status des Abtast-Flip-Flop 1403 durch den Abtast-Vorgang oder durch Setzen desselben in den Abtast-Modus auf Eins gesetzt ist, wird ein Signal eines Status des Abtast-Flip-Flop von Null vor dem Abtastvorgang durch die Abtastausgabe-Signalleitung 1402 ausgegeben. Dann werden die Stati des Abtast-Flip-Flop 1403 einschließlich eines Status von Null zu einem Zeitpunkt vor dem Abtastvorgang und eines Status von Eins zu einem anderen Zeitpunkt nach dem Abtastvorgang in der Speichereinheit 1203 aufge zeichnet. Andererseits sind zu einem Zeitpunkt vor dem Abtastvorgang die Stati der Nicht-Abtast-Flip-Flops 806, 808 und 809 0, 0, und 1 und sie ändern sich nicht zwischen dem Zeitpunkt vor dem Abtastvorgang und einem weiteren Zeitpunkt nach dem Abtastvorgang. Ebenso werden die Vorgänge der Schritte 1313 bis 1315 erneut ausgeführt, und wenn dort kein unverarbeiteter Fehler auftritt (NEIN in dem Schritt 1313) geht der Programmablauf über zu dem Schritt 1316. Dann werden die Abschlussbedingungen beurteilt. Da ein Abtast-Flip-Flop vorhanden ist (NEIN in Schritt 1316) geht in diesem Fall der Programmablauf über zu dem Schritt 1317 und das Flip-Flop 808 wird dann in das Abtast-Flip-Flop 1404 umgewandelt, wie in Fig. 14a gezeigt.
- Weiterhin wird der Vorgang der Schritte 1313 bis 1315 erneut für die in Fig. 14b gezeigte, sequentielle Logikschaltung ausgeführt. In diesem Fall wird in dem Schritt 1314 gefordert, dass zu einem Zeitpunkt tj beide Stati der Abtast-Flip-Flops 1403 und 1404 von 0 und 0 zu 1 und 1 wechseln. Danach werden in Schritt 1315 in der Speichereinheit 1203 die Stati von 0, 0, 0 und 1 zu einem Zeitpunkt vor dem Abtastzeitpunkt und die Stati von 0, 1, 1, und 1 zu einem weiteren Zeitpunkt nach dem Abtastvorgang sämtlicher Flip-Flops 806, 1403, 1404 und 809 einschließlich der Abtast-Flip-Flops 1403 und 1404 aufgezeichnet. Ebenso wird der Vorgang der Schritte 1313 bis 1315 erneut ausgeführt, und wenn kein unverarbeiteter Fehler auftritt, geht der Programmablauf über zu dem Schritt 1316. Dann werden die Abschlussbedingungen in dem Schritt 1312 beurteilt. Da zwei Abtast-Flip-Flops 1403 und 1404 vorhanden sind (NEIN in Schritt 1316) geht der Programmablauf in diesem Fall über zu dem Schritt 1317 und dann wird das Flip-Flop 809 in das Abtast-Flip-Flop 1405 umgewandelt, wie in Fig. 14c gezeigt.
- Weiterhin wird der Vorgang der Schritte 1313 bis 1315 erneut für die in Fig. 14c gezeigte sequentielle Logikschaltung ausgeführt. In diesem Fall werden in dem Schritt 1314 die Stati der Abtast-Flip-Flops 1403, 1404 und 1405 als 1, 1, und 0 zu 0, 0, und 1 gefordert. Danach werden in Schritt 1315 beide Stati von 1, 1, 1 und 0 zum Zeitpunkt vor dem Abtastvorgang und die Stati von 1, 0, 0 und 1 zu einem anderen Zeitpunkt nach dem Abtastvorgang sämtlicher Flip-Flops 806, 1403, 1404 und 1405 einschließlich der Abtast-Flip-Flops 1403, 1404 und 1405 in der Speichereinheit 1203 aufgezeichnet. Ebenso wird der Vorgang der Schritte 1313 bis 1315 erneut ausgeführt, und wenn kein unverarbeiteter Fehler auftritt, geht der Programmablauf über zu dem Schritt 1316. Dann werden die Abschlussbedingungen in dem Schritt 1312 beurteilt. Da drei Abtast-Flip-Flops vorhanden sind, geht in diesem Fall der Programmablauf über zu dem Schritt 1318, da die vorbestimmten Abschlussbedingungen erfüllt wurden (JA in Schritt 1316) und der Programmablauf geht dann über zu dem Schritt 1318.
- In dem Schritt 1318 wird das Prüfmuster in dem Abtastvorgang basierend auf den Stati der entsprechenden Flip-Flops zu Zeitpunkten vor und nach dem Abtastvorgang, welche in der Speichereinheit 1203 aufgezeichnet sind, erzeugt, die in Tabelle 5 gezeigt sind. In Tabelle 5 stellen (p, q, r, s) (den Status des Flip-Flop 806, den Status des Flip-Flop 1403, den Status des Flip-Flop 808 oder 1404, den Status des Flip-Flop 809 oder 1405) dar. In diesem Beispiel sind drei Abtast-Flip-Flops 1403 bis 1405 vorhanden, wobei diese in einer Reihenfolge der Abtasteingangs- Signalleitung 1401 - das Abtast-Flip-Flop 1403 - das Abtast-Flip-Flop 1404 - das Abtast-Flip-Flop 1405 - die Abtastausgangs-Signalleitung 1402 angeschlossen sind.
- Zu dem Zeitpunkt ti ist nur ein Abtast-Flip-Flop 1403 vorhanden, die Abtast-Flip- Flops 1404 und 1405 sind jedoch schließlich daran angeschlossen. Nach Ausführen des Abtastvorganges ist es daher erforderlich, nicht nur das Abtast-Flip-Flop 1403 in Betrieb zu setzen, sondern gleichzeitig die Abtast-Flip-Flops 1404 und 1405 gleichzeitig zu betreiben. Daher wird das Signal des Status des Zeitpunktes ti des Abtast-Flip-Flop 1403 in den Abtastmodus eingegeben oder in das Abtast- Flip-Flop 1403 eingelesen und die Signale der Stati von 0 und 1 zum Zeitpunkt ti der Flip-Flops 808 und 809 werden ebenfalls in die Abtast-Flip-Flops 1404 und 1405 eingelesen. Von der Abtastausgabe-Signalleitung 1402 werden weiterhin die Signale der Stati der Flip-Flops 809 und 808 zu dem Zeitpunkt ti, gezeigt in Tabelle 5 und der Status des Abtast-Flip-Flop 1403 zu einem Zeitpunkt vor dem Abtastvorgang sequentiell in einer zeitlichen Reihenfolge ausgegeben. Das erzeugte Prüfmuster wird in die Speichereinheit 1205 geschrieben, deren Inhalte beinhalten, dass die Signale der in den Abtast-Flip-Flops 1405, 1404 und 1403 zu setzenden Stati sequentiell in einer zeitlichen Reihenfolge von der Abtast-Eingangs-Signalleitung 1401 eingelesen werden, wie zu den Zeitpunkten ti bis ti+4 in Tabelle 6 gezeigt. Weiterhin werden von der Abtastausgabe-Signalleitung 1402 die Signale der Stati der Abtast-Flip-Flops 1405, 1404 und 1403 vor dem Abtastausgang sequentiell in einer zeitlichen Reihenfolge ausgegeben.
- Ebenso sind zu dem Zeitpunkt tj die Abtast-Flip-Flops 1403 und 1404 vorhanden, das Abtast-Flip-Flop 1405 wird jedoch schließlich damit verbunden. Daher ist es erforderlich, die Signale der Stati nach dem Abtastvorgang zum Zeitpunkt tj zu den Abtast-Flip-Flops 1403 und 1404 abzutasten, und ebenfalls die Signale der Stati des Flip-Flop 809 zum Zeitpunkt tj für das Abtast-Flip-Flop 1405 abzutasten. Die Signale der in den Abtast-Flip-Flops 1405, 1404 und 1403 zu setzenden Stati als Prüfmuster werden sequentiell in einer zeitlichen Reihenfolge von der Abtast- Signalleitung 1401 abgetastet, wie zu den Zeitpunkten tj bis tj+4 in Tabelle 6 gezeigt. Von der Abtastausgangs-Signalleitung 1402 werden andererseits die Signale der Stati der Abtast-Flip-Flops 1405, 1404 und 1403 vor dem Abtastvorgang sequentiell in einer zeitlichen Reihenfolge ausgegeben.
- Da sämtliche Abtast-Flip-Flops zum Zeitpunkt tk bestimmt sind, werden die Signale der Stati nach dem Abtastvorgang zum Zeitpunkt tk in die Abtast-Flip-Flops 1403, 1404 und 1405 eingelesen. Als das Prüfmuster werden die Signale der in den Abtast-Flip-Flops 1405, 1404 und 1403 einzustellenden Stati von der Abtasteingangs-Signalleitung 1401 sequentiell in einer zeitlichen Reihenfolge eingelesen, wie zu den Zeitpunkten tk bis tk+4 in Tabelle 6 gezeigt. Andererseits werden Signale der Stati der Abtast-Flip-Flops 1405, 1404 und 1403 vor dem Abtastvorgang sequentiell in einer zeitlichen Reihenfolge von der Abtastausgabe-Signalleitung 1402 ausgegeben.
- Gemäß der vierten bevorzugten Ausführungsform werden, wenn ein Abtast-Flip- Flop zu einem Zeitpunkt vor einer Verarbeitung der Prüfmuster-Erzeugung eingelesen und ausgelesen werden soll, ein Status des einzulesenden und auszulesenden Abtast-Flip-Flop und die Stati sämtlicher anderen Flip-Flops zum gleichen Zeitpunkt aufgezeichnet, und dann wird ein Prüfmuster in dem Abtastvorgang basierend auf den Stati der in der Speichereinheit 1203 aufgezeichneten, entsprechenden Flip- Flops erzeugt, nachdem die Prüfmustererzeugung abgeschlossen ist. Daher kann, auch wenn ein Abtast-Flip-Flop hinzugefügt wird, während der Vorgang der Prüfmustererzeugung ausgeführt wird, das Prüfmuster, bezogen auf die sequentielle Logikschaltung, einschließlich des hinzugefügten Abtast-Flip-Flops erzeugt werden.
- In den bevorzugten Ausführungsformen umfassen sequentielle Logikschaltungen von ICs zusammengefasste Teilschaltungen und Verzögerungs-Flip-Flops. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Die sequentiellen Logikschaltungen der ICs können Speicherelemente anderer Arten wie J-K-Flip-Flops, T- Flip-Flops oder ähnliches umfassen.
- Obwohl die vorliegende Erfindung in Verbindung mit den bevorzugten Ausführungs formen anhand der beigefügten Zeichnungen vollständig beschrieben wurde, ist anzumerken, dass vielfältige Änderungen und Modifikationen für den Durchschnittsfachmann erkennbar sind. Solche Änderungen und Modifikationen werden als im Umfang der vorliegenden Erfindung aufgefasst, wie sie durch die beigefügten Ansprüche definiert ist, sofern sie nicht davon abweichen. Tabelle 1 Tabelle 2 Tabelle 3 Tabelle 4 Tabelle 5 Tabelle 6
Claims (8)
1. Vorrichtung zum Erzeugen eines Prüfmusters für eine sequentielle
Logikschaltung, mit mehreren Speicherelementen,
gekennzeichnet durch:
eine Berechnungseinrichtung, (3, 1003-1005) zum Berechnen jeder Steuerbarkeit
der sequentiellen Logikschaltung, wenn jedes einer Mehrzahl von
Speicherelementen in ein Abtast-Speicherelement umgewandelt wird;
eine Steuerbarkeits-Auswahleinrichtung (4, 1006) zum Auswählen der minimalen
Steuerbarkeit aus den durch die Berechnungseinrichtung (3, 1003-1005)
berechneten Steuerbarkeiten;
eine Speicherelement-Auswahleinrichtung (4, 1006) zum Auswählen eines
Speicherelementes entsprechend der durch die Steuerbarkeits-Auswahleinrichtung (4,
1006) ausgewählten, minimalen Steuerbarkeit;
eine Abtast-Umwandlungseinrichtung (4, 1006) zum Umwandeln der durch die
Speicherelement-Auswahleinrichtung (4, 1006) ausgewählten Speicherelemente in
Abtast-Speicherelemente; und
eine Prüfmuster-Erzeugungseinrichtung (1008) zum Erzeugen eines Prüfmusters für
die sequentielle Logikschaltung, wenn die durch die Abtast-Speicherelement-
Auswahleinrichtung (4, 1006) ausgewählten Speicherelemente durch die Abtast-
Umwandlungseinrichtung (4, 1006) in Abtast-Speicherelemente umgewandelt
werden.
2. Vorrichtung nach Anspruch 1,
bei welcher die Berechnungseinrichtung (3, 1003-1005) die
Steuerbarkeits-Auswahleinrichtung (4, 1006) und die Speicherelement-Auswahleinrichtung (4, 1006)
so ausgebildet sind, daß sie mehrfach arbeiten, bis eine vorbestimmte Abschluß-
Bedingung erfüllt ist.
3. Vorrichtung nach Anspruch 2,
bei welcher die vorbestimmte Abschluß-Bedingung (4, 1002) darin besteht, daß
eine Fehler-Abdeckung der sequentiellen Logikschaltung größer als ein
vorbestimmter Wert ist.
4. Vorrichtung nach Anspruch 2,
bei welcher die vorbestimmte Abschluß-Bedingung (4, 1002) darin besteht, daß die
Anzahl der abgetasteten Speicherelemente größer als ein vorbestimmter Wert ist.
5. Verfahren zum Erzeugen eines Prüfmusters für eine sequentielle
Logikschaltung, welche mehrere Speicherelemente beinhaltet,
gekennzeichnet durch Beinhalten der folgenden Schritte:
Berechnen (1003-1005) jeder Steuerbarkeit der sequentiellen Logikschaltung, wenn
jedes einer Mehrzahl von Speicherelementen in ein Abtast-Speicherelement
umgewandelt wird;
Auswählen (1006) der minimalen Steuerbarkeit aus den berechneten
Steuerbarkeiten;
Auswählen (1006) eines Speicherelementes entsprechend der ausgewählten,
minimalen Steuerbarkeit;
Umwandeln (1006) der ausgewählten Speicherelemente in
Abtast-Speicherelemente; und
Erzeugen (1008) eines Prüfmusters für die sequentielle Logikschaltung, wenn die
ausgewählten Speicherelemente in Abtast-Speicherelemente umgewandelt werden.
6. Verfahren nach Anspruch 5,
bei welchem der Berechnungsschritt (1003-1005), der
Steuerbarkeits-Auswahlschritt (1006) und der Speicherelement-Auswahlschritt (1006) mehrfach
ausgeführt werden, bis eine vorbestimmte Abschluß-Bedingung erfüllt wird.
7. Verfahren nach Anspruch 6,
bei welchem die vorbestimmte Abschluß-Bedingung (1002) darin besteht, daß eine
Fehlerabdeckung der sequentiellen Logikschaltung größer als ein vorbestimmter
Wert ist.
8. Verfahren nach Anspruch 6,
bei welchem die vorbestimmte Abschluß-Bedingung (1002) darin besteht, daß die
Anzahl der abgetasteten Speicherelemente größer als ein vorbestimmter Wert ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8384691 | 1991-04-16 | ||
JP21225591 | 1991-08-23 | ||
JP07204992A JP3265614B2 (ja) | 1991-04-16 | 1992-03-30 | 検査系列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69230479D1 DE69230479D1 (de) | 2000-01-27 |
DE69230479T2 true DE69230479T2 (de) | 2000-08-03 |
Family
ID=27300844
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69220709T Expired - Fee Related DE69220709T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
DE69230477T Expired - Fee Related DE69230477T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
DE69230479T Expired - Fee Related DE69230479T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
DE69230478T Expired - Fee Related DE69230478T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69220709T Expired - Fee Related DE69220709T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
DE69230477T Expired - Fee Related DE69230477T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69230478T Expired - Fee Related DE69230478T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
Country Status (4)
Country | Link |
---|---|
US (1) | US5430736A (de) |
EP (4) | EP0727744B1 (de) |
JP (1) | JP3265614B2 (de) |
DE (4) | DE69220709T2 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137048B2 (en) * | 2001-02-02 | 2006-11-14 | Rambus Inc. | Method and apparatus for evaluating and optimizing a signaling system |
JPH05119122A (ja) * | 1991-10-25 | 1993-05-18 | Fujitsu Ltd | スキヤン回路のテストパターン生成方法 |
FR2694089B1 (fr) * | 1992-07-24 | 1994-10-14 | Jacques Raymond | Procédé de contrôle de l'exécution d'essais de produits. |
US5737341A (en) * | 1993-07-01 | 1998-04-07 | Matsushita Electric Industrial Co., Ltd. | Method of generating test sequence and apparatus for generating test sequence |
JPH0755895A (ja) * | 1993-08-10 | 1995-03-03 | Fujitsu Ltd | 高効率故障検出用テストパターンの作成方法 |
DE4400203C1 (de) * | 1994-01-05 | 1995-08-03 | Daimler Benz Ag | Verfahren zur Überwachung von Fahrzeugfunktionskomponenten |
US5550841A (en) * | 1994-01-12 | 1996-08-27 | Lsi Logic Corporation | Method for failure analysis of megachips using scan techniques |
US5703885A (en) * | 1995-03-06 | 1997-12-30 | Motorola, Inc. | Method and apparatus for constructing verification test sequences by merging and touring hierarchical unique input/output sequence (UIO) based test subsequence graphs |
US5796752A (en) * | 1995-03-06 | 1998-08-18 | Motorola, Inc. | Method and apparatus for constructing verification test sequences by euler touring a test subsequence graph |
US6004027A (en) * | 1995-03-06 | 1999-12-21 | Motorola Inc. | Method and apparatus for constructing test subsequence graphs utilizing unique input/output sequence (UIO) sets |
US6282681B1 (en) * | 1995-03-06 | 2001-08-28 | Motorola, Inc. | Method and apparatus for testing finite state machine (FSM) conformance utilizing unique input/output sequence (UIO) sets |
US5555270A (en) * | 1995-03-13 | 1996-09-10 | Motorola Inc. | Method and apparatus for constructing unique input/output sequence (UIO) sets utilizing transition distinctness measurements |
US5684808A (en) * | 1995-09-19 | 1997-11-04 | Unisys Corporation | System and method for satisfying mutually exclusive gating requirements in automatic test pattern generation systems |
JPH10134025A (ja) * | 1996-10-30 | 1998-05-22 | Mitsubishi Electric Corp | 半導体集積回路 |
US5872797A (en) * | 1996-12-02 | 1999-02-16 | International Business Machines Corporation | Burn-in signal pattern generator |
DE69822694T2 (de) | 1997-04-25 | 2004-08-12 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung |
US6141630A (en) * | 1997-08-07 | 2000-10-31 | Verisity Design, Inc. | System and method for automated design verification |
US7490275B2 (en) * | 2001-02-02 | 2009-02-10 | Rambus Inc. | Method and apparatus for evaluating and optimizing a signaling system |
US6873939B1 (en) | 2001-02-02 | 2005-03-29 | Rambus Inc. | Method and apparatus for evaluating and calibrating a signaling system |
US7076377B2 (en) * | 2003-02-11 | 2006-07-11 | Rambus Inc. | Circuit, apparatus and method for capturing a representation of a waveform from a clock-data recovery (CDR) unit |
US7290187B2 (en) * | 2004-08-04 | 2007-10-30 | International Business Machines Corporation | Segmented algorithmic pattern generator |
US7231571B2 (en) * | 2005-04-28 | 2007-06-12 | Yardstick Research, L.L.C. | Single-pass methods for generating test patterns for sequential circuits |
US7958421B2 (en) | 2007-08-16 | 2011-06-07 | Yardstick Research, Llc | Single-pass, concurrent-validation methods for generating test patterns for sequential circuits |
US8156395B2 (en) * | 2008-07-28 | 2012-04-10 | Yardstick Research, Llc | Methods for generating test patterns for sequential circuits |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4716564A (en) * | 1985-11-15 | 1987-12-29 | Tektronix, Inc. | Method for test generation |
JP2556017B2 (ja) * | 1987-01-17 | 1996-11-20 | 日本電気株式会社 | 論理集積回路 |
US4991176A (en) * | 1989-06-07 | 1991-02-05 | At&T Bell Laboratories | Optimal test generation for finite state machine models |
JP2616165B2 (ja) * | 1989-07-12 | 1997-06-04 | 松下電器産業株式会社 | 検査入力生成方法および検査容易化設計方法 |
US5132974A (en) * | 1989-10-24 | 1992-07-21 | Silc Technologies, Inc. | Method and apparatus for designing integrated circuits for testability |
US5291495A (en) * | 1991-07-12 | 1994-03-01 | Ncr Corporation | Method for designing a scan path for a logic circuit and testing of the same |
-
1992
- 1992-03-30 JP JP07204992A patent/JP3265614B2/ja not_active Expired - Fee Related
- 1992-04-14 DE DE69220709T patent/DE69220709T2/de not_active Expired - Fee Related
- 1992-04-14 DE DE69230477T patent/DE69230477T2/de not_active Expired - Fee Related
- 1992-04-14 DE DE69230479T patent/DE69230479T2/de not_active Expired - Fee Related
- 1992-04-14 EP EP96107239A patent/EP0727744B1/de not_active Expired - Lifetime
- 1992-04-14 EP EP96107238A patent/EP0730233B1/de not_active Expired - Lifetime
- 1992-04-14 EP EP92106403A patent/EP0509440B1/de not_active Expired - Lifetime
- 1992-04-14 DE DE69230478T patent/DE69230478T2/de not_active Expired - Fee Related
- 1992-04-14 EP EP96107237A patent/EP0730232B1/de not_active Expired - Lifetime
- 1992-04-15 US US07/868,737 patent/US5430736A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0509440B1 (de) | 1997-07-09 |
JP3265614B2 (ja) | 2002-03-11 |
DE69230479D1 (de) | 2000-01-27 |
DE69230477D1 (de) | 2000-01-27 |
DE69220709D1 (de) | 1997-08-14 |
DE69230477T2 (de) | 2000-08-03 |
EP0730232A2 (de) | 1996-09-04 |
EP0730233A2 (de) | 1996-09-04 |
DE69230478D1 (de) | 2000-01-27 |
EP0730233B1 (de) | 1999-12-22 |
EP0730232B1 (de) | 1999-12-22 |
EP0730232A3 (de) | 1996-12-27 |
DE69220709T2 (de) | 1997-11-06 |
EP0727744A3 (de) | 1996-12-27 |
EP0509440A1 (de) | 1992-10-21 |
EP0727744A2 (de) | 1996-08-21 |
JPH05113468A (ja) | 1993-05-07 |
EP0727744B1 (de) | 1999-12-22 |
US5430736A (en) | 1995-07-04 |
EP0730233A3 (de) | 1996-12-18 |
DE69230478T2 (de) | 2000-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69230479T2 (de) | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu | |
DE69212673T2 (de) | Prüfmustererzeugungseinrichtung | |
DE69209404T2 (de) | Selbsttest integrierter Schaltungen mit hybriden Mustern | |
DE60203032T2 (de) | Integrierte Halbleiterschaltung | |
DE19526194C2 (de) | Verfahren zur Feststellung eines Fehlers eines ICs unter Verwendung eines Strahls geladener Teilchen | |
DE3709032C2 (de) | ||
DE2349324A1 (de) | Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen | |
DE2515297A1 (de) | Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator | |
DE2346617B2 (de) | Verfahren zur Prüfung einseitig begrenzten Laufzeitverzögerung einer Funktionseinheit | |
DE19855488A1 (de) | Testmustergenerator mit verbesserter Testsequenzverdichtung | |
DE2639323A1 (de) | System zur fehleranalysierung bei gedruckten schaltungsplatinen | |
DE19700513C2 (de) | Mit CAD-Daten verknüpftes Halbleiterprüfsystem | |
DE69217524T2 (de) | Testschaltung, vorgesehen in digitalen logischen Schaltungen | |
DE68927984T2 (de) | Logikschaltung mit einer Prüffunktion | |
DE10210264B4 (de) | Ein Testvektorkomprimierungsverfahren | |
DE3587620T2 (de) | Logikanalysator. | |
DE3854636T2 (de) | Automatischer Prüfprozess für logische Geräte. | |
DE69830967T2 (de) | Verfahren und System zur Prüfung einer integrierten Schaltung | |
DE3850547T2 (de) | Speicher mit eingebautem Logik-LSI und Verfahren zum LSI-Prüfen. | |
DE69411259T2 (de) | Automatisches Entwurfsverfahren für digitale elektronische Schaltkreise | |
DE60318795T2 (de) | Prüfung von integrierten Schaltungen | |
DE3838940A1 (de) | Schaltung mit testfunktionsschaltung | |
DE60208062T2 (de) | Digitales system und entsprechendes verfahren zur fehlererkennung | |
DE69025812T2 (de) | Verfahren und Gerät zur automatischen Durchführung von Prüfmustererzeugung | |
DE3817143A1 (de) | Schaltungseinrichtung mit selbsttestfunktion und testverfahren zum selbsttest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |