DE69220709T2 - 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
- DE69220709T2 DE69220709T2 DE69220709T DE69220709T DE69220709T2 DE 69220709 T2 DE69220709 T2 DE 69220709T2 DE 69220709 T DE69220709 T DE 69220709T DE 69220709 T DE69220709 T DE 69220709T DE 69220709 T2 DE69220709 T2 DE 69220709T2
- Authority
- DE
- Germany
- Prior art keywords
- state
- flip
- flop
- generating
- test pattern
- 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 164
- 238000000034 method Methods 0.000 title claims description 157
- 230000008569 process Effects 0.000 claims description 121
- 238000005070 sampling Methods 0.000 claims description 81
- 230000007704 transition Effects 0.000 claims description 40
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 52
- 230000000694 effects Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 238000004088 simulation Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000001172 regenerating effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 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
- 238000010187 selection method Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012545 processing Methods 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 bezieht sich auf einen Apparat zur Erzeugung eines Testmusters und eines Verfahrens hierzu, und auf einen Apparat zur Erzeugung eines Testmusters für einen sequentiellen Logikkreis eines integrierten Schaltkreises (nachfolgend als ein IC bezeichnet) mit einer Vielzahl von Speicherelementen und ein Verfahren hierzu.
- Figur 18 zeigt ein Flip-Flop mit einer Abtastfunktion, wie sie in bekannten IC's verwendet wird.
- Es wird nachfolgend auf Figur 18 Bezug genommen. Das Flip-Flop enthält ein Flip- Flop-Element FF vom Verzögerungstyp zur Speicherung eines Logikwertes von einem Bit und eine Auswähleinrichtung SEL. Wenn ein Steuersignal, das durch ein externes Terminal T3 zu einem Auswahlsteuerterminal CONT der Selektionseinrichtung SEL geschaltet wird, einen niedrigen Pegel besitzt oder wenn ein normaler Modus eingestellt ist, wird ein Signal, das zu einem ersten Eingangsterminal T1 geleitet wird, durch die Auswähleinrichtung SEL zu dem Flip-Flop-Element FF geleitet und von ihm durch ein erstes Ausgabeterminal T11 ausgegeben. Auf der anderen Seite, wenn das Steuersignal, das durch das externe Terminal T3 zu dem Auswahlsteuerterminal CONT der Auswähleinrichtung SEL geleitet wird, einen hohen Pegel besitzt oder wenn ein Abtastmodus eingestellt ist, wird ein Signal, das zu einem zweiten Eingangsterminal T2 geleitet wird, durch die Auswähleinrichtung SEL zu dem Flip-Flop-Element FF weitergeleitet und von ihm durch ein zweites Ausgabeterminal T12 ausgegeben. Wenn nämlich das in Figur 18 dargestellte Flip-Flop in ein Abtast-Flip-Flop umgewandelt wird, wird das Signal, das zu dem zweiten Eingangsterminal T2 geleitet wird, durch die Auswähleinrichtung SEL und das Flip- Flop-Element FF weitergeleitet und durch das zweite Ausgabeterminal T12 ausgegeben.
- Bei einem bekannten IC, wenn ein normales Flip-Flop in ein Flip-Flop umgewandelt, das eine sogenannte Abtaststruktur besitzt (nachfolgend als ein Abtast-Flip-Flop bezeichnet), nimmt die Abmessung des IC zu, da eine weitere Dimension des Abtast-Flip-Flops zu seiner ursprünglichen Abmessung hinzugefügt wird. Es ist daher notwendig, ein Auswahlverfahren für Flip-Flops bereitzustellen, die in Abtast- Flip-Flops umzuwandeln sind, so daß eine Anzahl von Flip-Flops, die auf diese Weise umzuwandeln sind, einen Wert annehmen, der so klein wie möglich ist oder der so gewählt ist, daß eine höhere Fehlertoleranz erzielt werden kann.
- Ein bekanntes Verfahren zum Auswählen von Flip-Flops, die in Abtast-Flip-Flops umzuwandeln sind, ist in einer Referenz (nachfolgend als eine 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, S.544 bis 548. April 1990. Das bekannte Verfahren wird nachfolgend unter Bezugnahme auf die Figuren 3, 15 und 16 beschrieben.
- Figur 3 zeigt einen Teil eines Schaltkreises eines bekannten IC.
- Es wird nachfolgend auf Figur 3 Bezug genommen. Der Teilschaltkreis des IC enthält Teilschaltnetze 301 und 302, Verzögerungs-Flip-Flops (nachfolgend als Flip- Flops bezeichnet) 303, 304 und 305, die zwischen Ausgangsterminals des Teilschaltnetzes 301 und Eingangsterminals des Teilschaltnetzes 302 angeschlossen sind, und Flip-Flops 306, 307 und 308, die zwischen Ausgangsterminals des Teilschaltnetzes 302 und Eingangsterminals des Teilschaltnetzes 301 verbunden sind. Es sind weiterhin externe Eingangsterminals 310, 311 und 312 mit den anderen Eingangsterminals des Teilschaltnetzes 301 verbunden und externe Ausgangsleitungen 313, 314 und 315 sind mit anderen Ausgangsterminals des Teilschaltnetzes 302 verbunden. Daher besitzt - wie anhand von Figur 3 klar ist - der Teilkreis eine Rückkopplungsschleifenstruktur. In dem Teilkreis des in Figur 3 dargestellten IC ist nämlich
- (a) eine erste Schleife, bei der ein Ausgangsterminal des Flip-Flops 303 durch das Teilschaltnetz 302, das Flip-Flop 306 und das Teilschaltnetz 301 mit einem Eingangsterminal des Flip-Flops 303 verbunden ist;
- (b) eine zweite Schleife, bei der ein Ausgangsterminal des Flip-Flops 304 durch das Teilschaltnetz 302, das Flip-Flop 307 und das Teilschaltnetz 301 mit einem Eingangsterminal des Flip-Flops 304 verbunden ist; und
- (c) ein dritter Kreis, bei dem ein Ausgangsterminal des Flip-Flops 305 durch das Teilschaltnetz 302, das Flip-Flop 308 und das Teilschaltnetz 301 mit einem Eingangsterminal des Flip-Flops 305 verbunden ist.
- Figur 15 ist ein Flußdiagramm eines Testmustererzeugungsverfahrens, das von einer bekannten Testmustererzeugungsvorrichtung durchgeführt wurde.
- Es wird nun auf Figur 15 Bezug genommen. Es wird zunächst beim Schritt 1602 eine Schaltkreisstruktur eines sequentiellen Logikkreises eines zu testenden IC analysiert und es wird dann beurteilt, ob es eine komplizierte oder große Rückkopplungsschleife in dem sequentiellen Logikkreis - basierend auf der Verbindungsbeziehung zwischen den Flip-Flops - gibt oder nicht gibt. Anschließend werden die Flip-Flops, die die Rückkopplungsschleife bilden, in Abtast-Flip-Flops im Schritt 1603 umgewandelt und es wird dann ein Testmuster beim Schritt 1604 für ein Teil kreis erzeugt, in dem die Flip-Flops in die Abtast-Flip-Flops beim Schritt 1603 umgewandelt worden sind.
- Wenn das Testmustererzeugungsverfahren für den Teilkreis des in Figur 3 dargestellten IC durchgeführt worden ist, werden drei Schleifen der zuvor genannten ersten bis dritten Schleifen im Schritt 1602 erfaßt und es wird dann beurteilt, daß die Flip-Flops 303 bis 305, die die entsprechenden Schleifen darstellen, abzutasten sind. Anschließend sind die Flip-Flops 303 bis 305 in Abtast-Flip-Flops 1701 bis 1703 im Schritt 1603 umgewandelt worden, wie in Figur 16 dargestellt ist. Schließlich wird im Schritt 1604 ein Testmuster für einen Teil kreis erzeugt, bei dem die Flip-Flops 303 bis 305 in die Abtast-Flip-Flops 1701 bis 1703 im Schritt 1603 umgewandelt worden sind.
- Bei dem bekannten Testmustererzeugungsapparat - da die Flip-Flops, bei denen die Möglichkeit von Schwierigkeiten bestehen, die beim Erzeugen eines Testmusters entstehen können, nur von der Schaltkreisstruktur des Teilkreises als die abzutastenden Flip-Flops ausgewählt werden - kann der Bediener in der Praxis beim Erzeugen der Testmuster nicht entscheiden, ob alle ausgewählten Flip-Flops notwendigerweise in Abtast-Flip-Flops umgewandelt werden müssen oder nicht. Da es unter den Flip-Flops, die bei dem bekannten Apparat abgetastet haben, solche Flip-Flops gibt, die keinen Einfluß auf die Verbesserung der Fehlererfassung beim Erzeugen der Testmuster haben, vergrößert sich deshalb eine Anzahl der Flip-Flops, die abzutasten sind, und es vergrößert sich dann die vorstehend genannte Zusatzdimension der Abtast-Flip-Flops.
- Darüberhinaus werden bei dem bekannten Apparat, wenn die Anzahl der Abtast- Flip-Flops beim Erzeugen eines Testmusters vergrößert werden, die Testmuster, die bereits erzeugt wurden, ungültig. Der bekannte Testmustererzeugungsapparat kann daher in der Praxis nicht benutzt werden.
- Aus der EP-A-0 408 018 ist ein Verfahren zur Durchführung einer automatischen Testmustererzeugung (ATPG) für einen digitalen Schaltkreis bekannt, der periphere Register enthält, wobei die peripheren Register separat ausgewählt werden können, um einen Teil einer Abtastkette zu bilden. Die Auswahl basiert darauf, ob die Register kritisch für die Erfassung der Fehler sind, für die sie getestet wurden.
- Eine Aufgabe der vorliegenden Erfindung besteht deshalb darin, einen Apparat zur Erzeugung eines Testmusters für einen sequentiellen Logikkreis eines IC bereitzustellen, der eine Vielzahl von Speicherelementen enthält, der in der Lage ist, die Anzahl von Speicherelementen, die abzutasten sind, zu vermindern und eine größere Fehlererkennung zu erzielen.
- Eine andere Aufgabe der Erfindung besteht darin, ein Apparat bereitzustellen, der in der Lage ist, ein Testmuster für einen sequentiellen Logikkreis eines IC mit einer Vielzahl von Speicherelementen neu zu erzeugen, nachdem ein Testmuster editiert wurde, wenn Abtastspeicherelemente zu dem ursprünglichen sequentiellen Logikkreis beim Erzeugen der Testmuster neu hinzugefügt wurden.
- Eine weitere Aufgabe der Erfindung besteht darin, einen Apparat bereitzustellen, der in der Lage ist, ein Testmuster für einen sequentiellen Logikkreis eines IC mit einer Vielzahl von Speicherelementen neu zu erzeugen, und der in der Lage ist, die Kosten der Steuerbarkeit des IC zu senken.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Erzeugen eines Testmusters für einen sequentiellen Logikkreis eines IC mit einer Vielzahl von Speicherelementen bereitzustellen, das in der Lage ist, die Anzahl von Speicherelementen, die abzutasten sind, zu vermindern und eine größere Fehlererkennung zu erzielen.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren anzugeben, das in der Lage ist, ein Testmuster für einen sequentiellen Logikkreis von einem IC mit einer Vielzahl von Speicherelementen neu zu erzeugen, nachdem ein Testmuster editiert worden ist, wenn Abtastspeicherelemente zu dem ursprünglichen sequentiellen Logikkreis beim Erzeugen des Testmusters hinzugefügt wurden.
- Eine weitere Aufgabe der Erfindung besteht darin, ein Verfahren anzugeben, das in der Lage ist, ein Testmuster für einen sequentiellen Logikkreis eines IC mit einer Vielzahl von Speicherelementen neu zu erzeugen, und das in der Lage ist, die Kosten für die Steuerbarkeit des IC zu senken.
- Zur Lösung der vorstehenden Aufgaben wird gemäß einem Aspekt der vorliegenden Erfindung - wie im Detail in den beigefügten Ansprüchen 1-5 definiert eine Vorrichtung zur Erzeugung eines Testmusters für einen sequentiellen Logikkreis bereitgestellt, der eine Vielzahl von Speicherelementen enthält, wobei jedes Speicherelement ein Logikwert von einem Bit speichert, und Logikwerte der Bits der Vielzahl von Speicherelementen durch einen Zustand repräsentiert werden, und die Vorrichtung enthält:
- ein erstes Eingabewerterzeugungsmittel zur Erzeugung einer Kombination von ersten externen Eingabewerten, so daß ein Übergangsverfahren von einem zweiten Zustand der Vielzahl von Speicherelementen zu einem ersten Zustand durchgeführt wird;
- ein erstes Zustandserzeugungsmittel zur Erzeugung eines dritten Zustands, der sich von dem zweiten Zustand durch eine vorgegebene natürliche Zahl von Bits unterscheidet;
- ein zweites Eingabewerterzeugungsmittel zur Erzeugung einer Kombination von zweiten externen Eingabewerten, so daß ein Übergangsverfahren von einem dritten Zustand der Vielzahl von Speicherelementen zu ihrem ersten Zustand durchgeführt wird;
- ein zweites Zustandserzeugungsmittel zur Erzeugung eines vierten Zustands, der sich von den ersten bis dritten Zuständen unterscheidet;
- ein drittes Eingabewerterzeugungsmittel zur Erzeugung einer Kombination von dritten externen Eingabewerten, so daß ein Übergangsverfahren von einem vierten Zustand der Vielzahl von Speicherelementen in ihren ersten Zustand durchgeführt wird; und
- ein erstes Einstelmittel zum Einstellen des vierten Zustands als den ersten Zustand;
- ein Speichermittel zum Speichern von Namensdaten von Speicherelementen, die Bits verschiedener Zustände zwischen dem zweiten und dritten Zustand entsprechen;
- ein zweites Einstelmittel zum Einstellen des dritten Zustandes als den ersten Zustand;
- Abtasterfassungsgraderhöhungsmjttel zum Erhöhen eines Grades des Erfassens einer Abtastoperation für jedes der Speicherelemente, wobei Namensdaten von ihnen in dem Speichermittel gespeichert worden sind;
- ein Abtastspeicherelementauswahlmittel zur Auswahl von Speicherelementen, die basierend auf dem Grad des Abrufens der Abtastoperation abzutasten sind;
- ein Abtastumwandlungsmittel zur Umwandlung der Speicherelemente, die von dem Abtastspeicherelementauswahlmittel ausgewählt wurden, in Abtastspeicherelemente; und
- ein Testmustererzeugungsmittel zur Erzeugung eines Testmusters für den sequentiellen Logikkreis, wenn die Speicherelemente, die von dem Abtastspeicherelementauswahlmittel ausgewählt wurden, von dem Abtastumwandlungsmittel in Abtastspeicherelemente umgewandelt werden.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung - wie er im Detail in den beigefügten Ansprüchen 6-10 definiert ist - wird ein Verfahren zur Erzeugung eines Testmusters für einen sequentiellen Logikkreis mit einer Vielzahl von Speicherelementen angegeben, wobei jedes Speicherelement einen Logikwert von einem Bit speichert, Logikwerte der Bits der Vielzahl von Speicherelementen durch einen Zustand repräsentiert werden und das Verfahren die folgenden Schritte enthält:
- Erzeugen einer Kombination von ersten externen Eingabewerten, so daß ein Übergangsverfahren von einem zweiten Zustand der Vielzahl von Speicherelementen zu einem ersten Zustand von ihnen durchgeführt wird,
- Erzeugen eines dritten Zustandes, der sich von dem zweiten Zustand durch eine vorgegebene natürliche Zahl von Bits unterscheidet;
- Erzeugen einer Kombination von zweiten externen Eingabewerten, so daß ein Übergangsverfahren von einem dritten Zustand der Vielzahl von Speicherelementen in ihren ersten Zustand durchgeführt wird;
- Erzeugen eines vierten Zustandes, der sich vom ersten bis dritten Zustand unterscheidet;
- Erzeugen einer Kombination von dritten externen Eingabewerten, so daß ein Übergangsverfahren von einem vierten Zustand der Vielzahl von Speicherelementen in ihren ersten Zustand durchgeführt wird; und
- Einstellen des vierten Zustandes als den ersten Zustand;
- Speichern von Namensdaten von Speicherelementen in dem Speichermittel, die Bits verschiedener Zustände zwischen dem zweiten und dem dritten Zustand entsprechen;
- Einstellen des dritten Zustandes als den ersten Zustand;
- Erhöhen eines Grades des Erfassens einer Abtastoperation für jedes der Speicherelemente, wobei Namensdaten von ihnen in dem Speichermittel gespeichert worden sind;
- Auswählen von Speicherelementen, die basierend auf dem Grad des Erfassens der Abtastoperation abzutasten sind;
- Umwandeln der ausgewählten Speicherelemente in Abtastspeicherelemente; und Erzeugen eines Testmusters für den sequentiellen Logikkreis, wenn die ausgewählten Speicherelemente in Abtastspeicherelemente umgewandelt werden.
- Diese und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung klar werden, die im Zusammenhang mit bevorzugten Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen erfolgt, wobei gleiche Teile mit den gleichen Bezugszeichen bezeichnet werden. Es zeigen:
- Fig. 1 ein Flußdiagramm einer Hauptroutine, die von einem Testmustererzeugungsapparat einer ersten bevorzugten Ausführungsform gemäß der vorliegenden Erfindung durchgeführt wird;
- Fig. 2a und 2b Flußdiagramme eines Testmustererzeugungsverfahrens eines Subroutineschritts 103, der in Fig. 1 dargestellt ist;
- Fig. 3 ein schematisches Blockdiagramm eines sequentiellen Teillogikkreises eines ersten Beispiels eines bekannten IC;
- Fig. 4a-4g Zustandsübergangsdiagramme, die interne Zustände in dem bekannten IC zeigen;
- Fig. 5 ein schematisches Blockdiagramm des sequentiellen Teillogikkreises des ersten Beispiels des in Fig. 3 dargestellten IC, wenn ein Flip-Flop 306 in einen Abtast-Flip-Flop 101 umgewandelt wird;
- Fig. 6 ein Zustandübergangsdiagramm, das interne Zustände des in Fig. 5 dargestellten IC zeigt;
- Fig. 7a und 7b Flußdiagramme eines Testmustererzeugungsverfahrens einer modifizierten bevorzugten Ausführungsform des Subroutine- Schrittes 103, der in Fig. 1 dargestellt ist;
- Fig. 8 ein schematisches Blockdiagramm eines sequentiellen Teillogikkreises eines zweiten Beispiels eines IC;
- Fig. 9a-9e schematische Blockdiagramme des zweiten Beispiels des IC, die Veränderungen in den Zuständen des in Fig. 8 dargestellten Schaltkreises zeigen;
- Fig. 10 ein Flußdiagramm einer Hauptroutine, die von einem Testmustererzeugungsapparat gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt wird;
- Fig. 11 ein Flußdiagramm einesabtast-Flip-Flop-Auswahlverfahrens einer Subroutine, die von einem Testmustererzeugungsapparat gemäß einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt wird;
- Fig. 12 ein schematisches Blockdiagramm eines Testmustererzeugungsapparates einer vierten bevorzugten Ausführungsform gemäß der vorliegenden Erfindung;
- Fig. 13 ein Flußdiagramm einer Hauptroutine, die von dem Testmustererzeugungsapparat der vierten bevorzugten Ausführungsform durchgeführt wird;
- Fig. 14a-14c schematische Blockdiagramme von sequentiellen Teillogikkreisen, die ein Testmustererzeugungsverfahren zeigen, das von dem Testmustererzeugungsapparat gemäß der vierten bevorzugten Ausführungsform ausgeführt wird;
- Fig. 15 ein Flußdiagramm einer Hauptroutine, die von einem bekannten Testmustererzeugungsapparat ausgeführt wird;
- Fig. 16 ein schematisches Blockdiagramm von einem sequentiellen Teillogikkreis eines IC, das ein Testerzeugungsverfahren zeigt, das von dem bekannten Testmustererzeugungsapparat ausgeführt wird;
- Fig. 17 ein schematisches Blockdiagramm, das einen Testmustererzeugungsapparat der in Fig. 1 dargestellten ersten bevorzugten Ausführungsform zeigt; und
- Fig. 18 ein schematisches Blockdiagramm, das ein Verzögerungs-Flip- Flop mit einer Abtastfunktion zeigt, die bei der bekannten Vorrichtung und bei den Vorrichtungen der bekannten Ausführungsformen verwendet wird.
- Die bevorzugten Ausführungsformen der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
- In der Spezifikation werden Kosten, die zum Testen eines sequentiellen Logikkreises von einem IC erforderlich sind, als Kosten einer Prüfbarkeit bezeichnet und die Kosten der Prüfbarkeit enthalten Kosten einer Steuerbarkeit zur Erzeugung eines Testmusters, das efforderlich ist, um Logikwerte von Signalnien innerhalb eines sequentiellen Schaltkreises auf gewünschte Werte zu setzen und Kosten einer Beobachtbarkeit zur Erzeugung eines Testmusters, das zur Beobachtung von Logikwerten von Signaleitungen innerhalb des sequentiellen Schaltkreises an externen Ausgangsterminals erforderlich ist, etc. Bei den bevorzugten Ausführungsformen werden nachfolgend Fälle beschrieben, bei denen die Kosten der Prüfbarkeit nur die Kosten der Steuerbarkeit enthalten. Bei den bevorzugten Ausführungsformen enthalten sequentielle Logikkreise von IC's Teilschaltnetze und eine Vielzahl von Verzögerungs-Flip-Flops, wobei jeder Flip-Flop einen Logikwert von einem Bit speichert und Logikwerte von Bits von einer Vielzahl von Flip-Flops durch einen Zustand repräsentiert werden, wie sie z.B. in den Zustandsübergangsdiagrammen gemäß Fig. 4a-4g und 6 dargestellt sind.
- Fig. 17 zeigt einen Testmustererzeugungsapparat gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung.
- Es wird nachfolgend auf Fig. 17 Bezug genommen. Eine Mikroprozessoreinheit (MPU) 2 ist mit einer Tastatur 1 zur Eingabe von Schaltkreisinformationen von einem sequentiellen Logikschaltkreis eines zu testenden IC, einer Speichereinheit 5 und einer Signalerzeugungseinrichtung 6 verbunden. Die Mikroprozessoreinheit 2 enthält nicht nur Mittel 3 zum Analysieren der Schaltkreisinformation, die unter Benutzung der Tastatur 1 eingegeben wurde, und der Speicherschaltkreisverbindungsinformation, Daten bezüglich einer Testbarkeit und Zwischendaten, die aufgrund der vorstehenden Analyse erzeugt wurden, sondern auch Mittel 4 zur Erzeugung eines Testmusters für den sequentiellen Logikkreis des IC, der basierend auf der Schaltkreisverbindungsinformation, den Daten der Testbarkeit und den Zwischendaten zu testen ist und zum Ausgeben von ihnen zu der Signalerzeugungseinrichtung 6. Die Signalerzeugungseinrichtung 6 erzeugt schließlich elektrische Signale des Testmusters in einer vorbestimmten verfügbaren Form und gibt sie zu dem sequentiellen Logikkreis des zu testenden IC aus.
- Fig. 1 ist ein Flußdiagramm einer Hauptroutine, die von dem Testmustererzeugungsapparat der in Fig. 17 dargestellten ersten bevorzugten Ausführungsform ausgeführt wird.
- Es wird nun auf Fig. 1 Bezug genommen. Es wird zunächst im Schritt 102 eine Fehrliste erstellt, die alle Flip-Flops in Fehlerzu ständen innerhalb des sequentiellen Logikschaltkreises des zu testenden IC enthält, und es wird dann im Schritt 103 ein Testmustererzeugungsverfahren von einer Subroutine im Schritt 103 - wie in den Fig. 2a und 2b dargestellt - ausgeführt. Im Schritt 103 werden Testmuster für die entsprechenden in der Fehlerliste spezifizierten Fehler erzeugt, elektrische Signale von den Testmustern von der Signalerzeugungseinrichtung 6 auf den sequentiellen Logikkreis angewandt und es wird dann ein Fehlererkennungsgrad erfaßt. Es wird anschließend im Schritt 104 beurteilt, ob der erfaßte Fehlererkennungsgrad größer als ein vorbestimmter Schwellwert-Fehlererkennungsgrad Rth von z.B. 95 % ist.
- Falls der erfaßte Fehlererkennungsgrad größer als der vorbestimmte Schwellwert- Fehlererkennungsgrad Rth ist (JA im Schritt 104), wird das Testmuster, das schließlich im Schritt 103 erzeugt wurde, als das Testmuster gewählt, das für den sequentiellen Logikkreis zu verwenden ist und es wird dann die Hauptroutine zur Erzeugung der Testmustererzeugung abgeschlossen. Auf der anderen Seite, wenn der erfaßte Fehlererkennungsgrad kleiner oder gleich dem vorbestimmten Schwellwert-Fehlererkennungsgrad Rth ist (NEIN im Schritt 104), geht der Programmablauf zum Schritt 105.
- Im Schritt 105 wird ein Abtast-Flip-FIOP-Auswahlverfahren gemäß einer Subroutine ausgeführt. Es wird nämlich ein Flip-Flop mit der maximalen Steuerbarkeit unter einem oder mehreren Flip-Flops ausgewählt, die den maximalen Abtasterfassungsgrad besitzen, wobei der Abtasterfassungsgrad einen Grad repräsentiert, zu dem ein Flip-Flop in einen Abtast-Flip-Flop umzuwandeln ist oder abzutasten ist. Anschließend wird der im Schritt 105 ausgewählte Flip-Flop in einen Abtast-Flip-Flop im Schritt 106 umgewandelt, und es wird dann eine Liste nichterfaßter Fehler erstellt, die Flip-Flops und Fehler enthält, die im Schritt 1 07 nicht erfaßt wurden. Anschließend geht der Programmablauf zurück zum Schritt 103 und es wird dann ein Testmuster für die Flip-Flops und Fehler erzeugt, die im Schritt 107 nicht erfaßt wurden.
- Die Fig. 2a und 2b sind Flußdiagramme des Testmustererzeugungsverfahrens des in Fig. 1 dargestellten Subroutinenschrittes 103. In Fig. 2a und 2b bezeichnet A einen ersten Zustand, B einen zweiten Zustand, in den der erste Zustand A überführt wird, 51 einen ursprünglichen Zustand, SO einen Endzustand, SI' einen von dem ursprünglichen Zustand SI um ein Bit unterschiedlichen Zustand und C einen Zustand, der sich von dem ursprünglichen Zustand SI, dem endgültigen Zustand SO und dem Zustand SI' vollständig unterscheidet.
- Es wird nun auf Fig. 2a Bezug genommen. Es wird im Schritt 201 zunächst beurteilt, ob es irgendeinen nichterfaßten Fehler gibt oder nicht. Falls kein nichterfaßter Fehler vorhanden ist (NEIN im Schritt 202) kehrt der Programmablauf zu der Hauptroutine zurück. Auf der anderen Seite, falls es einen oder mehrere nichterfaßte Fehler gibt (JA im Schritt 202), wird ein nichterfaßter Fehler im Schritt 203 ausgewählt und es wird ein Fehlerfortpflanzungsverfahren im Schritt 204 ausgeführt, so daß Effekte des ausgewählten Fehlers an die externen Ausgangsterminals weitergeleitet werden können.
- Es wird anschließend im Schritt 204A beurteilt, ob das Fehlerfortpflanzungsverfahren abgeschlossen ist oder nicht oder die Effekte des ausgewählten Fehlers zu den externen Ausgangsterminals weitergeleitet worden sind. Falls das Fehlerfortpflanzungsverfahren nicht abgeschlossen ist (NEIN im Schritt 204A), geht der Programmablauf zum Schritt 202 zurück. Auf der anderen Seite, wenn das Fehlerfortpflanzungsverfahren abgeschlossen wurde (JA im Schritt 204A), geht der Programmablauf zum Schritt 205. Beim Schritt 205 wird der endgiiltige Zustand SO auf den ersten Zustand A eingestellt und der ursprüngliche Zustand SI wird auf den zweiten Zustand B gesetzt.
- Es wird nun auf Fig. 2b Bezug genommen. Der Programmablauf geht anschließend zum Schritt 206, und es wird dann der erste Zustand A unter Benutzung des zweiten Zustandes B (= der initiale Zustand SI) richtiggestellt; es wird nämlich eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß ein Übertragungsverfahren von dem zweiten Zustand B (= der initiale Zustand SI) zu dem ersten Zustand A durchgeführt wird. Es wird weiterhin im Schritt 206A beurteilt, ob das Übertragungsverfahren im Schritt 206 abgeschlossen wurde. Falls das Übertragungsverfahren im Schritt 206 abgeschlossen wurde (JA im Schritt 206A), geht der Programmablauf zurück zu dem Schritt 202. Auf der anderen Seite, wenn das Übertragungsverfahren im Schritt 206 nicht abgeschlossen wurde (NEIN beim Schritt 206A), geht der Programmablauf zum Schritt 207.
- Im Schritt 207 wird der erste Zustand A unter Benutzung des zweiten Zustandes B (= der Zustand SI') richtiggestellt. Es wird nämlich der Zustand SI' erzeugt, der sich von dem Initialen Zustand SI durch ein Bit unterscheidet, der Zustand SI' auf den zweiten Zustand B gesetzt und es wird dann eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß ein Übergangsverfahren von dem zweiten Zustand B (= der Zustand SI') zu dem ersten Zustand A durchgeführt wird. Es wird dann im Schritt 207A beurteilt, ob das Verfahren im Schritt 207 abgeschlossen wurde oder nicht. Wenn das Verfahren im Schritt 207 nicht abgeschlossen ist (NEIN im Schritt 207A), geht der Programmablauf zum Schritt 210. Auf der anderen Seite, wenn das Verfahren im Schritt 207 abgeschlossen wurde (JA im Schritt 207A), geht der Programmfluß zum Schritt 208, und es wird dann ein Verfahren zum Speichern von Namensdaten von Flip-Flops in der Speichereinheit 5 ausgeführt, die Bits von verschiedenen Zuständen zwischen dem Zustand SI' und dem ursprünglichen Zustand SI entsprechen. Nach Abschluß des Verfahrens im Schritt 208 wird der Zustand SI', der sich von dem ursprünglichen Zustand SI durch ein Bit unterscheidet, auf den ersten Zustand A im Schritt 209 gesetzt und der Programmfluß geht dann zurück zum Schritt 206.
- Im Schritt 210 wird der dritte Zustand C erzeugt, der von dem urspünglichen Zustand SI, dem Endzustand SO und dem Zustand SI' vollständig verschieden ist, und es wird dann eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß ein Übergangsverfahren von dem Zustand C zu dem ersten Zustand A ausgeführt wird. Es wird nämlich ein Verfahren zur Richtigstellung des ersten Zustandes A durch Benutzung des Zustandes C ausgeführt. Es wird anschließend im Schritt 210A beurteilt, ob das Verfahren im Schritt 210 abgeschlossen wurde oder nicht. Falls das Verfahren in Schritt 210 abgeschlossen wurde (JA im Schritt 210A), wird der Zustand C auf den ersten Zustand A im Schritt 211 gesetzt und der Programmfluß geht dann zurück zum Schritt 206. Auf der anderen Seite, falls das Verfahren im Schritt 210 nicht abgeschlossen wurde (NEIN im Schritt 210A), geht der Programmablauf zum Schritt 212.
- Wie vorstehend beschrieben wird das Verfahren der Schritte 204 bis 211 für einen Fehler durchgeführt, der im Schritt 203 ausgewählt wurde. In dem Verfahren des Schrittes 204 ist ein Testmuster zur Übertragung der Effekte des Fehlers zu den externen Ausgangsterminals erforderlich. In dem Verfahren der Schritte 206 und 210 wird darüberhinaus ein anderes Testmuster erzeugt, das für einen Übergang von einem Zustand zu einem anderen Zustand erforderlich ist und es wird dann, wenn das Verfahren im Schritt 206 abgeschlossen wurde (JA im Schritt 206A), das Testmuster für den einen Fehler, der im Schritt 203 ausgewählt wurde, erzeugt, und es wird dann das Verfahren des Schrittes 202 durchgeführt. Es wird dann das Testmuster, das durch Verbindung der in den Schritten 204, 206 und 210 erzeugten Testmuster erzielt wurde, zu einem Testmuster für den einen im Schritt 203 gewählten Fehler.
- Es ist anzumerken, daß ein Unterbrechungsverfahren (nicht dargestellt) ausgeführt wird, wenn die Verarbeitungszeit der in Fig. 2a und 2b dargestellten Subroutine länger als eine vorbestimmte Zeitbegrenzung ist und der Programmablauf geht dann zum Schritt 212. Im Schritt 212 wird zu dem Abtasterfassungsgrad des Flip-Flops, das im Schritt 208 endgültig aufgenommen wurde, eins hinzugezählt und der Programmablauf geht dann zum Schritt 202 in Fig. 2a zurück.
- Die Fig. 4a bis 4g sind Zustandsübergangsdiagramme, die interne Speicherzustände in dem bekannten IC zeigen. In den Fig. 4a bis 4g repräsentieren Zahlen innerhalb der Ellipsen 401 bis 409 Logikzustände oder Logikausgangswerte der Flip-Flops 303 bis 308; der initiale Zustand SI von 101101 repräsentiert z.B., daß die Zustände der Flip-Flops 303 bis 308 1, 0, 1, 1, 0 bzw. 1 sind.
- In den Fig. 4a bis 4g bezeichnet 401 den initialen Zustand SI bevor Signale eines Testmusters eingegeben werden, 409 einen internen Zustand des Flip-Flops 303 bis 308 nach dem Übergang durch Anlegen von Signalen des Testmusters an die externen Eingabeterminals und 408 den endgültigen Zustand SO, wenn die Fehlerfortpflanzung im Schritt 204 abgeschlossen wurde.
- Fig. 5 zeigt den sequentiellen Teillogikkreis des ersten Beispiels des IC, der in Fig. 3 dargestellt ist, wenn das Flip-Flop 306 in ein Abtast-Flip-Flop 501 umgewandelt ist.
- Fig. 6 ist ein Zustandsübergangsdiagramm, das interne Zustände des in Fig. 5 dargestellten IC zeigt. In Fig. 6 repräsentieren die Zahlen innerhalb der Ellipsen 401 bis 408 Zustände der Flip-Flops 303, 304, 305, 501, 307 und 308. Weiterhin bezeichnet 401 den initialen Zustand SI vor dem Eingeben der Signale des Testmusters, 402 bis 407 interne Zustände der Flip-Flops 303, 304, 305, 501, 307 und 308 nach dem Übergang durch Anlegen von Signalen des Testmusters an die externen Eingabeterminals und 408 den endgültigen Zustand SO, wenn die Fehlerfortpflanzung im Schritt 204 abgeschlossen worden ist.
- Ein Beispiel einer Aktion der Testmustererzeugungsvorrichtung, die in Fig. 1 dargestellt ist, wird nachfolgend unter Bezugnahme auf die Fig. 1 bis 6 und 17 beschrieben.
- Es wird zunächst auf Fig. 1 Bezug genommen. Es wird zunächst im Schritt 102 eine Fehlerliste erstellt, die alle Flip-Flops in Fehlerzuständen innerhalb des sequentiellen Logikkreis des zu testenden IC enthält und es wird dann im Schritt 103 das Testmustererzeugungsverfahren der Subroutine in dem in den Fig. 2a und 2b dargestellten Schritt 103 ausgeführt.
- Es wird nun auf Fig. 2a Bezug genommen. Das erste bei der Subroutine besteht darin, im Schritt 202 zu beurteilen, ob es einen nichterfaßten Fehler gibt oder nicht. Falls es keinen nichterfaßten Fehler gibt (NEIN im Schritt 202), ist das Testmustererzeugungsverfahren abgeschlossen und der Programmablauf kehrt zur Hauptroutine zurück. Auf der anderen Seite, wenn es einen oder mehrere nichterfaßte Fehler gibt (JA im Schritt 202), wird ein nichterfaßter Fehler im Schritt 203 ausgewählt und es wird dann ein Fehlerfortpflanzungsverfahren im Schritt 204 ausgeführt, so daß die Effekte des ausgewählten Fehlers in externe Ausgangsterminals fortgepflanzt werden können.
- Anschließend wird im Schritt 204A beurteilt, ob das Fehlerfortpflanzungsverfahren abgeschlossen ist oder nicht oder ob die Effekte des ausgewählten Fehlers in die externen Ausgangsterminals fortgepflanzt worden sind. Falls das Fehlerfortpflanzungsverfahren nicht abgeschlossen wurde (NEIN im Schritt 204A), geht der Programmablauf zurück zum Schritt 202. Auf der anderen Seite, wenn das Fehlerfortpflanzungsverfahren abgeschlossen wurde (JA im Schritt 204A), geht der Programmablauf zum Schritt 205. Im Schritt 205 wird der endgültige Zustand SO auf den ersten Zustand A und der initiale Zustand SI auf den zweiten Zustand B gesetzt.
- Anschließend enthalten die in Fig. 2b dargestellten Schritte 206 bis 211 ein Verfahren zum Erzeugen eines Testmusters für einen Übergang von einem initialen Zustand 401 vor dem Eingeben der Signale des Testmusters zu dem endgültigen Zustand 408, der im Schritt 204 erzielt wird.
- Es wird nun auf Fig. 2b Bezug genommen; im Schritt 206 wird eine Kombination von externen Eingangswerten oder ein externes Testmuster erzeugt, so daß ein Übergangsverfahren von dem initialen Zustand 401 zu dem endgültigen Zustand 408 ausgeführt wird, wie in Fig. 4a dargestellt ist. Es wird weiterhin im Schritt 206A beurteilt, ob das Übergangsverfahren im Schritt 206 abgeschlossen wurde oder nicht. Wenn das Übergangsverfahren im Schritt 206 abgeschlossen wurde (JA im Schritt 206A), geht der Programmablauf zurück zum Schritt 202. Auf der anderen Seite, wenn das Übergangsverfahren im Schritt 206 nicht abgeschlossen wurde (NEIN im Schritt 206A), geht der Programmablauf zum Schritt 207.
- Nun geht in dem Fall, bei dem angenommen wird, daß das Übergangsverfahren des in Fig. 4a dargestellten Schrittes 206 nicht abgeschlossen wurde (NEIN im Schritt 206A), der Programmfluß zum Schritt 207 und es werden dann eine Kombination von externen Eingangswerten oder ein externes Testmuster erzeugt, so daß ein Übergangsverfahren von dem Zustand 409, der sich von dem initialen Zustand 401 um ein Bit unterscheidet, zu dem endgültigen Zustand 408 ausgeführt, wie in Fig. 4b dargestellt ist. Im Schritt 207 wird das Verfahren hierzu mit all den Zuständen, die sich von dem initialen Zustand 401 um ein Bit unterscheiden, wiederholt ausgeführt, bis das Verfahren im Schritt 207 abgeschlossen worden ist. Falls das Verfahren im Schritt 207 nicht abgeschlossen wurde (NEIN im Schritt 207A), geht der Programmablauf zum Schritt 210.
- Im Schritt 210 - wie in Fig. 4c dargestellt ist - wird ein Zustand C, 407, der von dem initialen Zustand 401, dem endgültigen Zustand 408 und dem Zustand SI', der sich vom initialen Zustand 401 durch ein Bit unterscheidet, vollständig verschieden ist, auf den zweiten Zustand B gesetzt und es wird dann eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß ein Übergangsverfahren von dem Zustand C, 407 zu dem endgültigen Zustand 408 ausgeführt wird. Das Verfahren im Schritt 210 wird im Hinblick auf alle Zustände 407, die als der zweite Zustand B ausgewählt werden können, wiederholt durchgeführt, bis das Verfahren hierzu abgeschlossen ist. Wenn das Verfahren im Schritt 210 abgeschlossen worden ist (JA im Schritt 210A), geht der Programmablauf zum Schritt 206.
- Im Schritt 206 - wie in Fig. 4d dargestellt ist - wird eine Kombination von externen Eingabewerten erzeugt, so daß ein Übergangsverfahren von dem initialen Zustand 401 zu dem ersten Zustand 407 durchgeführt wird. Wenn das Verfahren im Schritt 206 nicht abgeschlossen ist (NEIN im Schritt 206A), geht der Programmablauf zum Schritt 207 und es werden dann externe Eingangswerte erzeugt, so daß ein Übergangsverfahren von dem Zustand 406, der sich von dem initialen Zustand 401 durch ein Bit unterscheidet, zu dem endgültigen Zustand 407 durchgeführt wird.
- Auf der anderen Seite, wenn das Verfahren im Schritt 206 abgeschlossen wurde (JA im Schritt 206A) geht der Programmablauf zum Schritt 208 und es werden dann Namensdaten des Flip-Flops 305 aufgezeichnet, die einem Bit eines abweichenden Zustandes zwischen dem initialen Zustand 401 und dem Zustand 406 entsprechen.
- Darüberhinaus werden, nachdem das Verfahren der Schritte 206 bis 211 wiederholt durchgeführt wurde, eine Kombination von externen Eingangswerten für einen Übergang von dem Zustand 403 zu dem Zustand 404 und auch anderen Übergängen von dem Zustand 402 zu dem Zustand 403 erzielt. Anschließend, wenn der Zustand 402 auf den augenblicklichen Zustand gesetzt ist und all die Verfahren der Schritte 206, 207 und 210 nicht abgeschlossen wurden, was dazu führt, daß die Erzeugung der Testmuster gestoppt wird, geht der Programmablauf zum Schritt 212 und es wird dann zu dem Abtasterfassungsgrad des Flip-Flops 306, das schließlich von dem Verfahren im Schritt 208 erfaßt wurde, eins hinzugezählt. Der Grund, warum der Abtasterfassungsgrad des schließlich erfaßten Flip- Flops 306 im Verfahren des Schritts 208 erhöht wird, ist wie folgt.
- Wenn das Verfahren im Schritt 210 nicht abgeschlossen wurde, was dazu führt, daß die Erzeugung des Testmusters gestoppt wird, gibt es zwei Flip-Flops 305 und 306 als im Verfahren des Schritts 208 erfaßte Flip-Flops. Wenn das Flip-Flop 305 in ein Abtast-Flip-Flop umgewandelt wurde kann ein Zustandsübergang in der Reihenfolge von einem initialen Zustand 401 über die Zustände 406 und 407 zu dem endgültigen Zustand 408 durchgeführt werden und es kann dann ein Testmuster erzeugt werden. Auf der anderen Seite, falls das Flip-Flop 306 in ein Abtast- Flip-Flop umgewandelt ist, kann ein Zustandsübergang in der Reihenfolge von dem initialen Zustand 401 über die Zustände 404, 405, 406 und 407 zu dem endgültigen Zustand 408 einfach durchgeführt werden und es kann dann ein Testmuster erzeugt werden. Um einen Fehler zu erfassen, aufgrund dessen das Verfahren im Schritt 210 nicht abgeschlossen wurde, ist es deswegen notwendig, einen der Flip- Flops 305 und 306 in ein Abtast-Flip-Flop umzuwandeln. Wie anhand von Fig. 4g klar ist, kann in dem Fall, daß es einen anderen im Zustand 410 erfaßten Fehler gibt und ein Übergang von dem Zustand 405 in den Zustand 410 einfach durchgeführt werden kann, wenn das Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt wird, ein Zustandsübergang in einer Reihenfolge von dem Zustand 401 über die Zustände 404 und 405 in den Zustand 410 durchgeführt werden. Es ist jedoch schwierig, einen Zustandsübergang direkt von dem Zustand 401 zum Zustand 410 durchzuführen, obwohl das Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt wurde und die Schwierigkeit des Tests kann nicht weiter herabgesetzt werden. Demgemäß wird für den Fall, daß das Verfahren des Schritts 210 nicht abgeschlossen wurde, was dazu führt, daß die Erzeugung des Testmusters gestoppt wird, vorteilhafterweise ein Verfahren zum Erhöhen des Abtasterfassungsgrades des im Schritt 208 schließlich erfaßten Flip-Flops benutzt, das sich von einem Verfahren zum Erhöhen des Abtasterfassungsgrades irgendeines im Schritt 208 erfaßten Flip-Flops unterscheidet.
- Es wird nun wiederum auf Fig. 2a Bezug genommen; wenn festgestellt wird, daß kein nichterfaßter Fehler vorliegt (NEIN im Schritt 202), ist das Verfahren zur Erzeugung des Testmusters abgeschlossen und der Programmablauf geht dann zurück zum Schritt 104 der in Fig. 1 dargestellten Hauptroutine. Es wird dann im Schritt 104 beurteilt, ob die erfaßte Fehererfassung größer als die vorbestimmte Schwellwertfehlererfassung Rth ist oder nicht. In der vorliegenden bevorzugten Ausführungsform wird die Fehlererfassung bevorzugt auf einen Wert gesetzt, der größer als die Fehlererfassung der bekannten Vorrichtung ist.
- Falls die erfaßte Fehlererfassung kleiner als die vorbestimmte Schwellwertfehlererfassung Rth (NEIN im Schritt 104) oder mit ihr identisch ist, geht der Programmablauf zum Schritt 105 und es wird dann ein Abtast-Flip-Flop-Auswahlverfahren der Subroutine durchgeführt. Es wird nämlich ein Flip-Flop mit der maximalen Steuerbarkeit unter einem oder mehreren Flip-Flops mit dem maximalen Abtasterfassungsgrad ausgewählt. Der Grund, warum ein Flip-Flop mit der größten Steuerbarkeit unter den einen oder mehreren Flip-Flops mit dem maximalen Abtasterfassungsgrad ausgewählt wird, ist wie folgt: Da es generell schwieriger ist, das Flip-Flop auf einen gewünschten Wert zu setzen, wenn die Steuerbarkeit größer wird, kann die Steuerbarkeit des sequentiellen Logikkreises des IC dadurch erheblich verbessert oder verschlechtert werden, daß das Flip-Flop mit der relativ größten Steuerbarkeit in ein Abtast-Flip-Flop umgewandelt wird.
- Es wird nun in diesem Fall, wenn der Abtasterfassungsgrad der Flip-Flops 303 bis 308 0, 1, 4, 9, 0 bzw. 9 ist und die in der Speichereinheit 5 gespeicherte Steuerbarkeit der Flip-Flops 303 bis 308 112, 423, 3982, 1306, 45 bzw. 1196 ist, nachdem sie durch das in Fig. 17 gezeigte Mittel 3 berechnet wurden, das Flip-Flop 306 im Schritt 105 ausgewählt.
- Anschließend wird das eine im Schritt 105 ausgewählte Flip-Flop im Schritt 106 in ein Abtast-Flip-Flop umgewandelt. Fig. 5 zeigt den Teilkreis des sequentiellen Logikkreises des IC, wenn das Flip-Flop 306 in das Abtast-Flip-Flop 501 umgewandelt wurde. Anschließend wird eine Liste mit nichterfaßten Fehlern erstellt, die Flip- Flops enthält, deren Fehler im Schritt 107 nicht erfaßt wurden und es wird dann im Schritt 103 ein Testmuster für den in Fig. 5 dargestellten sequentiellen Logikkreis erzeugt, wobei das Flip-Flop 306 in das Abtast-Flip-Flop 501 basierend auf der Liste nichterfaßter Fehler umgewandelt wird. Anschließend geht der Programmablauf zum Schritt 104 der in Fig. 1 dargestellten Hauptroutine. Wenn die erfaßte Fehlererfassung größer ist als die vorbestimmte Schwellwertfehlererfassung Rth (JA im Schritt 104), wird das im Schritt 103 schließlich erzeugte Testmuster als das Testmuster gesetzt, das für den sequentiellen Logikkreis zu benutzen ist und die Hauptroutine zur Erzeugung der Testmustererzeugung ist dann abgeschlossen.
- Darüberhinaus erzeugt die Signalerzeugungseinrichtung 6 Signale des im vorstehend genannten Verfahren erzeugten Testmusters in einer Form, die geeignet ist, von dem sequentiellen Logikkreis angewendet zu werden und gibt sie zu dem sequentiellen Logikkreis des zu testenden IC aus. Es ist anzumerken, daß Fig. 6 einen Übergang vom internen Zustand des in Fig. 5 dargestellten sequentiellen Logikkreises zeigt, wenn ein in Fig. 4 dargestellter Fehler auftritt.
- Die Tabelle 1 zeigt ein Ergebnis einer Simulation der bekannten Testmustererzeugungsvorrichtung und Tabelle 2 ein Ergebnis einer Simulation der Testmustererzeugungsvorrichtung gemäß der ersten bevorzugten Ausführungsform, die von den vorliegenden Erfindern durchgeführt wurde. Die Schaltkreise s400, s713 und s5378, die in den Simulationen als Bewertungsschaltkreise verwendet wurden, sind in einer zweiten Referenz von F. Brglez et al., "Combinational Profiles of Sequential Benchmark Circuit", Proceeding International Symposium Circuit and Systems, Seiten 1929 bis 1934, Mai 1989, beschrieben.
- Es ist aus dem Vergleich zwischen Tabellen 1 und 2 klar, daß bei der Testmustererzeugungsvorrichtung eine Fehererfassung erzielt werden kann, die größer ist als die der bekannten Vorrichtung, wobei die Anzahl der Abtast-Flip-Flops kleiner ist, als die bei der bekannten Vorrichtung.
- Für die erste bevorzugte Ausführungsform ist ein Beispiel für den Fall des Umwandelns eines Flip-Flops in ein Abtast-Flip-Flop vorstehend beschrieben worden. Die vorliegende Erfindung ist jedoch hierauf nicht beschränkt, es können zwei oder mehr Flip-Flops ausgewählt werden und sie können dann in Abtast-Flip-Flops umgewandelt werden.
- Darüber hinaus wird in der ersten bevorzugten Ausführungsform im Schritt 207 der Zustand beurteilt, der sich von dem initialen Zustand um ein Bit unterscheidet. Die vorliegende Erfindung ist jedoch hierauf nicht beschränkt. Ein von dem ursprünglichen Zustand sich in zwei oder mehr Bits unterscheidender Zustand kann auch richtig gestellt werden.
- Die Fig. 7a und 7b sind Flußdiagramme eines Testmustererzeugungsverfahrens eines Subroutineschritts 1 03a einer modifizierten ersten bevorzugten Ausführungsform des Subroutineschritts 103, der in Fig. 1 dargestellt ist.
- Es wird nun auf Fig. 7a Bezug genommen; es wird im Schritt 702 zunächst beurteilt, ob es irgendeinen nichterfaßten Fehler gibt oder nicht. Wenn es keinen nichterfaßten Fehler gibt (NEIN im Schritt 702), kehrt der Programmablauf zur Hauptroutine zurück. Auf der anderen Seite, wenn es einen oder mehrere nichterfaßte Fehler gibt (JA im Schritt 702), wird ein nichterfaßter Fehler im Schritt 703 ausgewählt und es gibt dann von dem ausgewählten nichterfaßten Fehler im Schritt 704 verursachte Effekte. Es wird dann im Schritt 704A beurteilt, ob das Verfahren des Schritt 704 abgeschlossen wurde oder nicht. Wenn das Verfahren im Schritt 704 nicht abgeschlossen wurde (NEIN im Schritt 704A), geht der Programmablauf zum Schritt 702 zur"ck. Auf der anderen Seite, wenn das Verfahren im Schritt 704 abgeschlossen wurde (JA im Schritt 704A), geht der Programmablauf zum Schritt 705 in Fig. 7b.
- Es wird nun auf Fig. 7b Bezug genommen; im Schritt 705a wird eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß Effekte des ausgewählten Fehlers den externen Ausgangsterminais in dem augenblicklichen Schaltkreiszustand zugeführt werden. Es wird dann im Schritt 705A beurteilt, ob das Verfahren des Schritts 705 abgeschlossen wurde oder nicht. Wenn das Verfahren im Schritt 705 abgeschlossen wurde (JA im Schritt 705A), geht der Programmablauf zum Schritt 702 zurück. Auf der anderen Seite, wenn das Verfahren im Schritt 705 nicht abgeschlossen wurde (NEIN im Schritt 705A), geht der Programmablauf zum Schritt 706.
- Im Schritt 706 wird beurteilt, ob Effekte des Fehlers erfaßt werden können, wenn ein Flip-Flop in ein Abtast-Flip-Flop in dem augenblicklichen Schaltkreiszustand umgewandelt wird. Wenn die Effekte des Fehlers erfaßt werden können (JA im Schritt 707), wird das von dem Verfahren im Schritt 707 erzielte Flip-Flop in der Speichereinheit 5 erfaßt und der Programmablauf geht zum Schritt 708. Auf der anderen Seite, wenn die Effekte des Fehlers nicht erfaßt werden können (NEIN im Schritt 707), werden im Schritt 708 externe Eingabewerte oder ein externes Testmuster erzeugt, so daß die Effekte des Fehlers wenigstens ein Flip-Flop in dem augenblicklichen Schaltkreiszustand erreichen.
- Anschließend, wenn das Verfahren im Schritt 708 abgeschlossen ist (JA im Schritt 708A), wird das Flip-Flop, bei dem die Effekte des Fehlers im Schritt 708 angekommen sind, in der Speichereinheit 5 im Schritt 709 erfaßt und der augenblickliche Schaltkreiszustand, basierend auf dem von dem Verfahren im Schritt 708 erzielten Ergebnis, in einen neuen Schaltkreiszustand aktualisiert und der Programmfluß geht dann zum Schritt 705 zurück. Auf der anderen Seite, wenn das Verfahren im Schritt 708A nicht abgeschlossen wurde (NEIN im Schritt 708A), wird zu dem Abtasterfassungsgrad des in den Schritten 707 und 709 zuerst erfaßten Flip-Flops eins hinzuaddiert und der Programmablauf kehrt dann zum Schritt 702 zurück.
- Fig. 8 zeigt einen sequentiellen Teillogikkreis eines zweiten Beispiels eines IC.
- Es wird auf Fig. 8 Bezug genommen; der sequentiellen Teillogireis enthält ein Teilschaltnetz 801 und vier Flip-Flops 806 bis 809, die zwischen Ausgangsterminals und Eingangsterminals des Teilschaltnetzes 801 entsprechend angeschlossen sind. In Fig. 8 bezeichnet 810 einen Fehler, der in dem Teilschaltnetz 801 verursacht wurde.
- Die Fig. 9a bis 9e sind schematische Blockdiagramme des zweiten Beispiels von dem IC, in denen Veränderungen in seinem Schaltkreiszustand dargestellt sind. In Fig. 9d und 9e bezeichnet (D) einen Effekt eines Fehlers.
- Ein Beispiel des Testmustererzeugungsverfahrens gemäß einer modifizierten ersten bevorzugten Ausführungsform wird unter Bezugnahme auf Fig. 7a, 7b, 8 und 9a bis 9e beschrieben.
- Es wird auf Fig. 7a Bezug genommen; beim Testmustererzeugungsverfahren im Subroutineschritt 103a wird als erstes im Schritt 702 beurteilt, ob es einen nichtverarbeiteten Fehler gibt oder nicht. Wenn es keinen nichtverarbeiteten Fehler gibt (NEIN im Schritt 702), kehrt der Programmablauf zu der Hauptroutine zurück. Auf der anderen Seite, wenn es einen oder mehrere unverarbeitete Fehler gibt (JA im Schritt 702), wird ein unverarbeiteter Fehler im Schritt 703 ausgewählt und es werden dann Effekte des ausgewählten unverarbeiteten Fehlers im Schritt 704 verursacht. Wenn das Verfahren im Schritt 704 nicht abgeschlossen ist (NEIN im Schritt 704A), geht der Programmfluß zum Schritt 702 zurück. Auf der anderen Seite, wenn das Verfahren des Schritts 704 abgeschlossen worden ist (JA im Schritt 704A), geht der Programmfluß zum Schritt 705 in Fig. 7b.
- Für den Fall, daß das Verfahren im Schritt 704 abgeschlossen worden ist, was in einem Schaltkreiszustand resultiert, der in Fig. 9a dargestellt ist, wird nun - es wird auf Fig. 7b Bezug genommen - im Schritt 705 eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß veranlaßt wird, daß Effekte des ausgewählten Fehlers die externen Ausgangsterminals in dem augenblicklichen Schaltkreiszustand erreichen. Wenn das Verfahren im Schritt 705 abgeschlossen wurde (JA beim Schritt 705A), geht der Programmablauf zum Schritt 702 zurück. Auf der anderen Seite, wenn das Verfahren im Schritt 705 nicht abgeschlossen wurde (NEIN im Schritt 705A), geht der Programmablauf zum Schritt 706.
- Für den Fall, daß es keine externen Eingabewerte auf den Eingangssignalleitungen 802 und 803 gibt (NEIN im Schritt 705A), so daß die Effekte des Fehlers 810 die externen Ausgangsanschlüsse in dem Schaltkreiszustand erreicht haben, der in Fig. 9a dargestellt ist, wird nun im Schritt 706 festgestellt, ob der Effekt des Fehlers 810 die externen Ausgangsterminal erreicht hat, indem der Zustand von einem Flip- Flop unter den Flip-Flops 806 bis 809 geändert wird. In diesem Beispiel wird nun, wenn der Zustand des Flip-Flops 808 von 0 auf 1 geändert ist, wie in Fig. 9b dargestellt ist, im Schritt 706 festgestellt, daß Effekte (D) des Fehlers 810 das externe Ausgangsterminal 804 erreicht haben, wenn die externen Eingangswerte der Eingangssignalleitungen 802 und 803 1 bzw. 0 sind. Im Falle von JA im Schritt 706 wird nämlich das Flip-Flop 808 im Schritt 707 erfaßt und es werden dann im Schritt 708 eine Kombination von externen Eingabewerten oder ein externes Testmuster erzeugt, so daß die Effekte (D) des Fehlers 810 zumindest ein Flip-Flop erreichen können.
- Im Fall der Annahme, daß - wie in Fig. 9c dargestellt ist - die Effekte (D) des Fehlers 810 das Flip-Flop 806 erreicht haben, wenn die externen Eingabewerte an den externen Signaleingangsitungen 802 und 803 1 bzw. 1 sind, wird das Flip- Flop 806 im Schritt 709 erfaßt und der in Fig. 8 dargestellte Schaltkreiszustand ist in Fig. 9d nach dem Verfahren des Schritts 708 dargestellt, auf den als ein augenblicklicher Zustand Bezug genommen wird.
- Nachfolgend wird, wenn das Verfahren im Schritt 705 nicht abgeschlossen wurde (NEIN im Schritt 705A), der Zustand des Flip-Flops 809 von eins auf null verändert, wie in Fig. 9e dargestellt ist und es wird dann im Schritt 706 festgestellt, daß die Effekte (D) des Fehlers 810 das externe Ausgangsterminal 805 erreicht haben, wenn die externen Eingabewerte auf den Signalleitungen 802 und 803 0 bzw. 1 sind. Anschließend wird das Flip-Flop 809 im Schritt 707 erfaßt.
- Bei diesem Beispiel, in einem Fall, daß angenommen wird, daß die Effekte (D) des Fehlers 810 nicht alle Flip-Flops im Schritt 708 erreicht haben, geht der Programmfluß zum Schritt 711. Im Schritt 711 wird zu dem Abtasterfassungsgrad des Flip- Flops 808, das unter den in den Schritten 707 und 709 erfaßten Flip-Flops 806, 808 und 809 zuerst erfaßt wurde, eins hinzuaddiert.
- Wenn es keinen nichtverarbeiteten Fehler gibt (NEIN im Schritt 702), ist der Subroutineschritt 1 03a abgeschlossen und der Programmfluß geht zum Schritt 104 der in Fig. 1 dargestellten Hauptroutine.
- In der modifizierten ersten bevorzugten Ausführungsform wird das Verfahren der Schritte 704 bis 711 für einen Fehler ausgeführt, der im Schritt 703 ausgewählt wurde. Das Verfahren des Schritts 704 wurde zur Erzeugung des Testmusters bereitgestellt, das zur Erzeugung der Effekte des ausgewählten Fehlers erforderlich ist, wobei das Testmuster erforderlich ist, um zu veranlassen, daß die Effekte des Fehlers wenigstens einen der externen Ausgangsterminals im Schritt 705 erreichen, und es wird das Testmuster erzeugt, das erforderlich ist, um zu veranlassen, daß die Effekte des Fehlers wenigstens ein Flip-Flop in dem sequentiellen Logikkreis erreichen. Wenn das Verfahren im Schritt 705 abgeschlossen worden ist (JA im Schritt 705A), ist die Testmustererzeugung für den einen im Schritt 703 ausgewählten Fehler abgeschlossen und der Programmablauf geht dann zum Schritt 702. Es wird dann das Testmuster, das durch Verbinden der in den Schritten 704, 705 und 708 erzeugten Testmuster erzielt wird, zu einem Testmuster für den einen im Schritt 703 gewählten Fehler.
- Es wird nun wiederum auf Fig. 1 Bezug genommen; es wird im Schritt 104 in Fig. 1 beurteilt, ob die erfaßte Fehlererfassung größer als die vorbestimmte Schwellwertfehlererfassung Rth ist oder nicht. Falls die erfaßte Fehererfassung kleiner als die vorbestimmte Schwellwertfehlererfassung Rth ist (NEIN im Schritt 104), oder mit ihr übereinstimmt, geht der Programmablauf zum Schritt 105 und es wird dann das Abtast-Flip-FIOP-Auswahlverfahren der Subroutine ausgeführt. Es wird nämlich ein Flip-Flop mit der maximalen Steuerbarkeit unter dem einen oder mehreren Flip- Flops mit dem maximalen Abtasterfassungsgrad ausgewählt.
- In diesem Beispiel wird, wenn die Abtasterfassungsgrade der Flip-Flops 806 bis 809 1, 6, 2 bzw. 6 sind und die Steuerbarkeiten der Flip-Flops 806 bis 809, die in der Speichereinheit 5 gespeichert sind, 323, 11 2, 24 bzw. 811 sind, das Flip-Flop 809 im Schritt 105 ausgewählt.
- In einer modifizierten ersten bevorzugten Ausführungsform ist das ausgewählte Flip-Flop ein Flip-Flop, das durch das Testmustererzeugungsverfahren, das sich von demjenigen der bekannten Vorrichtung unterscheidet, mit Sicherheit abgetastet wird. Wenn das ausgewählte Flip-Flop in ein Abtast-Flip-Flop umgewandelt wurde und das Testmuster erzeugt wurde, kann die Fehlererfassung mit Sicherheit verbessert werden, was dazu föhrt, daß alle nutzlosen Abtast-Flip-Flops entfernt werden. Anschließend wird das Verfahren der Schritte 106, 107, 103 und 104 in einer Weise ausgeführt, die der ersten bevorzugten Ausführungsform entspricht.
- Fig. 10 ist ein Flußdiagramm einer Hauptroutine, die von einer Testmustererzeugungsvorrichtung gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
- Es wird auf Fig. 10 Bezug genommen; es werden zunächst vorbestimmte Abschlußbedingungen im Schritt 1002 gesetzt und es wird im Schritt 1003 beurteilt, ob es nichtverarbeitete Flip-Flops außer den Abtast-Flip-Flops gibt oder nicht. Wenn es ein oder mehrere nichtverarbeitete Flip-Flops gibt (JA im Schritt 1003), wird ein nichtverarbeitetes Flip-Flop im Schritt 1004 ausgewählt und es wird dann im Schritt 1005 eine Steuerbarkeit von allen Flip-Flops innerhalb des sequentiellen Logikkreises unter der Annahme errechnet, daß das ausgewählte Flip-Flop in ein Abtast-Flip-Flop umgewandelt wird. Anschließend geht der Programmablauf zurück zum Schritt 1003.
- Auf der anderen Seite, wenn es kein nichtverarbeitetes Flip-Flop gibt (NEIN im Schritt 1003), wird im Schritt 1006 ein Flip-Flop ausgewählt und das ausgewählte Flip-Flop wird in ein Abtast-Flip-Flop umgewandelt. Anschließend wird im Schritt 1007 beurteilt, ob die vorbestimmten Abschlußbedingungen, die im Schritt 1002 gesetzt wurden, vorliegen. Wenn die vorbestimmten Abschlußbedingungen nicht vorliegen (NEIN im Schritt 1007), geht der Prograbmmfluß zum Schritt 1003. Auf der anderen Seite, wenn die vorbestimmten Abschlußbedingungen vorliegen (JA im Schritt 1007), geht der Programmablauf zum Schritt 1008 und es wird dann ein Testmuster erzeugt. Es ist dann das Testmusterverfahren der Hauptroutine der zweiten bevorzugten Ausführungsform abgeschlossen.
- Ein Beispiel einer Aktion der Testmustererzeugungsvorrichtung der zweiten bevorzugten Ausführungsform wird nachfolgend unter Bezugnahme auf Fig. 10 beschrieben.
- Unter Bezugnahme auf Fig. 10 werden zunächst die vorbestimmen Abschlußbedingungen im Schritt 1002 gesetzt. Die vorbestimmten Abschlußbedingungen können einen vorbestimmten oberen Schwellwert der Fehlererfassung und einen vorbestimmten Schweliwert einer oberen Grenze von Abtast-Flip-Flops enthalten. Es kann nämlich eine der vorbestimmten Abschlußbedingungen darin bestehen, daß die Fehererfassung größer als ein vorbestimmter Schwellwer ist und eine andere kann derart sein, daß die Anzahl der Abtast-Flip-Flops größer als ein vorbestimmter Wert ist. In der vorliegenden bevorzugten Ausführungsform ist der Schwellwert der oberen Grenze der Abtast-Flip-Flops auf drei gesetzt.
- Es wird anschließend im Schritt 1003 beurteilt, ob es ein nichtverarbeitetes Flip- Flop gibt, das kein Abtast-Flip-Flop ist oder nicht. In diesem Beispiel gibt es nun die Flip-Flops 806 bis 809 in dem sequentiellen Logikschaltkreis, der in Fig. 8 dargestellt ist, und dies sind nichtverarbeitete Flip-Flops. Der Programmablauf geht deshalb zum Schritt 1004 und es wird ein Flip-Flop unter den verarbeiteten Flip- Flops 806 bis 809 ausgewählt. Bei diesem Beispiel wird für den Fall, daß angenommen wird, daß z.B. das Flip-Flop 806 ausgewählt ist, im Schritt 1005 eine Summe der Steuerbarkeiten von allen Flip-Flops 807 bis 809 errechnet, die nicht die Abtast-Flip-Flops innerhalb des sequentiellen Logikkreises sind, wobei angenommen wird, daß das ausgewählte Flip-Flop 806 in ein Abtast-Flip-Flop umgewandelt worden ist. In diesem Beispiel ist die Summe ihrer Steuerbarkeiten 3122.
- Anschließend geht der Programmablauf zum Schritt 1003 und es wird beurteilt, ob es einen oder mehrere unverarbeitete Flip-Flops gibt oder nicht. Nun sind die Flip- Flops 807 bis 809 nicht verarbeitet worden und es wird dann z.B. das Flip-Flop 807 im Schritt 1004 ausgewählt. Es wird anschließend im Schritt 1005 eine Summe der Steuerbarkeiten von allen anderen Flip-Flops 806, 808 und 809 berechnet, die nicht das unverarbeitete Flip-Flop 807 sind und es wird angenommen, daß die Summe der Steuerbarkeiten von ihnen in diesem Beispiel 2068 ist. Das Verfahren der Schritte 1003 bis 1005 wird für die Flip-Flops 808 und 809 in einer Weise wiederholt durchgeführt, die der vorstehend beschriebenen entspricht. Es wird nun angenommen, daß die Summen der Steuerbarkeiten, die im Schritt 1005 berechnet wurden, 1063 bzw. 2760 sind.
- Anschließend, da kein unverarbeitetes Flip-Flop in dem Schaltkreis im Schritt 1003 ist (NEIN im Schritt 1003), geht der Programmablauf zum Schritt 1006. Einer der Gründe, warum die Testmustererzeugung für einen Fehler nicht abgeschlossen wurde, ist der, daß es schwierig ist, Logikwerte auf den Signalleitungen innerhalb des Schaltkreises zu steuern. Um solch ein Problem zu lösen, ist es insbesondere notwendig, das Flip-Flop herauszufinden, das die Steuerbarkeit der Flip-Flops verbessern kann und das herausgefundene Flip-Flop wird dann in ein Abtast-Flip- Flop umgewandelt. Für diesen Fall können die Logikwerte der Nicht-Abtast-Flip- Flops mit einer relativ kleinen Anzahl von Abtast-Flip-Flops einfach gesteuert werden, was zu einer Verbesserung der Fehlererkennung oder einer Herabsetzung der Fehererkennung führt.
- Es wird deshalb ein Flip-Flop mit der minimalen Steuerbarkeit unter den Flip-Flops mit den im Schritt 1005 berechneten Steuerbarkeiten ausgewählt. Für den Fall, daß nur ein Flip-Flop in ein Abtast-Flip-Flop unter den Flip-Flops 806 bis 809 umgewandelt wird, sind die Summen der Steuerbarkeiten der anderen Flip-Flops 3022, 2068, 1063 bzw. 2760. In diesem Fall wird deshalb das Flip-Flop 808 in ein Abtast-Flip-Flop umgewandelt und der Programmablauf geht dann zum Schritt 1007.
- Es wird im Schritt 1007 beurteilt, ob die Anzahl der Abtast-Flip-Flops kleiner als ein vorbestimmter gesetzter Wert ist oder mit ihm übereinstimmt oder nicht. Es gibt jetzt jedoch nur ein Abtast-Flip-Flop (NEIN im Schritt 1007). Der Programmablauf geht deshalb zum Schritt 1003. Da es unverarbeitete Flip-Flops 806, 807 und 809 gibt, die sich von den Abtast-Flip-Flops unterscheiden, wird im Schritt 1004 das Flip-Flop 806 ausgewählt. Im Schritt 1005 wird anschließend eine Summe der Steuerbarkeiten von allen Flip-Flops 807 und 809 berechnet, die sich von den Abtast-Flip-Flops unterscheiden, und es wird dann in diesem Beispiel angenommen, daß die Summe von ihnen 968 beträgt.
- Anschließend wird das Verfahren der Schritte 1003 bis 1005 für jeden der Flip- Flops 807 und 809 in einer Weise durchgeführt, die der vorstehend beschriebenen entspricht und es wird dann in diesem Beispiel angenommen, daß die Summen der Steuerbarkeiten 1901 bzw. 1103 im Schritt 105 betragen. Da die Summen der Steuerbarkeiten der anderen Flip-Flops - wenn einer der Flip-Flops 806, 807 und 809 in ein Abtast-Flip-Flop umgewandelt wird - 968, 1901 bzw. 1103 betragen, wird das Flip-Flop 806 in ein Abtast-Flip-Flop im Schritt 1006 umgewandelt.
- Im Schritt 1007 gibt es zwei Abtast-Flip-Flops und die Anzahl der Abtast-Flip-Flops ist nicht größer als der vorbestimmte eingestellte Wert 3 und stimmt nicht mit ihm überein (NEIN im Schritt 1007). Der Programmablauf geht deshalb zum Schritt 1003 und das Verfahren der Schritte 1003 bis 1006 wird in einer Weise durchgeführt, die der vorstehend beschriebenen entspricht. Das Flip-Flop 809 wird dann ausgewählt und in ein Abtast-Flip-Flop im Schritt 1006 umgewandelt. Im Schritt 1007 gibt es anschließend drei Flip-Flops und die Anzahl der Abtast-Flip-Flops ist größer oder gleich dem vorbestimmten eingestellten Wert von 3 (JA im Schritt 1007). Der Programmablauf geht entsprechend zum Schritt 1008 und es wird ein Testmuster erzeugt. Es wird dann die Hauptroutine der Testmustererzeugung abgeschlossen.
- Tabelle 3 zeigt ein Resultat einer Simulation, die von dem vorliegenden Erfinder durchgeführt wurde und die Schaltkreise 5400 und 5713, die in der Simulation verwendet werden, sind die Bewertungsschaltkreise, die in der vorstehend erwähnten zweiten Referenz beschrieben sind.
- Anhand eines Vergleiches zwischen Tabelle 3 der zweiten bevorzugten Ausführungsform und Tabelle 1 der bekannten Vorrichtung ist klar, daß in der zweiten bevorzugten Ausführungsform Fehlererfassungen erzielt werden können, die größer oder gleich denen einer bekannten Vorrichtung ist, wobei die Anzahl der Abtast- Flip-Flops kleiner als bei der bekannten Vorrichtung ist.
- Fig. 11 ist ein Flußdiagramm eines Flip-FIOP-Auswahlverfahrens eines Subroutineschrittes 105a, der von einer Testmustererzeugungsvorrichtung einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Das Flip-Flop-Auswahlverfahren im Schritt 105 ist nämlich ein modifiziertes Verfahren des Schritts 105 der ersten bevorzugten Ausführungsform, die in Fig. 1 dargestellt ist. Die anderen Verfahren entsprechen denen, die in Fig. 1 dargestellt sind.
- Es wird auf Fig. 11 Bezug genommen; es wird zunächst eine Liste aller Flip-Flops erstellt, die den maximalen Abtast-Erfassungsgrad im Schritt 1102 aufweisen und es wird dann im Schritt 1103 beurteilt, ob die Anzahl Nff der Flip-Flops innerhalb der erstellten Liste größer als eins ist oder nicht. Falls Nff = 1 (NEIN im Schritt 1103), geht der Programmablauf zum Schritt 1107 und es wird dann ein Flip-Flop unter denen in der Liste ausgewählt, so daß die Summe der Steuerbarkeiten des gesamten Schaltkreises am kleinsten ist, wenn das ausgewählte Flip-Flop ein Abtast-Flip-Flop ist. Anschließend geht der Programmablauf zur Hauptroutine zurück. Auf der anderen Seite, falls Nff > 1 (JA im Schritt 1103), wird im Schritt 1104 beurteilt, ob es einen oder mehrere unverarbeitete Flip-Flops innerhalb der erstellten Liste gibt.
- Falls es wenigstens ein unverarbeitetes Flip-Flop innerhalb der Liste gibt (JA im Schritt 1104), wird ein unverarbeitetes Flip-Flop im Schritt 1105 ausgewählt und es wird im Schritt 1106 die Summe der Steuerbarkeiten der entsprechenden Flip- Flops in dem Schaltkreis berechnet, wenn das ausgewählte Flip-Flop in ein Abtast- Flip-Flop umgewandelt wurde. Anschließend geht der Programmablauf zurück zum Schritt 1104. Auf der anderen Seite, falls es keine unverarbeiteten Flip-Flops innerhalb der Liste gibt (NEIN im Schritt 1104), geht der Programmablauf zum Schritt 1107.
- Ein Beispiel einer Aktion der dritten bevorzugten Ausführungsform wird nachfolgend unter Bezugnahme auf die Fig. 11 beschrieben.
- Es wird auf Fig. 11 Bezug genommen; es wird zunächst eine Liste der Flip-Flops erstellt, die den maximalen Abtast-Erfassungsgrad basierend auf der Information der Abtast-Erfassungsgrade der entsprechenden Flip-Flops aufweist, die durch ein Testmustererzeugungsverfahren im Schritt 103 - wie in Fig. 1 dargestellt - erzielt worden sind. Bei diesem Beispiel enthält nun in einem Fall, bei dem angenommen wird, daß die Abtast-Erfassungsgrade der entsprechenden Flip-Flops 303 bis 308 0, 1, 4, 9, 0 bzw. 9 sind, die im Schritt 1102 erstellte Liste die Flip-Flops 306 und 308, die jeweils den maximalen Abtast-Erfassungsgrad von 9 besitzen. Es wird anschließend im Schritt 1103 beurteilt, ob die Anzahl Nff der Flip-Flops innerhalb der erstellten Liste größer als 1 ist oder nicht.
- In diesem Beispiel, da Nff ) list, geht der Programmablauf zum Schritt 1104 und es wird dann im Schritt 1104 beurteilt, ob es in der erstellten Liste ein oder mehrere unverarbeitete Flip-Flops gibt oder nicht. In diesem Beispiel gibt es zwei unverarbeitete Flip-Flops 306 und 308. Es wird deshalb ein Flip-Flop 306 unter den Flip- Flops 306 und 308 im Schritt 1105 ausgewählt und es wird im Schritt 1106 dann die Summe der Steuerbarkeiten der entsprechenden Flip-Flops in dem Schaltkreis errechnet, wenn das ausgewählte Flip-Flop 306 in ein Abtast-Flip-Flop umgewandelt wird, was in der Summe von ihnen von 1812 resultiert.
- Anschließend geht der Programmablauf zum Schritt 1104 zurück und es wird dann beurteilt, ob es wenigstens ein unverarbeitetes Flip-Flop innhalb dieser Liste gibt. In diesem Beispiell da es das unverarbeitete Flip-Flop 308 gibt (JA im Schritt 1104), wird das Flip-Flop 308 im Schritt 1105 ausgewählt und es wird dann im Schritt 1106 die Summe der Steuerbarkeiten der entsprechenden Flip-Flops in dem Schaltkreis berechnet, wenn das ausgewählte Flip-Flop 308 in ein Abtast-Flip-Flop umgewandelt wird, was in der Summe von ihnen von 3127 resultiert.
- Anschließend geht der Programmablauf zum Schritt 1104 zurück und es wird dann beurteilt, ob es wenigstens ein unverarbeitetes Flip-Flop innerhalb der Liste gibt oder nicht. In diesem Beispiel, da es keine unverarbeiteten Flip-Flops gibt (NEIN im Schritt 1104), geht der Programmablauf zum Schritt 1107. Es wird das eine Flip- Flop 306 unter den Flip-Flops 306 und 308 innerhalb der erstellten Liste ausgewählt, da die Summe der Steuerbarkeiten des gesamten Schaltkreises am geringsten ist, wenn das ausgewählte Flip-Flop 306 ein Abtast-Flip-Flop ist. Wenn das Flip-Flop 306 nämlich in ein Abtast-Flip-Flop umgewandelt wird, kann die Steuerbarkeit des gesamten Schaltkreises am meisten verbessert oder am meisten verschlechtert werden. Anschließend geht der Programmablauf zurück zum Schritt 104 der Hauptroutine und es wird dann das in Fig. 1 dargestellte Verfahren in einer entsprechenden Weise durchgeführt, wie bei der ersten bevorzugten Ausführungsform.
- Die Merkmale der dritten bevorzugten Ausführungsform bestehen darin, daß es das Verfahren im Schritt 1107 enthält. Der Grund, warum das Verfahren des Schrittes 1107 beim Abtast-Flip-FIOP-Auswahlverfahren des Subroutineschrittes 105a bereitgestellt wird, ist wie folgt:
- Eine Aufgabe all der vorstehenden Ausführungsformen der vorliegenden Erfindung, die in dieser Spezifikation beschrieben werden, besteht darin, die Kosten der Steuerbarkeit des IC herabzusetzen oder zu verbessern. Generell gesprochen, wenn ein Flip-Flop mit der maximalen Steuerbarkeit in ein Abtast-Flip-Flop umgewandelt wird, können die Kosten der Steuerbarkeit von ihm nicht immer am meisten verbessert werden. Wenn ein Flip-Flop in ein Abtast-Flip-Flop umgewandelt wird - selbst wenn die Kosten für die Steuerbarkeit des Flip-Flops selbst nicht so groß sind - gibt es eine Möglichkeit die Kosten der Steuerbarkeit des gesamten Schaltkreises des IC zu verbessern oder zu vermindern. Wenn eine Mehrzahl von Flip-Flops abzutasten sind, kann die Durchführung des Verfahrens der Abtast-Flip-Flop-Auswahl, die in Fig. 11 dargestellt ist, deshalb dazu beitragen, die Kosten der Steuerbarkeit des IC zu verbessern oder zu vermindern.
- Die Tabelle 4 zeigt ein Resultat einer Simulation, die von dem vorliegenden Erfinder durchgeführt wurde, und die Schaltkreise 5400 und 5713, die in der Simulation benutzt werden, sind Bewertungsschaltkreise, die in der vorstehend erwähten zweiten Referenz beschrieben wurden.
- Anhand eines Vergleichs zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 1 der bekannten Vorrichtung ist klar, daß in der zweiten bevorzugten Ausführungsform eine Fehererfassung erzielt werden kann, die größer oder gleich derer ist, die mit einer bekannten Vorrichtung erzielt wird, wobei die Anzahl der Abtast-Flip-Flop kleiner als die bei der bekannten Vorrichtung ist.
- Es ist weiterhin anhand des Vergleichs zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 2 der ersten bevorzugten Ausführungsform klar, daß in der dritten bevorzugten Ausführungsform eine Fehlererfassung erzielt werden kann, die zumindestens gleich oder größer als diejenige der ersten bevorzugten Ausführungsform ist.
- Wie aus einem Vergleich zwischen Tabelle 4 der dritten bevorzugten Ausführungsform und Tabelle 3 der zweiten bevorzugten Ausführungsform klar ist, kann in der dritten bevorzugten Ausführungsform dieselbe Fehlererfassung erzielt werden wie die der zweiten bevorzugten Ausführungsform, wobei die Anzahl der Abtast-Flip- Flop kleiner ist als bei der zweiten bevorzugten Ausführungsform.
- Die vorliegende bevorzugte Ausführungsform kann deshalb die am meisten verbesserte Leistung unter der ersten bis dritten bevorzugten Ausführungsform und dem Stand der Technik erzielen.
- Es ist anzumerken, daß der Subroutineschritt 105a der dritten bevorzugten Ausführungsform auch in der ersten bevorzugten Ausführungsform angewendet werden kann.
- Fig. 12 zeigt ein schematisches Blockdiagramm einer Testmustererzeugungsvorrichtung gemäß einer vierten bevorzugten Ausführungsform der vorliegenden Erfindung, und Fig. 12 entspricht dem Mittel 4 zur Erzeugung des Testmusters der ersten bevorzugten Ausführungsform, die in Fig. 17 dargestellt ist.
- Es wird auf Fig. 12 Bezug genommen; die Testmustererzeugungsvorrichtung enthält eine Testmustererzeugungseinrichtung 1201, eine Speichereinheit 1202 zur Speicherung von Daten des von der Testmustererzeugungseinrichtung 1201 in einem normalen Modus erzeugten Testmusters, eine Speichereinheit 1203 zur Speicherung von Daten der Zustände der entsprechenden Flip-Flops, während das Testmuster von der Testmustererzeugungseinrichtung 1201 erzeugt wird, ein Testmustereditor 1204 zum Editieren und Erzeugen eines Testmusters einschließlich eines Testmusters in einem Abtastmodus basierend auf dem Testmuster in dem normalen Modus, der in der Speichereinheit 1202 gespeichert ist und der Zustände der entsprechenden Flip-Flops, die in der Speichereinheit 1203 gespeichert sind, und eine Speichereinheit 1205 zum Speichern von Daten des Testmusters in dem Abtastmodus, der von dem Testmustereditor 1204 erzeugt wurde.
- Fig. 13 ist ein Flußdiagramm einer Hauptroutine, die von der Testmustererzeugungsvorrichtung der vierten bevorzugten Ausführungsform durchgeführt wird.
- Es wird auf Fig. 13 Bezug genommen; es werden zunächst vorbestimmte Abschlußbedingungen im Schritt 1312 gesetzt. In der vorliegenden bevorzugten Ausführungsform können die Abschlußbedingungen eine Bedingung eines oberen Grenzwerts von abzutastenden Flip-Flops enthalten. Die vorbestimmten Abschlußbedingungen enthalten einen vorbestimmten oberen Schweliwert der Fehlererfassung und einen vorbestimmten Schweliwert eines oberen Grenzwerts von Abtast- Flip-Flops. Eine der vorbestimmten Abschlußbedingungen kann nämlich darin bestehen, daß die Fehererfassung größer als ein vorbestimmter Wert ist und eine andere der vorbestimmten Abschlußbedingungen kann dergestalt sein, daß die Anzahl der Abtast-Flip-Flops größer als ein vorbestimmter Wert ist.
- Es wird anschließend im Schritt 1313 beurteilt, ob es irgendwelche nichtverarbeiteten Fehler innerhalb des Schaltkreises gibt oder nicht. Falls es wenigstens einen nichtverarbeiteten Fehler gibt (JA im Schritt 1313), geht der Programmablauf zum Schritt 1314 und es wird dann ein nichtverarbeiteter Fehler ausgewählt und ein Testmuster in Bezug auf den ausgewählten nichtverarbeiteten Fehler erstellt. Es werden anschließend im Schritt 1315 sowohl die Zustände oder die gespeicherten Logikwerte beider abzutastenden Flip-Flops innerhalb des Schaltkreises erfaßt, wenn die Flip-Flops eingescannt und ausgescannt werden; die Flip-Flops werden nämlich in den vorstehend beschriebenen Abtastmodus und in den vorstehend beschriebenen normalen Modus gesetzt. Der Programmablauf geht dann zum Schritt 1313 zurück.
- Auf der anderen Seite, wenn es keine unverarbeiteten Fehler gibt (NEIN im Schritt 1313), wird im Schritt 1316 beurteilt, ob die vorbestimmten Abschlußbedingungen, die im Schritt 1323 gesetzt wurden, erfüllt sind oder nicht. Im Fall von NEIN im Schritt 1316 wird ein Flip-Flop ausgewählt und das ausgewählte Flip-Flop wird in ein Abtast-Flip-Flop im Schritt 1317 umgewandelt und der Programmablauf geht dann zum Schritt 1313 zurück. Auf der anderen Seite, im Fall von JA im Schritt 1316, wird ein Testmuster im Schritt 1318 basierend auf den Zuständen der Flip- Flops in dem normalen Modus und in dem in den Speichereinheiten 1202 und 1203 gespeicherten Abtastmodus erzeugt und das Testmustererzeugungsverfahren der vierten bevorzugten Ausführungsform ist dann abgeschlossen.
- Fig. 14a bis 14c sind schematische Blockdiagramme von sequentiellen Teillogikkreisen, die das Testmustererzeugungsverfahren zeigen, das von der Testmustererzeugungsvorrichtung der vierten bevorzugten Ausführungsform ausgeführt wurde. Fig. 14a zeigt einen Zustand des sequentiellen Logikschaltkreises, wenn das Flip-Flop 807 in ein Abtast-Flip-Flop 1403 umgewandelt wurde, während das Testmustererzeugungsverfahren für den sequentiellen Logikkreis, der in Fig. 8 dargestellt ist, ausgeführt wird. Fig. 14b zeigt einen Zustand des sequentiellen Logikkreises in der nächsten Stufe und Fig. 14c zeigt einen Zustand des sequentiellen Logikkreises, wenn das Flip-Flop 808 weiter in ein Abtast-Flip-Flop 1404 nach der Umwandlung in das Abtast-Flip-Flop 1403 umgewandelt wurde.
- Die Tabelle 5 zeigt Zustände der entsprechenden Flip-Flops zu einem Zeitpunkt vor der Abtastoperation und zu einem anderen Zeitpunkt nach der Abtastoperation und Tabelle 6 zeigt externe Testeingangswerte oder ein externes Testmuster, das im Schritt 1317 erzeugt wurde. In Tabelle 6 bezeichnet MS einen Signawert auf einer Modusauswahlsignalleitung. In Fig. 14a bis 14c und Tabelle 6 bezeichnet 1401 eine Einscansignalleitung, 1402 eine Ausscansignalleitung, 802 und 803 externe Eingangssignalleitungen und 804 und 805 externe Ausgangssignalleitungen.
- Ein Beispiel für eine Aktion des Testmusterverfahrens, das für den in Fig. 8 dargestellten sequentiellen Logikkreis von der Vorrichtung gemäß der vierten bevorzugten Ausführungsform durchgeführt wird, wird anschließend unter Bezugnahme auf die Fig. 13 und 14a bis 14c beschrieben.
- Es wird auf Fig. 13 Bezug genommen; es werden zunächst die vorbestimmten Abschlußbedingungen im Schritt 1312 gesetzt. In der bevorzugten Ausführungsform enthalten die Abschlußbedingungen eine Bedingung für einen oberen Grenzwert von abzutastenden Flip-Flops.
- Das Verfahren der Schritte 1313 bis 1315 wird zur Erzeugung eines Testmusters bereitgestellt. Es wird im Schritt 1313 zunächst beurteilt, ob es irgendwelche unverarbeiteten Fehler innerhalb des in Fig. 8 dargestellten Schaltkreises gibt oder nicht. Falls es wenigstens einen unverarbeiteten Fehler gibt (JA im Schritt 1313), geht der Programmablauf zum Schritt 1314 und es wird dann ein unverarbeiteter Fehler ausgewählt und ein Testmuster in Bezug auf den ausgewählten unverarbeiteten Fehler erstellt. Anschließend geht der Programmablauf zum Schritt 1315 und wenn das Einscannen und Ausscannen für das Abtast-Flip-Flop erfaßt wird, werden in der Speichere inheit 1203 sowohl die Zustände von allen Flip-Flops einschließlich der Abtast-Flip-Flops zu einem Zeitpunkt vor der Abtastoperation oder der Operation in dem Abtastmodus und zu einer anderen Zeit nach der Abtastoperation erfaßt. Da die Zustände der Nicht-Abtast-Flip-Flops sich nicht verändern, werden dieselben logischen Werte erfaßt wie bei den Zuständen der Nicht-Flip-Flops zu einem Zeitpunkt vor der Abtastoperation und zu einem anderen Zeitpunkt nach der Abtastoperation. In diesem Beispiel - da es kein Abtast-Flip-Flop in dem in Fig. 8 dargestellten Schaltkreis gibt - geht das Programm zum Schritt 1313.
- Das Verfahren der Schritte 1313 bis 1315 wird erneut durchgeführt und falls es keinen nichtverarbeiteten Fehler gibt (NEIN im Schritt 1313), geht der Programmablauf zum Schritt 1316 und es wird dann beurteilt, ob die vorbestimmten Abschlußbedingungen erfüllt sind oder nicht. In diesem Fall - da es kein Abtast-Flip- Flop gibt (NEIN im Schritt 1316) - geht der Programmablauf zum Schritt 1317. Im 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.
- Anschließend wird das Verfahren der Schritte 1313 bis 1315 nochmals für den sequentiellen Logikkreis, der in Fig. 14a dargestellt ist, durchgeführt. Im Schritt 1315 werden in der Speichereinheit 1203 die Zustände sowohl des in dem normalen Modus als auch in dem Abtastmodus zu scannenden Flip-Flops 1403 erfaßt und darüberhinaus werden in der Speichereinheit 1203 die Zustände der Nicht-Abtast- Flip-Flops 806, 808 und 809 in dem normalen Modus und in dem Abtastmodus erfaßt.
- In diesem Beispiel, wenn das Abtast-Flip-Flop 1403 eingescannt ist oder in den Abtastmodus gesetzt ist, so daß sich der Status von ihm von 0 auf 1 zu einem Zeitpunkt ti verändert, sind die Zustände der anderen Nicht-Abtast-Flip-Flops 806, 808 und 809 0, 0 bzw. 1. In diesem Fall, wenn der Status des Abtast-Flip-Flops 1403 von der Abtastoperation auf eins gesetzt wird oder in den Abtastmodus gesetzt wird, wird ein Signal eines Zustandes von 0 von dem Abtast-Flip-Flop vor der Abtastoperation durch die Ausscannsignalleitung 1402 ausgegeben. Es werden dann sowohl die Zustände des Abtast-Flip-Flops 1403 einschließlich eines Zustandes von 0 zu einem Zeitpunkt vor der Abtastoperation und einem Zustand von 1 zu einem anderen Zeitpunkt nach der Abtastoperation in der Speichereinheit 1203 erfaßt. Auf der anderen Seite, zu einem Zeitpunkt vor der Abtastoperation, sind die Zustände der Nicht-Abtast-Flip-Flops 806, 808 und 809 0, 0 bzw. 1, und sie verändern sich nicht zwischen einem Zeitpunkt vor der Abtastoperation und einem anderen Zeitpunkt nach der Abtastoperation. Entsprechend werden die Verfahren der Schritte 1313 bis 1315 nochmal durchgeführt und wenn es keinen nicht verarbeiteten Fehler gibt (NEIN im Schritt 1313), geht der Programmablauf zum Schritt 1316. Es werden dann die Abschlußbedingungen beurteilt. In diesem Fall, da es ein Abtast-Flip-Flop gibt (NEIN im Schritt 1316), geht der Programmablauf zum Schritt 1317 und das Flip-Flop 808 wird dann in das Abtast-Flip-Flop 1404 umgewandelt, wie in Fig. 14a dargestellt ist.
- Das Verfahren der Schritte 1313 bis 1315 wird nochmals für den sequentiellen Logikkreis durchgeführt, der in Fig. 14b dargestellt ist. In diesem Fall werden im Schritt 1314 beide Zustände der Abtast-Flip-Flops 1403 und 1414 von 0 bzw. 0 auf 1 bzw. 1 zu einem Zeitpunkt tj ab gefragt. Anschließend werden in der Speichereinheit 1203 im Schritt 1315 Zustände von 0, 0, 0 und 1 zu einem Zeitpunkt vor der Abtastoperation und Zustände von 0, 1, 1 und 1 zu einem anderen Zeitpunkt nach der Abtastoperation von allen Flip-Flops 806, 1403, 1404 und 809 einschließlich der Abtast-Flip-Flops 1403 und 1404 erfaßt. Entsprechend wird das Verfahren der Schritte 1313 bis 1315 wieder durchgeführt, und wenn kein nichtverarbeiteter Fehler auftritt, geht der Programmablauf zum Schritt 1316. Es werden dann im Schritt 1312 die Abschlußbedingungen beurteilt. In diesem Fall, da es zwei Abtast-Flip-Flops 1403 und 1404 gibt (NEIN im Schritt 1316), geht der Programmablauf zum Schritt 1317 und das Flip-Flop 809 wird dann in das Abtast- Flip-Flop 1405 umgewandelt, wie in Fig. 14c dargestellt ist.
- Das Verfahren der Schritte 1313 bis 1315 wird wiederum für den sequentiellen Logikkreis durchgeführt, der in Fig. 14c dargestellt ist. In diesem Fall werden - im Schritt 1314 - die Zustände der Abtast-Flip-Flops 1403, 1404 und 1405 von 1, 1 bzw. 0 zu 0, 0 bzw. 1 erfaßt. Anschließend, im Schritt 1315, werden in der Speichereinheit 1203 beide Zustände 1, 1, 1 und 0 zu einem Zeitpunkt vor der Abtastoperation und Zustände 1, 0, 0 und 1 zu einem anderen Zeitpunkt nach der Abtastoperation für alle Flip-Flops 806, 1403, 1404 und 1405 einschließlich der Abtast-Flip-Flops 1403, 1404 und 1405 erfaßt. Entsprechend wird das Verfahren der Schritte 1313 bis 1315 nochmal durchgeführt, und wenn kein nichtverarbeiteter Fehler auftritt, geht der Programmablauf zum Schritt 1316. Dann werden die Abschlußbedingungen im Schritt 1312 beurteilt. In diesem Fall, da es drei Abtast- Flip-Flops gibt, geht der Programmablauf zum Schritt 1318, da die vorbestimmten Abschlußbedingungen erfüllt sind (JA im Schritt 1316), und der Programmablauf geht dann zum Schritt 1318.
- Im Schritt 1318 wird ein Testmuster in der Abtastoperation basierend auf den Zuständen der entsprechenden Flip-Flops zu Zeitpunkten erzeugt, die vor und nach der Abtastoperation liegen, die in der Speichereinheit 1203 erfaßt worden sind und die in Tabelle 5 dargestellt sind. In Tabelle 5 repräsentieren (p, q, r, s) folgendes: (Zustand des Flip-Flops 806, Zustand des Flip-Flops 1403, Zustand des Flip-Flops 808 oder 1404, Zustand des Flip-Flops 809 oder 1405). In diesem Beispiel gibt es drei Abtast-Flip-Flops 1403 bis 1405, wobei sie in der folgenden Reihenfolge verbunden sind: Einscannsignalleitung 1401 - Abtast-Flip-Flop 1403 - Abtast-Flip- Flop 1404 - Abtast-Flip-Flop 1405 - Ausscansignalleitung 1402.
- Zu dem Zeitpunkt ti gibt es nur ein Abtast-Flip-Flop 1403, wobei jedoch die Abtast- Flip-Flops 1404 und 1405 schließlich mit ihm verbunden sind. Es ist deshalb beim Durchführen der Abtastoperation notwendig, nicht nur das Abtast-Flip-Flop 1403, sondern auch die Abtast-Flip-Flops 1404 und 1405 gleichzeitig in Betrieb zu nehmen. Das Signal des Zustands des Abtast-Flip-Flops 1403 zu dem Zeitpunkt ti wird deshalb im Abtastmodus eingegeben oder wird in das Abtast-Flip-Flop 1403 eingescannt und es werden auch die Signale der Zustände von 0 und 1 zum Zeitpunkt ti der Flip-Flops 808 und 809 in die Abtast-Flip-Flops 1404 bzw. 1405 eingescannt. Von der Ausscannsignalleitung 1402 werden weiterhin die Signale von beiden Zuständen der Flip-Flops 809 und 808 zum Zeitpunkt ti, wie in Tabelle 5 dargestellt, und der Zustand des Abtast-Flip-Flops 1403 zu einem Zeitpunkt vor der Abtastoperation sequentiell in zeitlicher Abfolge ausgegeben. Das erzeugte Testmuster wird in die Speichereinheit 1205 geschrieben, dessen Inhalt enthält, daß die Signale der Zustände, die in den Abtast-Flip-Flops 1405, 1404 und 1403 zu setzen sind, sequentiell in zeitlicher Reihenfolge von der Einscannsignalleitung 1401 eingescannt werden, wie für die Zeiten ti bis ti+4 in Tabelle 6 dargestellt ist. Von der Ausscannsignalleitung 1402 werden weiterhin die Signale der Zustände der Abtast-Flip-Flops 1405, 1404 und 1403 vor der Abtastoperation sequentiell in zeitlicher Reihenfolge ausgegeben.
- Es gibt auf entsprechende Weise Abtast-Flip-Flops 1403 und 1404 zum Zeitpunkt tj, wobei jedoch das Abtast-Flip-Flop 1405 schließlich mit ihnen verbunden ist. Es ist deswegen notwendig, die Signale der Zustände nach der Abtastoperation zum Zeitpunkt tj in die Abtast-Flip-Flops 1403 bzw. 1404 einzuscannen und auch die Sinale der Zustände des Flip-Flops 809 zu einem Zeitpunkt tj zu dem Abtast-Flip- Flop 1405 einzuscannen. Wie die Testmuster werden die Signale der in den Abtast- Flip-Flops 1405, 1404 und 1403 zu setzenden Zustände sequentiell in zeitlicher Reihenfolge von der Einsscannsignalleitung 1401 - wie zu den Zeitpunkten tj bis tj+4 in Tabelle 6 dargestellt - eingescannt. Auf der anderen Seite werden die Signale von den Zuständen der Abtast-Flip-Flops 1405, 1404 und 1403 von der Ausscannsignalleitung 1402 vor der Abtastoperation sequentiell in zeitlicher Reihenfolge ausgegeben.
- Da alle Abtast-Flip-Flops zum Zeitpunkt tk bestimmt sind, werden die Sinale der Zustände nach der Abtastoperation zum Zeitpunkt tk in die Abtast-Flip-Flops 1403, 1404 bzw. 1405 eingescannt. Wie das Testmuster werden die Signale der Zustände, die in den Abtast-Flip-Flops 1405, 1404 und 1403 zu setzen sind, von der Einscannsignalleitung 1401 sequentiell in zeitlicher Reihenfolge eingescannt, wie zu den Zeitpunkten tk bis tk+4 in Tabelle 6 gezeigt ist. Auf der anderen Seite werden die Signale der Zustände von den Abtast-Flip-Flops 1405, 1404 und 1403 vor der Abtastoperation sequentiell in zeitlicher Reihenfolge von der Ausscannsignalleitung 1402 ausgegeben.
- Gemäß der vierten bevorzugten Ausführungsform - wenn gefordert ist, daß ein Abtast-Flip-Flop zu einem Zeitpunkt für ein Verfahren der Testmustererzeugung eingescannt und ausgescannt werden soll - wird ein Zustand des Abtast-Flip-Flops, das einzuscannen oder auszuscannen ist, und die Zustände von allen anderen Flip- Flops zur selben Zeit erfaßt und es wird dann ein Testmuster bei der Abtastoperation basierend auf den Zuständen der entsprechenden Flip-Flops erzeugt, die in der Speichereinheit 1203 nach Abschluß der Testmustererzeugung aufgenommen wurden. Trotzdem ein Abtast-Flip-Flop hinzugefügt wurde, während das Verfahren der Testmustererzeugung durchgeführt wurde, kann deshalb das Testmuster in Bezug auf den sequentiellen Logikkreis einschließlich des hinzugefügten Abtast- Flip-Flops erzeugt werden.
- In den bevorzugten Ausführungsformen enthalten die sequentiellen Logikkreise des IC Teilschaltnetze und Flip-Flops vom Verzögerungstyp. Die vorliegende Erfindung ist hierauf jedoch nicht beschränkt. Die sequentiellen Logikkreise der IC können andere Typen von Speicherelementen wie beispielsweise Flip-Flops vom Typ J-K oder vom Typ T oder Ähnliches enthalten.
- Obwohl die vorliegende Erfindung in Verbindung mit den bevorzugten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen vollständig beschrieben wurde ist anzumerken, daß Fachleuten eine Vielzahl von Veränderungen und Modifikationen klar werden. Solche Veränderungen und Modifikationen sind so zu verstehen, daß sie in dem Schutzumfang der vorliegenden Erfindung enthalten sind, wie er durch die beigefügten Ansprüche definiert ist, solange sie hiervon nicht abweichen. Tabelle 1 Tabelle 2 Tabelle 3 Tabelle 4 Tabelle 5 Tabelle 6
Claims (10)
1. Vorrichtung zum Erzeugen eines Testmusters für einen sequentiellen
Logikkreis mit einer Vielzahl von Speicherelementen, die jeweils einen Logikwert von
einem Bit speichern, wobei die Logikwerte der Bits der Vielzahl von
Speicherelementen durch einen Zustand repräsentiert werden und die Vorrichtung enthält:
ein erstes Eingabewerterzeugungsmittel (4, 206) zur Erzeugung einer Kombination
von ersten externen Eingabewerten, so daß ein Übergangsverfahren von einem
zweiten Zustand der Vielzahl von Speicherelementen zu einem ersten Zustand
durchgeführt wird;
dadurch gekennzeichnet, daß die Vorrichtung weiterhin enthält:
ein erstes Zustandserzeugungsmittel (4,207) zur Erzeugung eines dritten Zustands,
der sich von dem zweiten Zustand durch eine vorgegebene natürliche Zahl von Bits
unterscheidet;
ein zweites Eingabewerterzeugungsmittel (4, 207) zur Erzeugung einer Kombination
von zweiten externen Eingabewerten, so daß ein Übergangsverfahren von einem
dritten Zustand der Vielzahl von Speicherelementen zu ihrem ersten Zustand
durchgeführt wird;
ein zweites Zustandserzeugungsmittel (4, 210) zur Erzeugung eines vierten
Zustands, der sich von den ersten bis dritten Zuständen unterscheidet;
ein drittes Eingabewerterzeugungsmittel (4, 210) zur Erzeugung einer Kombination
von dritten externen Eingabewerten, so daß ein Übergangsverfahren von einem
vierten Zustand der Vielzahl von Speicherelementen in ihren ersten Zustand
durchgeführt wird; und
ein erstes Einstelmittel (4, 211) zum Einstellen des vierten Zustands als den ersten
Zustand;
ein Speichermittel (5, 208) zum Speichern von Namensdaten von
Speicherelementen, die Bits verschiedener Zustände zwischen dem zweiten und dritten Zustand
entsprechen;
ein zweites Einstelmittel (4, 209) zum Einstellen des dritten Zustandes als den
ersten Zustand;
Abtastabrufgraderhöhungsmittel (4, 212) zum Erhöhen eines Grads des Abrufens
einer Abtastoperation für jedes der Speicherelemente, wobei Namensdaten von
ihnen in dem Speichermittel (5, 208) gespeichert worden sind;
ein Abtastspeicherelementauswahlmittel (4, 105) zur Auswahl von
Speicherelementen, die basierend auf dem Grad des Abrufens der Abtastoperation abzutasten
sind;
ein Abtastumwandlungsmittel (4, 106) zur Umwandlung der Speicherelemente, die
von dem Abtastspeicherelementauswahlmittel ausgewählt wurden, in
Abtastspeicherelemente; und
ein Testmustererzeugungsmittel (4, 103) zur Erzeugung eines Testmusters für den
sequentiellen Logikkreis, wenn die Speicherelemente, die von dem
Abtastspeicherelementauswahlmittel (4, 105) ausgewählt wurden, von dem
Abtastumwandlungsmittel (4, 106) in Abtastspeicherelemente umgewandelt werden.
2. Vorrichtung nach Anspruch 1,
bei dem das erste Eingabewerterzeugungsmittel (4, 206), das erste
Zustandserzeugungsmittel (4, 207), das zweite Eingabewerterzeugungsmittel (4, 207), das
zweite Zustandserzeugungsmittel (4,210), das dritte Eingabewerterzeugungsmittel
(4, 210), das erste Einstelmittel (4, 211), das Speichermittel (4, 208) und das
zweite Einstelmittel (4, 209) dafür vorgesehen sind, zu einer Vielzahl von Zeiten
und für eine Vielzahl von Fehlern in dem sequentiellen Logikkreis zu arbeiten.
3. Vorrichtung nach Anspruch 2,
bei dem das Abtastabrufgraderhöhungsmittel (4, 212) den Grad des Abrufens der
Abtastoperation für das Speicherelement erhöht, wobei Namensdaten von ihnen
endgültig in dem Speichermittel (5, 208) gespeichert worden sind.
4. Vorrichtung nach Anspruch 2,
bei dem das Abtastspeicherelementauswahlmittel (4, 105) enthält:
ein Berechnungsmittel (3, 105) zur Berechnung der Steuerbarkeit einer Vielzahl von
Speicherelementen, die jeweils den maximalen Grad des Abrufens der
Abtastoperation besitzen;
ein Steuerbarkeitsauswahlmittel (4, 105) zur Auswahl der maximalen Steuerbarkeit
unter denjenigen Steuerbarkeiten, die von dem Berechnungsmittel (3, 105)
berechnet wurden; und
ein Elementauswahimittel (4, 105) zur Auswahl eines Speicherelementes, das der
maximalen Steuerbarkeit entspricht, die von dem Steuerbarkeitsauswahlmittel (4,
105) ausgewählt wurde.
5. Vorrichtung nach Anspruch 2,
bei der das Abtastspeicherelementauswahlmittel (4, 105) enthält:
ein Berechnungsmittel (3, 1104-1106) zur Berechnung jeder Steuerbarkeit des
sequentiellen Logikkreises, wenn jedes der Vielzahl von Speicherelementen, die
jeweils den maximalen Grad des Abrufens der Abtastoperation besitzen, in ein
Abtastspeicherelement umgewandelt wird;
ein Steuerbarkeitsauswahlmittel (4, 1107) zur Auswahl der minimalen Steuerbarkeit
unter den Steuerbarkeiten, die von dem Berechnungsmittel (3, 1104-1106)
berechnet wurden; und
ein Elementauswahlmittel (4, 1107) zur Auswahl eines Speichere lementes, das der
minimalen Steuerbarkeit entspricht, die von dem Steuerbarkeitsauswahlmittel (4,
1107) ausgewählt wurde.
6. Verfahren zum Erzeugen eines Testmusters für einen sequentiellen
Logikkreis mit einer Vielzahl von Speicherelementen, die jeweils einen Logikwert von
einem Bit speichern, wobei die Logikwerte der Bits der Vielzahl von
Speicherelementen durch einen Zustand repräsentiert werden, wobei das Verfahren die
folgenden Schritte enthält:
Erzeugen (206) einer Kombination von ersten externen Eingabewerten, so daß ein
Übergangsverfahren von einem zweiten Zustand der Vielzahl von
Speicherelementen zu einem ersten Zustand von ihnen durchgeführt wird,
dadurch gekennzeichnet, daß das Verfahren weiterhin die folgenden Schritte
enthält:
Erzeugen (207) eines dritten Zustandes, der sich von dem zweiten Zustand durch
eine vorgegebene natürliche Zahl von Bits unterscheidet;
Erzeugen (207) einer Kombination von zweiten externen Eingabewerten, so daß ein
Übergangsverfahren von einem dritten Zustand der Vielzahl von Speicherelementen
in ihren ersten Zustand durchgeführt wird;
Erzeugen (210) eines vierten Zustandes, der sich vom ersten bis dritten Zustand
unterscheidet;
Erzeugen (210) einer Kombination von dritten externen Eingabewerten, so daß ein
Übergangsverfahren von einem vierten Zustand der Vielzahl von Speicherelementen
in ihren ersten Zustand durchgeführt wird; und
Einstellen (211) des vierten Zustandes als den ersten Zustand;
Speichern (208) von Namensdaten von Speicherelementen in dem Speichermittel,
die Bits verschiedener Zustände zwischen dem zweiten und dem dritten Zustand
entsprechen;
Einstellen (209) des dritten Zustandes als den ersten Zustand;
Erhöhen (212) eines Grades des Abrufens einer Abtastoperation für jedes der
Speicherelemente, wobei Namensdaten von ihnen in dem Speichermittel
gespeichert worden sind;
Auswählen (105) von Speicherelementen, die basierend auf dem Grad des
Abrufens der Abtastoperation abzutasten sind;
Umwandeln (106) der ausgewählten Speicherelemente in Abtastspeicherelemente;
und
Erzeugen (103) eines Testmusters für den sequentiellen Logikkreis, wenn die
ausgewählten Speicherelemente in Abtastspeicherelemente umgewandelt werden.
7. Verfahren nach Anspruch 6,
bei dem ein Verfahren von dem ersten externen Eingabewerterzeugungsschritt
(206) zu dem dritten Zustandseinstellschritt (208) mehrfach für eine Vielzahl von
Fehlern in dem sequentiellen Logikkreis durchgeführt wird.
8. Verfahren nach Anspruch 7,
bei dem der Abtastabrufgraderhöhungsschritt (212) einen Schritt des Erhöhens des
Grads des Abrufens der Abtastoperation für jedes Speicherelement enthält, wobei
Namensdaten von ihnen endgültig in dem Speichermittel gespeichert worden sind.
9. Verfahren nach Anspruch 7,
bei dem der Abtastspeicherelementauswahlschritt (105) die folgenden Schritte
enthält:
Berechnen (105) der Steuerbarkeiten einer Vielzahl der Speicherelemente, die
jeweils den maximalen Grad des Abrufens der Abtastoperation aufweisen;
Auswählen (105) der maximalen Steuerbarkeit unter den berechneten
Steuerbarkeiten; und
Auswählen (105) eines Speicherelementes, das der ausgewählten maximalen
Steuerbarkeit entspricht.
10. Verfahren nach Anspruch 7,
bei dem der Abtastspeicherelementauswahlschritt (105) die folgenden Schritte
enthält:
Berechnen (1104-1106) jeder Steuerbarkeit des sequentiellen Logikkreises, wenn
jedes der Vielzahl von Speicherelementen, die jeweils den maximalen Grad des
Abrufens der Abtastoperation besitzen, in ein Abtastspeicherelement umgewandelt
wird;
Auswählen (1107) der minimalen Steuerbarkeit unter den berechneten
Steuerbarkeiten; und
Auswählen (1107) eines Speicherelementes, das der ausgewählten minimalen
Steuerbarkeit entspricht.
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 |
---|---|
DE69220709D1 DE69220709D1 (de) | 1997-08-14 |
DE69220709T2 true DE69220709T2 (de) | 1997-11-06 |
Family
ID=27300844
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
DE69230477T Expired - Fee Related DE69230477T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
DE69220709T Expired - Fee Related DE69220709T2 (de) | 1991-04-16 | 1992-04-14 | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
DE69230477T Expired - Fee Related DE69230477T2 (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) | EP0730232B1 (de) |
JP (1) | JP3265614B2 (de) |
DE (4) | DE69230479T2 (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 |
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 |
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 |
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 |
US6873939B1 (en) | 2001-02-02 | 2005-03-29 | Rambus Inc. | Method and apparatus for evaluating and calibrating a signaling system |
US7490275B2 (en) * | 2001-02-02 | 2009-02-10 | Rambus Inc. | Method and apparatus for evaluating and optimizing 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 EP EP96107237A patent/EP0730232B1/de not_active Expired - Lifetime
- 1992-04-14 EP EP96107238A patent/EP0730233B1/de not_active Expired - Lifetime
- 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 DE DE69230478T patent/DE69230478T2/de not_active Expired - Fee Related
- 1992-04-14 DE DE69230477T patent/DE69230477T2/de not_active Expired - Fee Related
- 1992-04-14 EP EP92106403A patent/EP0509440B1/de not_active Expired - Lifetime
- 1992-04-14 DE DE69220709T patent/DE69220709T2/de not_active Expired - Fee Related
- 1992-04-15 US US07/868,737 patent/US5430736A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3265614B2 (ja) | 2002-03-11 |
EP0730233B1 (de) | 1999-12-22 |
EP0730232A2 (de) | 1996-09-04 |
EP0727744A2 (de) | 1996-08-21 |
EP0730232B1 (de) | 1999-12-22 |
EP0509440B1 (de) | 1997-07-09 |
EP0730232A3 (de) | 1996-12-27 |
EP0730233A3 (de) | 1996-12-18 |
EP0727744A3 (de) | 1996-12-27 |
EP0509440A1 (de) | 1992-10-21 |
JPH05113468A (ja) | 1993-05-07 |
EP0727744B1 (de) | 1999-12-22 |
US5430736A (en) | 1995-07-04 |
DE69230479T2 (de) | 2000-08-03 |
DE69230477T2 (de) | 2000-08-03 |
DE69230477D1 (de) | 2000-01-27 |
DE69230479D1 (de) | 2000-01-27 |
DE69230478D1 (de) | 2000-01-27 |
DE69220709D1 (de) | 1997-08-14 |
EP0730233A2 (de) | 1996-09-04 |
DE69230478T2 (de) | 2000-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69220709T2 (de) | Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu | |
DE69209404T2 (de) | Selbsttest integrierter Schaltungen mit hybriden Mustern | |
DE19937232B4 (de) | Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen | |
DE19526194C2 (de) | Verfahren zur Feststellung eines Fehlers eines ICs unter Verwendung eines Strahls geladener Teilchen | |
DE69107463T2 (de) | Integrierte Schaltung, System und Verfahren zur Fehlererzeugung. | |
DE19855488A1 (de) | Testmustergenerator mit verbesserter Testsequenzverdichtung | |
DE69117454T2 (de) | Verfahren und Gerät für die Fehlerdiagnose während Boundary-Scantests | |
DE3709032C2 (de) | ||
EP0144078A2 (de) | Verfahren und Anordnung zum Prüfen einer Schaltung nach der Abfragepfad-Technik | |
DE2349324A1 (de) | Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen | |
DE602004009329T2 (de) | Verfahren und system zum selektiven maskieren von testantworten | |
DE3819425A1 (de) | Anordnung zum automatischen pruefen von speichern | |
DE69126848T2 (de) | Integrierte Halbleiterschaltung | |
DE19950821A1 (de) | Bewertungssystem für integrierte Halbleiterschaltungen | |
DE2639323A1 (de) | System zur fehleranalysierung bei gedruckten schaltungsplatinen | |
DE69330479T2 (de) | Netzwerk mit eingebautem Selbsttest | |
DE112007001049T5 (de) | Prüfvorrichtung und Prüfverfahren | |
DE19700513A1 (de) | Mit CAD-Daten verknüpftes Halbleiterprüfsystem | |
DE60110199T2 (de) | Testzugriffs-portsteuerungsvorrichtung (tap) und verfahren zur beseitigung interner intermediärer abtastprüffehler | |
DE3587620T2 (de) | Logikanalysator. | |
DE69020155T4 (de) | Procede et appareil pour tester des circuits integres a grande integration. | |
EP0060321B1 (de) | Verfahren für eine rasche interne Logikprüfung an integrierten Schaltungen | |
DE69720157T2 (de) | System und Verfahren zur Prüfung elektronischer Geräte | |
DE2121330A1 (de) | Verfahren und Schaltungsanordnung zum Prüfen elektronischer digital arbeitender Geräte und ihre Bauteile | |
DE69830967T2 (de) | Verfahren und System zur Prüfung einer integrierten Schaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |