DE69822694T2 - Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung - Google Patents

Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung Download PDF

Info

Publication number
DE69822694T2
DE69822694T2 DE69822694T DE69822694T DE69822694T2 DE 69822694 T2 DE69822694 T2 DE 69822694T2 DE 69822694 T DE69822694 T DE 69822694T DE 69822694 T DE69822694 T DE 69822694T DE 69822694 T2 DE69822694 T2 DE 69822694T2
Authority
DE
Germany
Prior art keywords
flip
flops
scan
replaced
ffs
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
DE69822694T
Other languages
English (en)
Other versions
DE69822694D1 (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
Publication of DE69822694D1 publication Critical patent/DE69822694D1/de
Application granted granted Critical
Publication of DE69822694T2 publication Critical patent/DE69822694T2/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 einen Entwurf bzw. ein Design für eine Prüfbarkeit und eine Prüfsequenz 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), direkt von der Außenseite, und das Problem von sequenziellen Schaltungen wird zu demjenigen von kombinatorischen Schaltungen vereinfacht, und zwar für eine Testfolge-Erzeugungs-Anlage. 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.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung ist es, ein verbessertes Verfahren für einen prüfgerechten Entwurf zu schaffen, um eine hohe Fehlereffektivität beim Identifizieren von FFs zu garantieren, die durch Scan-FF ersetzt werden. Eine andere Aufgabe der Erfindung ist es, ein verbessertes Verfahren einer Prüfsequenz-Erzeugung zu schaffen, dazu geeignet, eine höhere Kompaktierungsrate im Vergleich zu Techniken nach dem Stand der Technik zu erreichen.
  • Diese Erfindung, wie sie im Anspruch 1 definiert ist, schafft ein Verfahren zum prüfgerechten Entwurf einer auf der Gatterebene entworfenen integrierten Schaltung, um eine Testmöglichkeit nach der Herstellung zu erhalten, aufweisend den Schritt eines Auswählens von Flip-Flops, die durch Scan-Flip-Flops ersetzt werden, unter Flip-Flops in der integrierten Schaltung, damit diese integrierte Schaltung eine n-fachen Line-up-Struktur besitzt.
  • Es ist bevorzugt, dass das Verfahren zum prüfgerechten Entwurf aufweist:
    einen Voll-Scan-Schritt eines temporären Auswählens aller Flip-Flops in der integrierten Schaltung als Flip-Flops, die durch Scan-Flip-Flops ersetzt werden; und
    einen Nicht-Scan-Flip-Flop-Auswahlschritt eines Prüfens, für jedes der Flip-Flops, temporär ausgewählt als Flip-Flops, die durch Scan-Flip-Flops ersetzt werden, durch den Voll-Scan-Schritt, das bedeutet ein temporäres Scan-Flip-Flop, ob nun die integrierte Schaltung eine n-fache Line-up-Struktur besitzt oder nicht besitzt, unter der Annahme jedes temporären Scan-Flip-Flops als Flip-Flops, um durch Nicht-Scan-Flip-Flops ersetzt zu werden, und temporäres Auswählen, wenn die integrierte Schaltung eine n-fache Line-up-Struktur durch diese Annahme besitzt, jedes temporären Scan-Flip-Flops als ein Scan-Flip-Flop, das gegen ein Nicht-Scan-Flip-Flop ersetzt wird,
    wobei die Flip-Flops, temporär ausgewählt als Flip-Flops, die durch Scan-Flip-Flops ersetzt werden, durch den Voll-Scan-Schritt und den Nicht-Scan-Flip-Flop-Auswahlschritt, schließlich als Flip-Flops ausgewählt werden, die durch Scan-Flip-Flops ersetzt werden.
  • Eine andere Ausführungsform der Erfindung schafft ein Verfahren zum prüfgerechten Entwurf zum Modifizieren eines Designs einer auf der Gatterebene entworfenen integrierten Schaltung, um eine Prüfbarkeit nach der Herstellung zu erhalten, aufweisend:
    einen ersten Schritt eines Auswählens, unter Erkennen eines Lade/Halte-Flip-Flops dahingehend, dass es keine Self-Loop- bzw. Selbst-Schleifen-Struktur besitzt, von Flip-Flops, die durch Scan-Flip-Flops unter Flip-Flops in der integrierten Schaltung ersetzt werden, damit die integrierte Schaltung eine n-fache Line-up-Struktur besitzt; und
    einen zweiten Schritt eines Auswählens von Flip-Flops, die durch Scan-Flip-Flops ersetzt werden, um so eine Prüfbarkeitkeit in Bezug auf Lade/Halte-Flip-Flops, in der integrierten Schaltung mit den Flip-Flops, zu erreichen, die durch im ersten Schritt ausgewählte Scan-Flip-Flops zu ersetzen sind.
  • Es ist bevorzugt, dass in dem Verfahren für einen prüfgerechten Entwurf der zweite Schritt umfasst:
    Durchführen einer Timeframe-Expansion, basierend auf der Zustand-Beurteilung von Lade/Halte-Flip-Flops, bezüglich der integrierten Schaltung mit den im ersten Schritt ausgewählten, durch Scan-Flip-Flops zu ersetzenden Flip-Flops, und Auswählen von Flip-Flops, die durch Scan-Flip-Flops aus der Timeframe-Expansion zu ersetzen sind.
  • Eine andere Ausführungsform der Erfindung schafft ein Verfahren für einen prüfgerechten Entwurf für eine integrierte Schaltung, das aufweist:
    einen Puffer-Längen-Einstellschritt zum Einstellen einer Puffer-Länge, für einen Puffer, zum Speichern einer Prüfsequenz; und
    einen Prüfsequenz-Kompaktierungsschritt einer Erzeugung einer Prüfsequenz für die integrierte Schaltung, beim Durchführen einer sequenziellen Kompaktierungs-Speicherung von Prüfsequenzen für jeweilige Fehler in Puffern, die eine Puffer-Länge haben, eingestellt in dem Puffer-Längen-Einstellschritt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß einer ersten Ausführungsform der Erfindung darstellt.
  • 2 zeigt eine erläuternde Darstellung einer integrierten Schaltung (LSI), die ein Gegenstand des Verfahrens für einen prüfgerechten Entwurf der ersten Ausführungsform 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 der ersten Ausführungsform, angewandt bei der integrierten Schaltung der 2.
  • 7(a) und 7(b) stellen jeweils L/H-FFs dar.
  • 8 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß einer zweiten Ausführungsform der vorliegenden Erfindung darstellt.
  • 9 zeigt ein Flussdiagramm, das die Details eines Schritts SB4 der 8 darstellt.
  • 10 zeigt eine Darstellung einer sequenziellen Schaltung, die Gegenstand des Verfahrens für einen prüfgerechten Entwurf der zweiten Ausführungsform wird.
  • 11 zeigt ein Diagramm, erhalten durch Bestimmen von FFs, die durch ein Scan-FF zu ersetzen sind, damit die sequenzielle Schaltung von 10 eine 2-fache Line-up-Struktur besitzt.
  • 12(a)(c) stellen einen Schritt SB4 an einem primären Ausgang PO1 dar, in Bezug auf die Schaltung der 11.
  • 13(a)(c) stellen einen Schritt SB4 an einem primären Ausgang PO2 dar, in Bezug auf die Schaltung der 11.
  • 14(a) und 14(b) stellen einen Schritt SB4 an einem pseudo-primären Ausgang PPO5 dar, in Bezug auf die Schaltung der 11.
  • 15(a) und (b) stellen einen Schritt SB4 an einem pseudo-primären Ausgang PPO3 dar, in Bezug auf die Schaltung der 11.
  • 16(a) und (b) stellen einen Schritt SB4 an einem pseudo-primären Ausgang PPO4 dar, in Bezug auf die Schaltung der 11.
  • 17(a)(c) stellen einen Schritt SB4 an einem pseudo-primären Ausgang PPO7 dar, in Bezug auf die Schaltung der 11.
  • 18 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren für einen prüfgerechten Entwurf gemäß einer dritten Ausführungsform der vorliegenden Erfindung darstellt.
  • 19(a) und (b) zeigen Darstellungen von sequenziellen Schaltungen, die Gegenstand des Verfahrens für einen prüfgerechten Entwurf der dritten Ausführungsform werden.
  • 20 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren für einen prüfgerechten Entwurf gemäß einer vierten Ausführungsform der Erfindung darstellt.
  • 21 zeigt ein Flussdiagramm, das die Details von Schritt SD4 der 20 darstellt.
  • 22(a) und (b) zeigen Darstellungen von sequenziellen Schaltungen, die ein Gegenstand des Verfahrens für einen prüfgerechten Entwurf der vierten Ausführungsform werden.
  • 23(a) und (b) stellen FFs dar, die eine Selbst-Schleifen-Struktur haben, und zeigen ein Diagramm, das ein Verfahren davon darstellt, wie expandierte, reine UH-FFs identifiziert werden.
  • 24(a) und (b) stellen FFs dar, die eine Selbst-Schleifen-Struktur haben, und zeigen ein Diagramm, das ein Verfahren darstellt, wie expandierte, reine UH-FFs identifiziert werden.
  • 25, umfassend die 25(a) und (b), stellt Timeframe-Expansionen der Schaltung der 23 dar, wobei 25(a) eine Darstellung einer normalen Timeframe-Expansion ist, während 25(b) eine Darstellung einer Timeframe-Expansion ist, die von einer Haltesignalleitung Gebrauch macht.
  • 26 zeigt eine erläuternde Darstellung einer sequenziellen Schaltung, die ein Gegenstand des Verfahrens für einen prüfgerechten Entwurf der vierten Ausführungsform wird.
  • 27(a)(c) zeigen Diagramme, die jeweils ein Anzeichen darüber geben, ob jedes FF1 und FF2 ein expandiertes, reines L/H-FF ist, unter Bezugnahme auf die Schaltung der 26.
  • 28(a)(d) sind Diagramme, die jeweils ein Anzeichen darüber geben, ob jedes FF3 und FF4 ein erweitertes, reines L/H-FF ist, unter Bezugnahme auf die Schaltung der 26.
  • 29(a) und (b) zeigen Diagramme, die Ergebnisse darstellen, erhalten unter Durchführen einer Ein-Timeframe-Expansion an dem primären Ausgang PO1, in Bezug auf die Schaltung der 26.
  • 30(a) und (b) zeigen Diagramme, die Ergebnisse darstellen, erhalten unter Durchführen, basierend auf den Ergebnissen der 29, einer nächsten Ein-Timeframe-Expansion.
  • 31 zeigte in Diagramm, das ein Ergebnis darstellt, erhalten unter Durchführen, basierend auf den Ergebnissen der 30, einer anderen, nächsten Ein-Timeframe-Expansion.
  • 32(a) und (b) stellen graphisch FF-Beziehungen, präpariert wie bei der Schaltung der 2, dar.
  • 33 stellt erreichbare Daten, präpariert basierend auf dem FF der 32(b), dar.
  • 34(a) und (b) stellen Timeframe-Expansionen dar, wenn ein FF r1 als ein FF ausgewählt wird, das durch ein Nicht-Scan-FF ersetzt wird, unter Bezugnahme auf das FF der 32(b).
  • 35(a) und (b) stellen Timeframe-Expansionen dar, wenn FF r2 als ein FF ausgewählt ist, das durch ein Nicht-Scan-FF ersetzt wird, unter Bezugnahme auf das FF der 32(b).
  • 36 stellt eine Timeframe-Expansion dar, wenn FF r4 als ein FF ausgewählt ist, das durch ein Nicht-Scan-FF ersetzt wird, unter Bezugnahme auf das FF der
  • 32(b).
  • 37 zeigt eine Darstellung einer logischen Schaltung, die ein Gegenstand eines Verfahrens für einen prüfgerechten Entwurf als eine siebte Ausführungsform der vorliegenden Erfindung wird.
  • 38 zeigt eine Darstellung eines Ergebnisses des Verfahrens für einen prüfgerechten Entwurf der siebten Ausführungsform, wenn es auf die Schaltung der 37 angewandt wird.
  • 39 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren für einen prüfgerechten Entwurf gemäß einer achten Ausführungsform der vorliegenden Erfindung darstellt.
  • 40 zeigt eine FF-Relations-Graphik, die eine Schaltung darstellt, die ein Gegenstand des Verfahrens für einen prüfgerechten Entwurf der achten Ausführungsform wird.
  • 41(a) zeigt ein Diagramm, erhalten durch Bestimmen von FFs, die durch Scan-FF zu ersetzen sind, in einer solchen Art und Weise, um eine 1-fache Line-up-Struktur auszuführen, unter Bezugnahme auf das FF der 40, und 41(b) stellt eine Timeframe-Expansion für das Ergebnis der 41(a) dar.
  • 42(a) zeigt ein Diagramm, erhalten durch Bestimmen von FFs, die durch Scan-FF zu ersetzen sind, in einer solchen Art und Weise, um eine 2-fache Line-up-Struktur auszuführen, unter Bezugnahme auf das FF der 40, und 42(b) stellt eine Timeframe-Expansion für das Ergebnis der 42(a) dar.
  • 43(a) zeigt ein Diagramm, erhalten durch Bestimmen von FFs, die durch Scan-FF zu ersetzen sind, in einer solchen Art und Weise, um eine 3-fache Line-up-Struktur auszuführen, unter Bezugnahme auf das FF der 40, und 43(b) stellt eine Timeframe-Expansion für das Ergebnis der 43(a) dar.
  • 44 zeigt ein Diagramm, das schematisch eine integrierte Schaltung darstellt, aufgebaut aus drei identischen Blöcken A.
  • 45(a) und (b) zeigen Flussdiagramme, die jeweils Vorgänge in einem Verfahren zum Auslegen einer Testbarkeit gemäß einer neunten Ausführungsform der Erfindung darstellen.
  • 46 stellt ein Ergebnis dar, erhalten unter Durchführen von Schritt SF1 der 45 in Bezug auf einen bestimmten Schaltungsblock.
  • 47 stellt ein Ergebnis dar, erhalten unter Durchführen von Schritt SF1 der 45 in Bezug auf einen bestimmten Schaltungsblock.
  • 48 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer zehnten Ausführungsform der Erfindung darstellt.
  • 49 zeigt ein Flussdiagramm, das die Details von Schritt SG11 der 48 darstellt.
  • 50(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zehnten Ausführungsform nützlich sind.
  • 51(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der zehnten Ausführungsform nützlich sind.
  • 52(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens einer Prüfsequenz-Erzeugung der zehnten Ausführungsform nützlich sind.
  • 53 zeigt ein Diagramm, das für das Verständnis des Verfahrens einer Prüfsequenz-Erzeugung der zehnten Ausführungsform nützlich ist.
  • 54 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer elften Ausführungsform der Erfindung darstellt.
  • 55 zeigt ein Flussdiagramm, das die Details von Schritt SH13 der 54 darstellt.
  • 56(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der elften Ausführungsform nützlich sind.
  • 57(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der elften Ausführungsform nützlich sind.
  • 58(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der elften Ausführungsform nützlich sind.
  • 59(a) und (b) zeigen Diagramme, die für das Verständnis des Verfahrens für eine Prüfsequenz-Erzeugung der elften Ausführungsform nützlich sind.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG AUSFÜHRUNGSFORM 1
  • 1 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren für einen prüfgerechten Entwurf gemäß einer ersten Ausführungsform der vorliegenden Erfindung 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 tempo rä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äß der vorliegenden Ausführungsform 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 dieser Ausführungsform 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 dieser Ausführungsform 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 der vorliegenden Ausführungsform 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 Algorithmus der vorliegenden Ausführungsform 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.
  • AUSFÜHRUNGSFORM 2
  • 7 stellt ein Lade/Halte-FF (L/H FF) dar. Wie in 7(a) dargestellt ist, schaltet das L/H FF zwischen einem Lade-Zustand und einem Halte-Zustand durch ein Lade/Halte-Signal, angelegt an seinen Lade/Halte-Auswahl-Eingang LH, um. In dem Lade-Zustand werden Daten an dem D-Eingang eingeladen, während in dem Halte-Zustand die momentan gehaltenen Daten fortgeführt gehalten werden. Die Verwendung von L/H FFs verringert Taktsignalleitungen und einen Energieverbrauch. Wie in 7(b) dargestellt ist, kann das L/H FF als eine Kombination einer Auswahleinrichtung und eines DFF beschrieben werden. Die Auswahleinrichtung wählt, unter Verwendung des Lade/Halte-Signals als ein Auswahlsignal, einen primären Eingang oder einen Ausgang der DFF aus und sieht vor, was auch immer ausgewählt ist. Der Ausgang der Auswahleinrichtung dient als ein Eingang der DFF. Mit anderen Worten besitzt das L/H FF eine Selbst-Schleifen-Struktur.
  • Gemäß einem Verfahren für einen prüfgerechten Entwurf der vorliegenden Ausführungsform wird ein Zustand, dass L/H FF eine Selbst-Schleifen-Struktur besitzt, dargestellt in 7, als ein FF erkannt, das keine Selbst-Schleifen-Struktur besitzt, wobei ein Teil-Scan-Design basierend auf der Zustand-Beurteilung von Lade/Halte-Flip-Flops durchgeführt wird.
  • 8 zeigt ein Flussdiagramm, das Vorgänge in dem Verfahren eines prüfgerechten Entwurfs gemäß der vorliegenden Ausführungsform darstellt. In 8 ist SB1 der Schritt eines Auswählens von FFs, die durch Scan-FFs ersetzt werden, damit eine vorgesehene, integrierte Schaltung eine n-fache Line-up-Struktur besitzt. Dieser Schritt SB1 ist ähnlich zu dem Verfahren für einen prüfgerechten Entwurf der ersten Ausführungsform, unterscheidet sich allerdings von dem Verfahren der ersten Ausführungsform wie folgt. Das bedeutet, dass, im Schritt SB1, eine Auswahl von FFs, die durch Scan-FFs ersetzt werden, vorgenommen wird, unter Erkennen von L/H FF als ein Flip-Flop, das keine Selbst-Schleifen-Struktur besitzt.
  • An den Schritten SB2 bis SB4 wird ein Teil-Scan-Design basierend auf der L/H FF Zustand-Beurteilung durchgeführt. Am Schritt SB3 wird ein Ausgang unter nicht behandelten, primären Ausgängen und pseudo-primären Ausgängen ausgewählt. Am Schritt SB4 wird eine Timeframe-Expansion, basierend auf der L/H FF Zustand-Beurteilung, in Bezug auf den Ausgang, ausgewählt am Schritt SB3, durchgeführt, um FFs auszuwählen, die durch Scan-FFs ersetzt werden. Wenn die Schritte SB3 und SB4 in Bezug auf alle primären Ausgänge und die pseudo-primären Ausgänge durchgeführt werden, wird das vorliegende Design für eine Testmöglichkeit abgeschlossen (Schritt SB2).
  • 9 zeigt ein Flussdiagramm, das die Details von Schritt SB4 in dem vorliegenden Verfahren eines prüfgerechten Entwurfs bzw. Designs zeigt, dargestellt in 8. An diesem Schritt SB4 wird die Bestimmung von FFs, die durch Scan-FFs ersetzt werden, vorgenommen, damit Prüfsequenzen in einer vorbestimmten Anzahl von Timeframes erzeugbar werden. In 9 ist SB4a der Schritt eines Einstellens von 1 als ein Anfangs-Wert für die Timeframe-Zahl i und zum Einstellen der oberen Grenze der Timeframe-Zahl i als eine Bestimmungs-Timeframe-Zahl t. SB4b ist der Schritt eines Bestimmens, ob eine Verarbeitung für Timeframes gleich in der Anzahl zu der Bestimmungs-Timeframe-Zahl t abgeschlossen ist. Falls sie abgeschlossen ist, dann geht der Vorgang zu Schritt SB4m über, während dann, falls dies nicht der Fall ist, der Ablauf zu SB4c übergeht. SB4c ist der Schritt eines Suchens nach dem momentanen Timeframe i entweder von dem primären Ausgang oder dem pseudo-primären Ausgang oder von dem Daten-Eingang eines FF, das in dem vorherigen Timeframe existiert. SB4d ist der Schritt eines Prüfens, ob ein FF in dem Timeframe i, gesucht am Schritt SB4c, existiert. Falls ein FF in dem Timeframe i existiert, geht der Vorgang weiter zu Schritt SB4e, während dann, falls dies nicht der Fall ist, der Vorgang abgeschlossen wird. SB4e ist der Schritt eines Zählens der Zahl von FFs in dem momentanen Timeframe i. SB4f ist der Schritt eines Prüfens, ob die Timeframe-Zahl i unterschiedlich zu der Bestimmungs-Timeframe-Zahl t ist, und dort existiert ein L/H FF in dem momentanen Timeframe i. Falls die Zahlen i und t nicht zueinander übereinstimmen und ein L/H FF in dem momentanen Timeframe i existiert, geht der Vorgang weiter zu Schritt SB4g. Falls dies nicht der Fall ist, kehrt der Vorgang zu Schritt SB4b über Schritt SB4I zurück. SB4g ist der Schritt eines Durchführens einer Zustand-Beurteilung in Bezug auf L/H FFs, die dahingehend vorgefunden sind, dass sie in dem momentanen Timeframe i existieren. SB4h ist der Schritt eines Prüfens, ob eine L/H FF Zustand-Beurteilung am Schritt SB4g erfolgt. Falls jede L/H FF Zustand-Beurteilung erfolgreich ist, geht der Vorgang weiter zu Schritt SB4i, während dann, wenn dies nicht der Fall ist, der Vorgang zu Schritt SB4j geht. SB4i ist der Schritt einer Bestimmung einer Such-Richtung in einem darauf folgenden Timeframe für ein erfolgreich im Zustand beurteiltes L/H FF. SB4j ist der Schritt eines Bestimmens aller der L/H FFs in dem momentanen Timeframe i als FFs, die durch ein Scan-L/H ersetzt werden. SB4k ist der Schritt eines Subtrahierens der Zahl von L/H FFs, bestimmt als FFs, die durch Scan-L/H FFs ersetzt werden, und zwar am Schritt SB4j, von der Zahl von FFs, umfasst in dem momentanen Timeframe i. SB4m ist der Schritt, eine Entscheidung vorzunehmen, dass alle FFs, die in einem Timeframe innerhalb einer minimalen Anzahl von FFs existieren, gezählt an den Schritten SB4d und SB4k, als FFs ausgewählt sind, die durch Scan-FFs ersetzt werden.
  • Nun wird ein Verfahren für einen prüfgerechten Entwurf der vorliegenden Ausführungsform, dargestellt in den 8 und 9, unter Bezugnahme auf die 10 bis 17 beschrieben.
  • 10 stellt eine sequenzielle Schaltung als ein Objekt der vorliegenden Erfindung für einen prüfgerechten Entwurf dar. A–I sind kombinatorische Schaltungen. r1–r7 sind FFs. PI1–PI4 sind primäre Eingänge. PO1–PO2 sind primäre Ausgänge. r3, r4, r6 und r7 sind L/H FFs. Jeder Pfeil stellt eine Zwischenverbindung unter diesen Elementen dar. Takte von FF r1-FF r7 werden alle zu demselben Takteingang gekoppelt, wobei die Beschreibung davon in 10 weggelassen ist.
  • Für die Schaltung der 10 bestimmt Schritt SB1 FFs, die durch FFs ersetzt werden, damit diese Schaltung eine n-fache Line-up-Struktur besitzt. 11 stellt ein Ergebnis dar, erhalten durch Bestimmen von FFs, die durch Scan-FFs ersetzt werden, damit die Schaltung der 10 eine 2-fache Line-up-Struktur besitzt. 11 stellt dar, dass nur FF r5 als ein FF ausgewählt ist, die durch ein Scan-FF ersetzt werden. Es ist anzumerken, dass, am Schritt SB1, L/H FFs r3, r4, r6 und r7 nicht als FFs ausgewählt sind, die durch Scan-FFs ersetzt werden, da sie nicht dahingehend erkannt sind, dass sie eine Selbst-Schleifen-Struktur haben.
  • An den Schritten SB2–SB4 wird, basierend auf der Zustand-Beurteilung von L/H FFs, ein Teil-Scan-Design für eine Schaltung, dargestellt in 11, durchgeführt. Am Schritt SB4 wird, gemäß dem Flussdiagramm der 9, ein Scannen basierend auf der L/H FF Zustand-Beurteilung durchgeführt, in Bezug auf primäre Ausgänge oder pseudoprimäre Ausgänge, ausgewählt am Schritt SB3. Am Schritt SB4 wird ein L/H FF als eine Schaltung angesehen, aufgebaut aus einer Auswahleinrichtung bzw. einem Selektor und einem DFF, dargestellt in 7(b). In diesem Fall ist ein Lade-Zustand eine Situation, dass der S Eingang der Auswahleinrichtung „0" ist, während ein Halte-Zustand eine Situation ist, dass der S Eingang der Auswahleinrichtung „1" ist. Hierbei ist am Schritt SB4a die Bestimmungs-Timeframe-Zahl t auf 3 gesetzt.
  • Am Schritt SB3 wird der primäre Ausgang PO1 ausgewählt, und Schritt SB4 wird ausgeführt.
  • 12 stellt die Verarbeitung am Schritt SB4 für den primären Ausgang PO1 dar. Wie in 12(a), dargestellt ist, wird die Suche von dem primären Ausgang PO1 durchgeführt, was dazu führt, zu L/H FFs r4, r6, zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 1 ist zwei (Schritt SB4e). Da die Timeframe-Zahl i eine 1 ist, und deshalb zu der Bestimmungs-Timeframe-Zahl t (= 3) unterschiedlich ist, existieren dort L/F FF r4 und L/H FF r6 in dem vorliegenden Timeframe (Schritt SB4f), wobei L/H FFs r4, r6 zustandsmäßig beurteilt werden (Schritt SB4g). Es wird hier angenommen, dass eine Zustand-Beurteilung von „0" an D Eingängen von FF r4, r6 mit Erfolg vorgenommen ist, und L/H FF r4 und L/H FF r6 werden dahingehend bestimmt, dass sie in einem Halte-Zustand und einem Lade-Zustand, jeweils, vorliegen. Als Such-Anweisung in dem nächsten Timeframe wird die Eingangs-Seite des Halte-Zustands für L/H FF r4 eingestellt und die Eingangs-Seite des Lade-Zustands wird für L/H FF r6 eingestellt (Schritt SB4i).
  • Wie in 12(b) dargestellt ist, werden die Halte-Zustand-Eingangs-Seite von L/H FF r4 und die Lade-Zustand-Eingangs-Seite von L/H FF r6 gesucht, was dazu führt, zu FF r1 – FF r4 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 2 ist vier (Schritt SB4e). Da die Timeframe-Zahl i eine 2 ist und deshalb von der Bestimmungs-Timeframe-Zahl t (= 3) unterschiedlich ist, und dort L/H FF r3 und L/H FF r4 in dem momentanen Timeframe existieren (Schritt SB4f), werden L/H FF r3 und L/H FF r4 zustandsmäßig beurteilt (Schritt SB4g). Es wird hier angenommen, dass eine „0" Zustand-Beurteilung an D Eingängen von FF r3, r4 nicht erfolgreich ist. In einem solchen Fall werden diese L/H FF r3 und L/H FF r4 als FFs ausgewählt, die durch Scan-FFs ersetzt wer den (Schritt SB4j), und die Zahl von FFs, vorhanden in dem momentanen Timeframe 2, wird von 4 herunter auf 2 reduziert.
  • Als nächstes wird, wie in 12(c) dargestellt ist, die Eingangs-Seite jedes FF r1 und FF r2 durchsucht, was dazu führt, keine FFs, sondern die primären Eingänge PI2 und Pi3, zu erhalten. Die Verarbeitung am Schritt SB4 für den primären Ausgang PO1 wird deshalb abgeschlossen (Schritt SB4d). Als Folge wird bestimmt, dass L/H FF r3 und L/H FF r4 solchen FFs sind, die durch Scan-FFs ersetzt werden.
  • Als nächstes wird der primäre Ausgang PO2 am Schritt SB3 ausgewählt, und die Verarbeitung am Schritt SB4 wird vorgenommen.
  • 13 stellt die Verarbeitung am Schritt SB4 für den primären Ausgang PO2 dar. Wie in 13(a) dargestellt ist, wird die Suche von dem primären Ausgang PO2 durchgeführt, was dazu führt, zu L/H FF r7 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 1 ist eins (Schritt SB4e). Da die Timeframe-Zahl i eine 1 ist, und deshalb von der Bestimmungs-Timeframe-Zahl t (= 3) unterschiedlich ist, und dort L/H FF r7 in dem momentanen Timeframe existiert (Schritt SB4f), wird das L/H FF r7 im Zustand beurteilt (Schritt SB4g). Es wird hier angenommen, dass eine logische „0" Zustand-Beurteilung mit Erfolg ausgeführt ist, und L/H FF r7 wird dahingehend bestimmt, dass es sich in einem Lade-Zustand befindet. Als eine Suchanweisung in dem nächsten Timeframe wird die Eingangs-Seite eines Lade-Zustands für L/H FF r7 eingestellt (Schritt SB4i).
  • Wie in 13(b) dargestellt ist, wird die Lade-Zustand-Eingangs-Seite von L/H FF r7 durchsucht, mit der Folge, zu FF r6 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 2 ist eins (Schritt SB4e). Da die Timeframe-Zahl i eine 2 ist und deshalb zu der Bestimmungs-Timeframe-Zahl t unterschiedlich ist, und dort L/H FF r6 in dem momentanen Timeframe existiert (Schritt SB4f), wird L/H FF r6 im Zustand beurteilt (Schritt SB4g). Es wird hier angenommen, dass eine logische „0" Zustand-Beurteilung mit Erfolg ausgeführt ist und L/H FF r6 dahingehend bestimmt ist, sich in dem Lade-Zustand zu befinden. Als eine Such-Anweisung in dem nächsten Timeframe wird die Eingangs-Seite des Lade-Zustands für L/H FF r6 eingestellt (Schritt SB4i).
  • Als nächstes wird, wie in 13(c) dargestellt ist, die Eingangs-Seite von L/H FF r6 in dem Lade-Zustand durchsucht, was dazu führt, zu FF r2 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 3 ist eins (Schritt SB4e). Da die Timeframe-Zahl i eine 3 ist und deshalb mit der Bestimmung-Timeframe-Zahl t übereinstimmt (Schritt SB4f), wird eine Timeframe-Expansion hier abgeschlossen (Schritt SB4b), und FFs, die in einem Timeframe mit der minimalen Anzahl von FFs existieren, werden als FFs bestimmt, die durch Scan-FFs ersetzt werden (Schritt SB4m). 13 stellt dar, dass jeder Timeframe ein FF besitzt, mit anderen Worten jeder Timeframe besitzt dieselbe Zahl von FFs. Dementsprechend wird FF r7 in dem Timeframe 1 als ein FF bestimmt, das durch ein Scan-FF ersetzt wird.
  • Als nächstes wird, am Schritt SB3, der pseudo-primäre Ausgang PPO5 (d. h. der Daten-Eingang von FF r5, ausgewählt als FF, das durch ein Scan-FF ersetzt wird, am Schritt SB1), ausgewählt, und der Schritt SB4 wird ausgeführt.
  • 14 stellt die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO5 dar. Wie in 14(a) dargestellt ist, wird eine Suche von dem pseudo-primären Ausgang PPO5 durchgeführt, was dazu führt, zu FF r2 zu gelangen (Schritt SB4c). Die Anzahl von FFs in diesem Timeframe 1 ist eins (Schritt SB4e). Da dieser Timeframe keine L/H FFs besitzt (Schritt SB4f), wird der nächste Timeframe expandiert. Wie in 14(b) dargestellt ist, wird, da eine Suche von der Eingangs-Seite von FF r2 zu keinen FFs führte, sondern zu dem primären Eingang PI3, wird die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO5 abgeschlossen (Schritt SB4d).
  • Als nächstes wird, am Schritt SB3, der pseudo-primäre Ausgang PPO3 (d. h. der Daten-Eingang eines DFF, ein L/H FF r3 bildend, als ein FF ausgewählt, das durch ein Scan-FF ersetzt wird, und zwar am Schritt SB4 für den primären Ausgang PO1) ausgewählt, und die Verarbeitung am Schritt SB4 wird ausgeführt.
  • 15 stellt die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO3 dar. Wie in 15(a) dargestellt ist, führt eine Suche von dem pseudo-primären Ausgang PPO3 dazu, zu FF r1 und FF r2 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 1 ist zwei (Schritt SB4e). Dabei existieren keine L/H FFs in dem Timeframe 1 (Schritt SB4f), und der nächste Timeframe wird deshalb gesucht. Wie in 15(b) dargestellt ist, wird, da eine Suche von der Eingangs-Seite jedes FF r1, r2 zu keinen FFs führt, sondern zu den primären Eingänge PI2 und PI3, die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO3 abgeschlossen (Schritt SB4d).
  • Als nächstes wird, am Schritt SB3, der pseudo-primäre Ausgang PPO4 (d. h. der Daten-Eingang eines DFF, ein L/H FF r4 bildend, als FF ausgewählt, das durch ein Scan- FF ersetzt wird, und zwar am Schritt SB4 für den primären Ausgang PO1), ausgewählt, und die Verarbeitung am Schritt SB4 wird ausgeführt.
  • 16 stellt die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO4 dar. Wie in 16(a) dargestellt ist, wird eine Suche von dem pseudo-primären Ausgang PPO4 durchgeführt, was dazu führt, zu FF r1 und FF r2 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe ist eine zwei (Schritt SB4e). Dabei existieren keine L/H FFs in dem Timeframe 1 (Schritt SB4f), und der Timeframe wird deshalb durchsucht. Wie in 16(b) dargestellt ist, wird, da die vorherige Suche der Eingangs-Seite jedes FF r1 und FF r2 zu keinen FFs führte, sondern zu den primären Eingängen PI2 und PI3, wird die Verarbeitung am Schritt SB4 in Bezug auf den pseudo-primären Ausgang PPO4 abgeschlossen (Schritt SB4d).
  • Als nächstes wird, am Schritt SB3, der pseudo-primäre Ausgang PPO7 (d. h. der Daten-Eingang eines DFF, L/H FF r7 bildend, wird als ein FF ausgewählt, das durch ein Scan-FF ersetzt wird, und zwar am Schritt SB4 für den primären. Ausgang PO2), und die Verarbeitung am Schritt SB4 wird durchgeführt.
  • 17 stellt die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO7 dar. Wie in 17(a) dargestellt ist, wird eine Suche von dem pseudo-primären Ausgang PPO7 durchgeführt, was dazu führt, zu FF r6 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe ist eins (Schritt SB4e). Da die Timeframe-Zahl i eine 1 ist und deshalb zu der Bestimmung-Timeframe-Zahl t unterschiedlich ist und dabei ein L/H FF r6 in dem momentanen Timeframe existiert (Schritt SB4f), wird L/H FF r6 im Zustand beurteilt (Schritt SB4g). Es wird hier angenommen, dass eine logische „0" Zustand-Beurteilung mit Erfolg ausgeführt wird, und es wird bestimmt, dass L/H FF r6 auf einen Lade-Zustand gesetzt ist. Als eine Such-Anweisung in dem nächsten Timeframe wird die Eingangs-Seite des Lade-Zustands für L/H FF r6 eingestellt.
  • Wie in 17(b) dargestellt ist, wird die Lade-Zustand Eingangs-Seite von L/H FF r6 durchsucht, um zu FF r1, r2 zu gelangen (Schritt SB4c). Die Zahl von FFs in diesem Timeframe 2 ist zwei (Schritt SB4e). Da dort keine L/H FFs in dem Timeframe 2 existieren, wird eine Suche für den nächsten Timeframe vorgenommen.
  • Wie in 17(c) dargestellt ist, führt eine Suche von der Innenseite jedes FF r1, r2 nicht zu FFs, sondern zu den primären Eingängen PI2 und PI3. Die Verarbeitung am Schritt SB4 für den pseudo-primären Ausgang PPO7 wird deshalb abgeschlossen.
  • Da die Verarbeitung am Schritt SB4 für alle primären Ausgänge und alle pseudoprimären Ausgänge abgeschlossen ist (Schritt SB2), ist das vorliegende Design bzw. der Entwurf für eine Prüfung abgeschlossen. Als Folge wird FF r5 als ein FF ausgewählt, das durch ein Scan-FF am Schritt SB1 ersetzt wird, und L/H FF r3, FF r4 und FF r7 werden als FFs ausgewählt, die durch Scan-FFs am Schritt SB4 ersetzt werden.
  • Wie vorstehend beschrieben ist, umfasst die vorliegende Ausführungsform ein Auswählen von FFs, die durch Scan-FFs ersetzt werden, damit eine integrierte Schaltung eine n-fache Line-up-Struktur besitzt, mit einem Erkennen von L/H FF als FF, das keine Selbst-Schleifen-Struktur besitzt, und Auswählen, basierend auf der L/H FF Zustand-Beurteilung, von FFs, die durch Scan-FFs ersetzt werden, damit Prüfsequenzen in einer vorbestimmten Anzahl von Timeframes erzeugt werden können. Eine solche Anordnung garantiert eine hohe Fehler-Effektivität für eine sequenzielle Schaltung, umfassend viele L/H FFs, beim Auswählen von FFs, die durch Scan-FFs ersetzt werden, und zwar unter einer relativ niedrigen Scan-Rate.
  • Hierbei ist der Zweck eines Zuordnens einer „0" an einer Mehrzahl von L/H FFs in einer Zustand-Beurteilung derjenige, zu bestimmen, ob jedes L/H FF im Zustand in einem Lade-Zustand oder in einem Halte-Zustand beurteilt ist. Demzufolge kann ein anderer, logischer Wert, anstelle einer „0", in einer Zustand-Beurteilung zugeordnet werden.
  • AUSFÜHRUNGSFORM 3
  • 18 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß einer dritten Ausführungsform der vorliegenden Erfindung darstellt. Wie in 18 dargestellt ist, ist SC1 der Schritt eines Auswählens von FFs, die durch Scan-FFs ersetzt werden, damit eine vorgesehene, integrierte Schaltung eine n-fache Line-up-Struktur besitzt, und ist ähnlich zu dem Schritt SB1 in der zweiten Ausführungsform. Mit anderen Worten werden, mit einem Erkennen von L/H FF als FF, die keine Selbst-Schleifen-Struktur hat, FFs, die durch Scan-FFs ersetzt werden, ausgewählt, so dass eine vorgesehene Schaltung eine n-fache Line-up-Struktur besitzt. L/H FFs, nicht ausgewählt als FFs, die durch Scan-FFs ersetzt werden, am Schritt SC1, werden hier als „reine L/H FFs" bezeichnet.
  • SC2 ist der Schritt eines Bestimmens, ob jeder Schritt SC3 und SC4 für alle reinen L/H FFs durchgeführt ist. Wenn die Schritte SC3 und SC4 für alle die reinen L/H FFs abgeschlossen sind, wird die Verarbeitung beendet. SC3 ist der Schritt eines Auswählens eines von unbehandelten, reinen L/H FFs. SC4 ist der Schritt eines Auswählens, als ein FF, das durch ein Scan-FF ersetzt wird, ein FF, erreichbar von dem Lade/Halte-Auswahl-Eingang des reinen L/H FF aus, ausgewählt am Schritt SC3, durch Hindurchlassen lediglich kombinatorische Schaltungen.
  • Das Verfahren für einen prüfgerechten Entwurf dieser Ausführungsform, dargestellt in 18, wird unter Bezugnahme auf 19 beschrieben.
  • 19 zeigt ein Diagramm, das eine sequenzielle Schaltung als einen Gegenstand des vorliegenden Verfahrens für einen prüfgerechten Entwurf darstellt. FF1–FF8 sind L/H FFs. FF9–FF15 sind normale FFS (Nicht-L/H FFS). A–D sind kombinatorische Schaltungen. PI1–PI8 sind primäre Eingänge. PO ist ein primärer Ausgang. Die kombinatorische Schaltung C ist ein 1-Hot-Decodierer, von dem nur ein Ausgang einen unterschiedlichen Wert gegenüber den anderen Ausgängen liefert.
  • Zuerst werden, am Schritt SC1, FFs, die durch Scan-FFs ersetzt werden, ausgewählt, damit die Schaltung der 19 eine n-fache Line-up-Struktur besitzt. Hierbei ist n gleich zu 1, das bedeutet FFs, die durch Scan-FFs ersetzt werden, werden so ausgewählt, dass die Schaltung der 19 eine 1-fache Line-up-Struktur-Schaltung besitzt. Zu diesem Zeitpunkt werden L/H FFs 1–8 dahingehend erkannt, dass sie keine Selbst-Schleifen-Struktur haben, was zu einem Auswählen nur von FF15 als ein FF führt, das durch ein Scan-FF ersetzt wird.
  • Als nächstes werden, am Schritt SC2–SC4, FF9–FF12 als FFs ausgewählt, die durch Scan-FFs ersetzt werden, da diese FF9–FF12 von den Lade/Halte-Auswahl-Eingängen von L/H FF1–FF8 durch Durchlaufen lediglich kombinatorische Schaltungen erreichbar sind.
  • Als Folge wird ein wahlweises Einstellen von Lade/Halte-Signalen über Scan-FF-Pfade, für L/H FF1–FF8, möglich. Deshalb können die meisten Fehler mit einem Lade-Zustand erfasst werden, was eine Prüfsequenz-Erzeugung erleichtert. Zusätzlich ist es, in einigen Schaltungs-Strukturen, möglich, die Scan-Rate weniger zu verringern, als alle L/H FFs als FFs auszuwählen, die durch Scan-FFs ersetzt werden, unter Ansehen von diesen dahingehend, dass sie Selbst-Schleifen-Struktur-FFs haben.
  • AUSFÜHRUNGSFORM 4
  • Eine vierte Ausführungsform der Erfindung ist das Verfahren eines Erlangens eines Lade-Zustand-Verhältnisses und eines Prüfens der Gültigkeit des Verfahrens für einen prüfgerechten Entwurf der dritten Ausführungsform durch das Lade-Zustand-Verhältnis. Das Lade-Zustand-Verhältnis drückt das Verhältnis von L/H FFs aus, die im Zustand mit einem Lade-Zustand zu allen L/H FFs beurteilt worden sind.
  • 20 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß der vierten Ausführungsform darstellen. SD1 ist der Schritt eines Auswählens von FFs, die durch Scan-FFs ersetzt werden, unter Verwendung des Verfahrens für einen prüfgerechten Entwurf der dritten Ausführungsform. SD2 ist der Schritt eines Einstellens eines Lade-Zustand-Verhältnis-Schwellwerts P und von Initialisierungswerten M und L, verwendet zum Erlangen eines Lade-Zustand-Verhältnisses. An den Schritten SD3 und SD4 wird eine Timeframe-Expansion, basierend auf der Zustand-Beurteilung von L/H FFs, durchgeführt, in Bezug auf jeden primären Ausgang und jeden pseudo-primären Ausgang, und die Werte M und L werden berechnet, wobei der Wert M die gesamte Anzahl von L/H FFs in dem erweiterten Timeframe ist und der Wert L die gesamte Anzahl von L/H FFs ist, die im Zustand mit einem Lade-Zustand beurteilt sind. Schritt SD5 ist der Schritt eines Bestimmens, ob die Lade-Zustand-Rate (d. h. L/M) größer als der Schwellwert P ist. Falls L/M größer als P ist, wird der prüfgerechte Entwurf von Schritt SD1 als gültig bestimmt, und das Ergebnis davon wird verwendet, während dann, wenn dies nicht der Fall ist, das Design für die Test-Fähigkeit von Schritt SD1 als ungültig bestimmt wird, und am Schritt SD6 wird ein anderer, prüfgerechter Entwurf, z. B. gemäß der zweiten Ausführungsform, basierend auf der L/H FF Zustand-Beurteilung, durchgeführt.
  • 21 zeigt ein Flussdiagramm, das die Details von Schritt SD4 des Verfahrens für einen prüfgerechten Entwurf, dargestellt in 20, darstellt. SD4a ist der Schritt eines Durchführens einer Ein-Timeframe-Expansion, in Bezug auf den primären Ausgang, ausgewählt am Schritt SD3, oder dem Eingang eines FF des vorherigen Timeframe. Für L/H FF wird, wenn es im Zustand mit dem Lade-Zustand beurteilt ist, eine Expansion in Bezug auf den Lade-Zustand-Eingang und den Auswahl-Eingang davon durchgeführt, während dann, wenn mit einem Halte-Zustand beurteilt wird, eine Expansion in Bezug auf den Halte-Zustand-Eingang und Auswählen des Eingangs davon durchgeführt wird. Falls Schritt SD4b zeigt, dass dort FFs in dem momentanen Timeframe existieren, geht der Vorgang weiter zu Schritt SD4c, während dann, falls dies nicht der Fall ist, Schritt SD4 beendet wird.
  • Am Schritt SD4c wird die Zahl von L/H FFs in dem momentanen Timeframe als m eingestellt, wobei dann der Vorgang zu SD4a zurückkehrt, wenn m gleich zu Null ist (Schritt SD4d). Am Schritt SD4e werden alle L/H FFs in dem momentanen Timeframe im Zustand beurteilt. Wenn eine solche Zustand-Beurteilung erfolgreich ist, wird die Zahl von L/H FFs, im Zustand beurteilt mit dem Lade-Zustand, als 1 am Schritt SD4g gesetzt, während dann, wenn sie nicht erfolgreich ist, 0 als 1 am Schritt SD4h gesetzt wird. Am Schritt SD4i wird m zu M hinzugefügt und 1 wird zu L hinzugefügt.
  • Die Lade-Zustand-Raten-Berechnung wird nun basierend auf den Schaltungen, dargestellt in den 19 und 22, beschrieben. Es ist anzumerken, dass der Lade-Zustand-Raten-Schwellwert P 80% ist.
  • Für die Schaltung von 19 wählt Schritt SD1 FF9–FF12 und FF15 als FFs aus, die durch Scan-FFs ersetzt werden, ähnlich zu der dritten Ausführungsform. Alle L/H FFs, die in dem Timeframe in Bezug auf den primären Ausgang PO erscheinen, d. h. FF1– FF8, können im Zustand mit dem Lade-Zustand beurteilt werden, da FF9–FF12 solche FFs sind, die durch Scan-FFs ersetzt werden. Weiterhin können alle L/H FFs, in dem Timeframe in Bezug auf den pseudo-primären Ausgang PPO15 erscheinen (der Eingang von FF15, ausgewählt als FF, das durch ein Scan-FF ersetzt wird), d. h. FF1–FF8 können im Zustand mit dem Lade-Zustand beurteilt werden, da FF9–FF12 solche FFs sind, die durch Scan-FFs ersetzt werden. Dementsprechend ist das Lade-Zustand-Verhältnis in diesem Fall 100% von UM = 16/16. Mit anderen Worten wird, da das Lade-Zustand-Verhältnis größer als der Schwellwert P ist, das Ergebnis von Schritt SD1 angewandt.
  • In 22 sind FF1–FF4 alle L/H FFs. FF5 und FF6 sind normale FFs (Nicht-L/H FFs). A–D sind kombinatorische Schaltungen. PI1–PI6 sind primäre Eingänge. PO ist ein primärer Ausgang. Es ist anzumerken, dass die kombinatorische Schaltung C einen 1-Hot-Decodierer darstellt.
  • Für die Schaltung der 22 wählt Schritt SD1 FF5 und FF6 aus, die von den Lade/Halte-Auswahl-Eingängen von FF1–FF4 erreichbar sind, die L/H FFs sind, durch Durchlaufen lediglich kombinatorischen Schaltungen als FFs, die durch Scan-FFs ersetzt werden. Eine Timeframe-Expansion wird in Bezug auf den primären Ausgang PO durchgeführt, und eine Zustand-Beurteilung wird für L/H FFs in dem erweiterten Timeframe durchgeführt, d. h. FF1–FF4. Da die kombinatorische Schaltung C ein 1-Hot-Decodierer, zum Beispiel, ist, ist FF1 im Zustand mit einem Lade-Zustand beurteilt, während die ande ren FFs (FF2–FF4) im Zustand mit einem Halte-Zustand beurteilt sind. In diesem Fall ist die Lade-Zustand-Rate 25% von L/M = 1/4. Mit anderen Worten wird, da die Lade-Zustand-Rate geringer als der Schwellwert P ist, das Ergebnis von Schritt SD1 nicht angewandt. Anstelle davon wird ein anderer prüfgerechter Entwurf, zum Beispiel ein Design zum Prüfen bzw. Testen, basierend auf der L/H FF Zustand-Beurteilung der zweiten Ausführungsform, am Schritt SD6 durchgeführt.
  • AUSFÜHRUNGSFORM 5
  • Gemäß einer fünften Ausführungsform der Erfindung wird ein Vorschritt an einer vorgesehenen Schaltung vor dem Verfahren für einen prüfgerechten Entwurf der zweiten oder dritten Ausführungsform durchgeführt. Genauer gesagt wird ein Vorschritt durchgeführt, um ein FF zu erkennen, das eine Selbst-Schleifen-Struktur, eine andere als L/H FF, besitzt, und dazu geeignet ist, im Zustand ohne Zuordnen von Werten zu seinem eigenen Ausgang beurteilt zu werden, und zwar als erweitertes, reines L/H FF. Dann wird das Verfahren für einen prüfgerechten Entwurf der zweiten oder der dritten Ausführungsform unter der Annahme eines solchen erweiterten, reinen L/H FF als L/H FF durchgeführt. Als eine Folge einer solchen Anordnung ist es möglich, die Scan-Rate für die Schaltung, umfassend eine große Anzahl von FFs, die eine Selbst-Schleifen-Struktur haben, eine andere als die L/H FFs, zu reduzieren.
  • Ein Verfahren zum Erkennen eines erweiterten, reinen L/H FF wird beschrieben.
  • Die 23 und 24 stellen FFs dar, die eine Selbst-Schleifen-Struktur haben, und werden zum Erläutern verwendet, wie erweiterte, reine L/H FFs erkannt werden.
  • In 23(a) ist das Einstellen einer „0" als ein Eingang, nicht eine Schleife durchführend, eines UND-Gatters 1b ausreichend, um einen logischen Wert „0" an einem D-Eingang von FF1a zu beurteilen. Auch ist, unter Bezugnahme auf 23(b), das Einstellen einer „1" an Eingängen, die keine Schleife durchführen, eines UND-Gatters 1b und eines ODER-Gatters 1c, ausreichend, um einen logischen Wert „1" an dem D-Eingang von FF1a zu beurteilen. Mit anderen Worten kann FF1a im Zustand beurteilt werden, wobei dessen Q-Ausgang nicht einem Wert zugeordnet wird. In einem solchen Fall wird FF1a als ein erweitertes, reines L/H FF erkannt.
  • In 24(a) ist das Einstellen von „0" an einem Eingang, der keine Schleife bildet, eines UND-Gatters 2b ausreichend, um einen logischen Wert „0" an dem D-Eingang von FF2a zu beurteilen. Wie 24(b) zeigt, wird es erforderlich, um einen logischen Wert „1" an dem D-Eingang von FF2a zu beurteilen, nicht nur einen Eingang, der keine Schleife eines UND-Gatters 2b, sondern auch einen Eingang eines NOT-Gatters 2c bildete, erforderlich, um „1" einzustellen, wodurch es demzufolge notwendig wird, eine „0" zu dem Q-Ausgang von FF2a zuzuordnen. In einem solchen Fall wird FF2a nicht als ein erweitertes, reines L/H FF erkannt.
  • Eine Halte-Signal-Leitung wird für FF, erkannt als ein erweitertes, reines L/H FF, definiert. Nach einer Zustand-Beurteilung eines logischen Werts „0" wird die erste Signal-Leitung, an der der logische Wert nicht eingestellt ist, in der Suche von dem D-Eingang über die Schleife, als eine O-Halte-Signal-Leitung definiert. Auch wird, nach einer Zustand-Beurteilung eines logischen Werts „1", die erste Signal-Leitung, an der der logische Wert nicht in der Suche von dem D-Eingang über die Schleife vorhanden ist, als eine 1-Halte-Signal-Leitung definiert. Danach wird die O-Halte-Signal-Leitung oder die 1-Halte-Signal-Leitung, welche auch immer weiter von dem D-Eingang weg ist, als eine Halte-Signal-Leitung für das erweiterte, reine L/H FF definiert. Zum Beispiel ist, in dem Fall der 23, die 0 Halte-Signal-Leitung eine Signal-Leitung 1d, die den Ausgang des ODER-Gatters 1c und den Eingang des UND-Gatters 1b verbindet, und die 1 Halte-Signal-Leitung ist eine Signal-Leitung 1e, die den Q-Ausgang von FF1a und den Eingang eines ODER-Gatters 1c verbindet. Die 0 Halte-Signal-Leitung 1d oder die 1-Halte-Signal-Leitung 1e, welche auch immer weiter von dem D-Eingang entfernt ist, d. h. die 1-Halte-Signal-Leitung 1e, wird als eine Halte-Signal-Leitung für das erweiterte, reine L/H FF1a definiert.
  • Die Aufgabe eines Definierens einer Halte-Signal-Leitung ist diejenige, ein Timeframe-Expansions-Ergebnis in einer finiten Anzahl von Timeframes zu haben. 25 stellt eine Timeframe-Expansion der Schaltung, dargestellt in 23, dar. Während 25(a) eine normale Timeframe-Expansion darstellt, stellt 25(b) eine Timeframe-Expansion unter Verwendung einer Halte-Signal-Leitung dar. In der normalen Timeframe-Expansion, dargestellt in 25(a), werden Timeframes infinit für die Schaltung, die eine Schleife besitzt, erweitert. Dementsprechend sind, um eine finite Zahl von Timeframes zu erreichen, FFs, die Selbst-Schleifen-Strukturen haben, dahingehend erforderlich, dass sie als FF ausgewählt werden, das durch ein Scan-FF ersetzt wird. Andererseits verschwand, in der Timeframe-Expansion, die eine Halte-Signal-Leitung verwendet, dargestellt in 25(b), wenn ein erweitertes, reines L/H FF im Zustand mit einem Lade-Zustand beurteilt ist, ein solches FF per se in einem darauf folgenden Timeframe unter Durchführen keiner Halte-Signal-Leitungs-Expansion. Dies führt zu einer definiten Zahl von Timeframes, was es möglich macht, FFs auszuwählen, die durch Scan-FFs ersetzt werden.
  • 26 zeigt ein Diagramm, das eine sequenzielle Schaltung darstellt, die ein Gegenstand des vorliegenden Verfahrens für einen prüfgerechten Entwurf ist. FF1–FF4 sind FFs, die Selbst-Schleifen-Strukturen haben. FF5–FF11 sind FFs, die keine Selbst-Schleifen-Strukturen haben. PI1–PI3 sind primäre Eingänge. PO ist ein primärer Ausgang. A und B sind kombinatorische Schaltungen.
  • Zunächst wird, für die sequenzielle Schaltung der 26, der Vorschritt durchgeführt, um zu bestimmen, ob jedes FF1–FF4, das eine Selbst-Schleifen-Struktur besitzt, ein erweitertes, reines L/H FF ist oder nicht.
  • Wie in 27(a) dargestellt ist, ist FF1 nicht als ein erweitertes, reines L/H FF erkannt, da „0" zu dem Q-Eingang in einer „0" Zustand-Beurteilung an dem D-Eingang zugeordnet werden muss. Auch wird, wie in den 27(b) und (c) dargestellt ist, FF2 als ein erweitertes, reines L/H FF, da irgendein Wert nicht dem Q-Ausgang zugeordnet werden muss, in nicht nur einer „0" Zustand-Beurteilung, sondern auch in einer „1" Zustand-Beurteilung, an dem D-Eingang, erkannt. Eine 0 Halte-Signal-Leitung 3a, die sich weiter weg von dem D-Eingang befindet, wird als eine Halte-Signal-Leitung für FF2 definiert.
  • Wie in den 28(a) und (b) dargestellt ist, wird FF3 als ein erweitertes, reines L/H FF erkannt, da irgendein Wert nicht dem Q-Ausgang, in nicht nur einer „0" Zustand-Beurteilung, sondern auch in einer „1" Zustand-Beurteilung, an dem D-Eingang, zugeordnet werden muss. Eine 0 Halte-Signal-Leitung 4a, die sich weiter weg von dem D-Eingang befindet, wird als eine Halte-Signal-Leitung für FF3 definiert. Wie in den 28(c) und (d) dargestellt ist, wird FF4 als ein erweitertes, reines L/H FF erkannt, da irgendein Wert nicht dem Q-Ausgang in nicht nur einer „0" Zustand-Beurteilung, sondern auch einer „1" Zustand-Beurteilung, an dem D-Eingang, zugeordnet werden muss. Eine 0-Halte-Signal-Leitung 5a, die sich weiter weg von dem D-Eingang befindet, wird als eine Halte-Signal-Leitung für FF4 definiert.
  • Als nächstes wird das Verfahren für einen prüfgerechten Entwurf der zweiten Ausführungsform, dargestellt in 8, für die Schaltung von 26 durchgeführt. Hier bei wird Schritt SB1 unter der Annahme von FF2–FF4, erkannt als erweiterte, reine L/H FFs in dem Vorschritt als FFs, die keine Selbst-Schleifen-Strukturen haben, durchgeführt.
  • Zunächst werden, am Schritt SB1, FFs, die durch Scan-FFs ersetzt werden, ausgewählt, damit die Schaltung der 26 eine 1-fache Line-up-Struktur hat. Hierbei wird FF1, das eine Selbst-Schleifen-Struktur hat und nicht als ein erweitertes, reines L/H FF in dem Vorschritt erkannt wird, als ein FF ausgewählt, das durch ein Scan-FF ersetzt wird.
  • Als zweites wird ein Schritt SB4 in Bezug auf den primären Ausgang PO durchgeführt. Hierbei ist eine Bestimmungs-Timeframe-Zahl t drei.
  • 29 stellt eine Ein-Timeframe-Expansion (Zeit T) in Bezug auf den primären Ausgang PO dar. Wie in 29(a) dargestellt ist, ist die Zahl von FFs in diesem Timeframe drei, da FF2–FF4 existieren. Wie in 29(b) dargestellt ist, wird eine „0" Zustand-Beurteilung an den D-Eingängen von FF2–FF4, erkannt als erweiterte, reine L/H FFs, durchgeführt. Es wird beurteilt, dass FF2 und FF3 Zustände waren, beurteilt mit einem Lade-Zustand, da es nicht notwendig ist, irgendeinen Wert zu deren eigenen Ausgängen zuzuordnen. Und es wird beurteilt, dass FF4 im Zustand mit dem Halte-Zustand beurteilt war, da es unnötig ist, eine „0" zu dessen eigenem Ausgang zuzuordnen.
  • 30 stellt eine nächste Ein-Timeframe-Expansion (Zeit T-1) in Bezug auf den primären Ausgang PO dar. Wie in 30(a) dargestellt ist, ist die Zahl von FFs in diesem Timeframe sechs, da FF4 und FF7–FF11 existieren. Wie in 30(b) dargestellt ist, wird die „0" Zustand-Beurteilung an dem D-Eingang von FF4, erkannt als ein erweitertes, reines L/H FF, durchgeführt. Es wird beurteilt, dass FF4 im Zustand mit einem Lade-Zustand beurteilt war, da es nicht notwendig ist, irgendeinen Wert seinem eigenen Q-Ausgang zuzuordnen.
  • 31 stellt eine weitere, nächste Ein-Timeframe-Expansion (Zeit T-2) in Bezug auf den primären Ausgang PO dar. Wie in 31 dargestellt ist, ist die Zahl von FFs in diesem Timeframe zwei, da FF10 und FF11, die keine Selbst-Schleifen-Strukturen haben, existieren. Drei Timeframes werden in Bezug auf den primären Ausgang PO erweitert, und FF10 und FF11, die in dem Timeframe der Zeit T-2 mit der minimalen Anzahl von FFs existieren, werden als FFs ausgewählt, die durch Scan-FFs ersetzt werden.
  • Herkömmlich werden die FFs mit Selbst-Schleifen-Struktur als FFs ausgewählt, die durch Scan-FFs ersetzt werden, um eine hohe Fehler-Effektivität zu garantieren. Andererseits wird, gemäß der vorliegenden Ausführungsform, das Verfahren für einen prüfge rechten Entwurf gemäß der zweiten Ausführungsform durchgeführt, unter der Annahme eines FFs, das eine Selbst-Schleifen-Struktur besitzt, allerdings erkannt als ein erweitertes, reines L/H FF als ein L/H FF. Dies verringert die Scan-Rate, was eine hohe Fehler-Effektivität der Schaltung beibehält, einschließlich vieler FFs, die Selbst-Schleifen-Strukturen haben, andere als L/H FF. Ein Verfahren für einen prüfgerechten Entwurf für Schaltungen, in denen erweiterte, reine L/H FFs erkannt sind, ist nicht auf dasjenige der zweiten Ausführungsform beschränkt. Zum Beispiel kann das Verfahren für einen prüfgerechten Entwurf der dritten Ausführungsform anstelle desjenigen der zweiten Ausführungsform verwendet werden.
  • AUSFÜHRUNGSFORM 6
  • In einer sechsten Ausführungsform der Erfindung wird eine FF-Relations-Graphik als ein Vorschritt des Verfahrens für einen prüfgerechten Entwurf der ersten Ausführungsform präpariert. Die FF-Relations-Graphik stellt die Zwischenverbindungs-Beziehung, erreichbar durch Durchlaufen lediglich kombinatorische Schaltungen, unter FFs, primären Eingängen, und primären Ausgängen in der vorgesehenen, integrierten Schaltung, dar. Eine Timeframe-Expansion wird durchgeführt, um FFs auszuwählen, die durch Scan-FFs ersetzt werden, und zwar basierend auf der FF-Relations-Graphik. Dies verringert den Umfang einer Berechnung für eine Timeframe-Expansion sehr stark.
  • Auch werden, als ein Vorschritt des Verfahrens für einen prüfgerechten Entwurf der ersten Ausführungsform, ein erreichbarer, primärer Ausgang und ein erreichbarer, pseudoprimärer Ausgang für ein FF gefunden. Und erreichbare FFs, die zu Pfaden von dem FF zu dem erreichbaren primären Ausgang oder dem erreichbaren pseudo-primären Ausgang gehören, werden aufgefunden. Hierbei werden Daten über erreichbare, primäre Ausgänge, erreichbare, pseudo-primäre Ausgänge und erreichbare FFs für jeweilige FFs als „erreichbare Daten" bezeichnet. Beim Prüfen, ob die integrierte Schaltung eine n-fache Lineup-Struktur besitzt oder nicht, unter der Annahme eines temporären Scan-FF als ein FF, das durch ein Nicht-Scan-FF zu ersetzen ist, wird eine Timeframe-Expansion durchgeführt, unter Bezugnahme auf die erreichbaren Daten, und zwar nur in Bezug auf den erreichbaren primären Ausgang und den erreichbaren pseudo-primären Ausgang für das temporäre Scan-FF, und ein Daten-Eingang eines temporären Scan-FF unter erreichbarer; Flip-Flops für das temporäre Scan-FF. Dies verringert den Umfang einer Berechnung für eine Timeframe-Expansion sehr stark.
  • Die 32(a) und (b) sind FF-Relations-Graphiken, präpariert für eine sequenzielle Schaltung von 2. r1–r4 sind FFs. PI1 und PI2 sind primäre Eingänge. PO1 und PO2 sind primäre Ausgänge. Die FF-Relations-Graphik von 32(a) stellt die sequenzielle Schaltung von 2 so dar, wie sie ist. Indem eine Selbst-Schleifen-Struktur vorliegt, wird FF r3 als ein FF ausgewählt, das durch ein Scan-FF ersetzt wird. Dann kann, wie in 32(b) dargestellt ist, FF r3 von der FF-Relations-Graphik gelöscht werden, und ein pseudo-primärer Ausgang PPO3 ersetzt den Eingang von FF r3, und ein pseudo-primärer Eingang PPI3 ersetzt den Ausgang von FF r3.
  • 33 stellt erreichbare Daten, präpariert basierend auf der FF-Relations-Graphik der 32(b), dar. Die erreichbaren Daten von 33 zeigen, dass, für FF r1, PO1 ein erreichbarer, primärer Ausgang ist, PO3 ein erreichbarer, pseudo-primärer Ausgang ist und FF r2, r4 erreichbare FFs sind.
  • Basierend auf der FF-Relations-Graphik von 32(b) und den erreichbaren Daten von 33, wird das Verfahren für einen prüfgerechten Entwurf der ersten Ausführungsform, dargestellt in 1, durchgeführt. Hierbei prüft Schritt SA7, ob die Schaltung eine 1-fache Line-up-Struktur besitzt.
  • Am Schritt SA1 werden alle der FFs in der FF-Relations-Graphik von 32(b), d. h. FF r1, r2 und r4, temporär als FFs ausgewählt, die durch Scan-FFs ersetzt werden. FFs ri, ausgewählt als FFs, die durch Scan-FFs ersetzt werden, werden als ein pseudoprimärer Ausgang PPOi und ein pseudo-primärerer Eingang PPIi angenommen.
  • 34 stellt eine Timeframe-Expansion beim Auswählen von FF r1 als ein FF dar, das durch ein Nicht-Scan-FF zu ersetzen ist. Die erreichbaren Daten von 33 zeigen, dass PO1 der einzige, erreichbare, primäre Ausgang ist, und PPO3 der einzige, erreichbare pseudo-primäre Ausgang für FF r1 ist. Wie in den 34(a), (b) dargestellt ist, wird eine Timeframe-Expansion in Bezug auf PO1 und PO3, jeweils, durchgeführt. Zusätzlich zeigen die erreichbaren Daten von 33, dass FF r2, r4 erreichbare FFs für FF r1 sind, und FF r1, r2 temporäre Scan-FFs sind. Wie in 34(c), (d) dargestellt ist, wird eine Timeframe-Expansion in Bezug auf die Daten-Eingänge von FF r2, r4 durchgeführt, d. h. die pseudo-primären Ausgänge PPO2 und PPO4, jeweils. Keine Timeframe-Expansion wird in Bezug auf primäre Ausgänge oder pseudo-primäre Ausgänge, andere als PO1, PPO2, PPO3 und PPO4, durchgeführt. Zwei oder mehr identische FFs erscheinen nicht in jedem erweiterten Timeframe, was bedeutet, dass diese Schaltung eine 1-fache Line-up-Struktur besitzt. Dementsprechend wird FF r1 temporär als ein FF ausgewählt, das durch ein Nicht-Scan-FF zu ersetzen ist.
  • 35 stellt eine Timeframe-Expansion beim Auswählen von FF r2 als ein FF dar, das durch ein Nicht-Scan-FF zu ersetzen ist. Die erreichbaren Daten von 33 stellen dar, dass PO1 der einzige, erreichbare, primäre Ausgang für FF r2 ist. Wie in 35(a) dargestellt ist, wird eine Timeframe-Expansion in Bezug auf PO1 durchgeführt. Zusätzlich stellen die erreichbaren Daten von 33 dar, dass FF r4 ein erreichbares FF für FF r2 ist, und FF r4 ist ein temporäres Scan-FF. Wie in 35(b) dargestellt ist, wird eine Timeframe-Expansion in Bezug auf den Daten-Eingang von FF r4 durchgeführt, d. h. der pseudo-primäre Ausgang PPO4. Keine Timeframe-Expansion wird in Bezug auf primäre Ausgänge oder pseudo-primäre Ausgänge, andere als PO1 und PPO4, durchgeführt. Zwei oder mehr identische FFs erscheinen nicht in jedem erweiterten Timeframe, was bedeutet, dass diese Schaltung eine 1-fache Line-up-Struktur besitzt. Dementsprechend wird eine temporäre Bestimmung vorgenommen, dass FF r2 ein FF ist, das durch ein Nicht-Scan-FF zu ersetzen ist.
  • 36 stellt eine Timeframe-Expansion beim Auswählen von FF r4 als ein FF dar, das durch ein Nicht-Scan-FF zu ersetzen ist. Die erreichbaren Daten von 33 stellen dar, dass PO1 der einzige, erreichbare, primäre Ausgang für FF r4 ist. Dementsprechend wird eine Timeframe-Expansion in Bezug auf PO1 durchgeführt. Zwei FF r1s und zwei FF r2s erscheinen in dem erweiterten Timeframe, was bedeutet, dass die Schaltung keine 1-fache Line-up-Struktur besitzt. Dementsprechend wird FF r4 als ein temporäres Scan-FF ausgewählt.
  • Als Folge der vorstehend beschriebenen Verarbeitung werden FF r3, r4 als temporäre Scan-FFs ausgewählt. Diese FFs r3, r4 werden schließlich als Flip-Flops ausgewählt, die durch Scan-Flip-Flops ersetzt werden.
  • Gemäß der vorliegenden Ausführungsform wird eine Timeframe-Expansion für eine FF-Relations-Graphik, aufgebaut aus drei Gattern, anstelle einer sequenziellen Schaltung mit neun Gattern, durchgeführt. Zusätzlich reduziert die Verwendung der erreichbaren Daten die Zahl einer Timeframe-Expansion von zehn herunter auf sieben. Dies verringert den Umfang einer Berechnung für eine Timeframe-Expansion sehr stark.
  • Auch reduziert, für den anderen, prüfgerechten Entwurf, die Verwendung der FF-Relations-Graphik den Umfang einer Berechnung sehr stark.
  • AUSFÜHRUNGSFORM 7
  • Eine siebte Ausführungsform der Erfindung ist auf ein Verfahren für einen prüfgerechten Entwurf einer logischen Schaltung gerichtet, die eine integrierte Schaltung ist, ausgelegt unter einem Gatter-Level. Dieses Verfahren eines Auswählen von FFs, die durch Scan-FF zu ersetzen sind, damit, beim Annehmen von Daten-Eingängen und Daten-Ausgängen von FFs, die durch Scan-FFs jeweils ersetzt werden, als pseudo-primäre Ausgänge und als pseudo-primäre Eingänge, die Zahl von Gattern geringer als oder gleich zu n in den jeweiligen Pfaden von einem primären Eingang oder einem pseudo-primären Eingang zu einem primären Ausgang oder pseudo-primären Ausgang sein kann, wobei n Null oder eine natürliche Zahl ist.
  • Das Verfahren für einen prüfgerechten Entwurf dieser Ausführungsform wird unter Bezugnahme auf 37 beschrieben. 37 stellt eine vorgesehene, logische Schaltung für das Verfahren eines prüfgerechten Entwurfs dieser Ausführungsform dar. FF1–FF7 sind Flip-Flops. PI1 und PI2 sind primäre Eingänge. PO ist ein primärer Ausgang. Hierbei werden, für die Schaltung der 37, FFs, die durch Scan-FFs ersetzt werden. ausgewählt, damit die Zahl von Gattern geringer als oder gleich zu sechs in jeweiligen Pfaden für den primären Eingang oder den pseudo-primären Eingang, zu dem primären Ausgang oder dem pseudo-primären Ausgang, sein kann.
  • Die Schaltung der 37 umfasst zwei Schleifen, nämlich eine Schleife 1 von FF1→FF5→FF6→FF1, wobei die Zahl von Gattern zehn ist, und eine Schleife 2 von FF2→FF5→FF2, wobei die Zahl von Gattern 2 ist. Hierbei werden, um die Schleife 1 mit mehr Gattern als die Schleife 2 zu unterbrechen, FFs, die durch Scan-FFs ersetzt werden, ausgewählt.
  • Es wird angenommen, dass FF1 als FF ausgewählt ist, das durch ein Scan-FF ersetzt wird, und zwar unter den FFs, die die Schleife 1 bilden. Die maximale Zahl von Gattern (MNG) ist: zehn in einem Pfad von FF1 zu FF1, infinit in einem Pfad von FF1 zu PO, vier in einem Pfad von PI1 zu FF1, acht in einem Pfad von PI2 zu FF1, infinit in einem Pfad von PI1 zu PO, und infinit in einem Pfad von PI2 zu PO. In ähnlicher Weise wird angenommen, dass FF5 als FF ausgewählt ist, das durch ein Scan-FF ersetzt wird. Die MNGs sind: zehn in einem Pfad von FF5 zu FF5, acht in einem Pfad von PI1 zu FF5, vier in einem Pfad von FF5 zu PO, zwei in einem Pfad von PI2 zu FF5 und neun in einem Pfad von PI2 zu PO. Als nächstes wird angenommen, dass FF6 als ein FF ausgewählt ist, das durch ein Scan-FF ersetzt wird. Die MNGs sind: zehn in einem Pfad von FF6 zu FF6; zehn in einem Pfad von PI1 zu FF6, zwei in einem Pfad von FF6 zu PO, infinit in einem Pfad von PI2 zu FF6, infinit in einem Pfad von Pi1 zu Po und infinit in einem Pfad von PI2 zu PO.
  • Ein Auswählen von FF1 oder FF6 als ein FF, das durch ein Scan-FF ersetzt wird, führt zu einem Belassen eines Pfads, dessen MNG infinit ist, während ein Auswählen von FF5 als ein FF, das durch Scan-FFs ersetzt wird, dazu führt, keine Pfade zu belassen, deren MNGs infinit sind. Dementsprechend wird FF5 zuerst als ein FF ausgewählt, das durch ein Scan-FF ersetzt wird.
  • Wenn FF5 ein Scan-FF ist, besitzt die Schaltung der 37 vier Pfade, deren MNGs sechs überschreiten, das bedeutet einen Pfad von FF5→FF6→FF1→FF5 (MNG = 10), einen Pfad von PI1→FF1→FF5 (MNG = 8), einen Pfad von PI2→FF3→FF7→PO (MNG = 9), und einen Pfad von PI2→FF2→FF7→PO (MNG = 7). Hierbei werden, beim Auswählen jedes der FFs in diesen vier Pfaden als ein FF, das durch ein Scan-FF ersetzt wird, die MNGs dieser Pfade gefunden.
  • Ein Auswählen von FF6 als ein FF, das durch ein Scan-FF ersetzt wird, liefert vier Pfade, deren MNGs sechs übersteigen: einen Pfad von FF6→FF1→FF5 (MNG = 8), einen Pfad von PI1→FF1→FF5 (MNG = 8), einen Pfad von PI2→FF3→FF7→PO (MNG = 9) und einen Pfad von PI2→FF2→FF7→PO (MNG = 7). Ein Auswählen von FF1 als ein FF, das durch ein Scan-FF ersetzt wird, liefert zwei Pfade, deren MNGs sechs übersteigen: einen Pfad von PI2→FF3→FF7→PO (MNG = 9) und einen Pfad von PI2→FF2→FF7→PO (MNG = 7). Ein Auswählen von FF3 als ein FF, das durch Scan-FFs ersetzt wird, liefert drei Pfade, deren MNGs sechs übersteigen: einen Pfad von FF5→FF6→FF1→FF5 (MNG = 10), einen Pfad von PI1→FF1→FF5 (MNG = 8) und einen Pfad von PI2→FF2→FF7→PO (MNG = 7). Ein Auswählen von FF2 als ein FF, das durch ein Scan-FF ersetzt wird, liefert drei Pfade, deren MNGs sechs übersteigen: einen Pfad von FF5→FF6→FF1FF5 (MNG = 10), einen Pfad von PI1→FF1→FF5 (MNG = 8) und einen Pfad von PI2→FF3→FF7→PO (MNG = 9). Ein Auswählen von FF7 als ein FF, das durch ein Scan-FF ersetzt wird, liefert drei Pfade, deren MNGs sechs übersteigen: einen Pfad von FF5→FF6→FF1→FF5 (MNG = 10), einen Pfad von PI1→FF1→FF5 (MNG = 8) und einen Pfad von PI2→FF3→FF7→PO (MNG = 9).
  • Ein Auswählen von FF1 als ein FF, das durch Scan-FFs ersetzt wird, führt zu der minimalen Anzahl von Pfaden, deren MNGs sechs übersteigen. Dementsprechend wird FF1 schließlich als FF ausgewählt, das durch ein Scan-FF ersetzt wird.
  • Zusätzlich führt ein Auswählen von FF2 oder FF3 als ein temporäres Scan-FF zu einem Belassen von keinen Pfaden, deren MNGs sechs übersteigen. Dementsprechend wird, zum Beispiel, FF2 schließlich als FF ausgewählt, das durch ein Scan-FF ersetzt wird.
  • 38 stellt das Ergebnis des Verfahrens für einen prüfgerechten Entwurf dieser Ausführungsform in Bezug auf die Schaltung der 37 dar. Wie in 38 dargestellt ist, werden FF1, FF2 und FF5 als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Als eine Folge besitzt die Schaltung eine nicht geschlossene Schaltungs-Struktur und die Anzahl von Gattern ist geringer als oder gleich zu sechs in jeweiligen Pfaden von dem primären Eingang oder dem pseudo-primären Eingang zu dem primären Ausgang oder pseudo-primären Ausgang. Dies erleichtert eine Test-Eingabe-Erzeugung in der Schaltung nach Einsetzen als ein Scan-Pfad.
  • AUSFÜHRUNGSFORM 8
  • 39 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf gemäß einer achten Ausführungsform der vorliegenden Erfindung darstellt. Das vorliegende Verfahren für einen prüfgerechten Entwurf ist dasjenige eines Auswählens von FFs, die durch Scan-FFs ersetzt werden, damit eine vorgesehene Schaltung eine n-fache Line-up-Struktur besitzt, und eines Bestimmens des Werts von n, um die Prüfsequenz-Erzeugungs-Zeit zu verringern und eine ausreichend hohe Fehler-Effektivität zu erreichen, während die Scan-Rate niedrig gehalten wird.
  • Allgemein erhöht sich, für die Schaltung einer n-fachen-Line-up-Struktur, die Scan-Rate, während die Prüfsequenz-Erzeugungs-Zeit kürzer wird und die Fehler-Effektivität höher wird, wenn sich der Wert von n verringert. Andererseits verringert sich, wenn sich der Wert von n erhöht, die Scan-Rate, während dann, wenn die Prüfsequenz-Erzeugungs-Zeit länger wird, die Fehler-Effektivität höher wird. Dementsprechend ist erforderlich, einen optimalen Wert von n durch Ausbalancieren der Scan-Rate mit der Prüfsequenz-Erzeugungs-Zeit und der Fehler-Effektivität zu bestimmen.
  • Die Ergebnisse von Experimenten durch den Erfinder der vorliegenden Erfindung zeigen, dass dann, wenn sich der Wert von n erhöht, die Prüfsequenz-Erzeugungs-Zeit dazu tendiert, sich abrupt von einem spezifischen Wert aus zu erhöhen. Zusätzlich variiert ein solcher spezifischer Wert durch die Schaltungs-Strukturen. Aus diesem Grund ist es schwierig, einen optimalen Wert für n auszuwählen.
  • Weiterhin zeigt eine Prüfung durch den Erfinder das Folgende. Wenn eine Timeframe-Expansion für eine Schaltung gemäß einem prüfgerechten Entwurf in Bezug auf jeden primären Ausgang und jeden pseudo-primären Ausgang unter Annahme von Daten-Eingängen und Daten-Ausgängen von Scan-FFs, jeweils, als pseudo-primäre Ausgänge und als pseudo-primäre Eingänge durchgeführt wird, ist eine hohe Korrelation zwischen der Zahl von FFs oder Gattern in dem expandierten Timeframe und der Prüfsequenz-Erzeugungs-Zeit und der Fehler-Effektivität vorhanden. Hierbei wird die Zahl von FFs in dem expandierten Timeframe als die Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs bezeichnet und die Zahl von Gattern in dem expandierten bzw. erweiterten Timeframe wird als die Zahl von Prüfsequenz-Erzeugungs-Einfluss-Gattern bezeichnet. Mit anderen Worten bestätigt ein Experiment durch den Erfinder, dass sich, wenn sich die Prüfsequenz-Erzeugungs-Zeit abrupt erhöht, die Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs oder die Zahl von Prüfsequenz-Erzeugungs-Einfluss-Gattern in ähnlicher Weise abrupt erhöht.
  • Die Erfindung der vorliegenden Ausführungsform macht Gebrauch von der Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs oder der Zahl von Prüfsequenz-Erzeugungs-Einfluss-Gattern, als ein Index zum Bestimmen des Werts von n.
  • Das vorliegende Verfahren für einen prüfgerechten Entwurf der 39 wird unter Bezugnahme auf die 4043 beschrieben.
  • 40 zeigt eine FF-Relations-Graphik, die eine vorgesehene Schaltung des vorliegenden Verfahrens für einen prüfgerechten Entwurf darstellt. A–L sind FFs. PI1–PI4 sind primäre Eingänge. PO ist ein primärer Ausgang.
  • Am Schritt SE1 wird 1,6 als ein Schwellwert P eingestellt. Am Schritt SE2 wird n auf 1 initialisiert. Am Schritt SE3 werden FFs, die durch Scan-FFs ersetzt werden, ausgewählt, damit die Schaltung der 40 eine 1-fache Line-up-Struktur besitzt.
  • 41(a) stellt ein Ergebnis eines Auswählens von FFs dar, die durch Scan-FFs ersetzt werden, damit die Schaltung der 40 eine 1-fache Line-up-Struktur besitzt. Wie in 41(a) dargestellt ist, werden FF C, E, F und L mit Schraffierung als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Am Schritt SE4 wird, wie in 41(b) dargestellt ist, eine Timeframe-Expansion unter der Annahme der Daten-Eingänge von FF C, E, F und L als pseudo-primäre Ausgänge PPOC, PPOE, PPOF und PPOL, jeweils, und die Daten-Ausgänge davon als pseudo-primäre Eingänge PPIC, PPIE, PPIF und PPIL, jeweils in Bezug auf jeden von PO, PPOC, PPOE, PPOF, PPOL, um die Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs, AlF (1) zu finden, durchgeführt. Hierbei ist AlF (1) die Zahl 12. Da die sequenzielle Tiefe der Schaltung = 2 gilt, schreitet der Vorgang zu Schritt SE7 fort. Der Wert von n wird 2 durch Addieren von 1 dazu.
  • Der Vorgang kehrt zu Schritt SE3 zurück. Da n = 2 gilt, werden FFs, die durch Scan-FFs ersetzt werden, ausgewählt, damit die Schaltung der 40 eine 2-fache Line-up-Struktur besitzt. 42(a) stellt ein Ergebnis eines Auswählens von FFs dar, die durch Scan-FFs ersetzt werden, damit die Schaltung der 40 eine 2-fache Lineup-Struktur besitzt. Wie in 42(a) dargestellt ist, werden FF C, F und L als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Am Schritt SE4 wird, wie in 42(b) dargestellt ist, eine Timeframe-Expansion durchgeführt, unter der Annahme der Daten-Eingänge von FF C, F und L als PPOC, PPOF und PPOL, jeweils, und der Daten-Ausgänge davon als PPIC, PPIF und PPIL, jeweils, in Bezug auf jeden von PO, PPOC, PPOF, PPOL, um die Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs, AlF(2) zu finden. Hierbei ist AlF(2) die Zahl 15. Da AlF(1)/AlF(1) = 15/12 = 1,2 < P = 1,6 am Schritt SE5 gilt, geht der Vorgang weiter zu Schritt SE6. Da die sequenzielle Tiefe 3 ist, geht der Vorgang weiter zu dem Schritt SE7. Der Wert von n wird 3 durch Addieren von 1 dazu.
  • Der Vorgang kehrt zu Schritt SE3 zurück. Da n = 3 gilt, werden FFs, die durch Scan-FFs ersetzt werden, ausgewählt, damit die Schaltung der 40 eine 3-fache Line-up-Struktur besitzt. 43(a) stellt ein Ergebnis eines Auswählens von FFs dar, die durch Scan-FFs ersetzt werden, damit die Schaltung der 40 eine 3-fache Lineup-Struktur besitzt. Wie in 43(a) dargestellt ist, werden FF C und L als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Am Schritt SE4 wird, wie in 43(b) dargestellt ist, eine Timeframe-Expansion durchgeführt, unter der Annahme, der Daten-Eingänge von FF C und L als PPOC und PPOL, jeweils, und der Daten-Ausgänge davon als PPIC und PPIL, jeweils, und zwar in Bezug auf jeden von PO, PPOC und PPOL, um die Zahl von Prüfsequenz-Erzeugungs-Einfluss-FFs, AlF(3) zu finden. Hierbei ist AlF(3) die Zahl 24. Da AlF(3)/AlF(1) = 24/12 = 2,0 > P = 1,6 am Schritt SE5 gilt, geht der Vorgang weiter zu Schritt SE8. Der Wert von n wird 2 durch Subtrahieren von 1 davon, und der Vorgang wird beendet. Mit anderen Worten ist die 2-fache Line-up-Struktur als optimal ausgewählt.
  • AUSFÜHRUNGSFORM 9
  • 44 zeigt ein Modell-Diagramm, das eine integrierte Schaltung aus drei identischen Blöcken A darstellt. In einem prüfgerechten Entwurf für eine integrierte Schaltung, aufgebaut aus einer Mehrzahl von Blöcken, wird ein Auswählen von FFs, die durch Scan-FFs ersetzt werden, um eine Test-Möglichkeit in jedem Block zu erhalten, nicht immer dazu führen, eine Test-Möglichkeit für die integrierte Schaltung zu erreichen. Zum Beispiel wird, wenn die Blöcke eine Schleifen-Struktur haben, wie dies in 44 dargestellt ist, jeder Block, der eine n-fache Line-up-Struktur besitzt, nicht immer dazu führen, die integrierte Schaltung dahingehend zu gestalten, dass sie eine n-fache Line-up-Struktur besitzt.
  • Dann wird, in der neunten Ausführungsform der vorliegenden Erfindung, vor Auswählen von FFs, die durch Scan-FFs in jedem Block ersetzt werden, ein FF, erreichbar von einem Block-Ausgang aus unter Durchlaufen lediglich kombinatorische Schaltungen, als FF ausgewählt, das durch ein Scan-FF in jedem Block ersetzt wird. In der vorliegenden Ausführungsform wird ein FF, erreichbar von einem Block-Ausgang aus, unter Durchlaufen lediglich kombinatorische Schaltungen, als Ausgangsteil-FF bezeichnet.
  • 45 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für einen prüfgerechten Entwurf der vorliegenden Erfindung darstellt. Wie in 45 dargestellt ist, ist ein Schritt SF1 ein Vorschritt beim Auswählen des Ausgangsteil-FF als ein FF, das durch ein Scan-FF in jedem Block ersetzt wird. Danach wird eine Scan-FF-Auswahl für jede n-fache Line-up-Struktur, wie dies in der ersten Ausführungsform beschrieben ist, in jedem Block durchgeführt (Schritt SF2), wie dies in 45(a) dargestellt ist, oder eine Scan-FF-Auswahl, basierend auf der Zustand-Beurteilung von L/H FFs, wie dies in der zweiten Ausführungsform beschrieben ist, wird in jedem Block durchgeführt (Schritt SF3), wie dies in 45(b) dargestellt ist.
  • 46 stellt ein beispielhaftes Ergebnis von Schritt SF1 in Bezug auf einen spezifischen Schaltungs-Block dar. A–I sind kombinatorische Schaltungen. r1–r7 sind FFs. BPI1–BPI4 sind Block-Eingänge. BPO1 und BPO2 sind Block-Ausgänge. FFs, erreichbar von dem Block-Ausgang BPO1 aus, unter Durchlaufen lediglich kombinatorischer Schaltungen, sind FF r4 und r6. Und FFs, erreichbar von dem Block-Ausgang BPO2 aus unter Durchlaufen lediglich kombinatorischer Schaltungen, sind FF r5 und r7. Dementsprechend werden FF r4, r5, r6 und r7 als Ausgangsteil-FFs erkannt, wie dies in 46 dargestellt ist, und diese FFs werden dann als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Danach wird Schritt SF2 durchgeführt, wie in der ersten Ausführungsform.
  • 47 stellt ein anderes beispielhaftes Ergebnis von Schritt SF1 in Bezug auf einen spezifischen Schaltungs-Block dar. A–I sind kombinatorische Schaltungen. r1, r2 und r5 sind FFs. R3, r4, r6 und r7 sind L/H FFs. BPI1–BPI4 sind Block-Eingänge. BPO1 und BPO2 sind Block-Ausgänge. FFs, erreichbar von dem Block-Ausgang BPO1 aus, unter Durchlaufen lediglich kombinatorischer Schaltungen, sind FF r4 und r6. Und FFs, erreichbar von dem Block-Ausgang BPO2 aus, unter Durchlaufen lediglich kombinatorischer Schaltungen, sind FF r5 und r7. Dementsprechend werden FF r4, r5, r6 und r7 als Ausgangsteil-FFs erkannt, wie dies in 47 dargestellt ist, und diese FFs werden dann als FFs ausgewählt, die durch Scan-FFs ersetzt werden. Danach wird Schritt SF3 durchgeführt, wie in der zweiten Ausführungsform.
  • Gemäß der vorliegenden Ausführungsform wird das Ausgangsteil-FF, das von dem Block-Ausgang aus unter Durchlaufen lediglich kombinatorischer Schaltungen erreichbar ist, zuerst als FF ausgewählt, das durch ein Scan-FF ersetzt wird, und zwar in jedem Block, und dann werden FFs, das durch Scan-FFs ersetzt wird, in jedem Block durch Verfahren für einen prüfgerechten Entwurf der ersten oder zweiten Ausführungsform ausgewählt. Dies garantiert eine hohe Fehler-Effektivität beim Auswählen von FFs, die durch Scan-FFs ersetzt werden. Und eine Test-Eingabe-Muster-Erzeugungs-Komplexität kann einfacher von einem Schaltungs-Maßstab-Niveau aus herunter zu einem Block-Maßstab-Niveau hin sein.
  • Auch kann, anstelle eines Ausgangsteil-FF, ein Eingangsteil-FF, das von dem Block-Eingang aus erreichbar ist, lediglich unter Durchlaufen durch kombinatorische Schaltungen, als FFs ausgewählt werden, die durch Scan-FFs ersetzt werden. Allerdings ist es, da allgemein die Zahl von Eingangsteil-FFs größer als die Zahl von Ausgangsteil-FFs ist, bevorzugt, dass die Ausgangsteil-FFs als FFs ausgewählt werden, die durch Scan-FFs ersetzt werden.
  • AUSFÜHRUNGSFORM 10
  • 48 zeigt ein Flussdiagramm, das Vorgänge in einem Verfahren für eine Prüfsequenz-Erzeugung gemäß einer zehnten 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 48 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.
  • 49 zeigt ein Flussdiagramm, das die Details von Schritt SG11 der 48 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. SG11 c 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 48 und der 49 wird unter Bezugnahme auf die 5053 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 5053 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 50(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 50(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 51(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 51(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 52(a) dargestellt ist, wird, basierend auf den vorstehenden Kompaktierungs-Regeln, eine Kom paktierungs-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 52(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.
  • AUSFÜHRUNGSFORM 11
  • 54 zeigt ein Flussdiagramm, das Abläufe in einem Verfahren einer Prüfsequenz-Erzeugung gemäß einer elften 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 zehnten Ausführungsform unterschiedlich.
  • In 54 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, be sitzt. 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.
  • 55 zeigt ein Flussdiagramm, das die Details von Schritt SH13 der 54 darstellt. In 55 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 54 und der 55 wird unter Bezugnahme auf die 5659 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 5659 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 56(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 56(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 56(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 57(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 57(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 58(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 58(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 59(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 59(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 (12)

  1. Verfahren zum prüfgerechten Entwurf zum Modifizieren eines Designs einer integrierten Schaltung, entworfen unter einem Gate-Niveau, um eine Prüfmöglichkeit nach einer Herstellung zu erreichen, das die Schritte aufweist: Auswählen (SA1–SA9, SB1, SC1, SD1, SE3, SF2, SF3) von Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden, unter Flip-Flops in der integrierten Schaltung, damit die integrierte Schaltung eine n-fache Line-up-Struktur besitzt, umfassend: einen Voll-Scan-Schritt (SA1) eines temporären Auswählens aller Flip-Flops in der integrierten Schaltung als Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden; einen Nicht-Scan-Flip-Flop-Auswahlschritt (SA2–SA8) eines Auswählens von Flip-Flops der temporär ausgewählten Scan-Flip-Flops, um durch Nicht-Scan-Flip-Flops ersetzt zu werden; und Ersetzen (SA9) der verbleibenden, temporär ausgewählten Scan-Flip-Flops durch Scan-Flip-Flops; wobei der Nicht-Scan-Flip-Flop-Auswahlschritt (SA2–SA8) aufweist: Identifizieren (SA2) von Flip-Flops, die eine Selbst-Schleifen-Struktur haben, unter den Flip-Flops in der integrierten Schaltung; Auswählen (SA6) eines Flip-Flops der temporär ausgewählten Scan-Flip-Flops, um temporär durch ein Nicht-Scan-Flip-Flop ersetzt zu werden, vermeiden (SA5), dass Flip-Flops, die die Selbst-Schleifen-Struktur haben, temporär als Nicht-Scan-Flip-Flops ausgewählt werden (SA6); Prüfen (SA7), ob die integrierte Schaltung die n-fache Line-up-Struktur hat oder nicht unter Durchführen (SA7c) einer Zeit-Frame-Expansion; und Ersetzen (SA8) des temporär ausgewählten Nicht-Scan-Flip-Flops gegen ein Scan-Flip-Flop, wenn der Prüfschritt (SA7) anzeigt, dass die integrierte Schaltung nicht die n-fache Line-up-Struktur besitzt, wobei die Schritte eines Auswählens (SA6) eines Flip-Flops temporär als ein Nicht-Scan-Flip-Flop, eines Vermeidens (SA5) von Flip-Flops, die eine Selbst-Schleifen-Struktur haben, eines Prüfens (SA7) der integrierten Schaltung und eines Ersetzens (SA8) eines temporär ausgewählten Nicht-Scan-Flip-Flops für jedes der Flip-Flops, ausgewählt durch den Voll-Scan-Schritt (SA1), durchgeführt werden.
  2. Verfahren für einen prüfgerechten Entwurf nach Anspruch 1, das weiterhin aufweist: einen Vorschritt eines Auffindens eines erreichbaren, primären Ausgangs und eines erreichbaren, pseudo-primären Ausgangs für ein Flip-Flop der integrierten Schaltung und eines Auffindens von erreichbaren Flip-Flops, die zu Pfaden von dem Flip-Flop zu dem erreichbaren, primären Ausgang oder dem erreichbaren, pseudo-primären Ausgang für dieses Flip-Flop gehören, wobei der Nicht-Scan-Flip-Flop-Auswahlschritt (SA2–SA8) umfasst: in dem Prüfschritt (SA7) für das Flip-Flop, Durchführen einer Zeit-Frame-Expansion (SA7c) in Bezug auf den erreichbaren, primären Ausgang und den erreichbaren, pseudo-primären Ausgang, gefunden für das Flip-Flop in dem Vorschritt, und eines Dateneingangs eines temporären Scan-Flip-Flops unter erreichbaren Flip-Flops, aufgefunden für das Flip-Flop in dem Vorschritt.
  3. Verfahren für einen prüfgerechten Entwurf nach den Ansprüchen 1 oder 2, das weiterhin aufweist: einen Vorschritt eines Präparierens einer FF-Relations-Grafik, die eine Zwischenverbindungs-Relation, erreichbar durch Hindurchlaufen nur durch kombinationsmäßige Schaltungen, unter Flip-Flops, primären Eingängen und primären Ausgängen in der integrierten Schaltung, darstellt, wobei Flip-Flops, um Sie gegen Scan-Flip-Flops zu ersetzen, basierend auf der FF-Relations-Grafik, präpariert an dem Vorschritt, ausgewählt werden.
  4. Verfahren für einen prüfgerechten Entwurf nach einem der Ansprüche 1 bis 3, wobei die integrierte Schaltung aus einer Mehrzahl von Blöcken aufgebaut ist, umfassend: einen Vorschritt zum Auswählen (SF1), in jedem Block, entweder eines Ausgangsteil-FF, das von einem Ausgang jedes Blocks durch Durchlaufen nur durch kombinationsmäßige Schaltungen erreichbar ist, oder eines Eingangsteil-FF, das von einem Eingang jedes Blocks durch Hindurchlaufen nur durch kombinationsmäßige Schaltungen erreichbar ist, als FF, um durch ein Scan-FF ersetzt zu werden; und einen Schritt eines Auswählens (SF2) von Flip-Flops, um durch Scan-Flip-Flops in jeweiligen der Blöcke ersetzt zu werden, damit jeder Block die n-fache Line-up-Struktur besitzt.
  5. Verfahren für einen prüfgerechten Entwurf nach einem der Ansprüche 1 bis 3, das aufweist: einen ersten Schritt eines Auswählens (SB1, SC1) von Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden, wobei der Auswahlschritt (SB1, SC1) ein Erkennen eines Lade/Halte-Flip-Flops dahingehend, dass es keine Selbst-Schleifen-Struktur besitzt, aufweist; und einen zweiten Schritt eines Auswählens (SB2–SB4, SC2–SC4) von Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden, um so eine Prüfbarkeit an Lade/Halte-Flip-Flops zu erhalten, in der integrierten Schaltung mit den Flip-Flops, um durch Scan-Flip-Flops, ausgewählt an dem ersten Schritt (SB1, SC1), ersetzt zu werden.
  6. Verfahren für einen prüfgerechten Entwurf nach Anspruch 5, wobei der zweite Schritt (SB2–SB4) umfasst: Durchführen (SB4) einer Zeit-Frame-Expansion, basierend auf der Zustand-Beurteilung von Lade/Halte-Flip-Flops, über die integrierte Schaltung mit den Flip-Flops, um durch Scan-Flip-Flops, ausgewählt an dem ersten Schritt (SB1), ersetzt zu werden, und Auswählen von Flip-Flops, um durch Scan-Flip-Flops von der Zeit-Frame-Expansion ersetzt zu werden.
  7. Verfahren für einen prüfgerechten Entwurf nach Anspruch 5, wobei der zweite Schritt (SC2–SC4) umfasst: Auswählen (SC4), über die integrierte Schaltung mit den Flip-Flops, um durch Scan-Flip-Flops, ausgewählt an dem ersten Schritt (SC1), ersetzt zu werden, eines Flip-Flops, erreichbar von einem Lade/Halte-Auswahl-Eingang des Lade/Halte-Flip-Flops aus, das nicht als ein Flip-Flop ausgewählt worden ist, um durch ein Scan-Flip-Flop ersetzt zu werden, durch Hindurchführen nur durch kombinationsmäßige Schaltungen, als Flip-Flop, um durch ein Scan-Flip-Flop ersetzt zu werden.
  8. Verfahren für einen prüfgerechten Entwurf nach Anspruch 7, das weiterhin den Schritt aufweist: Erhalten (SD2–SD5) eines Lade-Mode-Verhältnisses, das für das Verhältnis von Lade/Halte-Flip-Flops Indikativ ist, die im Zustand beurteilt worden sind, mit einem Lade-Mode, zu allen Lade/Halte-Flip-Flops in der integrierten Schaltung, basierend auf dem Ergebnis des zweiten Schritts (SC2–SC4), wobei dann, wenn das Lade-Mode-Verhältnis einen gegebenen Wert übersteigt, das Ergebnis des zweiten Schritts (SC2–SC4) verwendet wird, während dann, wenn dies nicht der Fall ist, das Ergebnis des zweiten Schritts (SC2–SC4) nicht verwendet wird.
  9. Verfahren für einen prüfgerechten Entwurf nach Anspruch 8, das weiterhin aufweist: einen dritten Schritt (SD6) eines Durchführens einer Zeit-Frame-Expansion, basierend auf der Zustand-Beurteilung von Lade/Halte-Flip-Flops, über die integrierte Schaltung mit den Flip-Flops, um durch Scan-Flip-Flops, ausgewählt an dem ersten Schritt (SC1), ersetzt zu werden, wenn das Lade-Mode-Verhältnis nicht den gegebenen Wert übersteigt, und Auswählen von Flip-Flops, um durch Scan-Flip-Flops von der Zeit-Frame-Expansion ersetzt zu werden.
  10. Verfahren für einen prüfgerechten Entwurf nach einem der Ansprüche 5 bis 9, das weiterhin aufweist: einen Vorschritt zum Erkennen eines Flip-Flops, das eine Selbst-Schleifen-Struktur besitzt und dazu geeignet ist, ohne Zuordnung eines Werts zu seinem eigenen Ausgang als ein erweitertes, reines Lade/Halte-Flip-Flop beurteilt zu werden, wobei in dem ersten (SB1, SC1) und dem zweiten Schritt (SB2–SB4, SC2– SC4) Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden, ausgewählt werden unter Annahme des Flip-Flops, erkannt als das erweiterte, reine Lade/Halte-Flip-Flop, an dem Vorschritt, als ein Lade/Halte-Flip-Flop.
  11. Verfahren für einen prüfgerechten Entwurf nach einem der Ansprüche 1 bis 10, wobei die integrierte Schaltung aus einer Mehrzahl von Blöcken aufgebaut ist, das aufweist: einen Vorschritt eines Auswählens (SF1), in jedem Block, entweder eines Ausgang-Teil-FF, das FF-erreichbar von einem Ausgang jedes Blocks durch Hindurchführen nur durch kombinationsmäßige Schaltungen ist, oder eines Eingang-Teil-FF, das FF-erreichbar von einem Eingang jedes Blocks durch Hindurchführen durch kombinationsmäßige Schaltungen ist, als FF, um durch ein Scan-FF ersetzt zu werden; einen ersten Schritt eines Auswählens (SF3) von Flip-Flops, um durch Scan-Flip-Flops in jeweiligen der Blöcke ersetzt zu werden, ohne Erkennen eines Lade/Halte-Flip-Flops als ein Flip-Flop, das eine Selbst-Schleifen-Struktur besitzt, damit jeder Block die n-fache Line-up-Struktur besitzt; und einen zweiten Schritt eines Auswählens (SF3) von Flip-Flops, um durch Scan-Flip-Flops ersetzt zu werden, um so eine Prüfbarkeit in Bezug auf Lade/Halte-Flip-Flops zu erhalten, in jedem Block mit den Flip-Flops, um durch Scan-Flip-Flops, ausgewählt an dem ersten Schritt, ersetzt zu werden.
  12. Verfahren für einen prüfgerechten Entwurf nach einem der Ansprüche 1 bis 11, das aufweist: einen Schritt eines Durchführens (SE4) einer Zeit-Frame-Expansion in Bezug auf jeden der primären Ausgänge und der pseudo-primären Ausgänge, unter Annehmen eines Dateneingangs und eines Datenausgangs jedes Flip-Flops, um durch ein Scan-Flip-Flop, ausgewählt an dem Auswahlschritt (SE3), als ein pseudoprimärer Ausgang und als ein pseudo-primärer Eingang, jeweils, ersetzt zu werden, und Auffinden entweder der Zahl von Test-Sequenz-Erzeugungs-Einfluss-Flip-Flops, Indikativ für die Zahl von Flip-Flops in dem erweiterten Zeit-Frame, und der Zahl von Test-Sequenz-Erzeugungs-Einfluss-Gates, Indikativ für die Zahl von Gates in dem erweiterten Zeit-Frame; wobei der Auswahlschritt (SE3) und der Zeit-Frame-Expansions-Schritt (SE4) auf jeden einer Mehrzahl von Soll-Werten der n, einschließlich mindestens 1, durchgeführt werden, und, basierend auf der Zahl von Test-Sequenz-Erzeugungs-Einfluss-Flip-Flops oder der Zahl von Test-Sequenz-Erzeugungs-Einfluss-Gates, vorgefunden in jeweiligen der Zeit-Frame-Expansions-Schritten (SE4), der Wert von diesem n bestimmt wird (SE5–SE8).
DE69822694T 1997-04-25 1998-04-24 Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung Expired - Fee Related DE69822694T2 (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
DE69822694D1 DE69822694D1 (de) 2004-05-06
DE69822694T2 true DE69822694T2 (de) 2004-08-12

Family

ID=14494160

Family Applications (2)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69829593T Expired - Fee Related DE69829593T2 (de) 1997-04-25 1998-04-24 Verfahren einer prüfsequenz-erzeugung

Country Status (4)

Country Link
US (2) US6253343B1 (de)
EP (2) EP1306684B1 (de)
DE (2) DE69829593T2 (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
US6253343B1 (en) 2001-06-26
EP1306684A3 (de) 2004-01-21
TW413757B (en) 2000-12-01
US20020026611A1 (en) 2002-02-28
DE69829593T2 (de) 2005-09-01
DE69822694D1 (de) 2004-05-06
EP0874315A1 (de) 1998-10-28
DE69829593D1 (de) 2005-05-04
EP1306684A2 (de) 2003-05-02
US6651206B2 (en) 2003-11-18
EP0874315B1 (de) 2004-03-31
EP1306684B1 (de) 2005-03-30

Similar Documents

Publication Publication Date Title
Pomeranz et al. COMPACTEST: A method to generate compact test sets for combinational circuits
Cheng et al. Gentest: an automatic test-generation system for sequential circuits
DE69814184T2 (de) Verfahren zur Analyse von Prüfpunkten logischer Schaltungen und Einrichtungen zur Analyse von Prüfpunkten logischer Schaltungen
Snethen Simulator-oriented fault test generator
EP0509440A1 (de) Prüfmustererzeugungseinrichtung für sequentielle Logikschaltung einer integrierten Schaltung und Verfahren dazu
DE69822694T2 (de) Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung
DE69333510T2 (de) Verfahren und Gerät zur Prüfsequenzgenerierung
JP3059424B2 (ja) 検査系列生成方法
Amyeen et al. Fault equivalence identification using redundancy information and static and dynamic extraction
Nadjarbashi et al. Line oriented structural equivalence fault collapsing
Amyeen et al. Implication and evaluation techniques for proving fault equivalence
Krstić et al. Resynthesis of combinational circuits for path count reduction and for path delay fault testability
Gulrajani et al. Multi-node static logic implications for redundancy identification
Mukherjee et al. VERIFUL: VERIfication using FUnctional learning
Sharma et al. Enhanced delay defect coverage with path-segments
Kim et al. Combinational test generation for acyclic sequential circuits using a balanced ATPG model
Steinbach et al. Synthesis for full testability of partitioned combinational circuits using boolean differential calculus
Sucar et al. High performance test generation for accurate defect models in CMOS gate array technology.
Ono et al. A test generation method for sequential circuits based on maximum utilization of internal states
O'Dare et al. Transitional gate delay detection for combinational circuits using a genetic algorithm
Einspahr et al. A switch-level test generation system for synchronous and asynchronous circuits
Rajesh et al. Automatic test pattern generation for sequential circuits using genetic algorithms
Hosokawa et al. Novel DFT strategies using full/partial scan designs and test point insertion to reduce test application time
Yanagida et al. Efficiency improvements for multiple fault diagnosis of combinational circuits
Gruetzner et al. Experience with biased random pattern generation to meet the demand for a high quality BIST

Legal Events

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