-
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 2–6 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→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 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 40–43 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 50–53 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 50–53 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 56–59 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 56–59 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.