DE69829593T2 - Verfahren einer prüfsequenz-erzeugung - Google Patents

Verfahren einer prüfsequenz-erzeugung Download PDF

Info

Publication number
DE69829593T2
DE69829593T2 DE69829593T DE69829593T DE69829593T2 DE 69829593 T2 DE69829593 T2 DE 69829593T2 DE 69829593 T DE69829593 T DE 69829593T DE 69829593 T DE69829593 T DE 69829593T DE 69829593 T2 DE69829593 T2 DE 69829593T2
Authority
DE
Germany
Prior art keywords
test sequence
buffer
buffers
scan
buffer length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69829593T
Other languages
English (en)
Other versions
DE69829593D1 (de
Inventor
Toshinori Katano-shi Hosokawa
Mitsuyasu Katano-shi Ohta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69829593D1 publication Critical patent/DE69829593D1/de
Publication of DE69829593T2 publication Critical patent/DE69829593T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318392Generation of test inputs, e.g. test vectors, patterns or sequences for sequential circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • G01R31/318586Design for test with partial scan or non-scannable parts

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Design für eine Prüfbarkeit und eine Prüfsequenz-Erzeugung für integrierte Schaltungen (LSIs).
  • Ein Scan-Design ist ein herkömmlich verwendetes Design als ein typisches Design für eine Prüftechnologie. In einem Scan-Design-Verfahren werden Flip-Flops (FFs) in einer logisch-ausgelegten, integrierten Schaltung durch Scan-FFs ersetzt und können demzufolge gesteuert werden (scan-in) und beobachtet werden (scan-out), und zwar direkt von der Außenseite, und das Problem von sequenziellen Schaltungen wird zu demjenigen von kombinatorischen Schaltungen vereinfacht, und zwar für eine Erleichterung einer Testfolge-Erzeugung. Eine solche Technologie ist in Digital Systems Testing and Testable Design, Chapter 9, Design For Testability, veröffentlicht 1990 von Computer Science Press, beschrieben.
  • Ein Scan-Design kann in zwei Typen klassifiziert werden, nämlich in ein Voll-Scan-Design-Verfahren und ein Teil-Scan-Design-Verfahren. In dem ersteren Design-Verfahren werden alle FFs in einer Schaltung durch Scan-FFs ersetzt. Andererseits werden in dem letzteren Design-Verfahren nur einige FFs in einer Schaltung durch Scan-FFs ersetzt. Ein Verfahren zum Identifizieren (Auswählen) von Scan-FFs in einem Teil-Scan-Design ist vollständig in einer Veröffentlichung mit dem Titel "An Exact Algorithm for Selecting Partial Scan Flip-Flops", DAC (Design Automation Conference), Seiten 81–86, 1994, ebenso wie in deren Referenzen, diskutiert.
  • Weiterhin ist, um eine Sequenz-Erzeugung für sequenzielle Schaltungen zu testen, eine Prüfsequenz-Kompaktierung vollständig in einer Veröffentlichung mit dem Titel "Dynamic Test Compaction for Synchronous Sequential Circuits using Static Compaction Technique", FTCS ( Fault Tolerant Computing Symposium), Seiten 53–61, 1996, ebenso wie in deren Referenzen, beschrieben.
  • Die vorstehend angeführten Techniken nach dem Stand der Technik haben allerdings deren jeweilige Probleme. Ein herkömmliches Teil-Scan-Design-Verfahren ruft ein Problem dahingehend hervor, dass eine Identifizierung von FFs, die durch Scan-FF zu ersetzen sind, nicht immer möglich ist, um eine ausreichend hohe Fehler-Effektivität zu garantieren, d.h. 95% oder mehr. Zusätzlich ruft ein herkömmliches Prüfsequenz-Kompaktierungs-Verfahren für sequenzielle Schaltungen auch das Problem hervor, dass es schlecht in der Kompaktierungsrate ist.
  • Ein automatisches Testmuster-Erzeugungssystem ist in „PLANE: A New ATPG System for PLAs" von Huang J-D et al, Proceedings Asian Test Symposium, Being, China, Nov. 1993, IEEE Comput. Soc., 1993, beschrieben. Ein Kreuzungspunkt-Fehler-Modell wird zum Testen programmierbarer, logischer Felder angewandt. Ein Testwürfel – ein Testvektor, in dem ein Bit, nicht zugeordnet durch ATPG, als „don't care" bezeichnet ist – wird für einen Kreuzungspunkt-Fehler erzeugt und wird in einem Puffer einer finiten Länge gespeichert. Eine Test-Kompaktierung wird durch Kombinieren – falls möglich – von neu erzeugten Testwürfeln mit existierenden Testwürfeln erreicht, wenn neue Testwürfel zu dem Puffer hinzugefügt werden.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Test-Erzeugungsverfahren zu schaffen.
  • Diese wird durch die Merkmale des Anspruchs 1 gelöst.
  • Weitere Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
  • 1 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß einem ersten Beispiel, das für das Verständnis der vorliegenden Erfindung nützlich ist, darstellt.
  • 2 zeigt eine erläuternde Darstellung einer integrierten Schaltung (LSI), die ein Gegenstand des Verfahrens für einen prüfgerechten Entwurf wird.
  • 3(a)–(e) stellen Timeframe-Expansionen dar, wenn FF r1 der integrierten Schaltung der 2 als ein FF ausgewählt wird, das durch ein Nicht-Scan-FF zu ersetzen ist.
  • 4(a)–(d) stellen Timeframe-Expansionen dar, wenn ein FF r2 der integrierten Schaltung der 2 als ein FF ausgewählt wird, das durch ein Nicht-Scan-FF zu ersetzen ist.
  • 5 stellt eine Timeframe-Expansion dar, wenn ein FF r4 der integrierten Schaltung der 2 als ein FF ausgewählt wird, das durch ein Nicht-Scan-FF zu ersetzen ist.
  • 6 zeigt eine Darstellung eines Verfahrens für einen prüfgerechten Entwurf des ersten Beispiels, angewandt bei der integrierten Schaltung der 2.
  • 7(a) und 7(b) stellen jeweils UH-FFs dar.
  • 8 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer ersten Ausführungsform der Erfindung darstellt.
  • 9 zeigt ein Flussdiagramm, das die Details von Schritt SG11 der 8 darstellt.
  • 10(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der ersten Ausführungsform nützlich sind.
  • 11(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der ersten Ausführungsform nützlich sind.
  • 12(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens einer Prüfsequenz-Erzeugung der ersten Ausführungsform nützlich sind.
  • 13 zeigt ein Diagramm, das für das Verständnis des Verfahrens einer Prüfsequenz-Erzeugung der ersten Ausführungsform nützlich ist.
  • 14 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer zweiten Ausführungsform der Erfindung darstellt.
  • 15 zeigt ein Flussdiagramm, das die Details von Schritt SH13 der 14 darstellt.
  • 16(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zweiten Ausführungsform nützlich sind.
  • 17(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zweiten Ausführungsform nützlich sind.
  • 18(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zweiten Ausführungsform nützlich sind.
  • 19(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zweiten Ausführungsform nützlich sind.
  • 1 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren für einen prüfgerechten Entwurf gemäß einem ersten Beispiel, das zum Verständnis der vorliegenden Erfindung nützlich ist, darstellt. In 1 werden in einem Schritt SA1, als ein Voll-Scan-Schritt, alle die Flip-Flops (FFs) in einer bestimmten, integrierten Schaltung temporär als FFs ausgewählt, die durch Scan-FF ersetzt werden. Es ist anzumerken, dass ein solches FF temporär als FF ausgewählt wird, das durch Scan-FFs zu ersetzen ist. Es ist anzumerken, dass ein solches FF, temporär ausgewählt als FF, das durch ein Scan-FF zu ersetzen ist, nachfolgend als temporäres Scan-FF bezeichnet wird. An den Schritten SA2 bis SA8 wird, für jedes temporäre Scan-FF, geprüft, ob die vorgesehene, integrierte Schaltung eine n-fache Reihen- bzw. Line-up-Struktur besitzt oder nicht, unter der Annahme, dass jedes der temporären Scan-FFs als FF ausgewählt wird, das durch ein Nicht-Scan-FF ersetzt wird (Schritt SA7), und falls eine solche Prüfung zeigt, dass die vorgesehene, integrierte Schaltung eine n-fache Line-up-Struktur besitzt, wird das temporäre Scan-FF, das in Rede steht, temporär als ein FF ausgewählt, das durch ein Nicht-Scan-FF ersetzt wird. Am Schritt SA9 werden temporäre Scan-FFs, d.h. FFs, temporär ausgewählt als FFs, die durch Scan-FF zu ersetzen sind, und zwar durch die Schritte SA1 bis SA8, schließlich als Flip-Flops ausgewählt, die gegen ein Scan-FF ersetzt werden.
  • Eine n-fache Reihen- bzw. Line-up-Struktur bedeutet eine Schaltungs-Struktur, bei der alle Pfade zwischen einem Flip-Flop und einem Ausgang n, oder weniger, sequenzielle Tiefen haben. Eine Schaltung, die eine n-fache Line-up-Struktur-Schaltung besitzt, hat eine Charakteristik, bei der höchstens n identische FFs in einer Timeframe-Expansion in Bezug auf einen primären Ausgang existieren. Zum Beispiel besitzt eine 1-fache Line-up-Struktur (wenn n gleich zu 1 ist) eine Charakteristik so, dass die Zahl von identischen FFs "eins" in einer Timeframe-Expansion in Bezug auf einen primären Ausgang ist. Gemäß dem vorliegenden Beispiel wird das Auswählen von FFs, die durch Scan-FF zu ersetzen sind, vorgenommen, damit eine vorgesehene, integrierte Schaltung eine n-fache Line-up-Struktur besitzt, wobei ein Eingang und ein Ausgang eines FFs, das gegen ein Scan-FF ersetzt wird, als ein pseudo-primärer Ausgang und als ein pseudo-primärere Eingang, jeweils, angenommen werden.
  • SA2 ist der Schritt eines Erkennens eines Flip-Flops, das eine Selbst-Schleifen-Struktur besitzt. Wenn ein Flip-Flop, ausgewählt am Schritt SA4, als ein FF erkannt wird, das eine Selbst-Schleifen-Struktur besitzt, und zwar am Schritt SA2, kehrt der Vorgang zu Schritt SA3 (Schritt SA5) zurück. Mit anderen Worten wird Schritt SA7 für das FF weggelassen, das eine Selbst-Schleifen-Struktur besitzt, was das FF als temporäres Scan-FF verbleibend belässt.
  • Das Verfahren für einen prüfgerechten Entwurf dieses Beispiels wird unter Bezugnahme auf die 26 beschrieben. Hierbei ist n eine 1 in der n-fachen Line-up- Struktur, und im Schritt SA7 wird geprüft, ob eine vorgesehene, integrierte Schaltung eine 1-fache Line-up-Struktur besitzt.
  • 2 stellt eine vorgesehene, integrierte Schaltung (eine sequenzielle Schaltung) für das Verfahren für einen prüfgerechten Entwurf dieses Beispiels dar. A-E sind kombinatorische Schaltungen. r1-r4 sind Flip-Flops (FFs). PI1 und PI2 sind primäre Eingänge. PO1 und PO2 sind primäre Ausgänge. Zwischenverbindungen unter Elementen sind durch Pfeile dargestellt. Alle Taktanschlüsse von FF r1-FF r4 sind mit demselben Takteingang gekoppelt, wobei die Beschreibung davon in 2 weggelassen wird.
  • In Bezug auf ein temporäres Scan-FF werden sein Daten-Eingang und Ausgang als pseudo-primärer Ausgang und als pseudo-primärer Eingang, jeweils, angenommen. PPOi und PPIi stellen, jeweils, einen pseudo-primären Ausgang und einen pseudoprimären Eingang dar, wobei das Zeichen i für ein entsprechendes FF kennzeichnend ist. Zum Beispiel werden, falls FF r1 ein temporäres Scan-FF ist, sein Daten-Eingang und -Ausgang als ein pseudo-primärer Ausgang PPO1 und als ein pseudo-primärer Eingang PPI1, jeweils, angenommen.
  • Am Schritt SA1 werden alle Flip-Flops in 2, d.h. FF r1-r4, als temporäre Scan-FFs ausgewählt. Am Schritt SA2 wird die Schaltungs-Struktur von 2 analysiert und das Ergebnis zeigt, dass FF r3 das einzige FF ist, das eine Selbst-Schleifen-Struktur besitzt.
  • Nachfolgend werden die Schritte SA4-SA8 an jedem FF r1-r4 durchgeführt.
  • Am Schritt Sa4 wird FF r1 ausgewählt. Da FF r1 keine Selbst-Schleifen-Struktur besitzt, wird am Schritt SA6 FF r1 temporär als FF ausgewählt, das durch ein Nicht-Scan-FF zu ersetzen ist, und am Schritt SA7 wird die Schaltung geprüft, ob sie eine 1-fache Line-up-Struktur besitzt.
  • 3 stellt eine Timeframe-Expansion dar, wenn FF r1 temporär als FF ausgewählt wird, das durch ein Nicht-Scan-FF zu ersetzen ist. Am Schritt SA7c wird eine Timeframe-Expansion in Bezug auf den primären Ausgang PO1, ausgewählt am Schritt SA7b (3(a)), durchgeführt. Da dort kein FF in dem erweiterten Timeframe existiert, kehrt der Vorgang zu Schritt SA7a von Schritt SA7d zurück. Dann wird der primäre Ausgang PO2 ausgewählt und eine Timeframe-Expansion wird durchgeführt (3(b)). Da dort kein FF in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zurück zu Schritt SA7a. Dann wird der pseudo-primäre Ausgang PPO2 (d.h. der Daten-Eingang von FF r2 als ein temporäres Scan-FF) ausgewählt, und eine Timeframe-Expansion wird durchgeführt (3(c)). Da dabei nur ein FF r1 in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zurück zu Schritt SA7a. Dann wird der primäre Ausgang PPO3 (d.h. der Daten-Eingang von FF r3 als ein temporäres Scan-FF) ausgewählt und eine Timeframe-Expansion wird durchgeführt (3(d)). Da dabei nur ein FF r1 in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zu Schritt SA7a zurück. Dann wird der pseudo-primäre Ausgang PPO4 (d.h. der Daten-Eingang von FF r4 als ein temporäres Scan-FF) ausgewählt, und die Timeframe-Expansion wird durchgeführt (3(e)). Da dabei kein FF in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zurück zu Schritt SA7a. Die Timeframe-Expansion-Verarbeitung ist nun in Bezug auf alle primären Ausgänge und alle der pseudo-primären Ausgänge abgeschlossen. Der Vorgang kehrt deshalb zu Schritt SA3 zurück. Am Schritt SA4 wird ein nächstes FF ausgewählt.
  • Am Schritt SA4 wird FF r2 ausgewählt. Da FF r2 keine Selbst-Schleifen-Struktur besitzt, wird, am Schritt SA6, FF r2 temporär als ein FF ausgewählt, das durch ein Nicht-Scan-FF zu ersetzen ist. Schritt SA7 prüft, ob die Schaltung eine 1-fache Line-up-Struktur besitzt.
  • 4 stellt eine Timeframe-Expansion dar, wenn FF r2 temporär als ein FF ausgewählt ist, das durch ein Nicht-Scan-FF ersetzt wird. Am Schritt SA7c wird eine Timeframe-Expansion in Bezug auf den primären Ausgang PO1, ausgewählt am Schritt SA7b (4(a)), durchgeführt. Da dabei nur ein FF r1 und ein FF r2 in dem erweiterten Timeframe existiert, kehrt der Vorgang zu Schritt SA7a vom Schritt SA7d zurück. Dann wird der primäre Ausgang PO2 ausgewählt, und eine Timeframe-Expansion wird durchgeführt (4(b)). Da dabei kein FF in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zu Schritt SA7a zurück. Dann wird der pseudo-primäre Ausgang PPO3 ausgewählt, und die Timeframe-Expansion wird durchgeführt (4(c)). Da dabei nur ein FF r1 in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zu Schritt SA7a zurück. Dann wird der pseudo-primäre Ausgang PPO4 ausgewählt, und eine Timeframe-Expansion wird durchgeführt (4(d)). Da dabei nur ein FF r1 und nur ein FF r2 in dem erweiterten Timeframe existiert, kehrt der Vorgang wieder zu Schritt SA7a zurück. Eine Timeframe-Expansion-Verarbeitung ist nun in Bezug auf alle die primären Ausgänge und alle die pseudo-primären Ausgänge abgeschlossen. Der Vorgang kehrt deshalb zu Schritt SA3 zurück. Am Schritt SA4 wird ein nächstes FF ausgewählt.
  • Am Schritt SA4 wird FF r3 ausgewählt. Allerdings kehrt, da FF r3 bereits als ein FF erkannt wurde, das eine Selbst-Schleifen-Struktur besitzt, der Vorgang zu Schritt SA3 von Schritt SA5 zurück. Am Schritt SA4 wird ein nächstes FF ausgewählt.
  • Am Schritt SA4 wird FF r4 ausgewählt. FF r4 besitzt keine Selbst-Schleifen-Struktur. Dementsprechend wird, am Schritt SA6, FF r4 temporär als ein FF ausgewählt, das durch ein Nicht-Scan-FF ersetzt wird. Schritt SA7 prüft, ob die Schaltung eine 1-fache Line-up-Struktur besitzt.
  • 5 stellt eine Timeframe-Expansion dar, wenn FF r4 temporär als ein FF ausgewählt wird, das durch ein Nicht-Scan-FF ersetzt wird. Am Schritt SA7c wird eine Timeframe-Expansion in Bezug auf den Ausgangs-Anschluss PO1, ausgewählt am Schritt SA7b, durchgeführt. Dabei existieren zwei FFs r1 und zwei FFs r2 in dem erweiterten Timeframe, was bedeutet, dass die Schaltung keine 1-fache Line-up-Struktur besitzt. Der Vorgang geht weiter zu Schritt SA8 von Schritt SA7d, und FF r4 wird als ein temporäres Scan-FF ausgewählt.
  • Die Schritte SA4–SA8 sind für alle die FF r1-r4 durchgeführt worden. Die temporären Scan-FFs, d.h. FF r3 und FF r4, werden schließlich als Flip-Flops ausgewählt, die durch FFs ersetzt werden, am Schritt SA9, und der Vorgang ist abgeschlossen.
  • 6 stellt ein Ergebnis des Verfahrens eines prüfgerechten Entwurfs des vorliegenden Beispiels für die integrierte Schaltung der 2 dar. In 6 sind FF r3 und r4, die abschließend als Flip-Flops ausgewählt sind, um ersetzt zu werden, bereits durch Scan-FFs ersetzt. SI stellt einen Scan-In-Primär-Eingang dar. SO stellt einen Scan-Out-Primär-Ausgang dar. SE stellt einen Scan-Freigabe-Primär-Eingang dar. Ein Scan-Pfad ist so aufgebaut, dass er sich von dem Scan-In-Primär-Eingang SI zu dem Scan-Out-Primär-Ausgang SO mittels eines Scan-Eingangs DT und eines Scan-Ausgangs Q des Scan-FF r4 und eines Scan-Eingangs DTT und eines Scan-Ausgangs Q des Scan-FF r3 erstreckt.
  • Entsprechend dem vorliegenden Verfahren für einen prüfgerechten Entwurf werden FFs, die durch Scan-FFs ersetzt werden, bestimmt, damit eine sequenzielle Schaltung eine n-fache Line-up-Struktur besitzt, wodurch demzufolge eine hohe Fehler-Effektivität bei einer Scan-FF-Identifizierung garantiert werden kann.
  • Der beschriebene Algorithmus kann einfach bei Verfahren für einen prüfgerechten Entwurf für eine integrierte Schaltung, ausgelegt unter einem Register-Transfer-Level (RTL), angewandt werden. Zuerst wird ein Voll-Scan-Schritt durchgeführt, in dem alle Register in einer RTL-ausgelegten, integrierten Schaltung temporär als Register ausgewählt werden, um durch Scan-Register ersetzt zu werden. Dann wird ein Nicht-Scan-Register-Auswahl-Schritt durchgeführt, in dem, für jedes temporäre Scan-Register, ausgewählt durch den Voll-Scan-Schritt, geprüft wird, ob die RTL-ausgelegte, integrierte Schaltung eine n-fache Line-up-Struktur besitzt oder nicht, unter der Annahme, dass jedes Temporär-Scan-Register als ein Register ausgewählt ist, um durch ein Nicht-Scan-Register ersetzt zu werden, und falls eine solche Prüfung zeigt, dass die RTL-ausgelegten, integrierten Schaltungen eine n-fache Line-up-Struktur haben, wird jedes der Temporär-Scan-Register, das in Rede steht, temporär als ein Register ausgewählt, um durch ein Nicht-Scan-Register ersetzt zu werden. Und die Register, temporär ausgewählt als Register, die durch Scan-Register ersetzt werden, durch den Voll-Scan-Schritt und den Nicht-Scan-Register-Auswahlschritt, werden schließlich als Register ausgewählt, die durch Scan-Register ersetzt werden.
  • 8 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für eine Prüfsequenz-Erzeugung gemäß einer ersten Ausführungsform der vorliegenden Erfindung darstellt. Gemäß dem vorliegenden Verfahren einer Prüfsequenz-Erzeugung wird eine Prüfsequenz für eine gegebene Schaltung erzeugt, während sequenziell kompaktierungsmäßig Prüfsequenzen, erzeugt für jeweilige Fehler in Puffern, gespeichert werden.
  • In 8 ist SG1 der Schritt eines Prüfens der gegebenen Schaltung hinsichtlich einer Schleife. Bei dem Vorhandensein einer Schleife geht der Vorgang zu Schritt SG2, während beim Nicht-Vorhandensein einer Schleife der Vorgang zu Schritt SG3 übergeht. SG2 ist der Schritt eines Einstellens eines vorbestimmten Werts als Puffer-Länge, was einen einzelnen Puffer ergibt, der eine solche Puffer-Länge besitzt, und alle Daten davon zu "don't care" initialisiert. SG3 ist ein Schritt eines Einstellens eines Werts, erhalten durch Addieren von 1 zu der sequenziellen Tiefe der Schaltung als Puffer-Länge, was einen einzelnen Puffer ergibt, der eine solche Puffer-Länge besitzt, und Initialisieren aller Daten davon auf "don't care".
  • Nach Einstellen der Puffer-Längen an den Schritten SG2 oder SG3 wird die maximale Zahl von Puffern am Schritt SG4 angegeben.
  • SG5 ist der Schritt eines Bestimmens, ob die Prüfsequenz für jeden Fehler erzeugt worden ist (ATPG). Falls JA, schreitet der Vorgang weiter zu Schritt SG6, während dann, falls NEIN, der Vorgang zu Schritt SG7 fortschreitet. Am Schritt SG6 wird eine Fehler-Simulation unter Verwendung von allen Prüfsequenzen, gespeichert in einer Gruppe von Puffern, durchgeführt.
  • SG7 ist der Schritt eines Auswählens eines einzelnen Fehlers als ein Soll-Fehler, für den keine Prüfsequenzen erzeugt worden sind. SG8 ist der Schritt eines Erzeugens einer Prüfsequenz für den Soll-Fehler, ausgewählt am Schritt SG7.
  • SG9 ist der Schritt eines Bestimmens, ob die Prüfsequenz, erzeugt am Schritt SG8, eine größere Länge als eine Puffer-Länge, eingestellt am Schritt SG2 oder SG3, besitzt. Falls JA, geht der Vorgang weiter zu Schritt SG10, während dann, falls NEIN gilt, der Vorgang zu Schritt SG11 weitergeht. Es ist anzumerken, dass, ohne das Vorhandensein einer Schleife in der Schaltung, die Prüfsequenz-Länge nicht die Puffer-Länge übersteigt, die auf die sequenzielle Tiefe plus 1 am Schritt SG3 eingestellt ist. Am Schritt SG10 wird eine Fehler-Simulation unter Verwendung der erzeugten Prüfsequenz durchgeführt. Am Schritt SG11 wird die erzeugte Prüfsequenz kompaktierungsmäßig in dem Puffer gespeichert.
  • Die Details von Schritt SG11 werden später beschrieben.
  • SG12 ist der Schritt eines Bestimmens, ob die Zahl von Puffern größer als die maximale Zahl von Puffern, bezeichnet am Schritt SG4, bei der Kompaktierungs-Speicherung am Schritt SG11, ist. Falls JA, geht der Vorgang weiter zu Schritt SG13, während dann, falls NEIN gilt, der Vorgang zu Schritt SG5 zurückkehrt. Am Schritt SG13 wird eine Fehler-Simulation unter Verwendung einer Prüfsequenz, gehalten in einem Puffer, mit der minimalen Zahl von "don't cares", durchgeführt, und dieser Puffer wird gelöscht.
  • 9 zeigt ein Flussdiagramm, das die Details von Schritt SG11 der 8 darstellt. SG11a ist der Schritt eines Bestimmens, ob eine Kompaktierungs-Speicherung der Prüfsequenz, erzeugt am Schritt SG8, für jeden Puffer versucht worden ist. Falls die Kompaktierungs-Speicherung für jeden Puffer versucht worden ist, geht der Vorgang weiter zu Schritt SG11, während dann, wenn dies nicht der Fall ist, der Vorgang zu Schritt SG11b übergeht.
  • SG11b ist der Schritt eines Auswählens eines Puffers, für den die Kompaktierungs-Speicherung nicht versucht worden ist. SG11c ist der Schritt eines Bestimmens, ob eine Kompaktierungs-Speicherung an jeder Start-Position, für den Puffer, ausgewählt am Schritt SG11b, versucht worden ist. Falls JA, geht der Vorgang zurück zu Schritt SG11a, während dann, falls dies nicht der Fall ist, der Vorgang zu Schritt SG11d fortschreitet.
  • SG11d ist der Schritt eines Auswählens einer Start-Position, für die die Kompaktierungs-Speicherung versucht ist. Es ist möglich, (BL – TPL + 1) Start-Positionen pro Puffer auszuwählen, wobei BL die Puffer-Länge ist und TPL die Prüfsequenz-Länge ist.
  • SG11e ist der Schritt eines Bestimmens, ob eine Kompaktierungs-Speicherung in dem Puffer, ausgewählt am Schritt SG11b, erfolgreich von der Start-Position aus ist, ausgewählt am Schritt SG11d. Schritt SG11e bestimmt, ob die Prüfsequenz kompaktierungsmäßig gespeichert werden kann, basierend auf der Kompaktierungs-Regel, während die "0" der Prüfsequenz mit "0" oder "don't care" kompaktibel ist, allerdings nicht mit "1" im Puffer kompaktibel ist, und die "1" der Prüfsequenz mit "1" oder "don't care" kompaktibel ist, allerdings nicht mit einer logischen "0" im Puffer kompaktibel ist.
  • Wenn Schritt SG11e bestimmt, dass die Prüfsequenz kompaktierungsmäßig gespeichert werden kann, wird die Prüfsequenz kompaktierungsmäßig in dem Puffer, basierend auf den vorstehenden Kompaktierungs-Regeln, am Schritt SG11f gespeichert.
  • Wenn die Prüfsequenz nicht kompaktierungsmäßig in irgendeinem Puffer gespeichert werden kann, wird, am Schritt SG11g, ein neuer Puffer, in dem die Prüfsequenz zu speichern ist, zusätzlich vorgesehen. SG11h ist der Schritt eines Speicherns der Puffer aufgrund der Zahl von "don't care"s.
  • Das Verfahren einer Prüfsequenz-Erzeugung der 8 und der 9 wird unter Bezugnahme auf die 1013 beschrieben. Hierbei wird angenommen, dass die vorgesehene Schaltung keine Schleifen besitzt und eine sequenzielle Tiefe von 3 hat, und vier Fehler hat, d.h. FAULT-a, FAULT-b, FAULT-c und FAULT-d, als nicht erfasste Fehler. In den 1013 sind X1-X3 primäre Eingänge. A und B sind Puffer. In den Puffern stellt 0 einen logischen Wert "0" dar. 1 stellt einen logischen Wert "1" dar. X stellt "don't care" dar.
  • Da die vorgesehene Schaltung keine Schleife besitzt, wird, am Schritt SG3, ein Wert von 3, erhalten durch Addition von 1 zu der sequenziellen Tiefe, als Puffer-Länge eingestellt. Wie in 10(a) dargestellt ist, werden ein Puffer A, dessen Puffer-Länge 3 ist, erzeugt, und alle Daten von Puffer A werden auf "don't care" initialisiert. Am Schritt SG4 wird ein Wert von 2 als die maximale Zahl von Puffern bezeichnet.
  • Als nächstes wird, am Schritt SG8, eine Prüfsequenz für FAULT-a, ausgewählt am Schritt SG7, erzeugt. Am Schritt SG11 wird die Prüfsequenz, erzeugt für FAULT-a, kompaktierungsmäßig in dem Puffer A gespeichert. Eine solche Kompaktierungs-Speicherung ist erfolgreich basierend auf den vorstehenden Kompaktierungs-Regeln. 0 ist die einzige, mögliche Start-Position, da die Puffer-Länge gleich zu der Länge einer Prüfsequenz für FAULT-a ist, und, zusätzlich, alle Daten des Puffers A auf "don't care" initialisiert worden sind. Als eine Folge wird, wie in 10(b) dargestellt ist, die Prüfsequenz für FAULT-a kompaktierungsmäßig in dem Puffer A gespeichert.
  • Darauf folgend wird, am Schritt SG8, eine Prüfsequenz für FAULT-b, ausgewählt am Schritt SG7, erzeugt. Die Puffer-Länge ist gleich zu der Länge der Prüfsequenz für FAULT-a und 0 und ist deshalb die einzige, mögliche Start-Position. Wie in 11(a) dargestellt ist, ist der Kompaktierungs-Speicher, basierend auf den vorstehenden Kompaktierungs-Regeln, nicht erfolgreich. Ein neuer Puffer B, in dem die Prüfsequenz zu speichern ist, wird zusätzlich vorgesehen, wie dies in 11(b) dargestellt ist. Die Zahl von "don't care"s in dem Puffer A ist vier und die Zahl von "don't care"s in dem Puffer B ist fünf. Dementsprechend werden die Puffer A, B in der Reihenfolge von B, A sortiert.
  • Darauf folgend wird, am Schritt SG8, eine Prüfsequenz für FAULT-c, ausgewählt am Schritt SG7, erzeugt. Die Prüfsequenz, erzeugt für FAULT-c, besitzt eine Länge von 2, und 0 und 1 sind deshalb die einzigen möglichen Start-Positionen. Wie in 12(a) dargestellt ist, wird, basierend auf den vorstehenden Kompaktierungs-Regeln, eine Kompaktierungs-Speicherung der Prüfsequenz für sowohl den Puffer A als auch den Puffer B versucht. In dem Puffer B ist eine Kompaktierungs-Speicherung nicht erfolgreich, nicht nur dann, wenn die Start-Position eine 0 ist, sondern auch dann, wenn die Start-Position eine 1 ist. In dem Puffer A ist eine Kompaktierungs-Speicherung nicht erfolgreich, wenn die Start-Position eine 0 ist, allerdings erfolgreich, wenn die Start-Position eine 1 ist. Als Folge wird die Prüfsequenz, erzeugt für FAULT-c, kompakt in dem Puffer A in Bezug auf die Start-Position bei 1 (siehe 12(b)) erzeugt. Die Zahl von "don't care"s in dem Puffer A ist 1 und die Zahl von "don't care"s in dem Puffer B ist fünf. Dementsprechend werden die Puffer B, A in der Reihenfolge von B, A sortiert.
  • Darauf folgend wird, am Schritt SG8, eine Prüfsequenz für FAULT-d, ausgewählt am Schritt SG7, erzeugt. Die Länge der Prüfsequenz, erzeugt für FAULT-d, ist gleich zu der Puffer-Länge, und 0 ist deshalb die einzige, mögliche Start-Position. Basierend auf den vorstehenden Kompaktierungs-Regeln wird eine Kompaktierungs-Speicherung für die Prüfsequenz für beide Puffer A und B versucht. Eine Kompaktierungs-Speicherung ist nicht in beiden Puffern A und B erfolgreich. Ein neuer Puffer C, in dem die Prüfsequenz zu speichern ist, wird zusätzlich vorgesehen. Die Zahl von "don't care"s in dem Puffer A ist eins und die Zahl von "don't care" s in dem Puffer B ist fünf, und die Zahl von "don't care"s in dem Puffer C ist drei. Dementsprechend werden die Puffer A, B, C in der Reihenfolge von B, C, A sortiert.
  • Da die Zahl von Puffern 2 übersteigt, was die maximale Zahl von Puffern ist (Schritt SG12), wird jedes "don't care" zufällig mit entweder "0" oder "1" in einem Puffer mit der minimalen Anzahl von "don't care"s der Puffer A, B und C ersetzt, d.h. der Puffer A, um eine Fehler-Simulation auszuführen. Der Puffer A wird dann gelöscht, und der Puffer C, in dem die Prüfsequenz für FAULT-d gespeichert ist, dient nun als ein neuer Puffer A (Schritt SG13).
  • Da Prüfsequenzen für alle nicht erfassten Fehler erzeugt werden (Schritt SG5), wird jedes "don't care" zufällig gegen entweder "0" oder "1" in den Puffen A und B ersetzt, um eine Fehler-Simulation auszuführen (Schritt SG6).
  • Gemäß der vorliegenden Ausführungsform wird eine Kompaktierung dynamisch mit Puffern in der Prüfsequenz-Erzeugung durchgeführt. Dies ergibt eine Erzeugung von kürzeren Prüfsequenzen.
  • 14 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung darstellt. Gemäß dem vorliegenden Verfahren einer Prüfsequenz-Erzeugung wird eine Prüfsequenz für eine gegebene Schaltung erzeugt, während sequenziell kompaktierungsmäßig Prüfsequenzen, erzeugt für jeweilige Fehler, in Puffern gespeichert werden. Die vorliegende Ausführungsform ist in einem Algorithmus für eine Kompaktierungs-Speicherung von Prüfsequenzen im Puffer gegenüber der ersten Ausführungsform unterschiedlich.
  • In 14 ist SH1 der Schritt eines Prüfens der gegebenen Schaltung für eine Schleife. Bei dem Vorhandensein einer Schleife geht der Ablauf weiter zu Schritt SH2 über, während bei dem Nicht-Vorhandensein einer Schleife der Ablauf zu Schritt SH3 übergeht. SH2 ist der Schritt eines Einstellens eines vorbestimmten Werts L als Puffer-Länge und Bereitstellen von N Puffern, die eine solche Puffer-Länge L haben, wobei die Zahl N eine positive, ganze Zahl ist, und eines Initialisierens aller Daten davon auf "don't care". SH3 ist der Schritt eines Einstellens eines Werts, erhalten durch Addition von 1 zu der sequenziellen Tiefe der Schaltung als Puffer-Länge, und Bereitstellen von N Puffern, die eine solche Puffer-Länge haben, und Initialisieren aller Daten davon auf "don't care".
  • SH4 ist der Schritt einer Bestimmung, ob das "don't care" Verhältnis in den N Puffern eine vorbestimmte, obere Grenze P übersteigt. Falls das "don't care" Verhältnis die obere Grenze P übersteigt, und zwar am Schritt SH5, wird jedes "don't care" gegen entweder "0" oder "1" in den N Puffern ersetzt, um eine Fehler-Simulation auszuführen. Am Schritt SH6 werden alle Daten der Puffer auf "don't care" initialisiert. Dagegen geht dann, wenn das "don't care" Verhältnis nicht die obere Grenze P übersteigt, der Vorgang weiter zu Schritt SH7.
  • SH7 ist der Schritt einer Bestimmung, ob Prüfsequenzen für alle Fehler garantiert worden sind. Falls JA, am Schritt SH8, wird jedes "don't care" gegen entweder "0" oder "1" ersetzt, um eine Fehler-Simulation auszuführen.
  • SH9 ist der Schritt eines Auswählens eines einzelnen Fehlers als einen Soll-Fehler, für den keine Prüfsequenzen garantiert worden sind. SH10 ist der Schritt eines Erzeugens einer Prüfsequenz für den Soll-Fehler, ausgewählt am Schritt SH9.
  • SH11 ist der Schritt eines Bestimmens, ob die Prüfsequenz, erzeugt am Schritt SH10, eine größere Länge als die Puffer-Länge, eingestellt am Schritt SH2 oder SH3, besitzt. Falls JA, geht der Vorgang weiter zu Schritt SH12, während dann, falls NEIN vorliegt, der Vorgang zu Schritt SH13 weiter geht. Es ist anzumerken, dass beim Nicht-Vorhandensein einer Schleife in der Schaltung die Prüfsequenz-Länge nicht die Puffer-Länge übersteigt, die auf die sequenzielle Tiefe plus 1 am Schritt SH3 eingestellt ist. Am Schritt SH12 wird eine Fehler-Simulation mit der erzeugten Prüfsequenz durchgeführt. Im Schritt SH13 wird die erzeugte Prüfsequenz kompaktierungsmäßig in den N Puffern gespeichert. Die Details von Schritt SH13 werden später beschrieben. Schritt SH14 bestimmt, ob eine solche Kompaktierungs-Speicherung erfolgreich durchgeführt ist. Falls JA gilt, kehrt der Vorgang zu Schritt SH4 zurück, während dann, falls NEIN gilt, eine Fehler-Simulation unter Verwendung dieser Prüfsequenz am Schritt SH12 ausgeführt wird, bevor zum Schritt SH4 zurückgekehrt wird.
  • 15 zeigt ein Flussdiagramm, das die Details von Schritt SH13 der 14 darstellt. In 15 ist SH13a der Schritt eines Initialisierens einer Start-Position, i, auf 0. SH13b–SH13e sind die Schritte eines Bestimmens, ob die Prüfsequenz kompaktierungsmäßig in den N Puffern gespeichert werden kann, während die Start-Position i erhöht wird. Falls JA gilt, wird die Prüfsequenz kompaktierungsmäßig in den N Puffern gespeichert, während dann, falls NEIN gilt, die Bearbeitung abgeschlossen wird.
  • Das Verfahren einer Prüfsequenz-Erzeugung der 14 und der 15 wird unter Bezugnahme auf die 1619 beschrieben. Hierbei wird angenommen, dass eine vorgesehene Schaltung keine Schleifen besitzt und eine sequenzielle Tiefe von 2 besitzt. Die Zahl von Puffern N ist zwei. Die obere Grenze P des "don't care" Verhältnisses ist 60%. Die vorgesehene Schaltung besitzt vier Fehler, d.h. FAULT-a, FAULT-b, FAULT-c und FAULT-d, als nicht erfasste Fehler. In den 1619 sind X1-X3 primäre Eingänge. In Puffern stellt 0 einen logischen Wert "0" dar, 1 stellt einen logischen Wert "1" dar. X stellt "don't care" dar. Auch wird ein Satz von N Puffern als ein einzelner Puffer in dieser Ausführungsform angesehen.
  • Da die vorgesehene Schaltung keine Schleifen bei SH3 besitzt, wird ein Wert von 3, erhalten durch Addition von 1 zu der sequenziellen Tiefe, als Puffer-Länge eingestellt. Wie in 16(a) dargestellt ist, werden zwei Puffer, deren Puffer-Länge 3 ist, erzeugt. Diese zwei Puffer werden als ein einzelner Puffer angesehen, dessen Puffer-Länge 6 ist, wobei alle Daten, die darin gespeichert sind, auf "don't care" initialisiert werden.
  • Am Schritt SH4 wird bestimmt, ob das "don't care" Verhältnis die obere Grenze P übersteigt. Hier ist das "don't care" Verhältnis 0% und der Vorgang geht weiter zu Schritt SH7.
  • Als nächstes wird eine Prüfsequenz am Schritt SH10 für FAULT-a, ausgewählt am Schritt SH9, erzeugt. Am Schritt SH13 wird die Prüfsequenz, die so erzeugt ist, kompaktierungsmäßig in dem Puffer gespeichert. Wie in 16(a) dargestellt ist, ist eine solche Kompaktierungs-Speicherung erfolgreich, wenn die Start-Position 0 ist. Deshalb wird die erzeugte Prüfsequenz kompaktierungsmäßig so gespeichert, wie dies in 16(b) dargestellt ist. Das "don't care" Verhältnis ist 5/18, was kleiner als die obere Grenze P ist (= 60%).
  • Als nächstes wird eine Prüfsequenz am Schritt SH10 für FAULT-a, ausgewählt am Schritt SH9, erzeugt. Am Schritt SH13 wird die Prüfsequenz, die so erzeugt ist, kompaktierungsmäßig in dem Puffer gespeichert. Wie in 17(a) dargestellt ist, ist eine solche Kompaktierungs-Speicherung dann erfolgreich, wenn die Start-Position 1 ist. Deshalb wird die erzeugte Prüfsequenz kompaktierungsmäßig so gespeichert, wie dies in 17(b) gespeichert ist. Das "don't care" Verhältnis ist 8/18, was kleiner als die obere Grenze P ist (= 60%).
  • Als nächstes wird eine Prüfsequenz am Schritt SH10 für FAULT-c, ausgewählt am Schritt SH9, erzeugt. Am Schritt SH13 wird die Prüfsequenz, die so erzeugt ist, kompaktierungsmäßig in dem Puffer gespeichert. Wie in 18(a) dargestellt ist, ist eine solche Kompaktierungs-Speicherung dann erfolgreich, wenn die Start-Position 4 ist. Deshalb wird die erzeugte Prüfsequenz kompaktierungsmäßig so gespeichert, wie dies in 18(b) gespeichert ist. Das "don't care" Verhältnis ist 12/18, was größer als die obere Grenze P (= 60%) ist. Eine Fehler-Simulation wird entsprechend am Schritt SH5 durchgeführt und alle Puffer-Daten werden auf "don't care" am Schritt SH6 initialisiert.
  • Auf das Vorstehende folgend wird eine Prüfsequenz am Schritt SH10 für FAULT-d, ausgewählt am Schritt SH9, erzeugt. Am Schritt SH13 wird die Prüfsequenz, die so erzeugt ist, kompaktierungsmäßig in dem Puffer gespeichert. Wie in 19(a) dargestellt ist, ist eine solche Kompaktierungs-Speicherung dann erfolgreich, wenn die Start-Position 1 ist. Deshalb wird die erzeugte Prüfsequenz kompaktierungsmäßig so gespeichert, wie dies in 19(b) gespeichert ist. Das "don't care" Verhältnis ist 6/18, was kleiner als die oberer Grenze P (= 60%) ist.
  • Gemäß der vorliegenden Ausführungsform wird bestimmt, ob eine weitere Kompaktierungs-Speicherung erfolgreich entsprechend einem "don't care" Verhältnis in dem Puffer durchgeführt werden kann. Dies führt zu einer dynamischen Prüfsequenz-Kompaktierung mit einer hohen Effektivität. Zusätzlich wird es möglich, eine Kompaktierungs-Speicherung über eine Mehrzahl von Puffern unter Berücksichtigen einer Mehrzahl von Puffern als ein einzelner Puffer durchzuführen, wodurch sich demzufolge Kompaktierungs-Raten erhöhen.

Claims (3)

  1. Verfahren einer Prüfsequenz-Erzeugung für eine integrierte Schaltung, das aufweist: einen Pufferlängen-Einstellschritt (SG1–SG4, SH1–SH3) eines Einstellens einer Pufferlänge für einen Puffer zum Speichern einer Prüfsequenz; und einen Prüfsequenz-Kompaktierungsschritt (SG5–SG13, SH4–SH14) eines Erzeugens einer Prüfsequenz für die integrierte Schaltung, beim Durchführen einer Kompaktierungsspeicherung (SG11, SH12) von Prüfsequenzen für jeweilige Fehler sequenziell in Puffern, die die Pufferlänge, eingestellt in dem Pufferlängen-Einstellschritt (SG1–SG4, SH1–SH3), haben, dadurch gekennzeichnet, dass der Pufferlängen-Einstellschritt (SG1–SG4, SH1–SH3) die Schritte einer Prüfung (SG1, SH1) der integrierten Schaltung auf eine Schleife und eines Einstellens (SG2, SH2) eines vorbestimmten Werts als die Pufferlänge beim Vorhandensein einer Schleife und eines Einstellens (SG3, SH3) eines Werts, erhalten durch Addition von 1 zu der sequenziellen Tiefe der integrierten Schaltung, als die Pufferlänge beim Nichtvorhandensein einer Schleife, umfasst.
  2. Verfahren einer Prüfsequenz-Erzeugung nach Anspruch 1, wobei der Pufferlängen-Einstellschritt (SG1–SG4) der Schritt eines Vorsehens eines einzelnen Puffers, der die Pufferlänge besitzt, ist, und der Prüfsequenz-Kompaktierungsschritt (SG5–SG13) umfasst: einen ersten Schritt eines Erzeugens (SG7) einer Prüfsequenz für einen Fehler; einen zweiten Schritt eines Durchführens (SG11) einer Kompaktierungsspeicherung der Prüfsequenz, erzeugt an dem ersten Schritt (SG7), in dem bereits vorgesehenen Puffer, falls eine solche Kompaktierungsspeicherung erfolgreich ausgeführt wird, und, falls nicht, Vorsehen (SG11g) eines neuen Puffers, der die Pufferlänge besitzt, und Speichern der Prüfsequenz in dem neuen Puffer; und einen dritten Schritt eines Ausführens (SG13) einer Fehlersimulation durch Verwenden einer Prüfsequenz, gespeichert in einem Puffer, mit einer minimalen Zahl von „don't care's", wenn die Zahl von Puffern eine gegebene Grenze an dem zweiten Schritt (SG11) übersteigt, und eines Löschens des Puffers, wobei der erste bis dritte Schritt (SG7, SG11, SG13) für jeweilige Fehler iteriert werden.
  3. Verfahren einer Prüfsequenz-Erzeugung nach Anspruch 1, wobei der Pufferlängen-Einstellschritt (SH1–SH3) der Schritt eines Vorsehens einer gegebenen Zahl von Puffern, die die Pufferlänge besitzen, ist; und der Prüfsequenz-Kompaktierungsschritt (SH4–SH14) umfasst: einen ersten Schritt eines Erzeugens (SH10) einer Prüfsequenz für einen Fehler; einen zweiten Schritt eines Durchführens (SH13) einer Kompaktierungsspeicherung der Prüfsequenz, erzeugt in dem ersten Schritt (SH10), in der gegebenen Zahl von Puffern, falls eine solche Kompaktierungsspeicherung erfolgreich ausgeführt ist, und, falls nicht, Ausführen (SH12) einer Fehlersimulation unter Verwendung der Prüfsequenz; und einen dritten Schritt eines Ausführens (SH5) einer Fehlersimulation unter Verwendung der Prüfsequenz, gespeichert in der gegebenen Zahl von Puffern, wenn das „don't care" Verhältnis in der gegebenen Zahl von Puffern eine gegebene Grenze an dem zweiten Schritt (SH13) übersteigt, und eines Initialisierens (SH6) aller Daten in der gegebenen Zahl von Puffern auf „don't care", wobei der erste bis dritte Schritt (SH10, SH13, SH5, SH6) für jeweilige Fehler iteriert werden.
DE69829593T 1997-04-25 1998-04-24 Verfahren einer prüfsequenz-erzeugung Expired - Fee Related DE69829593T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10881397 1997-04-25
JP10881397 1997-04-25

Publications (2)

Publication Number Publication Date
DE69829593D1 DE69829593D1 (de) 2005-05-04
DE69829593T2 true DE69829593T2 (de) 2005-09-01

Family

ID=14494160

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69822694T Expired - Fee Related DE69822694T2 (de) 1997-04-25 1998-04-24 Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung
DE69829593T Expired - Fee Related DE69829593T2 (de) 1997-04-25 1998-04-24 Verfahren einer prüfsequenz-erzeugung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69822694T Expired - Fee Related DE69822694T2 (de) 1997-04-25 1998-04-24 Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung

Country Status (4)

Country Link
US (2) US6253343B1 (de)
EP (2) EP1306684B1 (de)
DE (2) DE69822694T2 (de)
TW (1) TW413757B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067105A (ja) * 1998-06-08 2000-03-03 Matsushita Electric Ind Co Ltd 集積回路の検査容易化設計方法
US6865706B1 (en) * 2000-06-07 2005-03-08 Agilent Technologies, Inc. Apparatus and method for generating a set of test vectors using nonrandom filling
US7051253B2 (en) * 2001-08-16 2006-05-23 Infineon Technologies Richmond Lp Pseudo fail bit map generation for RAMS during component test and burn-in in a manufacturing environment
JP3785388B2 (ja) * 2002-09-17 2006-06-14 松下電器産業株式会社 故障検出方法
US7676453B2 (en) * 2004-04-22 2010-03-09 Oracle International Corporation Partial query caching
US7263675B2 (en) * 2004-06-03 2007-08-28 Synopsys, Inc. Tuple propagator and its use in analysis of mixed clock domain designs

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4779273A (en) * 1984-06-14 1988-10-18 Data General Corporation Apparatus for self-testing a digital logic circuit
JPS61122582A (ja) 1984-11-20 1986-06-10 Fujitsu Ltd 半導体集積回路装置
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US5043986A (en) 1989-05-18 1991-08-27 At&T Bell Laboratories Method and integrated circuit adapted for partial scan testability
JP2616165B2 (ja) * 1989-07-12 1997-06-04 松下電器産業株式会社 検査入力生成方法および検査容易化設計方法
JP3265614B2 (ja) * 1991-04-16 2002-03-11 松下電器産業株式会社 検査系列生成方法
GB9121540D0 (en) 1991-10-10 1991-11-27 Smiths Industries Plc Computing systems and methods
US5377194A (en) 1991-12-16 1994-12-27 At&T Corp. Multiplexed coded modulation with unequal error protection
CZ383292A3 (en) 1992-02-18 1994-03-16 Koninkl Philips Electronics Nv Method of testing electronic circuits and an integrated circuit tested in such a manner
US5377197A (en) 1992-02-24 1994-12-27 University Of Illinois Method for automatically generating test vectors for digital integrated circuits
JPH0772223A (ja) 1993-07-01 1995-03-17 Matsushita Electric Ind Co Ltd 検査系列生成方法及び検査系列生成装置
US5675729A (en) 1993-10-22 1997-10-07 Sun Microsystems, Inc. Method and apparatus for performing on-chip measurement on a component
US5502647A (en) * 1993-12-01 1996-03-26 Nec Usa, Inc. Resynthesis and retiming for optimum partial scan testing
JPH07191102A (ja) 1993-12-27 1995-07-28 Matsushita Electric Ind Co Ltd 検査系列自動生成装置
JP2737637B2 (ja) 1994-03-02 1998-04-08 日本電気株式会社 論理回路検査装置
JPH07325131A (ja) 1994-06-02 1995-12-12 Matsushita Electric Ind Co Ltd 検査系列圧縮装置
JPH0815388A (ja) * 1994-06-27 1996-01-19 Matsushita Electric Ind Co Ltd 検査系列生成方法及び検査系列生成装置
US5623502A (en) * 1994-07-15 1997-04-22 National Semiconductor Corporation Testing of electronic circuits which typically contain asynchronous digital circuitry
US5668481A (en) 1995-02-23 1997-09-16 National Science Council Multiple pattern sequence generation based on inverting non-linear autonomous machine
US5726996A (en) 1995-09-18 1998-03-10 Nec Usa, Inc. Process for dynamic composition and test cycles reduction

Also Published As

Publication number Publication date
US6651206B2 (en) 2003-11-18
DE69822694D1 (de) 2004-05-06
EP1306684B1 (de) 2005-03-30
EP1306684A2 (de) 2003-05-02
TW413757B (en) 2000-12-01
EP1306684A3 (de) 2004-01-21
EP0874315B1 (de) 2004-03-31
US20020026611A1 (en) 2002-02-28
US6253343B1 (en) 2001-06-26
DE69829593D1 (de) 2005-05-04
EP0874315A1 (de) 1998-10-28
DE69822694T2 (de) 2004-08-12

Similar Documents

Publication Publication Date Title
DE60225898T2 (de) Mehrfacherfassungs-dft-system zum detektieren oder auffinden von überschreitenden taktbereichsfehlern während der selbstprüfung oder scan-prüfung
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
Pomeranz et al. COMPACTEST: A method to generate compact test sets for combinational circuits
Niermann et al. HITEC: A test generation package for sequential circuits
DE60030480T2 (de) Gerät und verfahren zum selektiven verdichten von testergebnissen
DE60116046T2 (de) Eingebaute Selbsttestschaltung mit einem Schieberegister mit linearer Rückkopplung
Cheng et al. Gentest: an automatic test-generation system for sequential circuits
Lin et al. On static test compaction and test pattern ordering for scan designs
DE69825299T2 (de) Verfahren und vorrichtung zur anwendung von gewichteten zufallsmustern bei teilabtastung
Jas et al. Hybrid BIST based on weighted pseudo-random testing: A new test resource partitioning scheme
US6922800B2 (en) Test sequences generated by automatic test pattern generation and applicable to circuits with embedded multi-port RAMs
DE19536203A1 (de) Fehlerdiagnoseverfahren für eine sequentielle Schaltung
Kundu Diagnosing scan chain faults
Ayari et al. A new dynamic test vector compaction for automatic test pattern generation
Kim et al. Multiple faults: Modeling, simulation and test
DE69829593T2 (de) Verfahren einer prüfsequenz-erzeugung
DE602004009784T2 (de) Datenkomprimierung
DE69333510T2 (de) Verfahren und Gerät zur Prüfsequenzgenerierung
DE19748016A1 (de) Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen
US5410548A (en) Test pattern fault equivalence
DE69830967T2 (de) Verfahren und System zur Prüfung einer integrierten Schaltung
DE10052721B4 (de) Integrierte Schaltung und Verfahren zum Testen einer integrierten Schaltung
US5528604A (en) Test pattern generation for an electronic circuit using a transformed circuit description
Amyeen et al. Implication and evaluation techniques for proving fault equivalence
DE4221435C2 (de) Elektronischer Baustein mit einer taktgesteuerten Schieberegisterprüfarchitektur (Boundary-Scan)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee